Skip to content

Commit

Permalink
automatically add existing custom fields to import map
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-Arc committed Oct 17, 2024
1 parent 7c1f305 commit 6842841
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,19 @@ import { IoAdd } from '@react-icons/all-files/io5/IoAdd';
import { IoTrash } from '@react-icons/all-files/io5/IoTrash';
import { ImportMap } from 'ontime-utils';

import useCustomFields from '../../../../../common/hooks-query/useCustomFields';
import { isAlphanumeric } from '../../../../../common/utils/regex';
import * as Panel from '../../PanelUtils';
import useGoogleSheet from '../useGoogleSheet';
import { useSheetStore } from '../useSheetStore';

import { convertToImportMap, getPersistedOptions, NamedImportMap, persistImportMap } from './importMapUtils';
import {
addExistingCustomFields,
convertToImportMap,
getPersistedOptions,
NamedImportMap,
persistImportMap,
} from './importMapUtils';

import style from '../SourcesPanel.module.scss';

Expand All @@ -24,7 +31,8 @@ interface ImportMapFormProps {

export default function ImportMapForm(props: ImportMapFormProps) {
const { hasErrors, isSpreadsheet, onCancel, onSubmitExport, onSubmitImport } = props;
const namedImportMap = getPersistedOptions();
const { data } = useCustomFields();
const namedImportMap = addExistingCustomFields(getPersistedOptions(), data);
const { revoke } = useGoogleSheet();
const {
control,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { CustomFields } from 'ontime-types';
import { ImportCustom, ImportMap } from 'ontime-utils';

export type NamedImportMap = typeof namedImportMap;
Expand Down Expand Up @@ -82,3 +83,19 @@ export function getPersistedOptions(): NamedImportMap {
return namedImportMap;
}
}

export function addExistingCustomFields(importMap: NamedImportMap, customFields: CustomFields): NamedImportMap {
const custom = importMap.custom;
Object.entries(customFields).forEach(([key, { label }]) => {
if (
!custom.some((ic) => {
return ic.ontimeName === key;
})
) {
// const ontimeName = key as unknown as string;
custom.push({ ontimeName: key, importName: label });
}
});

return importMap;
}

0 comments on commit 6842841

Please sign in to comment.