@flexkit/desk 0.0.24 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import'./index.css';import {Layout}from'lucide-react';import {find,propEq}from'ramda';import {useParams,useLocation,useAppContext,useGraphQLError,useConfig,getEntitySchema,useGridColumnsDefinition,useEntityQuery,ProjectDisabled,SchemaError,DataTable,DataTableToolbar,Outlet,useAuth,DataTableRowActions}from'@flexkit/studio';import {Tooltip,TooltipTrigger,SidebarTrigger,TooltipContent,Separator,SidebarProvider,Sidebar,SidebarInset,Skeleton}from'@flexkit/studio/ui';import {jsx,jsxs}from'react/jsx-runtime';import {useCallback}from'react';var G="flexkit:sidebar:state";function E(){let[,t]=useAuth(),{projects:o,currentProjectId:a}=useConfig(),{schema:l,menuGroups:m}=find(propEq(a??"","projectId"))(o),f=document.cookie.split("; ").find(u=>u.startsWith(`${G}=`))?.split("=")[1]!=="false";return jsxs(SidebarProvider,{defaultOpen:f,children:[jsx(Sidebar,{schema:l,menuGroups:m}),jsx(SidebarInset,{children:jsx(Outlet,{})})]})}var s=25;function N(){let{entity:t}=useParams(),{search:o}=useLocation(),l=new URLSearchParams(o).get("id"),{scope:m}=useAppContext(),{schemaErrorMessage:f}=useGraphQLError(),{projects:u,currentProjectId:C}=useConfig(),{schema:h}=find(propEq(C??"","projectId"))(u),n=getEntitySchema(h,t??""),y=useGridColumnsDefinition({attributesSchema:n?.attributes??[],actionsComponent:i=>dt({entityName:n?.name??"",entityNamePlural:t??"",row:i}),checkboxSelect:"multiple"}),T=l?{where:{_id:l}}:{options:{offset:0,limit:s}},{isLoading:p,fetchMore:b,count:d,data:r,isProjectDisabled:D}=useEntityQuery({entityNamePlural:t??"",schema:h,scope:m,variables:T}),w=useCallback(i=>{let x=r?.length??0;if(i&&d>0&&x>0){let{scrollHeight:I,scrollTop:L,clientHeight:R}=i;I-L-R<500&&!p&&x<d&&b({variables:{options:{offset:r?.length??0,limit:s}}});}},[d,r?.length,b,p]),A=Array(s).fill({}),v=gt(y),S=p&&(r==null||r.length===0);return D?jsx("div",{className:"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3",children:jsx(ProjectDisabled,{})}):jsxs("div",{className:"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3",children:[jsx(SchemaError,{}),jsxs("div",{className:"fk:flex fk:items-center fk:mb-4 fk:gap-2",children:[jsxs(Tooltip,{children:[jsx(TooltipTrigger,{asChild:true,children:jsx(SidebarTrigger,{className:"fk:-ml-1 fk:w-4 fk:h-4"})}),jsx(TooltipContent,{children:"Toggle Sidebar"})]}),jsx(Separator,{orientation:"vertical",className:"fk:h-4"}),jsx("h2",{className:"fk:text-lg fk:font-semibold fk:leading-none fk:tracking-tight",children:pt(n?.menu?.label??n?.plural??"")})]}),f?null:jsx(DataTable,{columns:S?v:y,data:S?A:r??[],entityName:n?.name??"",pageSize:s,onScroll:i=>{w(i.currentTarget);},toolbarComponent:i=>jsx(DataTableToolbar,{entityName:n?.name??"",table:i})}),jsx(Outlet,{})]})}function pt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function dt({entityName:t,entityNamePlural:o,row:a}){return jsx(DataTableRowActions,{entityName:t,entityNamePlural:o,row:a})}function gt(t){return t.map(o=>({...o,cell:()=>jsx(Skeleton,{className:"fk:h-4 fk:w-full",style:{marginTop:"7px",marginBottom:"6px"}})}))}function P(){let{entity:t,id:o}=useParams();return jsxs("div",{className:"flex flex-col",children:["Edit ",t," with id: ",o]})}function _t(){return {name:"flexkit.desk",contributes:{apps:[{name:"desk",icon:jsx(Layout,{strokeWidth:1.5}),title:"Desk",component:jsx(E,{}),routes:[{path:"list/:entity",component:jsx(N,{}),children:[{path:"edit/:id",component:jsx(P,{})}]}]}]}}}export{_t as Desk};//# sourceMappingURL=index.js.map
1
+ import'./index.css';import {Layout}from'lucide-react';import {find,propEq}from'ramda';import {useParams,useLocation,useAppContext,useGraphQLError,useConfig,getEntitySchema,useGridColumnsDefinition,useEntityQuery,ProjectDisabled,SchemaError,DataTable,DataTableToolbar,Outlet,useAuth,DataTableRowActions}from'@flexkit/studio';import {Tooltip,TooltipTrigger,SidebarTrigger,TooltipContent,Separator,SidebarProvider,Sidebar,SidebarInset,Skeleton}from'@flexkit/studio/ui';import {jsx,jsxs}from'react/jsx-runtime';import {useCallback}from'react';var G="flexkit:sidebar:state";function E(){let[,t]=useAuth(),{projects:o,currentProjectId:a}=useConfig(),{schema:l,menuGroups:m}=find(propEq(a??"","projectId"))(o),f=document.cookie.split("; ").find(u=>u.startsWith(`${G}=`))?.split("=")[1]!=="false";return jsxs(SidebarProvider,{defaultOpen:f,children:[jsx(Sidebar,{schema:l,menuGroups:m}),jsx(SidebarInset,{children:jsx(Outlet,{})})]})}var s=25;function N(){let{entity:t}=useParams(),{search:o}=useLocation(),l=new URLSearchParams(o).get("id"),{scope:m}=useAppContext(),{schemaErrorMessage:f}=useGraphQLError(),{projects:u,currentProjectId:C}=useConfig(),{schema:h}=find(propEq(C??"","projectId"))(u),n=getEntitySchema(h,t??""),y=useGridColumnsDefinition({attributesSchema:n?.attributes??[],actionsComponent:i=>dt({entityName:n?.name??"",entityNamePlural:t??"",row:i}),checkboxSelect:"multiple"}),T=l?{where:{_id:{eq:l}}}:{offset:0,limit:s},{isLoading:p,fetchMore:b,count:d,data:r,isProjectDisabled:D}=useEntityQuery({entityNamePlural:t??"",schema:h,scope:m,variables:T}),w=useCallback(i=>{let x=r?.length??0;if(i&&d>0&&x>0){let{scrollHeight:I,scrollTop:L,clientHeight:R}=i;I-L-R<500&&!p&&x<d&&b({variables:{offset:r?.length??0,limit:s}});}},[d,r?.length,b,p]),A=Array(s).fill({}),v=gt(y),S=p&&(r==null||r.length===0);return D?jsx("div",{className:"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3",children:jsx(ProjectDisabled,{})}):jsxs("div",{className:"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3",children:[jsx(SchemaError,{}),jsxs("div",{className:"fk:flex fk:items-center fk:mb-4 fk:gap-2",children:[jsxs(Tooltip,{children:[jsx(TooltipTrigger,{asChild:true,children:jsx(SidebarTrigger,{className:"fk:-ml-1 fk:w-4 fk:h-4"})}),jsx(TooltipContent,{children:"Toggle Sidebar"})]}),jsx(Separator,{orientation:"vertical",className:"fk:h-4"}),jsx("h2",{className:"fk:text-lg fk:font-semibold fk:leading-none fk:tracking-tight",children:pt(n?.menu?.label??n?.plural??"")})]}),f?null:jsx(DataTable,{columns:S?v:y,data:S?A:r??[],entityName:n?.name??"",pageSize:s,onScroll:i=>{w(i.currentTarget);},toolbarComponent:i=>jsx(DataTableToolbar,{entityName:n?.name??"",table:i})}),jsx(Outlet,{})]})}function pt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function dt({entityName:t,entityNamePlural:o,row:a}){return jsx(DataTableRowActions,{entityName:t,entityNamePlural:o,row:a})}function gt(t){return t.map(o=>({...o,cell:()=>jsx(Skeleton,{className:"fk:h-4 fk:w-full",style:{marginTop:"7px",marginBottom:"6px"}})}))}function P(){let{entity:t,id:o}=useParams();return jsxs("div",{className:"flex flex-col",children:["Edit ",t," with id: ",o]})}function _t(){return {name:"flexkit.desk",contributes:{apps:[{name:"desk",icon:jsx(Layout,{strokeWidth:1.5}),title:"Desk",component:jsx(E,{}),routes:[{path:"list/:entity",component:jsx(N,{}),children:[{path:"edit/:id",component:jsx(P,{})}]}]}]}}}export{_t as Desk};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/root.tsx","../src/list.tsx","../src/edit-entity.tsx","../src/index.tsx"],"names":["SIDEBAR_COOKIE_NAME","Root","auth","useAuth","projects","currentProjectId","useConfig","schema","menuGroups","find","propEq","defaultOpen","row","jsxs","SidebarProvider","jsx","Sidebar","SidebarInset","Outlet","pageSize","List","entityName","useParams","search","useLocation","entityId","scope","useAppContext","schemaErrorMessage","useGraphQLError","entitySchema","getEntitySchema","columnsDefinition","useGridColumnsDefinition","dataRowActions","variables","isLoading","fetchMore","count","data","isProjectDisabled","useEntityQuery","fetchMoreOnBottomReached","useCallback","containerRefElement","rowsCount","scrollHeight","scrollTop","clientHeight","loadingData","loadingColumns","getLoadingColumns","isInitialLoading","ProjectDisabled","SchemaError","Tooltip","TooltipTrigger","SidebarTrigger","TooltipContent","Separator","capitalize","DataTable","e","table","DataTableToolbar","str","entityNamePlural","DataTableRowActions","columns","column","Skeleton","EditEntity","entity","id","Desk","LayoutIcon"],"mappings":"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","file":"index.js","sourcesContent":["import { JSX } from 'react';\nimport { find, propEq } from 'ramda';\nimport { Outlet, useAuth, useConfig } from '@flexkit/studio';\nimport { Sidebar, SidebarInset, SidebarProvider } from '@flexkit/studio/ui';\nimport type { SingleProject } from '@flexkit/studio';\n\nconst SIDEBAR_COOKIE_NAME = 'flexkit:sidebar:state';\n\nexport function Root(): JSX.Element {\n const [, auth] = useAuth();\n const { projects, currentProjectId } = useConfig();\n const { schema, menuGroups } = find(propEq(currentProjectId ?? '', 'projectId'))(projects) as SingleProject;\n const defaultOpen =\n document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`))\n ?.split('=')[1] !== 'false';\n\n return (\n <SidebarProvider defaultOpen={defaultOpen}>\n <Sidebar schema={schema} menuGroups={menuGroups} />\n <SidebarInset>\n <Outlet />\n </SidebarInset>\n </SidebarProvider>\n );\n}\n","import { JSX, useCallback } from 'react';\nimport { find, propEq } from 'ramda';\nimport {\n getEntitySchema,\n useAppContext,\n useConfig,\n useLocation,\n useParams,\n Outlet,\n useEntityQuery,\n useGraphQLError,\n ProjectDisabled,\n SchemaError,\n DataTable,\n DataTableRowActions,\n DataTableToolbar,\n useGridColumnsDefinition,\n} from '@flexkit/studio';\nimport { Skeleton, SidebarTrigger, Separator, Tooltip, TooltipContent, TooltipTrigger } from '@flexkit/studio/ui';\nimport type { ColumnDef, SingleProject, Row } from '@flexkit/studio';\n\nconst pageSize = 25;\n\nexport function List(): JSX.Element {\n const { entity: entityName } = useParams();\n const { search } = useLocation();\n const query = new URLSearchParams(search);\n const entityId = query.get('id');\n const { scope } = useAppContext();\n const { schemaErrorMessage } = useGraphQLError();\n const { projects, currentProjectId } = useConfig();\n const { schema } = find(propEq(currentProjectId ?? '', 'projectId'))(projects) as SingleProject;\n const entitySchema = getEntitySchema(schema, entityName ?? '');\n const columnsDefinition = useGridColumnsDefinition({\n attributesSchema: entitySchema?.attributes ?? [],\n actionsComponent: (row) =>\n dataRowActions({ entityName: entitySchema?.name ?? '', entityNamePlural: entityName ?? '', row }),\n checkboxSelect: 'multiple',\n });\n\n const variables = entityId ? { where: { _id: entityId } } : { options: { offset: 0, limit: pageSize } };\n\n const { isLoading, fetchMore, count, data, isProjectDisabled } = useEntityQuery({\n entityNamePlural: entityName ?? '',\n schema,\n scope,\n variables,\n });\n\n // called on scroll and possibly on mount to fetch more data as the user scrolls and reaches bottom of table\n const fetchMoreOnBottomReached = useCallback(\n (containerRefElement?: HTMLDivElement | null) => {\n const rowsCount = data?.length ?? 0;\n\n if (containerRefElement && count > 0 && rowsCount > 0) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement;\n //once the user has scrolled within 500px of the bottom of the table, fetch more data if we can\n if (scrollHeight - scrollTop - clientHeight < 500 && !isLoading && rowsCount < count) {\n fetchMore({\n variables: {\n options: {\n offset: data?.length ?? 0,\n limit: pageSize,\n },\n },\n });\n }\n }\n },\n [count, data?.length, fetchMore, isLoading]\n );\n\n const loadingData = Array(pageSize).fill({});\n const loadingColumns = getLoadingColumns(columnsDefinition);\n const isInitialLoading = isLoading && (data == null || data.length === 0);\n\n if (isProjectDisabled) {\n return (\n <div className=\"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3\">\n <ProjectDisabled />\n </div>\n );\n }\n\n return (\n <div className=\"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3\">\n <SchemaError />\n <div className=\"fk:flex fk:items-center fk:mb-4 fk:gap-2\">\n <Tooltip>\n <TooltipTrigger asChild>\n <SidebarTrigger className=\"fk:-ml-1 fk:w-4 fk:h-4\" />\n </TooltipTrigger>\n <TooltipContent>Toggle Sidebar</TooltipContent>\n </Tooltip>\n <Separator orientation=\"vertical\" className=\"fk:h-4\" />\n <h2 className=\"fk:text-lg fk:font-semibold fk:leading-none fk:tracking-tight\">\n {capitalize(entitySchema?.menu?.label ?? entitySchema?.plural ?? '')}\n </h2>\n </div>\n {!schemaErrorMessage ? (\n <DataTable\n columns={isInitialLoading ? loadingColumns : columnsDefinition}\n data={isInitialLoading ? loadingData : (data ?? [])}\n entityName={entitySchema?.name ?? ''}\n pageSize={pageSize}\n onScroll={(e) => {\n fetchMoreOnBottomReached(e.currentTarget);\n }}\n toolbarComponent={(table) => <DataTableToolbar entityName={entitySchema?.name ?? ''} table={table} />}\n />\n ) : null}\n <Outlet />\n </div>\n );\n}\n\nfunction capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\ntype AttributeValue = {\n _id: string;\n [key: string]: string | AttributeValue | null;\n __typename: string;\n};\n\ntype DataRowActions = {\n entityName: string;\n entityNamePlural: string;\n row: Row<AttributeValue>;\n};\n\nfunction dataRowActions({ entityName, entityNamePlural, row }: DataRowActions): JSX.Element {\n return <DataTableRowActions entityName={entityName} entityNamePlural={entityNamePlural} row={row} />;\n}\n\nfunction getLoadingColumns(columns: object[]): ColumnDef<AttributeValue>[] {\n return columns.map((column) => ({\n ...column,\n cell: () => <Skeleton className=\"fk:h-4 fk:w-full\" style={{ marginTop: '7px', marginBottom: '6px' }} />,\n })) as unknown as ColumnDef<AttributeValue>[];\n}\n","import { JSX } from 'react';\nimport { useParams } from '@flexkit/studio';\n\nexport function EditEntity(): JSX.Element {\n const { entity, id } = useParams();\n\n // Not used, left here as an example of how to nest routes in plugins (see ./index.tsx file)\n return (\n <div className=\"flex flex-col\">\n Edit {entity} with id: {id}\n </div>\n );\n}\n","import { Layout as LayoutIcon } from 'lucide-react';\nimport type { PluginOptions } from '@flexkit/studio';\nimport { Root } from './root';\nimport { List } from './list';\nimport { EditEntity } from './edit-entity';\n\nexport function Desk(): PluginOptions {\n return {\n name: 'flexkit.desk',\n contributes: {\n apps: [\n {\n name: 'desk',\n icon: <LayoutIcon strokeWidth={1.5} />,\n title: 'Desk',\n component: <Root />,\n routes: [\n {\n path: 'list/:entity',\n component: <List />,\n children: [\n {\n path: 'edit/:id',\n component: <EditEntity />, // Not used, left here as an example of how to nest routes in plugins\n },\n ],\n },\n ],\n },\n ],\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/root.tsx","../src/list.tsx","../src/edit-entity.tsx","../src/index.tsx"],"names":["SIDEBAR_COOKIE_NAME","Root","auth","useAuth","projects","currentProjectId","useConfig","schema","menuGroups","find","propEq","defaultOpen","row","jsxs","SidebarProvider","jsx","Sidebar","SidebarInset","Outlet","pageSize","List","entityName","useParams","search","useLocation","entityId","scope","useAppContext","schemaErrorMessage","useGraphQLError","entitySchema","getEntitySchema","columnsDefinition","useGridColumnsDefinition","dataRowActions","variables","isLoading","fetchMore","count","data","isProjectDisabled","useEntityQuery","fetchMoreOnBottomReached","useCallback","containerRefElement","rowsCount","scrollHeight","scrollTop","clientHeight","loadingData","loadingColumns","getLoadingColumns","isInitialLoading","ProjectDisabled","SchemaError","Tooltip","TooltipTrigger","SidebarTrigger","TooltipContent","Separator","capitalize","DataTable","e","table","DataTableToolbar","str","entityNamePlural","DataTableRowActions","columns","column","Skeleton","EditEntity","entity","id","Desk","LayoutIcon"],"mappings":"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","file":"index.js","sourcesContent":["import { JSX } from 'react';\nimport { find, propEq } from 'ramda';\nimport { Outlet, useAuth, useConfig } from '@flexkit/studio';\nimport { Sidebar, SidebarInset, SidebarProvider } from '@flexkit/studio/ui';\nimport type { SingleProject } from '@flexkit/studio';\n\nconst SIDEBAR_COOKIE_NAME = 'flexkit:sidebar:state';\n\nexport function Root(): JSX.Element {\n const [, auth] = useAuth();\n const { projects, currentProjectId } = useConfig();\n const { schema, menuGroups } = find(propEq(currentProjectId ?? '', 'projectId'))(projects) as SingleProject;\n const defaultOpen =\n document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`))\n ?.split('=')[1] !== 'false';\n\n return (\n <SidebarProvider defaultOpen={defaultOpen}>\n <Sidebar schema={schema} menuGroups={menuGroups} />\n <SidebarInset>\n <Outlet />\n </SidebarInset>\n </SidebarProvider>\n );\n}\n","import { JSX, useCallback } from 'react';\nimport { find, propEq } from 'ramda';\nimport {\n getEntitySchema,\n useAppContext,\n useConfig,\n useLocation,\n useParams,\n Outlet,\n useEntityQuery,\n useGraphQLError,\n ProjectDisabled,\n SchemaError,\n DataTable,\n DataTableRowActions,\n DataTableToolbar,\n useGridColumnsDefinition,\n} from '@flexkit/studio';\nimport { Skeleton, SidebarTrigger, Separator, Tooltip, TooltipContent, TooltipTrigger } from '@flexkit/studio/ui';\nimport type { ColumnDef, SingleProject, Row } from '@flexkit/studio';\n\nconst pageSize = 25;\n\nexport function List(): JSX.Element {\n const { entity: entityName } = useParams();\n const { search } = useLocation();\n const query = new URLSearchParams(search);\n const entityId = query.get('id');\n const { scope } = useAppContext();\n const { schemaErrorMessage } = useGraphQLError();\n const { projects, currentProjectId } = useConfig();\n const { schema } = find(propEq(currentProjectId ?? '', 'projectId'))(projects) as SingleProject;\n const entitySchema = getEntitySchema(schema, entityName ?? '');\n const columnsDefinition = useGridColumnsDefinition({\n attributesSchema: entitySchema?.attributes ?? [],\n actionsComponent: (row) =>\n dataRowActions({ entityName: entitySchema?.name ?? '', entityNamePlural: entityName ?? '', row }),\n checkboxSelect: 'multiple',\n });\n\n const variables = entityId ? { where: { _id: { eq: entityId } } } : { offset: 0, limit: pageSize };\n\n const { isLoading, fetchMore, count, data, isProjectDisabled } = useEntityQuery({\n entityNamePlural: entityName ?? '',\n schema,\n scope,\n variables,\n });\n\n // called on scroll and possibly on mount to fetch more data as the user scrolls and reaches bottom of table\n const fetchMoreOnBottomReached = useCallback(\n (containerRefElement?: HTMLDivElement | null) => {\n const rowsCount = data?.length ?? 0;\n\n if (containerRefElement && count > 0 && rowsCount > 0) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement;\n //once the user has scrolled within 500px of the bottom of the table, fetch more data if we can\n if (scrollHeight - scrollTop - clientHeight < 500 && !isLoading && rowsCount < count) {\n fetchMore({\n variables: {\n offset: data?.length ?? 0,\n limit: pageSize,\n },\n });\n }\n }\n },\n [count, data?.length, fetchMore, isLoading]\n );\n\n const loadingData = Array(pageSize).fill({});\n const loadingColumns = getLoadingColumns(columnsDefinition);\n const isInitialLoading = isLoading && (data == null || data.length === 0);\n\n if (isProjectDisabled) {\n return (\n <div className=\"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3\">\n <ProjectDisabled />\n </div>\n );\n }\n\n return (\n <div className=\"fk:flex fk:flex-col fk:h-full fk:px-4 fk:pt-3\">\n <SchemaError />\n <div className=\"fk:flex fk:items-center fk:mb-4 fk:gap-2\">\n <Tooltip>\n <TooltipTrigger asChild>\n <SidebarTrigger className=\"fk:-ml-1 fk:w-4 fk:h-4\" />\n </TooltipTrigger>\n <TooltipContent>Toggle Sidebar</TooltipContent>\n </Tooltip>\n <Separator orientation=\"vertical\" className=\"fk:h-4\" />\n <h2 className=\"fk:text-lg fk:font-semibold fk:leading-none fk:tracking-tight\">\n {capitalize(entitySchema?.menu?.label ?? entitySchema?.plural ?? '')}\n </h2>\n </div>\n {!schemaErrorMessage ? (\n <DataTable\n columns={isInitialLoading ? loadingColumns : columnsDefinition}\n data={isInitialLoading ? loadingData : (data ?? [])}\n entityName={entitySchema?.name ?? ''}\n pageSize={pageSize}\n onScroll={(e) => {\n fetchMoreOnBottomReached(e.currentTarget);\n }}\n toolbarComponent={(table) => <DataTableToolbar entityName={entitySchema?.name ?? ''} table={table} />}\n />\n ) : null}\n <Outlet />\n </div>\n );\n}\n\nfunction capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\ntype AttributeValue = {\n _id: string;\n [key: string]: string | AttributeValue | null;\n __typename: string;\n};\n\ntype DataRowActions = {\n entityName: string;\n entityNamePlural: string;\n row: Row<AttributeValue>;\n};\n\nfunction dataRowActions({ entityName, entityNamePlural, row }: DataRowActions): JSX.Element {\n return <DataTableRowActions entityName={entityName} entityNamePlural={entityNamePlural} row={row} />;\n}\n\nfunction getLoadingColumns(columns: object[]): ColumnDef<AttributeValue>[] {\n return columns.map((column) => ({\n ...column,\n cell: () => <Skeleton className=\"fk:h-4 fk:w-full\" style={{ marginTop: '7px', marginBottom: '6px' }} />,\n })) as unknown as ColumnDef<AttributeValue>[];\n}\n","import { JSX } from 'react';\nimport { useParams } from '@flexkit/studio';\n\nexport function EditEntity(): JSX.Element {\n const { entity, id } = useParams();\n\n // Not used, left here as an example of how to nest routes in plugins (see ./index.tsx file)\n return (\n <div className=\"flex flex-col\">\n Edit {entity} with id: {id}\n </div>\n );\n}\n","import { Layout as LayoutIcon } from 'lucide-react';\nimport type { PluginOptions } from '@flexkit/studio';\nimport { Root } from './root';\nimport { List } from './list';\nimport { EditEntity } from './edit-entity';\n\nexport function Desk(): PluginOptions {\n return {\n name: 'flexkit.desk',\n contributes: {\n apps: [\n {\n name: 'desk',\n icon: <LayoutIcon strokeWidth={1.5} />,\n title: 'Desk',\n component: <Root />,\n routes: [\n {\n path: 'list/:entity',\n component: <List />,\n children: [\n {\n path: 'edit/:id',\n component: <EditEntity />, // Not used, left here as an example of how to nest routes in plugins\n },\n ],\n },\n ],\n },\n ],\n },\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexkit/desk",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "description": "Core Flexkit Studio plugin that powers the main interface for browsing entities, managing attributes, and performing CRUD operations on structured business data.",
5
5
  "keywords": [
6
6
  "flexkit",
@@ -52,7 +52,7 @@
52
52
  "tailwindcss": "4.2.4",
53
53
  "tsup": "8.5.1",
54
54
  "typescript": "^5.3.3",
55
- "@flexkit/studio": "0.0.24",
55
+ "@flexkit/studio": "0.0.26",
56
56
  "eslint-config-custom": "0.0.0",
57
57
  "tailwind-config": "0.0.1",
58
58
  "tsconfig": "0.0.0"
@@ -66,7 +66,7 @@
66
66
  "peerDependencies": {
67
67
  "react": "^19.0.0",
68
68
  "react-dom": "^19.0.0",
69
- "@flexkit/studio": "0.0.24"
69
+ "@flexkit/studio": "0.0.26"
70
70
  },
71
71
  "publishConfig": {
72
72
  "access": "public"