fix: missing pageInfo
This commit is contained in:
parent
d83cebac56
commit
134f72f6e8
@ -28,7 +28,7 @@ export function CollectionSingle(props) {
|
|||||||
|
|
||||||
const collection = collections[props.itemIndex]||{};
|
const collection = collections[props.itemIndex]||{};
|
||||||
|
|
||||||
const { tabs = [] } = collection;
|
const { tabs = [], pageInfo = {} } = collection;
|
||||||
const activeTab = tabs.find(tab => tab.name == item.tabName)||{};
|
const activeTab = tabs.find(tab => tab.name == item.tabName)||{};
|
||||||
console.log({tabs, activeTab, item});
|
console.log({tabs, activeTab, item});
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ export function CollectionSingle(props) {
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Helmet>
|
<Helmet>
|
||||||
<title>{collection.pageTitle}</title>
|
<title>{pageInfo.pageTitle}</title>
|
||||||
</Helmet>
|
</Helmet>
|
||||||
<PageHeader
|
<PageHeader
|
||||||
ghost={false}
|
ghost={false}
|
||||||
@ -49,7 +49,7 @@ export function CollectionSingle(props) {
|
|||||||
removeLastItem: true,
|
removeLastItem: true,
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
title={collection.pageTitle}
|
title={pageInfo.pageTitle}
|
||||||
// subTitle="This is a subtitle"
|
// subTitle="This is a subtitle"
|
||||||
extra={[
|
extra={[
|
||||||
// <Button key="3">Operation</Button>,
|
// <Button key="3">Operation</Button>,
|
||||||
@ -79,7 +79,7 @@ export function CollectionSingle(props) {
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<div className={'collection-content'}>
|
<div className={'collection-content'}>
|
||||||
<CollectionTabPane {...props} collection={collection} loading={activing} activeTab={activeTab}/>
|
<CollectionTabPane {...props} pageInfo={pageInfo} collection={collection} loading={activing} activeTab={activeTab}/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Model, ModelCtor } from '@nocobase/database';
|
import { Model, ModelCtor } from '@nocobase/database';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
|
||||||
async function getPageTitle(ctx, {resourceName, resourceKey}) {
|
async function getPageInfo(ctx, {resourceName, resourceKey}) {
|
||||||
// const { resourceName, resourceKey } = ctx.action.params;
|
// const { resourceName, resourceKey } = ctx.action.params;
|
||||||
const M = ctx.db.getModel(resourceName) as ModelCtor<Model>;
|
const M = ctx.db.getModel(resourceName) as ModelCtor<Model>;
|
||||||
const model = await M.findByPk(resourceKey);
|
const model = await M.findByPk(resourceKey);
|
||||||
@ -13,7 +13,10 @@ async function getPageTitle(ctx, {resourceName, resourceKey}) {
|
|||||||
},
|
},
|
||||||
order: [['sort', 'asc']],
|
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) {
|
for (const item of items) {
|
||||||
const lastCollection = ctx.body[ctx.body.length-1];
|
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)||{};
|
const activeTab = _.find(lastCollection.tabs, tab => tab.name == item.tabName)||{};
|
||||||
if (activeTab && activeTab.type === 'association') {
|
if (activeTab && activeTab.type === 'association') {
|
||||||
// console.log(activeTab.associationField.target);
|
// console.log(activeTab.associationField.target);
|
||||||
@ -99,7 +102,7 @@ export default async (ctx, next) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const lastCollection = ctx.body[ctx.body.length-1];
|
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();
|
await next();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user