Skip to content

Commit 136c348

Browse files
yZaioscarqin
andauthored
fix: 0.5.1 (#294)
* feat: modal tips when delete mock * fix: Fixes #293 * fix: curl import error and style error * fix: variable query multiple times --------- Co-authored-by: scarqin <[email protected]>
1 parent a4e6fa0 commit 136c348

32 files changed

+585
-302
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "postcat",
3-
"version": "0.5.0",
3+
"version": "0.5.1",
44
"main": "out/app/electron-main/main.js",
55
"description": "A lightweight, extensible API tool",
66
"homepage": "https://github.com/Postcatlab/postcat.git",

src/browser/locale/messages.xlf

Lines changed: 70 additions & 51 deletions
Large diffs are not rendered by default.

src/browser/locale/messages.zh.xlf

Lines changed: 71 additions & 52 deletions
Large diffs are not rendered by default.

src/browser/src/app/components/eo-ui/tab/tab-operate.service.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,7 @@ export class TabOperateService {
339339
getCurrentTab() {
340340
return this.getTabByIndex(this.selectedIndex);
341341
}
342-
closeTabByOperate(action: string | TabOperate) {
343-
const currentTabID = this.tabStorage.tabOrder[this.selectedIndex];
342+
closeTabByOperate(action: string | TabOperate, currentTabID = this.tabStorage.tabOrder[this.selectedIndex]) {
344343
let tabsObj = {
345344
//Close tab has hasChanged tab
346345
needTips: false,

src/browser/src/app/components/eo-ui/tab/tab.component.html

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,25 @@
66
(nzSelectChange)="selectChange($event)"
77
[nzTabBarExtraContent]="extraTemplate"
88
>
9-
<eo-ng-tab *ngFor="let uuid of tabStorage.tabOrder; let i = index" [nzTitle]="titleTemplate">
9+
<eo-ng-tab
10+
*ngFor="let uuid of tabStorage.tabOrder; let i = index"
11+
(nzContextmenu)="contextMenu($event, menu, uuid)"
12+
[nzTitle]="titleTemplate"
13+
>
14+
<eo-ng-dropdown-menu #menu="nzDropdownMenu">
15+
<ul nz-menu>
16+
<li nz-menu-item (click)="closeTabByOperate('closeOther', uuid)" [nzDisabled]="tabStorage.tabOrder.length === 1" i18n>
17+
Close Other Tags (excluding current tabs)
18+
</li>
19+
<li nz-menu-item (click)="closeTabByOperate('closeAll', uuid)" i18n>Close All Tabs</li>
20+
<li nz-menu-item (click)="closeTabByOperate('closeLeft', uuid)" [nzDisabled]="checkIsFirstTab(uuid)" i18n>
21+
Close Tabs To the Left
22+
</li>
23+
<li nz-menu-item [nzDisabled]="checkIsLastTab(uuid)" (click)="closeTabByOperate('closeRight', uuid)" i18n>
24+
Close Tabs to the Right
25+
</li>
26+
</ul>
27+
</eo-ng-dropdown-menu>
1028
<ng-template #titleTemplate>
1129
<div
1230
(dblclick)="doubleClickTab($event, uuid)"

src/browser/src/app/components/eo-ui/tab/tab.component.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { KeyValue } from '@angular/common';
22
import { Component, OnInit, OnDestroy, Input, Output, EventEmitter, TemplateRef } from '@angular/core';
33
import { NavigationEnd, Router } from '@angular/router';
4-
import { NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';
4+
import { NzContextMenuService, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';
55
import { NzTabsCanDeactivateFn } from 'ng-zorro-antd/tabs';
66
import { TabOperateService } from 'pc/browser/src/app/components/eo-ui/tab/tab-operate.service';
77
import { TabStorageService } from 'pc/browser/src/app/components/eo-ui/tab/tab-storage.service';
@@ -35,8 +35,12 @@ export class EoTabComponent implements OnInit, OnDestroy {
3535
private modal: ModalService,
3636
private router: Router,
3737
public store: StoreService,
38-
private trace: TraceService
38+
private trace: TraceService,
39+
private nzContextMenuService: NzContextMenuService
3940
) {}
41+
contextMenu($event: MouseEvent, menu: NzDropdownMenuComponent, tabID): void {
42+
this.nzContextMenuService.create($event, menu);
43+
}
4044
ngOnInit(): void {
4145
this.watchRouterChange();
4246
this.watchPageLeave();
@@ -49,6 +53,7 @@ export class EoTabComponent implements OnInit, OnDestroy {
4953
handleDataBeforeGetCache: this.handleDataBeforeGetCache
5054
});
5155
}
56+
5257
async newTab(key = undefined) {
5358
if (this.checkTabCanLeave && !(await this.checkTabCanLeave())) {
5459
return false;
@@ -200,13 +205,19 @@ export class EoTabComponent implements OnInit, OnDestroy {
200205
handleDataBeforeCache: this.handleDataBeforeCache
201206
});
202207
}
208+
checkIsFirstTab(uuid) {
209+
return this.tabStorage.tabOrder.findIndex(val => val === uuid) === 0;
210+
}
211+
checkIsLastTab(uuid) {
212+
return this.tabStorage.tabOrder.length - 1 === this.tabStorage.tabOrder.findIndex(val => val === uuid);
213+
}
203214
/**
204215
* Tab Close Operate
205216
*
206217
* @param action
207218
*/
208-
closeTabByOperate(action: TabOperate | string) {
209-
this.tabOperate.closeTabByOperate(action);
219+
closeTabByOperate(action: TabOperate | string, uuid?) {
220+
this.tabOperate.closeTabByOperate(action, uuid);
210221
}
211222
private watchRouterChange() {
212223
this.routerSubscribe = this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((res: NavigationEnd) => {

src/browser/src/app/core/services/theme/theme.service.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,16 @@ export class ThemeService {
6868

6969
queryExtensionThemes() {
7070
const extensions = this.themeExtension.getExtensionThemes(this.coreThemes);
71-
this.themes.push(...extensions);
71+
extensions.forEach(val => {
72+
const index = this.themes.findIndex(val1 => val1.id === val.id);
73+
//Not exsit
74+
if (index === -1) {
75+
this.themes.push(val);
76+
return;
77+
}
78+
//Has exist
79+
this.themes.splice(index, 1, val);
80+
});
7281
}
7382
changeEditorTheme(currentTheme = StorageUtil.get('pc_theme')) {
7483
const editorTheme = this.getEditorTheme(currentTheme);

src/browser/src/app/pages/components/extension/detail/components/extensions-settings.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { SettingService } from 'pc/browser/src/app/components/system-setting/set
99
class="sticky top-0 py-[12px] border-solid border-0 border-b-[1px] z-10 mb-[3px]"
1010
style="border-color: var(--border-color); background-color: var(--background-color); border-bottom: 1px solid var(--system-border-color);"
1111
>
12-
<button eo-ng-button nzType="primary" (click)="handleSave()">Save</button>
12+
<button eo-ng-button nzType="primary" i18n (click)="handleSave()">Save</button>
1313
</div>
1414
1515
<eo-schema-form [model]="localSettings" [configuration]="configuration" />
@@ -31,6 +31,6 @@ export class ExtensionSettingComponent implements OnInit {
3131
}
3232
handleSave = () => {
3333
this.settingService.saveSetting(this.localSettings);
34-
this.feedback.success($localize`Save Success`);
34+
this.feedback.success($localize`Saved successfully`);
3535
};
3636
}

src/browser/src/app/pages/workspace/project/api/components/group/api-group-tree.component.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
<ng-template #nzTreeTemplate let-node let-origin="origin">
6565
<div class="h-full" [style.--tree-level]="node.level" apiGroupTree [node]="node">
6666
<div class="flex items-center justify-between tree-node" [ngSwitch]="origin.module">
67-
<div class="flex items-center" [style.width]="'calc(100% - 30px)'">
67+
<div class="flex items-center" (contextmenu)="contextMenu($event, groupMenu)" [style.width]="'calc(100% - 30px)'">
6868
<!-- Folder -->
6969
<ng-container *ngSwitchDefault>
7070
<eo-iconpark-icon
@@ -91,6 +91,15 @@
9191
<span class="text-[12px] truncate">{{ origin.title }}</span>
9292
</ng-container>
9393
</div>
94+
<eo-ng-dropdown-menu #groupMenu="nzDropdownMenu">
95+
<ul nz-menu>
96+
<ng-container *ngFor="let item of operateByModule[origin.module || groupModuleName].list">
97+
<li nz-menu-item (click)="item.click(origin)">
98+
{{ item.title }}
99+
</li>
100+
</ng-container>
101+
</ul>
102+
</eo-ng-dropdown-menu>
94103
<span
95104
class="flex tree-node-operate"
96105
*ngIf="isEdit&&(!operateByModule[origin.module || groupModuleName].showFn||operateByModule[origin.module || groupModuleName].showFn?.(origin))"
@@ -99,15 +108,6 @@
99108
<button eo-ng-button nzType="text" class="tree-item-btn" nzTrigger="click" eo-ng-dropdown [nzDropdownMenu]="groupMenu">
100109
<eo-iconpark-icon name="more" size="16px"></eo-iconpark-icon>
101110
</button>
102-
<eo-ng-dropdown-menu #groupMenu="nzDropdownMenu">
103-
<ul nz-menu>
104-
<ng-container *ngFor="let item of operateByModule[origin.module || groupModuleName].list">
105-
<li nz-menu-item (click)="item.click(origin)">
106-
{{ item.title }}
107-
</li>
108-
</ng-container>
109-
</ul>
110-
</eo-ng-dropdown-menu>
111111
</span>
112112
</div>
113113
</div>

src/browser/src/app/pages/workspace/project/api/components/group/api-group-tree.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';
22
import { ActivatedRoute, Router } from '@angular/router';
33
import { EoNgFeedbackMessageService } from 'eo-ng-feedback';
44
import { action, autorun, reaction, toJS } from 'mobx';
5+
import { NzContextMenuService, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';
56
import { NzTreeComponent, NzFormatEmitEvent, NzTreeNodeOptions, NzTreeNode, NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree';
67
import { PageUniqueName } from 'pc/browser/src/app/pages/workspace/project/api/api-tab.service';
78
import { ApiGroupService } from 'pc/browser/src/app/pages/workspace/project/api/components/group/api-group.service';
@@ -93,11 +94,14 @@ export class ApiGroupTreeComponent implements OnInit, OnDestroy {
9394
private feedback: EoNgFeedbackMessageService,
9495
private router: Router,
9596
private route: ActivatedRoute,
97+
private nzContextMenuService: NzContextMenuService,
9698
@Inject(BASIC_TABS_INFO) public tabsConfig: TabsConfig
9799
) {
98100
this.operateByModule = this.getGroupOperate();
99101
}
100-
102+
contextMenu($event: MouseEvent, menu: NzDropdownMenuComponent): void {
103+
this.nzContextMenuService.create($event, menu);
104+
}
101105
searchFunc = (node: NzTreeNodeOptions) => {
102106
const { title } = node;
103107
const uri = node.relationInfo?.uri;

0 commit comments

Comments
 (0)