- x.columnName == column.columnName)} />
+ x.columnName == column.columnName)} />
{formDisplay.config.formViewKeyRequested && (
-
+
)}
@@ -86,11 +83,11 @@ export default function FormViewFilters(props) {
return (
- {baseTable.primaryKey.columns.map((col) => (
+ {baseTable.primaryKey.columns.map(col => (
))}
- {allFilterNames.map((columnName) => {
- const column = baseTable.columns.find((x) => x.columnName == columnName);
+ {allFilterNames.map(columnName => {
+ const column = baseTable.columns.find(x => x.columnName == columnName);
if (!column) return null;
return (
@@ -108,7 +105,7 @@ export default function FormViewFilters(props) {
formDisplay.setFilter(column.columnName, value)}
+ setFilter={value => formDisplay.setFilter(column.columnName, value)}
/>
);
diff --git a/packages/web/src/formview/SqlFormView.js b/packages/web/src/formview/SqlFormView.js
index df8a60ba7..bc1f6ea66 100644
--- a/packages/web/src/formview/SqlFormView.js
+++ b/packages/web/src/formview/SqlFormView.js
@@ -84,12 +84,12 @@ export default function SqlFormView(props) {
if (isLoadingData) return;
let newLoadedRow = false;
if (formDisplay.config.formViewKeyRequested || formDisplay.config.formViewKey) {
- setLoadProps((oldLoadProps) => ({
+ setLoadProps(oldLoadProps => ({
...oldLoadProps,
isLoadingData: true,
}));
const row = await loadRow(props, formDisplay.getCurrentRowQuery());
- setLoadProps((oldLoadProps) => ({
+ setLoadProps(oldLoadProps => ({
...oldLoadProps,
isLoadingData: false,
isLoadedData: true,
@@ -107,14 +107,14 @@ export default function SqlFormView(props) {
};
const handleLoadRowCount = async () => {
- setLoadProps((oldLoadProps) => ({
+ setLoadProps(oldLoadProps => ({
...oldLoadProps,
isLoadingCount: true,
}));
const countRow = await loadRow(props, formDisplay.getCountQuery());
const countBeforeRow = await loadRow(props, formDisplay.getBeforeCountQuery());
- setLoadProps((oldLoadProps) => ({
+ setLoadProps(oldLoadProps => ({
...oldLoadProps,
isLoadedCount: true,
isLoadingCount: false,
@@ -123,8 +123,8 @@ export default function SqlFormView(props) {
}));
};
- const handleNavigate = async (command) => {
- setLoadProps((oldLoadProps) => ({
+ const handleNavigate = async command => {
+ setLoadProps(oldLoadProps => ({
...oldLoadProps,
isLoadingData: true,
}));
@@ -132,7 +132,7 @@ export default function SqlFormView(props) {
if (row) {
formDisplay.navigate(row);
}
- setLoadProps((oldLoadProps) => ({
+ setLoadProps(oldLoadProps => ({
...oldLoadProps,
isLoadingData: false,
isLoadedData: true,
@@ -227,7 +227,7 @@ export default function SqlFormView(props) {
});
const { errorMessage } = resp.data || {};
if (errorMessage) {
- showModal((modalState) => (
+ showModal(modalState => (
));
} else {
diff --git a/packages/web/src/freetable/FreeTableColumnEditor.js b/packages/web/src/freetable/FreeTableColumnEditor.js
index fccc7a81b..334f2566c 100644
--- a/packages/web/src/freetable/FreeTableColumnEditor.js
+++ b/packages/web/src/freetable/FreeTableColumnEditor.js
@@ -14,7 +14,7 @@ const Row = styled.div`
// padding: 5px;
cursor: pointer;
&:hover {
- background-color: ${(props) => props.theme.manager_background_blue[1]};
+ background-color: ${props => props.theme.manager_background_blue[1]};
}
`;
const Name = styled.div`
@@ -29,13 +29,13 @@ const Icon = styled(FontIcon)`
position: relative;
top: 5px;
&:hover {
- background-color: ${(props) => props.theme.manager_background3};
+ background-color: ${props => props.theme.manager_background3};
}
padding: 5px;
`;
const EditorInput = styled.input`
width: calc(100% - 10px);
- background-color: ${(props) =>
+ background-color: ${props =>
// @ts-ignore
props.isError ? props.theme.manager_background_red[1] : props.theme.manager_background};
`;
@@ -53,7 +53,7 @@ function ColumnNameEditor({
const [value, setValue] = React.useState(defaultValue || '');
const editorRef = React.useRef(null);
const isError = value && existingNames && existingNames.includes(value);
- const handleKeyDown = (event) => {
+ const handleKeyDown = event => {
if (value && event.keyCode == keycodes.enter && !isError) {
onEnter(value);
setValue('');
@@ -82,7 +82,7 @@ function ColumnNameEditor({
onKeyDown={handleKeyDown}
onBlur={handleBlur}
value={value}
- onChange={(ev) => setValue(ev.target.value)}
+ onChange={ev => setValue(ev.target.value)}
// @ts-ignore
isError={isError}
{...other}
@@ -141,17 +141,17 @@ export default function FreeTableColumnEditor(props) {
index == editingColumn ? (
{
+ onEnter={columnName => {
dispatchChangeColumns(
props,
- (cols) => cols.map((col, i) => (index == i ? { columnName } : col)),
- (row) => _.mapKeys(row, (v, k) => (k == column.columnName ? columnName : k))
+ cols => cols.map((col, i) => (index == i ? { columnName } : col)),
+ row => _.mapKeys(row, (v, k) => (k == column.columnName ? columnName : k))
);
}}
onBlur={() => setEditingColumn(null)}
focusOnCreate
blurOnEnter
- existingNames={model.structure.columns.map((x) => x.columnName)}
+ existingNames={model.structure.columns.map(x => x.columnName)}
/>
) : (
setEditingColumn(index)}
onRemove={() => {
- dispatchChangeColumns(props, (cols) => cols.filter((c, i) => i != index));
+ dispatchChangeColumns(props, cols => cols.filter((c, i) => i != index));
}}
onUp={() => {
- dispatchChangeColumns(props, (cols) => exchange(cols, index, index - 1));
+ dispatchChangeColumns(props, cols => exchange(cols, index, index - 1));
}}
onDown={() => {
- dispatchChangeColumns(props, (cols) => exchange(cols, index, index + 1));
+ dispatchChangeColumns(props, cols => exchange(cols, index, index + 1));
}}
/>
)
)}
{
- dispatchChangeColumns(props, (cols) => [...cols, { columnName }]);
+ onEnter={columnName => {
+ dispatchChangeColumns(props, cols => [...cols, { columnName }]);
}}
placeholder="New column"
- existingNames={model.structure.columns.map((x) => x.columnName)}
+ existingNames={model.structure.columns.map(x => x.columnName)}
/>
>
diff --git a/packages/web/src/freetable/FreeTableGrid.js b/packages/web/src/freetable/FreeTableGrid.js
index 10960e457..33524ae40 100644
--- a/packages/web/src/freetable/FreeTableGrid.js
+++ b/packages/web/src/freetable/FreeTableGrid.js
@@ -12,7 +12,7 @@ import WidgetColumnBar, { WidgetColumnBarItem } from '../widgets/WidgetColumnBar
import useTheme from '../theme/useTheme';
const LeftContainer = styled.div`
- background-color: ${(props) => props.theme.manager_background};
+ background-color: ${props => props.theme.manager_background};
display: flex;
flex: 1;
`;
@@ -25,7 +25,7 @@ const DataGridContainer = styled.div`
function extractMacroValuesForMacro(macroValues, macro) {
if (!macro) return {};
return {
- ..._.fromPairs((macro.args || []).filter((x) => x.default != null).map((x) => [x.name, x.default])),
+ ..._.fromPairs((macro.args || []).filter(x => x.default != null).map(x => [x.name, x.default])),
..._.mapKeys(macroValues, (v, k) => k.replace(/^.*#/, '')),
};
}
diff --git a/packages/web/src/freetable/FreeTableGridCore.js b/packages/web/src/freetable/FreeTableGridCore.js
index d9c854c8a..7f518a2bf 100644
--- a/packages/web/src/freetable/FreeTableGridCore.js
+++ b/packages/web/src/freetable/FreeTableGridCore.js
@@ -47,18 +47,18 @@ export default function FreeTableGridCore(props) {
initialValues.sourceStorageType = 'jsldata';
initialValues.sourceJslId = jslid;
initialValues.sourceList = ['editor-data'];
- showModal((modalState) => );
+ showModal(modalState => );
}
const handleSelectionChanged = React.useCallback(
- (cells) => {
+ cells => {
if (onSelectionChanged) onSelectionChanged(cells);
setSelectedCells(cells);
},
[setSelectedCells]
);
- const handleKeyDown = React.useCallback((event) => {
+ const handleKeyDown = React.useCallback(event => {
if (event.keyCode == keycodes.escape) {
setSelectedMacro(null);
}
diff --git a/packages/web/src/freetable/MacroDetail.js b/packages/web/src/freetable/MacroDetail.js
index fb3b6c9ff..ac222d204 100644
--- a/packages/web/src/freetable/MacroDetail.js
+++ b/packages/web/src/freetable/MacroDetail.js
@@ -19,8 +19,8 @@ const Container = styled.div`
height: ${dimensions.toolBar.height}px;
min-height: ${dimensions.toolBar.height}px;
overflow: hidden;
- border-top: 1px solid ${(props) => props.theme.border};
- border-bottom: 1px solid ${(props) => props.theme.border};
+ border-top: 1px solid ${props => props.theme.border};
+ border-bottom: 1px solid ${props => props.theme.border};
`;
const Header = styled.div`
diff --git a/packages/web/src/freetable/MacroManager.js b/packages/web/src/freetable/MacroManager.js
index c123e4ae5..cbd288c52 100644
--- a/packages/web/src/freetable/MacroManager.js
+++ b/packages/web/src/freetable/MacroManager.js
@@ -25,12 +25,12 @@ export default function MacroManager({ managerSize, selectedMacro, setSelectedMa
setSelectedMacro(macro)}
- getCommonProps={(data) => ({
+ onObjectClick={macro => setSelectedMacro(macro)}
+ getCommonProps={data => ({
isBold: selectedMacro && selectedMacro.name == data.name,
})}
filter={filter}
- groupFunc={(data) => data.group}
+ groupFunc={data => data.group}
/>
{/* {macros.map((macro) => (
diff --git a/packages/web/src/freetable/MacroParameters.js b/packages/web/src/freetable/MacroParameters.js
index e1654507d..30ad8f885 100644
--- a/packages/web/src/freetable/MacroParameters.js
+++ b/packages/web/src/freetable/MacroParameters.js
@@ -6,7 +6,7 @@ import { FormProvider } from '../utility/FormProvider';
export default function MacroParameters({ args, onChangeValues, macroValues, namePrefix }) {
if (!args || args.length == 0) return null;
const initialValues = {
- ..._.fromPairs(args.filter((x) => x.default != null).map((x) => [`${namePrefix}${x.name}`, x.default])),
+ ..._.fromPairs(args.filter(x => x.default != null).map(x => [`${namePrefix}${x.name}`, x.default])),
...macroValues,
};
return (
diff --git a/packages/web/src/impexp/ImportExportConfigurator.js b/packages/web/src/impexp/ImportExportConfigurator.js
index d7d7050c3..b575c0deb 100644
--- a/packages/web/src/impexp/ImportExportConfigurator.js
+++ b/packages/web/src/impexp/ImportExportConfigurator.js
@@ -53,7 +53,7 @@ const Column = styled.div`
const Label = styled.div`
margin: 5px;
margin-top: 15px;
- color: ${(props) => props.theme.modal_font2};
+ color: ${props => props.theme.modal_font2};
`;
const SourceNameWrapper = styled.div`
@@ -67,10 +67,10 @@ const SourceNameButtons = styled.div`
const IconButtonWrapper = styled.div`
&:hover {
- background-color: ${(props) => props.theme.modal_background2};
+ background-color: ${props => props.theme.modal_background2};
}
cursor: pointer;
- color: ${(props) => props.theme.modal_font_blue[7]};
+ color: ${props => props.theme.modal_font_blue[7]};
margin-left: 5px;
`;
@@ -82,12 +82,12 @@ const SqlWrapper = styled.div`
const DragWrapper = styled.div`
padding: 10px;
- background: ${(props) => props.theme.modal_background2};
+ background: ${props => props.theme.modal_background2};
`;
const ArrowWrapper = styled.div`
font-size: 30px;
- color: ${(props) => props.theme.modal_font_blue[7]};
+ color: ${props => props.theme.modal_font_blue[7]};
align-self: center;
`;
@@ -128,7 +128,7 @@ async function addFilesToSourceList(extensions, files, values, setValues, prefer
await (format.addFileToSourceList || addFileToSourceListDefault)(file, newSources, newValues);
}
}
- newValues['sourceList'] = [...(values.sourceList || []).filter((x) => !newSources.includes(x)), ...newSources];
+ newValues['sourceList'] = [...(values.sourceList || []).filter(x => !newSources.includes(x)), ...newSources];
if (preferedStorageType && preferedStorageType != values.sourceStorageType) {
newValues['sourceStorageType'] = preferedStorageType;
}
@@ -158,7 +158,7 @@ function ElectronFilesInput() {
setIsLoading(true);
await addFilesToSourceList(
extensions,
- files.map((full) => ({
+ files.map(full => ({
fileName: full,
shortName: path.parse(full).name,
})),
@@ -197,7 +197,7 @@ function FilesInput({ setPreviewSource = undefined }) {
const showModal = useShowModal();
const { values, setValues } = useForm();
const extensions = useExtensions();
- const doAddUrl = (url) => {
+ const doAddUrl = url => {
addFilesToSourceList(
extensions,
[
@@ -214,7 +214,7 @@ function FilesInput({ setPreviewSource = undefined }) {
);
};
const handleAddUrl = () =>
- showModal((modalState) => );
+ showModal(modalState => );
return (
<>
@@ -245,7 +245,7 @@ function SourceTargetConfig({
? [{ value: 'jsldata', label: 'Query result data', directions: ['source'] }]
: [
{ value: 'database', label: 'Database', directions: ['source', 'target'] },
- ...extensions.fileFormats.map((format) => ({
+ ...extensions.fileFormats.map(format => ({
value: format.storageType,
label: `${format.name} files(s)`,
directions: getFileFormatDirections(format),
@@ -269,7 +269,7 @@ function SourceTargetConfig({
Target configuration
)}
- x.directions.includes(direction))} name={storageTypeField} />
+ x.directions.includes(direction))} name={storageTypeField} />
{(storageType == 'database' || storageType == 'query') && (
<>
@@ -298,7 +298,7 @@ function SourceTargetConfig({
onClick={() =>
setFieldValue(
'sourceList',
- _.uniq([...(values.sourceList || []), ...(dbinfo && dbinfo.tables.map((x) => x.pureName))])
+ _.uniq([...(values.sourceList || []), ...(dbinfo && dbinfo.tables.map(x => x.pureName))])
)
}
/>
@@ -308,7 +308,7 @@ function SourceTargetConfig({
onClick={() =>
setFieldValue(
'sourceList',
- _.uniq([...(values.sourceList || []), ...(dbinfo && dbinfo.views.map((x) => x.pureName))])
+ _.uniq([...(values.sourceList || []), ...(dbinfo && dbinfo.views.map(x => x.pureName))])
)
}
/>
@@ -324,7 +324,7 @@ function SourceTargetConfig({
setFieldValue('sourceSql', value)}
+ onChange={value => setFieldValue('sourceSql', value)}
engine={engine}
focusOnCreate
/>
@@ -353,7 +353,7 @@ function SourceTargetConfig({
onClick={() =>
setFieldValue(
'sourceList',
- _.uniq([...(values.sourceList || []), ...(archiveFiles && archiveFiles.map((x) => x.name))])
+ _.uniq([...(values.sourceList || []), ...(archiveFiles && archiveFiles.map(x => x.name))])
)
}
/>
@@ -366,7 +366,7 @@ function SourceTargetConfig({
{format && format.args && (
!arg.direction || arg.direction == direction)}
+ args={format.args.filter(arg => !arg.direction || arg.direction == direction)}
namePrefix={`${direction}_${format.storageType}_`}
/>
)}
@@ -382,14 +382,14 @@ function SourceName({ name }) {
const handleDelete = () => {
setFieldValue(
'sourceList',
- values.sourceList.filter((x) => x != name)
+ values.sourceList.filter(x => x != name)
);
};
- const doChangeUrl = (url) => {
+ const doChangeUrl = url => {
setFieldValue(`sourceFile_${name}`, { fileName: url, isDownload: true });
};
const handleChangeUrl = () => {
- showModal((modalState) => (
+ showModal(modalState => (
));
};
@@ -423,7 +423,7 @@ export default function ImportExportConfigurator({ uploadedFile = undefined, onC
const extensions = useExtensions();
const handleUpload = React.useCallback(
- (file) => {
+ file => {
addFilesToSourceList(
extensions,
[
@@ -516,36 +516,36 @@ export default function ImportExportConfigurator({ uploadedFile = undefined, onC
Map source tables/files
- } />
+ } />
(
+ formatter={row => (
setFieldValue(`actionType_${row}`, e.target.value)}
+ onChange={e => setFieldValue(`actionType_${row}`, e.target.value)}
/>
)}
/>
(
+ formatter={row => (
setFieldValue(`targetName_${row}`, e.target.value)}
+ onChange={e => setFieldValue(`targetName_${row}`, e.target.value)}
/>
)}
/>
+ formatter={row =>
supportsPreview ? (
{
+ onChange={e => {
if (e.target.checked) setPreviewSource(row);
else setPreviewSource(null);
}}
diff --git a/packages/web/src/impexp/ScriptWriter.js b/packages/web/src/impexp/ScriptWriter.js
index 68e987c87..faf33f909 100644
--- a/packages/web/src/impexp/ScriptWriter.js
+++ b/packages/web/src/impexp/ScriptWriter.js
@@ -39,7 +39,7 @@ export default class ScriptWriter {
getScript(schedule = null) {
const packageNames = this.packageNames;
let prefix = _.uniq(packageNames)
- .map((packageName) => `// @require ${packageName}\n`)
+ .map(packageName => `// @require ${packageName}\n`)
.join('');
if (schedule) prefix += `// @schedule ${schedule}`;
if (prefix) prefix += '\n';
diff --git a/packages/web/src/index.css b/packages/web/src/index.css
index 6f6c81061..d420fc1f7 100644
--- a/packages/web/src/index.css
+++ b/packages/web/src/index.css
@@ -25,4 +25,4 @@ code {
.icon-invisible {
visibility: hidden;
-}
\ No newline at end of file
+}
diff --git a/packages/web/src/modals/ChangeDownloadUrlModal.js b/packages/web/src/modals/ChangeDownloadUrlModal.js
index 716db3d6b..ce0b08e70 100644
--- a/packages/web/src/modals/ChangeDownloadUrlModal.js
+++ b/packages/web/src/modals/ChangeDownloadUrlModal.js
@@ -19,7 +19,7 @@ export default function ChangeDownloadUrlModal({ modalState, url = '', onConfirm
// };
const handleSubmit = React.useCallback(
- async (values) => {
+ async values => {
onConfirm(values.url);
modalState.close();
},
diff --git a/packages/web/src/modals/ConnectionModal.js b/packages/web/src/modals/ConnectionModal.js
index 15c1b3329..96c79db3a 100644
--- a/packages/web/src/modals/ConnectionModal.js
+++ b/packages/web/src/modals/ConnectionModal.js
@@ -14,10 +14,10 @@ import { FormProvider, useForm } from '../utility/FormProvider';
function DriverFields({ extensions }) {
const { values, setFieldValue } = useForm();
const { authType, engine } = values;
- const driver = extensions.drivers.find((x) => x.engine == engine);
+ const driver = extensions.drivers.find(x => x.engine == engine);
// const { authTypes } = driver || {};
const [authTypes, setAuthTypes] = React.useState(null);
- const currentAuthType = authTypes && authTypes.find((x) => x.name == authType);
+ const currentAuthType = authTypes && authTypes.find(x => x.name == authType);
const loadAuthTypes = async () => {
const resp = await axios.post('plugins/auth-types', { engine });
@@ -39,7 +39,7 @@ function DriverFields({ extensions }) {
<>
{!!authTypes && (
- {authTypes.map((auth) => (
+ {authTypes.map(auth => (
@@ -66,7 +66,7 @@ export default function ConnectionModal({ modalState, connection = undefined })
const [isTesting, setIsTesting] = React.useState(false);
const testIdRef = React.useRef(0);
- const handleTest = async (values) => {
+ const handleTest = async values => {
setIsTesting(true);
testIdRef.current += 1;
const testid = testIdRef.current;
@@ -82,7 +82,7 @@ export default function ConnectionModal({ modalState, connection = undefined })
setIsTesting(false);
};
- const handleSubmit = async (values) => {
+ const handleSubmit = async values => {
axios.post('connections/save', values);
modalState.close();
};
@@ -93,7 +93,7 @@ export default function ConnectionModal({ modalState, connection = undefined })
- {extensions.drivers.map((driver) => (
+ {extensions.drivers.map(driver => (
diff --git a/packages/web/src/modals/CreateDatabaseModal.js b/packages/web/src/modals/CreateDatabaseModal.js
index c8c1632b4..bb7aed9cf 100644
--- a/packages/web/src/modals/CreateDatabaseModal.js
+++ b/packages/web/src/modals/CreateDatabaseModal.js
@@ -8,7 +8,7 @@ import ModalFooter from './ModalFooter';
import { FormProvider } from '../utility/FormProvider';
export default function CreateDatabaseModal({ modalState, conid }) {
- const handleSubmit = async (values) => {
+ const handleSubmit = async values => {
const { name } = values;
axios.post('server-connections/create-database', { conid, name });
diff --git a/packages/web/src/modals/FavoriteModal.js b/packages/web/src/modals/FavoriteModal.js
index 20e526ece..6594e7134 100644
--- a/packages/web/src/modals/FavoriteModal.js
+++ b/packages/web/src/modals/FavoriteModal.js
@@ -48,7 +48,7 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
const canWriteFavorite = hasPermission('files/favorites/write');
- const getTabSaveData = async (values) => {
+ const getTabSaveData = async values => {
const tabdata = {};
const skipEditor = !!savedFile && values.whatToSave != 'content';
@@ -78,7 +78,7 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
};
};
- const saveTab = async (values) => {
+ const saveTab = async values => {
const data = await getTabSaveData(values);
axios.post('files/save', {
@@ -89,7 +89,7 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
});
};
- const saveFile = async (values) => {
+ const saveFile = async values => {
const oldDataResp = await axios.post('files/load', {
folder: 'favorites',
file: editingData.file,
@@ -107,7 +107,7 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
});
};
- const handleSubmit = async (values) => {
+ const handleSubmit = async values => {
modalState.close();
if (savingTab) {
saveTab(values);
@@ -117,7 +117,7 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
}
};
- const handleCopyLink = async (values) => {
+ const handleCopyLink = async values => {
const tabdata = await getTabSaveData(values);
copyTextToClipboard(`${document.location.origin}#tabdata=${encodeURIComponent(JSON.stringify(tabdata))}`);
};
@@ -136,7 +136,7 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
{!!savingTab && !electron && canWriteFavorite && (
)}
- !values.shareAsLink && canWriteFavorite}>
+ !values.shareAsLink && canWriteFavorite}>
@@ -148,10 +148,10 @@ export default function FavoriteModal({ modalState, editingData = undefined, sav
)}
- !values.shareAsLink && canWriteFavorite}>
+ !values.shareAsLink && canWriteFavorite}>
- values.shareAsLink || !canWriteFavorite}>
+ values.shareAsLink || !canWriteFavorite}>
modalState.close()} />
diff --git a/packages/web/src/modals/FilterMultipleValuesModal.js b/packages/web/src/modals/FilterMultipleValuesModal.js
index 9649b96f3..bc41a69c9 100644
--- a/packages/web/src/modals/FilterMultipleValuesModal.js
+++ b/packages/web/src/modals/FilterMultipleValuesModal.js
@@ -49,7 +49,7 @@ export default function FilterMultipleValuesModal({ modalState, onFilter }) {
Filter multiple values
-