From 9fb9883562503faa82a142ade8efaa7e535ea970 Mon Sep 17 00:00:00 2001
From: scarqin <1054139596@qq.com>
Date: Mon, 9 May 2022 18:57:22 +0800
Subject: [PATCH 1/4] stash iframe
---
src/app/electron-main/main.ts | 1 +
src/core/market/browser/package.json | 4 ++--
src/core/market/browser/src/main.js | 2 +-
src/workbench/browser/src/app/pages/pages.component.html | 1 +
.../src/app/shared/components/sidebar/sidebar.component.ts | 2 +-
5 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/app/electron-main/main.ts b/src/app/electron-main/main.ts
index d8d2bccbb..a81575328 100644
--- a/src/app/electron-main/main.ts
+++ b/src/app/electron-main/main.ts
@@ -43,6 +43,7 @@ function createWindow(): BrowserWindow {
contextIsolation: false, // false if you want to run e2e test with Spectron
},
});
+ // main
if (['serve'].includes(processEnv)) {
require('electron-reload')(__dirname, {
electron: require(path.join(__dirname, '../node_modules/electron')),
diff --git a/src/core/market/browser/package.json b/src/core/market/browser/package.json
index a4874ae30..73454d528 100644
--- a/src/core/market/browser/package.json
+++ b/src/core/market/browser/package.json
@@ -10,7 +10,7 @@
"logo": "icon-apps",
"main_debug": "http://localhost:8080",
"moduleID": "default",
- "moduleName": "插件广场",
+ "moduleName": "拓展广场",
"moduleType": "app",
"features": {
"export": {
@@ -21,7 +21,7 @@
"extension": "json"
},
"configuration": {
- "title": "插件广场配置",
+ "title": "拓展广场配置",
"properties": {
"core.market.url": {
"type": "string",
diff --git a/src/core/market/browser/src/main.js b/src/core/market/browser/src/main.js
index ac1417c4f..19ec93cc7 100644
--- a/src/core/market/browser/src/main.js
+++ b/src/core/market/browser/src/main.js
@@ -5,5 +5,5 @@ import App from './App.vue';
import router from './router.js';
import 'windi.css';
import { createPinia } from 'pinia';
-
+window.eo=window.parent.eo;
createApp(App).use(router).use(Antd).use(createPinia()).mount('#app');
diff --git a/src/workbench/browser/src/app/pages/pages.component.html b/src/workbench/browser/src/app/pages/pages.component.html
index 6e45ffde8..4950febfc 100644
--- a/src/workbench/browser/src/app/pages/pages.component.html
+++ b/src/workbench/browser/src/app/pages/pages.component.html
@@ -1,6 +1,7 @@
+
diff --git a/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.ts b/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.ts
index a11dedcaa..479235f65 100644
--- a/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.ts
+++ b/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.ts
@@ -69,7 +69,7 @@ export class SidebarComponent implements OnInit, OnDestroy {
];
if (!this.electron.isElectron) {
defaultModule.push({
- moduleName: '插件广场',
+ moduleName: '拓展广场',
moduleID: '@eo-core-extension',
logo: 'icon-apps',
activeRoute: 'home/preview',
From 55d78cae5cf074d212a87262da3c256809fcfed6 Mon Sep 17 00:00:00 2001
From: scarqin <1054139596@qq.com>
Date: Tue, 10 May 2022 15:25:40 +0800
Subject: [PATCH 2/4] feat: iframe load module extension
---
src/app/electron-main/coreView.ts | 6 +--
src/app/electron-main/main.ts | 48 +++++++------------
src/platform/electron-browser/preload.ts | 15 ------
.../api/overview/api-overview.component.html | 6 +--
.../api/overview/api-overview.component.scss | 9 ++--
.../src/app/pages/pages.component.html | 13 +++--
.../browser/src/app/pages/pages.component.ts | 14 ++++--
.../browser/src/app/pages/pages.module.ts | 7 ++-
.../components/navbar/navbar.component.html | 3 +-
.../components/navbar/navbar.component.ts | 9 ----
.../components/sidebar/sidebar.component.html | 5 +-
.../components/sidebar/sidebar.component.ts | 48 ++++++++++---------
.../components/sidebar/sidebar.model.ts | 19 ++++++++
.../components/sidebar/sidebar.service.ts | 12 +++--
.../components/toolbar/toolbar.component.ts | 2 +-
src/workbench/browser/src/styles.scss | 3 +-
16 files changed, 105 insertions(+), 114 deletions(-)
create mode 100644 src/workbench/browser/src/app/shared/components/sidebar/sidebar.model.ts
diff --git a/src/app/electron-main/coreView.ts b/src/app/electron-main/coreView.ts
index e0c9d20d6..5964dbfdb 100644
--- a/src/app/electron-main/coreView.ts
+++ b/src/app/electron-main/coreView.ts
@@ -43,16 +43,12 @@ export class CoreViews {
this.watch();
}
watch() {
- ipcMain.on('message', this.triggleEvent);
+ // ipcMain.on('message', this.triggleEvent);
}
triggleEvent(event, arg) {
console.log(`core view ${event.frameId}: recieve render msg=>`, arg, arg.action);
if (event.frameId !== 1) return;
switch (arg.action) {
- case 'connect-dropdown': {
- this.win.setTopBrowserView((arg.data.action === 'show' ? subView.mainView : subView.appView).view);
- break;
- }
case 'setBounds': {
//sidebar shrink or expand
break;
diff --git a/src/app/electron-main/main.ts b/src/app/electron-main/main.ts
index a81575328..58222dbaa 100644
--- a/src/app/electron-main/main.ts
+++ b/src/app/electron-main/main.ts
@@ -221,40 +221,24 @@ try {
} else if (arg.action === 'hook') {
returnValue = 'hook返回';
} else if (arg.action === 'openApp') {
- if (arg.data.moduleID && !arg.data.moduleID.includes('@eo-core')) {
- // 如果要打开是同一app,忽略
- if (subView.appView?.mainModuleID === arg.data.moduleID) {
- return;
- }
- const module: ModuleInfo = moduleManager.getModule(arg.data.moduleID);
- if (module) {
- if (!subView.appView) subView.appView = new AppViews(win);
- subView.appView.create(module);
- }
- } else {
- if (subView.appView) {
- subView.appView.remove();
- }
- }
- returnValue = 'view id';
+ // if (arg.data.moduleID && !arg.data.moduleID.includes('@eo-core')) {
+ // // 如果要打开是同一app,忽略
+ // if (subView.appView?.mainModuleID === arg.data.moduleID) {
+ // return;
+ // }
+ // const module: ModuleInfo = moduleManager.getModule(arg.data.moduleID);
+ // if (module) {
+ // if (!subView.appView) subView.appView = new AppViews(win);
+ // subView.appView.create(module);
+ // }
+ // } else {
+ // if (subView.appView) {
+ // subView.appView.remove();
+ // }
+ // }
+ // returnValue = 'view id';
} else if (arg.action === 'autoResize') {
resize(arg.data.sideWidth);
- } else if (arg.action === 'openModal') {
- const background = arg.data.background || '#00000073';
- subView.mainView.view.webContents.executeJavaScript(`
- var mask = document.querySelector('#mask');
- if (mask) {
- mask.style.background = '${background}';
- mask.style.display = 'block';
- }
- `);
- } else if (arg.action === 'closeModal') {
- subView.mainView.view.webContents.executeJavaScript(`
- var mask = document.querySelector('#mask');
- if (mask) {
- mask.style.display = 'none';
- }
- `);
} else {
returnValue = 'Invalid data';
}
diff --git a/src/platform/electron-browser/preload.ts b/src/platform/electron-browser/preload.ts
index b0587441b..0baa95c99 100644
--- a/src/platform/electron-browser/preload.ts
+++ b/src/platform/electron-browser/preload.ts
@@ -75,21 +75,6 @@ if (apiAccessRules.includes('hook')) {
window.eo.tempApi = (params) => {
return ipcRenderer.sendSync('eo-sync', params);
};
-window.eo.openModal = (background) => {
- background = background || '#00000073';
- return ipcRenderer.sendSync('eo-sync', { action: 'openModal', data: { background: background } });
-};
-window.eo.closeModal = () => {
- return ipcRenderer.sendSync('eo-sync', { action: 'closeModal' });
-};
-window.eo.toogleViewZIndex = (visible) => {
- ipcRenderer.send('message', {
- action: 'connect-dropdown',
- data: {
- action: visible ? 'show' : 'hide',
- },
- });
-};
window.eo.autoResize = (sideWidth) => {
ipcRenderer.send('eo-sync', { action: 'autoResize', data: { sideWidth: sideWidth } });
};
diff --git a/src/workbench/browser/src/app/pages/api/overview/api-overview.component.html b/src/workbench/browser/src/app/pages/api/overview/api-overview.component.html
index 7d85f48fa..7c720fcd3 100644
--- a/src/workbench/browser/src/app/pages/api/overview/api-overview.component.html
+++ b/src/workbench/browser/src/app/pages/api/overview/api-overview.component.html
@@ -2,8 +2,8 @@
概况
-
-
+
+
@@ -11,7 +11,7 @@
概况
-
+
diff --git a/src/workbench/browser/src/app/pages/api/overview/api-overview.component.scss b/src/workbench/browser/src/app/pages/api/overview/api-overview.component.scss
index 0ee23055d..83c43e3e1 100644
--- a/src/workbench/browser/src/app/pages/api/overview/api-overview.component.scss
+++ b/src/workbench/browser/src/app/pages/api/overview/api-overview.component.scss
@@ -1,8 +1,11 @@
.overview_container{
- width: 50%;
+ width: 70%;
margin: 0 auto;
padding: 20px 0;
}
-nz-card{
- min-width: 220px;
+.card_container{
+ display: grid;
+ grid-template-columns: repeat(auto-fill, 250px);
+ grid-column-gap: 20px;
+ grid-row-gap: 20px;
}
\ No newline at end of file
diff --git a/src/workbench/browser/src/app/pages/pages.component.html b/src/workbench/browser/src/app/pages/pages.component.html
index 4950febfc..c326dec96 100644
--- a/src/workbench/browser/src/app/pages/pages.component.html
+++ b/src/workbench/browser/src/app/pages/pages.component.html
@@ -1,9 +1,16 @@
-
+
diff --git a/src/workbench/browser/src/app/pages/pages.component.ts b/src/workbench/browser/src/app/pages/pages.component.ts
index e1deb0ab4..8cd3518ff 100644
--- a/src/workbench/browser/src/app/pages/pages.component.ts
+++ b/src/workbench/browser/src/app/pages/pages.component.ts
@@ -1,15 +1,19 @@
import { Component, OnInit } from '@angular/core';
+import { SidebarService } from '../shared/components/sidebar/sidebar.service';
@Component({
selector: 'eo-pages',
templateUrl: './pages.component.html',
- styleUrls: ['./pages.component.scss']
+ styleUrls: ['./pages.component.scss'],
})
export class PagesComponent implements OnInit {
-
- constructor() { }
-
+ constructor(private sidebar: SidebarService) {}
ngOnInit(): void {
+ this.watchSidebarItemChange();
+ }
+ private watchSidebarItemChange() {
+ this.sidebar.appChanged$.pipe().subscribe(() => {
+ console.log(this.sidebar.currentModule);
+ });
}
-
}
diff --git a/src/workbench/browser/src/app/pages/pages.module.ts b/src/workbench/browser/src/app/pages/pages.module.ts
index 9c18c5a91..60860fd92 100644
--- a/src/workbench/browser/src/app/pages/pages.module.ts
+++ b/src/workbench/browser/src/app/pages/pages.module.ts
@@ -1,6 +1,5 @@
import { NgModule } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-
+import { CommonModule } from '@angular/common';
import { PagesRoutingModule } from './pages-routing.module';
import { PagesComponent } from './pages.component';
@@ -8,7 +7,7 @@ import { SharedModule } from '../shared/shared.module';
@NgModule({
declarations: [PagesComponent],
- imports: [PagesRoutingModule, FormsModule, SharedModule],
- exports: []
+ imports: [PagesRoutingModule, CommonModule, SharedModule],
+ exports: [],
})
export class PagesModule {}
diff --git a/src/workbench/browser/src/app/shared/components/navbar/navbar.component.html b/src/workbench/browser/src/app/shared/components/navbar/navbar.component.html
index 8bc643243..1c832a689 100644
--- a/src/workbench/browser/src/app/shared/components/navbar/navbar.component.html
+++ b/src/workbench/browser/src/app/shared/components/navbar/navbar.component.html
@@ -14,8 +14,7 @@
-
-
+
diff --git a/src/workbench/browser/src/app/shared/components/navbar/navbar.component.ts b/src/workbench/browser/src/app/shared/components/navbar/navbar.component.ts
index c01676214..3f5fcf76f 100644
--- a/src/workbench/browser/src/app/shared/components/navbar/navbar.component.ts
+++ b/src/workbench/browser/src/app/shared/components/navbar/navbar.component.ts
@@ -47,11 +47,6 @@ export class NavbarComponent implements OnInit {
});
});
}
- changeHelpVisible(visible) {
- if(this.isElectron){
- window.eo.toogleViewZIndex(visible);
- }
- }
minimize() {
this.electron.ipcRenderer.send('message', {
action: 'minimize',
@@ -79,8 +74,4 @@ export class NavbarComponent implements OnInit {
getModules(): Array {
return Array.from(this.modules.values());
}
-
- openApp(moduleID: string) {
- window.eo.openApp({ moduleID: moduleID });
- }
}
diff --git a/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.html b/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.html
index c0a2327ca..07244edcc 100644
--- a/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.html
+++ b/src/workbench/browser/src/app/shared/components/sidebar/sidebar.component.html
@@ -1,13 +1,12 @@