|
@@ -19,6 +19,7 @@ import {
|
|
|
import { usePriorityValues } from '@vben/hooks';
|
|
|
import { EmptyIcon } from '@vben/icons';
|
|
|
import { $t } from '@vben/locales';
|
|
|
+import { usePreferences } from '@vben/preferences';
|
|
|
import { cloneDeep, cn, mergeWithArrayOverride } from '@vben/utils';
|
|
|
import { VbenLoading } from '@vben-core/shadcn-ui';
|
|
|
|
|
@@ -48,6 +49,8 @@ const {
|
|
|
formOptions,
|
|
|
} = usePriorityValues(props, state);
|
|
|
|
|
|
+const { isMobile } = usePreferences();
|
|
|
+
|
|
|
const slots = useSlots();
|
|
|
|
|
|
const [Form, formApi] = useTableForm({});
|
|
@@ -91,6 +94,20 @@ const options = computed(() => {
|
|
|
}
|
|
|
|
|
|
if (mergedOptions.pagerConfig) {
|
|
|
+ const mobileLayouts = [
|
|
|
+ 'PrevJump',
|
|
|
+ 'PrevPage',
|
|
|
+ 'Number',
|
|
|
+ 'NextPage',
|
|
|
+ 'NextJump',
|
|
|
+ ] as any;
|
|
|
+ const layouts = [
|
|
|
+ 'Total',
|
|
|
+ 'Sizes',
|
|
|
+ 'Home',
|
|
|
+ ...mobileLayouts,
|
|
|
+ 'End',
|
|
|
+ ] as readonly string[];
|
|
|
mergedOptions.pagerConfig = mergeWithArrayOverride(
|
|
|
{},
|
|
|
mergedOptions.pagerConfig,
|
|
@@ -99,18 +116,7 @@ const options = computed(() => {
|
|
|
background: true,
|
|
|
pageSizes: [10, 20, 30, 50, 100, 200],
|
|
|
className: 'mt-2 w-full',
|
|
|
- layouts: [
|
|
|
- 'Total',
|
|
|
- 'Sizes',
|
|
|
- 'Home',
|
|
|
- 'PrevJump',
|
|
|
- 'PrevPage',
|
|
|
- 'Number',
|
|
|
- 'NextPage',
|
|
|
- 'NextJump',
|
|
|
- 'End',
|
|
|
- // 'FullJump',
|
|
|
- ] as any[],
|
|
|
+ layouts: isMobile.value ? mobileLayouts : layouts,
|
|
|
size: 'mini' as const,
|
|
|
},
|
|
|
);
|
|
@@ -138,7 +144,6 @@ const vbenFormOptions = computed(() => {
|
|
|
const formValues = formApi.form.values;
|
|
|
props.api.reload(formValues);
|
|
|
},
|
|
|
- collapseTriggerResize: true,
|
|
|
commonConfig: {
|
|
|
componentProps: {
|
|
|
class: 'w-full',
|
|
@@ -150,8 +155,15 @@ const vbenFormOptions = computed(() => {
|
|
|
},
|
|
|
wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',
|
|
|
};
|
|
|
+ const finalFormOptions: VbenFormProps = mergeWithArrayOverride(
|
|
|
+ {},
|
|
|
+ formOptions.value,
|
|
|
+ defaultFormProps,
|
|
|
+ );
|
|
|
+
|
|
|
return {
|
|
|
- ...mergeWithArrayOverride({}, formOptions.value, defaultFormProps),
|
|
|
+ ...finalFormOptions,
|
|
|
+ collapseTriggerResize: !!finalFormOptions.showCollapseButton,
|
|
|
};
|
|
|
});
|
|
|
|
|
@@ -244,7 +256,7 @@ onMounted(() => {
|
|
|
</Form>
|
|
|
</slot>
|
|
|
<div
|
|
|
- class="bg-background-deep z-100 absolute -left-2 bottom-2 h-4 w-[calc(100%+1rem)] overflow-hidden"
|
|
|
+ class="bg-background-deep z-100 absolute -left-2 bottom-1 h-2 w-[calc(100%+1rem)] overflow-hidden md:bottom-2 md:h-3"
|
|
|
></div>
|
|
|
</div>
|
|
|
</template>
|