mirror of
https://github.com/frappe/books.git
synced 2024-09-20 03:29:00 +00:00
fix(ui): sticky quick edit form header
- fix quick search create routing
This commit is contained in:
parent
a11384a2d6
commit
6719c070e1
@ -5,7 +5,17 @@
|
|||||||
>
|
>
|
||||||
<!-- Quick edit Tool bar -->
|
<!-- Quick edit Tool bar -->
|
||||||
<div
|
<div
|
||||||
class="flex items-center justify-between px-4 h-row-largest"
|
class="
|
||||||
|
flex
|
||||||
|
items-center
|
||||||
|
justify-between
|
||||||
|
px-4
|
||||||
|
h-row-largest
|
||||||
|
sticky
|
||||||
|
top-0
|
||||||
|
bg-white
|
||||||
|
"
|
||||||
|
style="z-index: 1"
|
||||||
:class="{ 'border-b': showName }"
|
:class="{ 'border-b': showName }"
|
||||||
>
|
>
|
||||||
<!-- Close Button and Status Text -->
|
<!-- Close Button and Status Text -->
|
||||||
|
@ -72,11 +72,12 @@ export function getGroupLabelMap() {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async function openFormEditDoc(schemaName: string, fyo: Fyo) {
|
function getCreateAction(fyo: Fyo, schemaName: string, initData?: RawValueMap) {
|
||||||
const doc = fyo.doc.getNewDoc(schemaName);
|
return async function action() {
|
||||||
const name = doc.name;
|
const doc = fyo.doc.getNewDoc(schemaName, initData);
|
||||||
|
const route = getFormRoute(schemaName, doc.name!);
|
||||||
routeTo(`/edit/${schemaName}/${name}`);
|
await routeTo(route);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCreateList(fyo: Fyo): SearchItem[] {
|
function getCreateList(fyo: Fyo): SearchItem[] {
|
||||||
@ -97,9 +98,7 @@ function getCreateList(fyo: Fyo): SearchItem[] {
|
|||||||
({
|
({
|
||||||
label: fyo.schemaMap[schemaName]?.label,
|
label: fyo.schemaMap[schemaName]?.label,
|
||||||
group: 'Create',
|
group: 'Create',
|
||||||
action() {
|
action: getCreateAction(fyo, schemaName),
|
||||||
openFormEditDoc(schemaName, fyo);
|
|
||||||
},
|
|
||||||
} as SearchItem)
|
} as SearchItem)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -107,16 +106,12 @@ function getCreateList(fyo: Fyo): SearchItem[] {
|
|||||||
{
|
{
|
||||||
label: t`Sales Payments`,
|
label: t`Sales Payments`,
|
||||||
schemaName: ModelNameEnum.Payment,
|
schemaName: ModelNameEnum.Payment,
|
||||||
route: `/list/Payment/${t`Sales Payments`}`,
|
|
||||||
create: createFilters.SalesPayments,
|
create: createFilters.SalesPayments,
|
||||||
filter: routeFilters.SalesPayments,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t`Purchase Payments`,
|
label: t`Purchase Payments`,
|
||||||
schemaName: ModelNameEnum.Payment,
|
schemaName: ModelNameEnum.Payment,
|
||||||
route: `/list/Payment/${t`Purchase Payments`}`,
|
|
||||||
create: createFilters.PurchasePayments,
|
create: createFilters.PurchasePayments,
|
||||||
filter: routeFilters.PurchasePayments,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t`Customers`,
|
label: t`Customers`,
|
||||||
@ -140,30 +135,28 @@ function getCreateList(fyo: Fyo): SearchItem[] {
|
|||||||
label: t`Sales Items`,
|
label: t`Sales Items`,
|
||||||
schemaName: ModelNameEnum.Item,
|
schemaName: ModelNameEnum.Item,
|
||||||
create: createFilters.SalesItems,
|
create: createFilters.SalesItems,
|
||||||
filter: routeFilters.SalesItems,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t`Purchase Items`,
|
label: t`Purchase Items`,
|
||||||
schemaName: ModelNameEnum.Item,
|
schemaName: ModelNameEnum.Item,
|
||||||
create: createFilters.PurchaseItems,
|
create: createFilters.PurchaseItems,
|
||||||
filter: routeFilters.PurchaseItems,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t`Items`,
|
label: t`Items`,
|
||||||
schemaName: ModelNameEnum.Item,
|
schemaName: ModelNameEnum.Item,
|
||||||
create: createFilters.Items,
|
create: createFilters.Items,
|
||||||
filter: routeFilters.Items,
|
|
||||||
},
|
},
|
||||||
].map(({ label, filter, create, schemaName }) => {
|
].map(({ label, filter, create, schemaName }) => {
|
||||||
const route = {
|
let action: Function;
|
||||||
path: `/list/${schemaName}/${label}`,
|
if (!filter) {
|
||||||
query: { filters: JSON.stringify(filter) },
|
action = getCreateAction(fyo, schemaName, create);
|
||||||
};
|
} else {
|
||||||
|
const route = {
|
||||||
|
path: `/list/${schemaName}/${label}`,
|
||||||
|
query: { filters: JSON.stringify(filter) },
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
action = async () => {
|
||||||
label,
|
|
||||||
group: 'Create',
|
|
||||||
async action() {
|
|
||||||
await routeTo(route);
|
await routeTo(route);
|
||||||
const doc = fyo.doc.getNewDoc(schemaName, create);
|
const doc = fyo.doc.getNewDoc(schemaName, create);
|
||||||
const { openQuickEdit } = await import('src/utils/ui');
|
const { openQuickEdit } = await import('src/utils/ui');
|
||||||
@ -172,7 +165,13 @@ function getCreateList(fyo: Fyo): SearchItem[] {
|
|||||||
name: doc.name as string,
|
name: doc.name as string,
|
||||||
listFilters: filter,
|
listFilters: filter,
|
||||||
});
|
});
|
||||||
},
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
label,
|
||||||
|
group: 'Create',
|
||||||
|
action,
|
||||||
} as SearchItem;
|
} as SearchItem;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user