Compare commits

...

3 Commits

Author SHA1 Message Date
Ahmed Bouhuolia
2baa667c5d fix(webapp): hotfix pdf request hook 2024-03-19 05:22:15 +02:00
Ahmed Bouhuolia
00e6c141ee Merge pull request #371 from bigcapitalhq/big-129-universal-search-should-auto-focus-when-it-opens
fix: Universal search should auto-focus when it opens
2024-02-26 01:17:32 +02:00
Ahmed Bouhuolia
0aea339c1c fix: Universal search should auto-focus when it opens 2024-02-26 01:16:55 +02:00
11 changed files with 40 additions and 60 deletions

View File

@@ -136,6 +136,11 @@ export default {
type: 'number',
},
},
inventory: {
cost_compute_running: {
type: 'boolean',
},
},
accounts: {
account_code_required: {
type: 'boolean',

View File

@@ -5,12 +5,16 @@ import { useHistory } from 'react-router-dom';
import { getDashboardRoutes } from '@/routes/dashboard';
import withDashboardActions from '@/containers/Dashboard/withDashboardActions';
import withDialogActions from '@/containers/Dialog/withDialogActions';
import withUniversalSearchActions from '@/containers/UniversalSearch/withUniversalSearchActions';
import { compose } from '@/utils';
function GlobalHotkeys({
// #withDashboardActions
toggleSidebarExpend,
toggleSidebarExpand,
// withUniversalSearchActions
openGlobalSearch,
// #withDialogActions
openDialog,
@@ -24,7 +28,7 @@ function GlobalHotkeys({
.toString();
const handleSidebarToggleBtn = () => {
toggleSidebarExpend();
toggleSidebarExpand();
};
useHotkeys(
globalHotkeys,
@@ -37,10 +41,26 @@ function GlobalHotkeys({
},
[history],
);
useHotkeys('ctrl+/', (event, handle) => handleSidebarToggleBtn());
useHotkeys('shift+d', (event, handle) => openDialog('money-in', {}));
useHotkeys('shift+q', (event, handle) => openDialog('money-out', {}));
useHotkeys('ctrl+/', () => {
handleSidebarToggleBtn();
});
useHotkeys('shift+d', () => {
openDialog('money-in', {});
});
useHotkeys('shift+q', () => {
openDialog('money-out', {});
});
useHotkeys('/', () => {
setTimeout(() => {
openGlobalSearch();
}, 0);
});
return <div></div>;
}
export default compose(withDashboardActions, withDialogActions)(GlobalHotkeys);
export default compose(
withDashboardActions,
withDialogActions,
withUniversalSearchActions,
)(GlobalHotkeys);

View File

@@ -152,6 +152,7 @@ function UniversalSearchBar({ isOpen, onSearchTypeChange, ...listProps }) {
onSearchTypeChange={onSearchTypeChange}
/>
}
autoFocus={true}
/>
{listProps.itemList}
</div>

View File

@@ -11,11 +11,10 @@ import { compose } from '@/utils';
import withUniversalSearchActions from './withUniversalSearchActions';
import withUniversalSearch from './withUniversalSearch';
import { useGetUniversalSearchTypeOptions } from './utils';
import DashboardUniversalSearchItemActions from './DashboardUniversalSearchItemActions';
import { DashboardUniversalSearchItem } from './components';
import DashboardUniversalSearchHotkeys from './DashboardUniversalSearchHotkeys';
import { useGetUniversalSearchTypeOptions } from './utils';
/**
* Dashboard universal search.

View File

@@ -3,7 +3,7 @@ import { useQueryClient, useMutation } from 'react-query';
import { useRequestQuery } from '../useQueryRequest';
import { transformPagination } from '@/utils';
import useApiRequest from '../useRequest';
import { useRequestPdf } from '../utils';
import { useRequestPdf } from '../useRequestPdf';
import t from './types';
const commonInvalidateQueries = (queryClient) => {
@@ -354,7 +354,5 @@ export function useRefundCreditTransaction(id, props, requestProps) {
* Retrieve the credit note pdf document data,
*/
export function usePdfCreditNote(creditNoteId) {
return useRequestPdf({
url: `sales/credit_notes/${creditNoteId}`,
});
return useRequestPdf({ url: `sales/credit_notes/${creditNoteId}` });
}

View File

@@ -2,10 +2,9 @@
import { useQueryClient, useMutation } from 'react-query';
import { useRequestQuery } from '../useQueryRequest';
import useApiRequest from '../useRequest';
import { useRequestPdf } from '../utils';
import { transformPagination } from '@/utils';
import t from './types';
import { useRequestPdf } from '../useRequestPdf';
const commonInvalidateQueries = (queryClient) => {
// Invalidate estimates.

View File

@@ -3,7 +3,7 @@ import { useQueryClient, useMutation } from 'react-query';
import { useRequestQuery } from '../useQueryRequest';
import { transformPagination } from '@/utils';
import useApiRequest from '../useRequest';
import { useRequestPdf } from '../utils';
import { useRequestPdf } from '../useRequestPdf';
import t from './types';
// Common invalidate queries.

View File

@@ -3,9 +3,9 @@ import { useMutation, useQueryClient } from 'react-query';
import { useRequestQuery } from '../useQueryRequest';
import useApiRequest from '../useRequest';
import { transformPagination, saveInvoke } from '@/utils';
import { useRequestPdf } from '../utils';
import t from './types';
import { useRequestPdf } from '../useRequestPdf';
// Common invalidate queries.
const commonInvalidateQueries = (client) => {

View File

@@ -1,9 +1,9 @@
// @ts-nocheck
import { useQueryClient, useMutation } from 'react-query';
import { useRequestQuery } from '../useQueryRequest';
import { useRequestPdf } from '../utils';
import useApiRequest from '../useRequest';
import { transformPagination } from '@/utils';
import { useRequestPdf } from '../useRequestPdf';
import t from './types';
const commonInvalidateQueries = (queryClient) => {
@@ -165,9 +165,7 @@ export function useReceipt(id, props) {
* @param {number} receiptId -
*/
export function usePdfReceipt(receiptId: number) {
return useRequestPdf({
url: `sales/receipts/${receiptId}`,
});
return useRequestPdf({ url: `sales/receipts/${receiptId}` });
}
export function useRefreshReceipts() {

View File

@@ -4,7 +4,6 @@ export * from './usePrevious';
export * from './useUpdateEffect';
export * from './useWatch';
export * from './useWhen';
export * from './useRequestPdf';
export * from './useIntersectionObserver';
export * from './useAbilityContext';
export * from './useCustomCompareEffect';

View File

@@ -1,39 +0,0 @@
// @ts-nocheck
import React from 'react';
import useApiRequest from '../useRequest';
export const useRequestPdf = (url) => {
const apiRequest = useApiRequest();
const [isLoading, setIsLoading] = React.useState(false);
const [isLoaded, setIsLoaded] = React.useState(false);
const [pdfUrl, setPdfUrl] = React.useState('');
const [response, setResponse] = React.useState(null);
React.useEffect(() => {
setIsLoading(true);
apiRequest
.get(url, {
headers: { accept: 'application/pdf' },
responseType: 'blob',
})
.then((response) => {
// Create a Blob from the PDF Stream.
const file = new Blob([response.data], { type: 'application/pdf' });
// Build a URL from the file
const fileURL = URL.createObjectURL(file);
setPdfUrl(fileURL);
setIsLoading(false);
setIsLoaded(true);
setResponse(response);
});
}, []);
return {
isLoading,
isLoaded,
pdfUrl,
response,
};
};