From 134f72f6e8e979ef67f5b77586ee39107333fac1 Mon Sep 17 00:00:00 2001 From: chenos Date: Mon, 1 Feb 2021 13:27:41 +0800 Subject: [PATCH] fix: missing pageInfo --- .../pages/CollectionLoader/CollectionSingle.tsx | 8 ++++---- packages/plugin-pages/src/actions/getCollections.ts | 11 +++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/app/src/components/pages/CollectionLoader/CollectionSingle.tsx b/packages/app/src/components/pages/CollectionLoader/CollectionSingle.tsx index 2c9aaa8b6..305c3fe22 100644 --- a/packages/app/src/components/pages/CollectionLoader/CollectionSingle.tsx +++ b/packages/app/src/components/pages/CollectionLoader/CollectionSingle.tsx @@ -28,7 +28,7 @@ export function CollectionSingle(props) { const collection = collections[props.itemIndex]||{}; - const { tabs = [] } = collection; + const { tabs = [], pageInfo = {} } = collection; const activeTab = tabs.find(tab => tab.name == item.tabName)||{}; console.log({tabs, activeTab, item}); @@ -39,7 +39,7 @@ export function CollectionSingle(props) { return (
- {collection.pageTitle} + {pageInfo.pageTitle} Operation, @@ -79,7 +79,7 @@ export function CollectionSingle(props) { } />
- +
); diff --git a/packages/plugin-pages/src/actions/getCollections.ts b/packages/plugin-pages/src/actions/getCollections.ts index e79ed74f8..30fb82fe9 100644 --- a/packages/plugin-pages/src/actions/getCollections.ts +++ b/packages/plugin-pages/src/actions/getCollections.ts @@ -1,7 +1,7 @@ import { Model, ModelCtor } from '@nocobase/database'; import _ from 'lodash'; -async function getPageTitle(ctx, {resourceName, resourceKey}) { +async function getPageInfo(ctx, {resourceName, resourceKey}) { // const { resourceName, resourceKey } = ctx.action.params; const M = ctx.db.getModel(resourceName) as ModelCtor; const model = await M.findByPk(resourceKey); @@ -13,7 +13,10 @@ async function getPageTitle(ctx, {resourceName, resourceKey}) { }, order: [['sort', 'asc']], }); - return field ? (model.get(field.get('name')) || `#${model.get(M.primaryKeyAttribute)} 无标题`) : model.get(M.primaryKeyAttribute); + return { + pageTitle: field ? (model.get(field.get('name')) || `#${model.get(M.primaryKeyAttribute)} 无标题`) : model.get(M.primaryKeyAttribute), + ...model.toJSON(), + }; }; @@ -89,7 +92,7 @@ export default async (ctx, next) => { for (const item of items) { const lastCollection = ctx.body[ctx.body.length-1]; - lastCollection.pageTitle = await getPageTitle(ctx, {resourceName: lastCollection.name, resourceKey: item.itemId}); + lastCollection.pageInfo = await getPageInfo(ctx, {resourceName: lastCollection.name, resourceKey: item.itemId}); const activeTab = _.find(lastCollection.tabs, tab => tab.name == item.tabName)||{}; if (activeTab && activeTab.type === 'association') { // console.log(activeTab.associationField.target); @@ -99,7 +102,7 @@ export default async (ctx, next) => { } const lastCollection = ctx.body[ctx.body.length-1]; - lastCollection.pageTitle = await getPageTitle(ctx, {resourceName: lastCollection.name, resourceKey: lastItem.itemId}); + lastCollection.pageInfo = await getPageInfo(ctx, {resourceName: lastCollection.name, resourceKey: lastItem.itemId}); await next(); }