feat(@vben/playground): add full-screen examples (#4126)
* feat(@vben/playground): add full-screen examples * chore: rm unuse class * chore: move fullScreen demo to features router * chore: responsive * chore: 调整路由路径 * chore: card增加间距 --------- Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>pull/48/MERGE
parent
6e6e35ae4a
commit
f20c5d9e2e
|
@ -48,6 +48,9 @@
|
||||||
"watermark": "Watermark",
|
"watermark": "Watermark",
|
||||||
"tabs": "Tabs",
|
"tabs": "Tabs",
|
||||||
"tabDetail": "Tab Detail Page",
|
"tabDetail": "Tab Detail Page",
|
||||||
|
"fullScreen": {
|
||||||
|
"title": "FullScreen"
|
||||||
|
},
|
||||||
"clipboard": "Clipboard"
|
"clipboard": "Clipboard"
|
||||||
},
|
},
|
||||||
"breadcrumb": {
|
"breadcrumb": {
|
||||||
|
|
|
@ -48,6 +48,9 @@
|
||||||
"watermark": "水印",
|
"watermark": "水印",
|
||||||
"tabs": "标签页",
|
"tabs": "标签页",
|
||||||
"tabDetail": "标签详情页",
|
"tabDetail": "标签详情页",
|
||||||
|
"fullScreen": {
|
||||||
|
"title": "全屏"
|
||||||
|
},
|
||||||
"clipboard": "剪贴板"
|
"clipboard": "剪贴板"
|
||||||
},
|
},
|
||||||
"breadcrumb": {
|
"breadcrumb": {
|
||||||
|
|
|
@ -165,6 +165,15 @@ const routes: RouteRecordRaw[] = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'FullScreenDemo',
|
||||||
|
path: '/demos/features/full-screen',
|
||||||
|
component: () =>
|
||||||
|
import('#/views/demos/features/full-screen/index.vue'),
|
||||||
|
meta: {
|
||||||
|
title: $t('page.demos.features.fullScreen.title'),
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'ClipboardDemo',
|
name: 'ClipboardDemo',
|
||||||
path: '/demos/features/clipboard',
|
path: '/demos/features/clipboard',
|
||||||
|
|
|
@ -17,7 +17,7 @@ const routes: RouteRecordRaw[] = [
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
name: 'EllipsisDemo',
|
name: 'EllipsisDemo',
|
||||||
path: '/examples/ellipsis',
|
path: 'ellipsis',
|
||||||
component: () => import('#/views/examples/ellipsis/index.vue'),
|
component: () => import('#/views/examples/ellipsis/index.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: $t('page.examples.ellipsis.title'),
|
title: $t('page.examples.ellipsis.title'),
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
|
||||||
|
import { useFullscreen } from '@vueuse/core';
|
||||||
|
import { Button, Card } from 'ant-design-vue';
|
||||||
|
|
||||||
|
const domRef = ref<HTMLElement>();
|
||||||
|
|
||||||
|
const { enter, exit, isFullscreen, toggle } = useFullscreen();
|
||||||
|
|
||||||
|
const { isFullscreen: isDomFullscreen, toggle: toggleDom } =
|
||||||
|
useFullscreen(domRef);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<Page title="全屏示例">
|
||||||
|
<Card title="Window Full Screen">
|
||||||
|
<div class="flex flex-wrap items-center gap-4">
|
||||||
|
<Button :disabled="isFullscreen" type="primary" @click="enter">
|
||||||
|
Enter Window Full Screen
|
||||||
|
</Button>
|
||||||
|
<Button @click="toggle"> Toggle Window Full Screen </Button>
|
||||||
|
|
||||||
|
<Button :disabled="!isFullscreen" danger @click="exit">
|
||||||
|
Exit Window Full Screen
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<span class="text-nowrap"> Current State: {{ isFullscreen }} </span>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
|
||||||
|
<Card class="mt-3" title="Dom Full Screen">
|
||||||
|
<Button type="primary" @click="toggleDom"> Enter Dom Full Screen </Button>
|
||||||
|
</Card>
|
||||||
|
|
||||||
|
<div
|
||||||
|
ref="domRef"
|
||||||
|
class="mx-auto mt-10 flex h-64 w-1/2 items-center justify-center rounded-md bg-yellow-400"
|
||||||
|
>
|
||||||
|
<Button class="mr-2" type="primary" @click="toggleDom">
|
||||||
|
{{ isDomFullscreen ? 'Exit Dom Full Screen' : 'Enter Dom Full Screen' }}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
</template>
|
Loading…
Reference in New Issue