Move useLayout composable to shared and expose it through extensions-sdk (#10850)

* Move useLayout composable to shared

* Expose useLayout through extensions-sdk
This commit is contained in:
Nicola Krumschmidt
2022-01-05 21:38:48 +01:00
committed by GitHub
parent 1ded9bdad2
commit 9ee6e97cd9
10 changed files with 13 additions and 13 deletions

View File

@@ -64,7 +64,7 @@ import { useI18n } from 'vue-i18n';
import { defineComponent, computed, ref } from 'vue';
import ActivityNavigation from '../components/navigation.vue';
import usePreset from '@/composables/use-preset';
import { useLayout } from '@/composables/use-layout';
import { useLayout } from '@directus/shared/composables';
import LayoutSidebarDetail from '@/views/private/components/layout-sidebar-detail';
import SearchInput from '@/views/private/components/search-input';
import { Filter } from '@directus/shared/types';

View File

@@ -271,8 +271,7 @@ import { defineComponent, computed, ref, watch, toRefs } from 'vue';
import ContentNavigation from '../components/navigation.vue';
import api from '@/api';
import ContentNotFound from './not-found.vue';
import { useCollection } from '@directus/shared/composables';
import { useLayout } from '@/composables/use-layout';
import { useCollection, useLayout } from '@directus/shared/composables';
import usePreset from '@/composables/use-preset';
import LayoutSidebarDetail from '@/views/private/components/layout-sidebar-detail';
import ArchiveSidebarDetail from '@/views/private/components/archive-sidebar-detail';

View File

@@ -198,7 +198,7 @@ import { useNotificationsStore, useUserStore, usePermissionsStore } from '@/stor
import { subDays } from 'date-fns';
import useFolders, { Folder } from '@/composables/use-folders';
import useEventListener from '@/composables/use-event-listener';
import { useLayout } from '@/composables/use-layout';
import { useLayout } from '@directus/shared/composables';
import uploadFiles from '@/utils/upload-files';
import { unexpectedError } from '@/utils/unexpected-error';
import DrawerBatch from '@/views/private/components/drawer-batch';

View File

@@ -143,7 +143,7 @@ import { useCollectionsStore, usePresetsStore } from '@/stores';
import { getLayouts } from '@/layouts';
import { useRouter, onBeforeRouteUpdate, onBeforeRouteLeave, NavigationGuard } from 'vue-router';
import { unexpectedError } from '@/utils/unexpected-error';
import { useLayout } from '@/composables/use-layout';
import { useLayout } from '@directus/shared/composables';
import useShortcut from '@/composables/use-shortcut';
import unsavedChanges from '@/composables/unsaved-changes';
import { isEqual } from 'lodash';

View File

@@ -104,7 +104,7 @@ import { defineComponent, computed, ref } from 'vue';
import SettingsNavigation from '../../components/navigation.vue';
import LayoutSidebarDetail from '@/views/private/components/layout-sidebar-detail';
import { usePreset } from '@/composables/use-preset';
import { useLayout } from '@/composables/use-layout';
import { useLayout } from '@directus/shared/composables';
import api from '@/api';
import SearchInput from '@/views/private/components/search-input';

View File

@@ -171,7 +171,7 @@ import SearchInput from '@/views/private/components/search-input';
import { onBeforeRouteLeave, onBeforeRouteUpdate } from 'vue-router';
import { useUserStore, usePermissionsStore } from '@/stores';
import useNavigation from '../composables/use-navigation';
import { useLayout } from '@/composables/use-layout';
import { useLayout } from '@directus/shared/composables';
import DrawerBatch from '@/views/private/components/drawer-batch';
import { Role } from '@directus/shared/types';
import { mergeFilters } from '@directus/shared/utils';

View File

@@ -50,8 +50,7 @@ import { useI18n } from 'vue-i18n';
import { defineComponent, PropType, ref, computed, toRefs, watch } from 'vue';
import { Filter } from '@directus/shared/types';
import usePreset from '@/composables/use-preset';
import { useCollection } from '@directus/shared/composables';
import { useLayout } from '@/composables/use-layout';
import { useCollection, useLayout } from '@directus/shared/composables';
import SearchInput from '@/views/private/components/search-input';
export default defineComponent({

View File

@@ -16,5 +16,6 @@ export {
useSync,
useCollection,
useItems,
useLayout,
useFilterFields,
} from '@directus/shared/composables';

View File

@@ -1,5 +1,6 @@
export * from './use-collection';
export * from './use-filter-fields';
export * from './use-items';
export * from './use-layout';
export * from './use-sync';
export * from './use-system';

View File

@@ -1,6 +1,6 @@
import { getLayouts } from '@/layouts';
import { computed, reactive, toRefs, defineComponent, Ref, PropType, Component, ComputedRef } from 'vue';
import { Filter, Item, LayoutConfig, ShowSelect } from '@directus/shared/types';
import { Filter, LayoutConfig, ShowSelect } from '../types';
import { useExtensions } from './use-system';
const NAME_SUFFIX = 'wrapper';
const WRITABLE_PROPS = ['selection', 'layoutOptions', 'layoutQuery'] as const;
@@ -20,7 +20,7 @@ function createLayoutWrapper<Options, Query>(layout: LayoutConfig): Component {
required: true,
},
selection: {
type: Array as PropType<Item[]>,
type: Array as PropType<(number | string)[]>,
default: () => [],
},
layoutOptions: {
@@ -93,7 +93,7 @@ function createLayoutWrapper<Options, Query>(layout: LayoutConfig): Component {
export function useLayout<Options = any, Query = any>(
layoutId: Ref<string | null>
): { layoutWrapper: ComputedRef<Component> } {
const { layouts } = getLayouts();
const { layouts } = useExtensions();
const layoutWrappers = computed(() => layouts.value.map((layout) => createLayoutWrapper<Options, Query>(layout)));