Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/little-zebras-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@halfdomelabs/project-builder-web': patch
'@halfdomelabs/ui-components': patch
---

Fix model UI fields alignment
2 changes: 1 addition & 1 deletion packages/project-builder-web/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as ReactDOM from 'react-dom/client';
import { RouterProvider } from 'react-router-dom';

import './index.css';
import { router } from './pages';
import { router } from './pages/_routes';

const rootElement = document.querySelector('#root');
if (!rootElement) throw new Error('Failed to find root element');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { AppLayout } from '@src/app/AppLayout/AppLayout';
import { createRouteCrumb } from '@src/types/routes';

import { AppsRoutes } from './apps';
import { DataRoutes } from './data';
import { DataRoutes } from './data/_routes';
import { FeatureRoutes } from './features';
import HomePage from './home/home.page';
import { NotFoundRoute } from './NotFound.page';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { NavLink, Outlet, useMatch } from 'react-router-dom';
import { ErrorBoundary } from '@src/components/ErrorBoundary/ErrorBoundary';

import { EnumsSidebarList } from './enums/EnumsSidebarList';
import { ModelsSidebarList } from './models/ModelsSidebarList';
import { ModelsSidebarList } from './models/_components/ModelsSidebarList';

export function DataLayout(): React.JSX.Element {
const {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ import type { RouteObject } from 'react-router-dom';

import { Navigate } from 'react-router-dom';

import { DataLayout } from './DataLayout';
import { DataLayout } from './_layout';
import { EnumRoutes } from './enums';
import { ModelRoutes } from './models';
import { ModelsRoutes } from './models/_routes';

export const DataRoutes: RouteObject = {
element: <DataLayout />,
path: '/data',
children: [
{ index: true, element: <Navigate to="./models" /> },
ModelRoutes,
ModelsRoutes,
EnumRoutes,
],
};
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { useState } from 'react';
import { MdAdd, MdClear } from 'react-icons/md';
import { NavLink } from 'react-router-dom';

import { createEnumEditLink } from '../models/utils/url';
import { createEnumEditLink } from '../models/_utils/url';
import { NewEnumDialog } from './new/NewEnumDialog';

interface EnumsSidebarListProps {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { useDeleteReferenceDialog } from '@src/hooks/useDeleteReferenceDialog';
import { logAndFormatError } from '@src/services/error-formatter';
import { NotFoundError, RefDeleteError } from '@src/utils/error';

import { createEnumEditLink } from '../../models/utils/url';
import { createEnumEditLink } from '../../models/_utils/url';

interface UseEnumFormOptions {
schema?: z.ZodTypeAny;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import { useState } from 'react';
import { MdAdd, MdClear } from 'react-icons/md';
import { NavLink } from 'react-router-dom';

import { createModelEditLink } from '../_utils/url';
import { NewModelDialog } from './NewModelDialog';
import { createModelEditLink } from './utils/url';

interface ModelsSidebarListProps {
className?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import {
useControlledState,
} from '@halfdomelabs/ui-components';

import { ModelInfoForm } from './edit/model/ModelInfoForm';
import { useModelForm } from './hooks/useModelForm';
import { useModelForm } from '../_hooks/useModelForm';
import { ModelInfoForm } from '../edit/[id]/_components/ModelInfoForm';

interface NewModelDialogProps {
children: React.ReactNode;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
import type { ScalarFieldType } from '@halfdomelabs/project-builder-lib';

import { modelTransformerEntityType } from '@halfdomelabs/project-builder-lib';
import { createNewModelTransformerWebConfig } from '@halfdomelabs/project-builder-lib/web';

import { embeddedRelationTransformerWebConfig } from './edit/[id]/_components/service/ServiceEmbeddedRelationForm';

export const BUILT_IN_TRANSFORMER_WEB_CONFIGS = [
embeddedRelationTransformerWebConfig,
createNewModelTransformerWebConfig({
name: 'password',
label: 'Password',
description: "Hashes the input value of value 'password' using Argon2id",
getNewTransformer: () => ({
id: modelTransformerEntityType.generateNewId(),
type: 'password',
}),
allowNewTransformer(_, modelConfig) {
return (
!modelConfig.service?.transformers?.some(
(t) => t.type === 'password',
) && modelConfig.model.fields.some((f) => f.name === 'passwordHash')
);
},
getSummary: () => [],
pluginId: undefined,
}),
];

export interface ScalarFieldTypeOption {
label: string;
value: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { logAndFormatError } from 'src/services/error-formatter';
import { useDeleteReferenceDialog } from '@src/hooks/useDeleteReferenceDialog';
import { NotFoundError, RefDeleteError } from '@src/utils/error';

import { createModelEditLink } from '../utils/url';
import { createModelEditLink } from '../_utils/url';

interface UseModelFormOptions {
schema?: z.ZodTypeAny;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ import type { RouteObject } from 'react-router-dom';
import { NotFoundRoute } from '@src/pages/NotFound.page';
import { createRouteCrumb } from '@src/types/routes';

import { ModelEditRoutes } from './edit/_routes';
import ModelListPage from './ModelList.page';
import { ModelEditRoutes } from './edit/[id]/_routes';
import ModelsIndexPage from './index.page';

export const ModelRoutes: RouteObject = {
export const ModelsRoutes: RouteObject = {
path: 'models/*',
handle: {
crumb: createRouteCrumb({ label: 'Models', url: '/data/models' }),
},
children: [
{ index: true, element: <ModelListPage /> },
{ index: true, element: <ModelsIndexPage /> },
ModelEditRoutes,
NotFoundRoute,
],
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import {
useControlledState,
} from '@halfdomelabs/ui-components';

import { useModelForm } from '../hooks/useModelForm';
import { ModelInfoForm } from './model/ModelInfoForm';
import { useModelForm } from '@src/pages/data/models/_hooks/useModelForm';

import { ModelInfoForm } from './ModelInfoForm';

interface ModelInfoEditDialogProps {
open?: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
} from '@halfdomelabs/ui-components';
import { MdAdd, MdDeleteOutline, MdEdit } from 'react-icons/md';

import { useEditedModelConfig } from '../../hooks/useEditedModelConfig';
import { useEditedModelConfig } from '../../../_hooks/useEditedModelConfig';
import { ModelRelationDialog } from './fields/relations/ModelRelationDialog';

interface Props {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
} from '@halfdomelabs/ui-components';
import { MdAdd, MdDeleteOutline, MdEdit } from 'react-icons/md';

import { useEditedModelConfig } from '../../hooks/useEditedModelConfig';
import { useEditedModelConfig } from '../../../_hooks/useEditedModelConfig';
import { ModelUniqueConstraintDialog } from './fields/unique-constraints/ModelUniqueConstraintDialog';

interface Props {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Button, ButtonGroup, Dropdown } from '@halfdomelabs/ui-components';
import { useMemo } from 'react';
import { MdExpandMore } from 'react-icons/md';

import { useEditedModelConfig } from '../../../hooks/useEditedModelConfig';
import { useEditedModelConfig } from '../../../../_hooks/useEditedModelConfig';

interface ModelAddFieldButtonProps {
className?: string;
Expand Down
Loading
Loading