-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft: Create stop version init #960
base: main
Are you sure you want to change the base?
Conversation
23264f5
to
1f262bc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 10 of 14 files at r1.
Reviewable status: 10 of 14 files reviewed, 26 unresolved discussions (waiting on @villepynttari)
ui/src/components/stop-registry/stops/stop-details/StopDetailsPage.tsx
line 49 at r1 (raw file):
const { label } = useRequiredParams<{ label: string }>(); // TODO: Use appDispatch or simple useState?
Korvää koko tää redux hässäkkä vaan const [isCreateVersionModalOpen, setCreateVersionModalOpen] = useState(false)
Ku siellä on vaan yks ainut muuttuja.
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionForm.tsx
line 26 at r1 (raw file):
}; interface Props {
type ja reaonly
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionForm.tsx
line 33 at r1 (raw file):
} export const CreateStopVersionForm = ({
Komponentti: FC<PropsiTyyppi> = ({ ... }) => {
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionForm.tsx
line 41 at r1 (raw file):
const { t } = useTranslation(); const formRef = useRef<ExplicitAny>(null);
Käytetään oikeita tyyppejä Any:n sijaan.
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionForm.tsx
line 54 at r1 (raw file):
onSubmit={handleSubmit(onFormSubmit)} ref={formRef} className={`space-y-4 ${className}`}
twMerge('space-y-4', className)
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionForm.tsx
line 75 at r1 (raw file):
<PriorityForm /> </FormRow> <FormRow mdColumns={2}>
Eiks tälle oo olemassa jo jotain <PriorityForm />
:ia vastaavaa toteutusta? 🤔
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionForm.tsx
line 98 at r1 (raw file):
{t('cancel')} </SimpleButton> <SimpleButton onClick={onSaved} testId={testIds.submitButton}>
onClick:in sijaan pitäs olla type="submit"
ja antaa formin itse hoitaa submit eventti.
ui/src/components/stop-registry/stops/stop-details/stop-version/createStopVersionCommon.ts
line 1 at r1 (raw file):
import { gql } from '@apollo/client';
Tää tiedosto vois olla selkeemmin nimetty ja ehkä jakaa useempaan eri tiedostoon types
alikansioon.
ui/src/components/stop-registry/stops/stop-details/stop-version/createStopVersionCommon.ts
line 30 at r1 (raw file):
>; export const GQL_UPSERT_STOP_PLACE_VERSION = gql`
Väittäsin että tää on väärässä tiedostossa. Samaan paikkaan ku missää tota kyselyä oikeesti käytetään.
ui/src/components/stop-registry/stops/stop-details/stop-version/createStopVersionCommon.ts
line 42 at r1 (raw file):
export type StopPlaceKeyValues = { validityStart: DateTime; validityEnd: DateTime<true> | undefined;
<true>
on turha tossa end kentän tyypissä
ui/src/components/stop-registry/stops/stop-details/stop-version/createStopVersionCommon.ts
line 55 at r1 (raw file):
}; export type StopPointVersionInputFull = ScheduledStopPointSetInput & {
Miks tässä on käytännössä ylikirjotettu jokanen kenttä tosta tyypistä?
ui/src/components/stop-registry/stops/stop-details/CalendarButton.tsx
line 2 at r1 (raw file):
export type CalendarButtonProps = { name: string;
readonly
ui/src/components/stop-registry/stops/stop-details/CalendarButton.tsx
line 6 at r1 (raw file):
}; export const CalendarButton = (props: CalendarButtonProps) => {
CalendarButton: FC<CalendarButtonProps> = ({ name, onClick }) => {...
ui/src/components/stop-registry/stops/stop-details/CalendarButton.tsx
line 10 at r1 (raw file):
return ( <div className="ml-3 rounded-[3px] border border-light-grey bg-white p-2"> <div
Käytä ihan vaan oikeeta nappula elementtiä
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionModal.tsx
line 18 at r1 (raw file):
loading: 'CreateTimingPlaceModal::loading', }; export type CreateStopVersionModalProps = {
Onks tää tarkotuksella exportattu?
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionModal.tsx
line 21 at r1 (raw file):
originalStop: StopWithDetails | null; }; export const CreateStopVersionModal = (
Ei keksitä React komponentin tyypityksiä joka kerta uudelleen FC<Props>
ui/src/components/stop-registry/stops/stop-details/stop-version/CreateStopVersionModal.tsx
line 22 at r1 (raw file):
}; export const CreateStopVersionModal = ( props: CreateStopVersionModalProps,
Propsien destrukturointi täällä , eikä funktio bodyssä
ui/src/components/stop-registry/stops/stop-details/stop-version/useCreateStopVersion.ts
line 43 at r1 (raw file):
values: [validityEnd?.toISODate() ?? null], }, { key: 'priority', values: [state.priority.valueOf().toString()] },
tarpeeton valueOf()
kutsu välissä
ui/src/components/stop-registry/stops/stop-details/stop-version/useCreateStopVersion.ts
line 61 at r1 (raw file):
validity_start: validityStart, validity_end: validityEnd, priority: state.priority.valueOf(),
tarpeeton valiueOf
ui/src/components/stop-registry/stops/stop-details/stop-version/createStopVersionState.ts
line 1 at r1 (raw file):
import { PayloadAction, configureStore, createSlice } from '@reduxjs/toolkit';
Ja tää tosiaan kokonaan hiiteen ja korvaus const isOpen = useState(false)
:lla
ui/src/components/stop-registry/stops/stop-details/stop-version/stopPlaceToInputMapperUtils.ts
line 27 at r1 (raw file):
StopRegistryStopPlace['accessibilityAssessment']; export function toStopRegistryGeoJsonInput(
Tarviiks näitä yksittäisiä apufunktioita exportata erikseen? Kutsutaanko näitä erikseen tiedoston ulkopuolelta?
ui/src/components/stop-registry/stops/stop-details/stop-version/stopPlaceToInputMapperUtils.ts
line 32 at r1 (raw file):
return { coordinates: geoJson?.coordinates ?? null, legacyCoordinates: geoJson?.legacyCoordinates ?? null,
Legacy koordinaatteja ei pitäs lähettää enään sisään, koska legacy. coordinates
on kenttä jota käytetään, noi mäppäytyy kannassa samaan tietokanta kenttään.
ui/src/components/stop-registry/stops/stop-details/stop-version/stopPlaceToInputMapperUtils.ts
line 112 at r1 (raw file):
} export function updateKeyValues(
Parametrit on vähän hassussa järjestyksessä, ja oli kiva jos funktio ottaa aina oletuksena readonlyna datan sisään.
ja voisko tän korvata kokonaan jo olemassa olevalla vastaavalla toteutuksella. En muista tarkalleen etät missä se on määritelty ja millä nimellä, mutta sitä on muissa pysäkin tallennuksissa käytetty.
ui/src/locales/en-US/common.json
line 119 at r1 (raw file):
"timingPlaceRequired": "The stop is used as timing place on the following routes: {{ routeLabels }}. Attach timing place or stop using as timing point on the routes.", "tiamatUpdateFailed": "The stop's details have been saved into the routes and lines database, but saving them into the Stop Registry failed! You ought to retry the saving!: Reason: {{ errorMessage }}", "version": {
Täälät puuttuu "edit"
ui/src/components/forms/common/customZodSchemas.ts
line 69 at r1 (raw file):
export const requiredDate = requiredString.regex(/[0-9]{4}-[0-9]{2}-[0-9]{2}/); export const optionaldDate = requiredString.regex(/[0-9]{4}-[0-9]{2}-[0-9]{2}/).optional();
optionalDate = requiredDate.optional()
ui/src/components/forms/common/customZodSchemas.ts
line 98 at r1 (raw file):
export const instanceOfDateTime = z.custom<DateTime>(DateTime.isDateTime); export function getStringEnumValues<T extends Record<string, string>>(enumObj: T): readonly [string, ...string[] ]{
Nyt on jännää koodia. En keksi pelkästään tätä lukemalla, että mitä tässä oln varsinaisesti yritetty saavuttaa 🤔
1f262bc
to
8ab1bb9
Compare
Previously, Huulivoide (Jesse Jaara) wrote…
Nää on vähän kuin muistilappuna sille mitä ollaan varsinaisesti tallentamassa, että pysyin jotenkin kärryillä, kun vertailin olemassaolevia kilkkeitä. Lisäksi ylikirjoittaa joitain nullableja pakollisiksi. Ei ole välttämättä tarpeellisia lopullisessa versiossa. |
Previously, Huulivoide (Jesse Jaara) wrote…
Liittyi jotenkin priorityyn, mutta löysinkin sille valmiin toteutuksen. Ei ole tosiaan käytössä ja vaan unohtui tänne. |
Previously, Huulivoide (Jesse Jaara) wrote…
Ei kutsuta. Pidin vaan näitä vielä ns. liikuteltavassa muodossa, kun on toteutus vähän kokeilun asteella. |
Previously, Huulivoide (Jesse Jaara) wrote…
Varmaan voi. En vaan löytänyt valmista toteutusta äkkiseltään. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 14 files at r1, 4 of 11 files at r2, all commit messages.
Reviewable status: 8 of 17 files reviewed, 26 unresolved discussions (waiting on @villepynttari)
cypress/e2e/stop-registry/stopDetails.cy.ts
line 2292 at r2 (raw file):
describe('Stop version', () => { function initForm() { return new CreateStopVersionFormWrapper();
Tää on vähän tarpeeton luoda jokasessa testissä uudelleen. Vois olla vaan yks initialisointi, ku ei tuossa luokassa kuitenkaan mitään tilaa ole.
b8f4646
to
93f1c39
Compare
93f1c39
to
eefc98d
Compare
Initial version of copying stop to new version.
This change is