保存一下
This commit is contained in:
@@ -1,13 +1,12 @@
|
||||
import ProcessImpl from '@/core/process/impl/ProcessImpl.ts'
|
||||
import type { ProcessInfoImpl } from '@/core/process/impl/ProcessInfoImpl.ts'
|
||||
import XSystem from '@/core/XSystem.ts'
|
||||
import { BasicSystemProcess } from '@/core/system/BasicSystemProcess.ts'
|
||||
import { createApp, h } from 'vue'
|
||||
import DesktopComponent from '@/core/desktop/ui/DesktopComponent.vue'
|
||||
import { naiveUi } from '@/core/common/naive-ui/components.ts'
|
||||
import { DesktopEventEnum } from '@/core/events/EventTypes.ts'
|
||||
import { debounce } from 'lodash'
|
||||
import type { IProcessInfo } from '@/core/process/IProcessInfo.ts'
|
||||
import { eventManager } from '@/core/events/EventManager.ts'
|
||||
import { processManager } from '@/core/process/ProcessManager.ts'
|
||||
|
||||
export class DesktopProcess extends ProcessImpl {
|
||||
private _desktopRootDom: HTMLElement;
|
||||
@@ -23,7 +22,7 @@ export class DesktopProcess extends ProcessImpl {
|
||||
return this._isMounted;
|
||||
}
|
||||
public get basicSystemProcess() {
|
||||
return XSystem.instance.processManage.findProcessByName<BasicSystemProcess>('basic-system')
|
||||
return processManager.findProcessByName<BasicSystemProcess>('basic-system')
|
||||
}
|
||||
|
||||
public get width() {
|
||||
@@ -58,15 +57,11 @@ export class DesktopProcess extends ProcessImpl {
|
||||
if (this._pendingResize) {
|
||||
this._pendingResize = false;
|
||||
console.log('onDesktopRootDomResize')
|
||||
this.eventManages.notifyEvent(DesktopEventEnum.onDesktopRootDomResize, this._width, this._height);
|
||||
eventManager.notifyEvent('onDesktopRootDomResize', this._width, this._height);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private get eventManages() {
|
||||
return XSystem.instance.eventManage;
|
||||
}
|
||||
|
||||
constructor(info: IProcessInfo) {
|
||||
super(info)
|
||||
console.log('DesktopProcess')
|
||||
|
||||
@@ -24,18 +24,16 @@ import type { DesktopProcess } from '@/core/desktop/DesktopProcess.ts'
|
||||
import XSystem from '@/core/XSystem.ts'
|
||||
import { notificationApi } from '@/core/common/naive-ui/discrete-api.ts'
|
||||
import { configProviderProps } from '@/core/common/naive-ui/theme.ts'
|
||||
import { DesktopEventEnum } from '@/core/events/EventTypes.ts'
|
||||
import { useDesktopInit } from '@/core/desktop/ui/hooks/useDesktopInit.ts'
|
||||
import AppIcon from '@/core/desktop/ui/components/AppIcon.vue'
|
||||
import { watch } from 'vue'
|
||||
import type { IDesktopAppIcon } from '@/core/desktop/types/IDesktopAppIcon.ts'
|
||||
import { eventManager } from '@/core/events/EventManager.ts'
|
||||
|
||||
const props = defineProps<{ process: DesktopProcess }>()
|
||||
|
||||
const { appIconsRef, gridStyle, gridTemplate } = useDesktopInit('.desktop-icons-container')
|
||||
|
||||
XSystem.instance.eventManage.addEventListener(
|
||||
DesktopEventEnum.onDesktopRootDomResize,
|
||||
eventManager.addEventListener('onDesktopRootDomResize',
|
||||
(width, height) => {
|
||||
console.log(width, height)
|
||||
notificationApi.create({
|
||||
|
||||
@@ -13,8 +13,7 @@
|
||||
<script setup lang="ts">
|
||||
import type { IDesktopAppIcon } from '@/core/desktop/types/IDesktopAppIcon.ts'
|
||||
import type { IGridTemplateParams } from '@/core/desktop/types/IGridTemplateParams.ts'
|
||||
import XSystem from '@/core/XSystem.ts'
|
||||
import { DesktopEventEnum } from '@/core/events/EventTypes.ts'
|
||||
import { eventManager } from '@/core/events/EventManager.ts'
|
||||
|
||||
const { iconInfo, gridTemplate } = defineProps<{ iconInfo: IDesktopAppIcon, gridTemplate: IGridTemplateParams }>()
|
||||
|
||||
@@ -27,7 +26,7 @@ const onDragEnd = (e: DragEvent) => {
|
||||
const pointTarget = document.elementFromPoint(e.clientX, e.clientY)
|
||||
if (!pointTarget) return
|
||||
if (pointTarget.classList.contains('icon-container')) return
|
||||
if (!pointTarget.classList.contains('desktop-container')) return
|
||||
if (!pointTarget.classList.contains('desktop-icons-container')) return
|
||||
|
||||
// 获取容器边界
|
||||
const rect = el.parentElement!.getBoundingClientRect()
|
||||
@@ -43,7 +42,7 @@ const onDragEnd = (e: DragEvent) => {
|
||||
iconInfo.x = gridX
|
||||
iconInfo.y = gridY
|
||||
|
||||
XSystem.instance.eventManage.notifyEvent(DesktopEventEnum.onDesktopAppIconPos, iconInfo)
|
||||
eventManager.notifyEvent('onDesktopAppIconPos', iconInfo)
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import XSystem from '@/core/XSystem.ts'
|
||||
import type { IDesktopAppIcon } from '@/core/desktop/types/IDesktopAppIcon.ts'
|
||||
import {
|
||||
computed,
|
||||
@@ -14,9 +13,9 @@ import {
|
||||
watch,
|
||||
watchEffect,
|
||||
} from 'vue'
|
||||
import { DesktopEventEnum } from '@/core/events/EventTypes.ts'
|
||||
import { useDraggable } from '@vueuse/core'
|
||||
import type { IGridTemplateParams } from '@/core/desktop/types/IGridTemplateParams.ts'
|
||||
import { eventManager } from '@/core/events/EventManager.ts'
|
||||
import { processManager } from '@/core/process/ProcessManager.ts'
|
||||
|
||||
export function useDesktopInit(containerStr: string) {
|
||||
let container:HTMLElement
|
||||
@@ -60,7 +59,7 @@ export function useDesktopInit(containerStr: string) {
|
||||
})
|
||||
|
||||
// 有桌面图标的app
|
||||
const appInfos = XSystem.instance.processManage.processInfos.filter(processInfo => !processInfo.isJustProcess)
|
||||
const appInfos = processManager.processInfos.filter(processInfo => !processInfo.isJustProcess)
|
||||
const oldAppIcons: IDesktopAppIcon[] = JSON.parse(localStorage.getItem('desktopAppIconInfo') || '[]')
|
||||
const appIcons: IDesktopAppIcon[] = appInfos.map((processInfo, index) => {
|
||||
const oldAppIcon = oldAppIcons.find(oldAppIcon => oldAppIcon.name === processInfo.name)
|
||||
@@ -89,7 +88,7 @@ export function useDesktopInit(containerStr: string) {
|
||||
exceedApp.value = hideAppIcons
|
||||
})
|
||||
|
||||
XSystem.instance.eventManage.addEventListener(DesktopEventEnum.onDesktopAppIconPos, (iconInfo) => {
|
||||
eventManager.addEventListener('onDesktopAppIconPos', (iconInfo) => {
|
||||
localStorage.setItem('desktopAppIconInfo', JSON.stringify(toValue(appIconsRef.value)))
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user