refactor: use TypeScript for unified-search boostrap file

This would allow us to type guard what is sent to`registerFilterAction`
for unified search, so that incompatibilties are caught quickly.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
This commit is contained in:
fenn-cs 2024-03-03 11:48:43 +01:00
parent 20953d0374
commit 0fd31cdb4c
2 changed files with 11 additions and 2 deletions

View File

@ -49,10 +49,19 @@ Vue.mixin({
},
})
// Define type structure for unified searc action
interface UnifiedSearchAction {
id: string;
appId: string;
label: string;
icon: string;
callback: () => void;
}
// Register the add/register filter action API globally
window.OCA = window.OCA || {}
window.OCA.UnifiedSearch = {
registerFilterAction: ({ id, appId, label, callback, icon }) => {
registerFilterAction: ({ id, appId, label, callback, icon }: UnifiedSearchAction) => {
const searchStore = useSearchStore()
searchStore.registerExternalFilter({ id, appId, label, callback, icon })
},

View File

@ -37,7 +37,7 @@ module.exports = {
profile: path.join(__dirname, 'core/src', 'profile.ts'),
recommendedapps: path.join(__dirname, 'core/src', 'recommendedapps.js'),
systemtags: path.resolve(__dirname, 'core/src', 'systemtags/merged-systemtags.js'),
'unified-search': path.join(__dirname, 'core/src', 'unified-search.js'),
'unified-search': path.join(__dirname, 'core/src', 'unified-search.ts'),
'legacy-unified-search': path.join(__dirname, 'core/src', 'legacy-unified-search.js'),
'unsupported-browser': path.join(__dirname, 'core/src', 'unsupported-browser.js'),
'unsupported-browser-redirect': path.join(__dirname, 'core/src', 'unsupported-browser-redirect.js'),