mirror of
https://github.com/Kong/insomnia.git
synced 2026-04-29 02:22:57 -04:00
Add clear active workspace's all responses (#1317)
This commit is contained in:
committed by
Gregory Schier
parent
bcef6164d1
commit
c77094600d
@@ -27,6 +27,7 @@ type Props = {
|
||||
handleGetRenderContext: Function,
|
||||
handleRemoveWorkspace: Function,
|
||||
handleDuplicateWorkspace: Function,
|
||||
handleClearAllResponses: Function,
|
||||
};
|
||||
|
||||
type State = {
|
||||
@@ -78,6 +79,11 @@ class WorkspaceSettingsModal extends React.PureComponent<Props, State> {
|
||||
this.hide();
|
||||
}
|
||||
|
||||
_handleClearAllResponses() {
|
||||
this.props.handleClearAllResponses();
|
||||
this.hide();
|
||||
}
|
||||
|
||||
_handleDuplicateWorkspace() {
|
||||
this.props.handleDuplicateWorkspace(() => {
|
||||
this.hide();
|
||||
@@ -331,6 +337,12 @@ class WorkspaceSettingsModal extends React.PureComponent<Props, State> {
|
||||
className="width-auto btn btn--clicky inline-block space-left">
|
||||
<i className="fa fa-copy" /> Duplicate
|
||||
</button>
|
||||
<PromptButton
|
||||
onClick={this._handleClearAllResponses}
|
||||
addIcon
|
||||
className="width-auto btn btn--clicky inline-block space-left">
|
||||
<i className="fa fa-trash-o" /> Clear All Responses
|
||||
</PromptButton>
|
||||
</div>
|
||||
</TabPanel>
|
||||
<TabPanel className="react-tabs__tab-panel pad scrollable">
|
||||
|
||||
@@ -43,6 +43,7 @@ import WorkspaceEnvironmentsEditModal from './modals/workspace-environments-edit
|
||||
import WorkspaceSettingsModal from './modals/workspace-settings-modal';
|
||||
import WorkspaceShareSettingsModal from './modals/workspace-share-settings-modal';
|
||||
import CodePromptModal from './modals/code-prompt-modal';
|
||||
import * as db from '../../common/database';
|
||||
import * as models from '../../models/index';
|
||||
import * as importers from 'insomnia-importers';
|
||||
import type { CookieJar } from '../../models/cookie-jar';
|
||||
@@ -304,6 +305,14 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
await models.workspace.remove(activeWorkspace);
|
||||
}
|
||||
|
||||
async _handleActiveWorkspaceClearAllResponses(): Promise<void> {
|
||||
const docs = await db.withDescendants(this.props.activeWorkspace, models.request.type);
|
||||
const requests = docs.filter(doc => doc.type === models.request.type);
|
||||
for (const req of requests) {
|
||||
await models.response.removeForRequest(req._id);
|
||||
}
|
||||
}
|
||||
|
||||
_handleSendRequestWithActiveEnvironment(): void {
|
||||
const { activeRequest, activeEnvironment, handleSendRequestWithEnvironment } = this.props;
|
||||
const activeRequestId = activeRequest ? activeRequest._id : 'n/a';
|
||||
@@ -320,7 +329,11 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
|
||||
const activeRequestId = activeRequest ? activeRequest._id : 'n/a';
|
||||
const activeEnvironmentId = activeEnvironment ? activeEnvironment._id : 'n/a';
|
||||
await handleSendAndDownloadRequestWithEnvironment(activeRequestId, activeEnvironmentId, filename);
|
||||
await handleSendAndDownloadRequestWithEnvironment(
|
||||
activeRequestId,
|
||||
activeEnvironmentId,
|
||||
filename,
|
||||
);
|
||||
}
|
||||
|
||||
_handleSetPreviewMode(previewMode: string): void {
|
||||
@@ -400,24 +413,24 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
const realSidebarWidth = sidebarHidden ? 0 : sidebarWidth;
|
||||
|
||||
const columns = `${realSidebarWidth}rem 0 minmax(0, ${paneWidth}fr) 0 minmax(0, ${1 -
|
||||
paneWidth}fr)`;
|
||||
paneWidth}fr)`;
|
||||
const rows = `minmax(0, ${paneHeight}fr) 0 minmax(0, ${1 - paneHeight}fr)`;
|
||||
|
||||
return [
|
||||
<div key="modals" className="modals">
|
||||
<ErrorBoundary showAlert>
|
||||
<AlertModal ref={registerModal}/>
|
||||
<ErrorModal ref={registerModal}/>
|
||||
<PromptModal ref={registerModal}/>
|
||||
<AlertModal ref={registerModal} />
|
||||
<ErrorModal ref={registerModal} />
|
||||
<PromptModal ref={registerModal} />
|
||||
|
||||
<WrapperModal ref={registerModal}/>
|
||||
<LoginModal ref={registerModal}/>
|
||||
<AskModal ref={registerModal}/>
|
||||
<SelectModal ref={registerModal}/>
|
||||
<RequestCreateModal ref={registerModal}/>
|
||||
<PaymentNotificationModal ref={registerModal}/>
|
||||
<FilterHelpModal ref={registerModal}/>
|
||||
<RequestRenderErrorModal ref={registerModal}/>
|
||||
<WrapperModal ref={registerModal} />
|
||||
<LoginModal ref={registerModal} />
|
||||
<AskModal ref={registerModal} />
|
||||
<SelectModal ref={registerModal} />
|
||||
<RequestCreateModal ref={registerModal} />
|
||||
<PaymentNotificationModal ref={registerModal} />
|
||||
<FilterHelpModal ref={registerModal} />
|
||||
<RequestRenderErrorModal ref={registerModal} />
|
||||
|
||||
<CodePromptModal
|
||||
ref={registerModal}
|
||||
@@ -472,7 +485,7 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
workspace={activeWorkspace}
|
||||
/>
|
||||
|
||||
<MoveRequestGroupModal ref={registerModal} workspaces={workspaces}/>
|
||||
<MoveRequestGroupModal ref={registerModal} workspaces={workspaces} />
|
||||
|
||||
<WorkspaceSettingsModal
|
||||
ref={registerModal}
|
||||
@@ -487,10 +500,11 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
nunjucksPowerUserMode={settings.nunjucksPowerUserMode}
|
||||
handleRemoveWorkspace={this._handleRemoveActiveWorkspace}
|
||||
handleDuplicateWorkspace={handleDuplicateWorkspace}
|
||||
handleClearAllResponses={this._handleActiveWorkspaceClearAllResponses}
|
||||
isVariableUncovered={isVariableUncovered}
|
||||
/>
|
||||
|
||||
<WorkspaceShareSettingsModal ref={registerModal} workspace={activeWorkspace}/>
|
||||
<WorkspaceShareSettingsModal ref={registerModal} workspace={activeWorkspace} />
|
||||
|
||||
<GenerateCodeModal
|
||||
ref={registerModal}
|
||||
@@ -510,7 +524,7 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
settings={settings}
|
||||
/>
|
||||
|
||||
<ResponseDebugModal ref={registerModal} settings={settings}/>
|
||||
<ResponseDebugModal ref={registerModal} settings={settings} />
|
||||
|
||||
<RequestSwitcherModal
|
||||
ref={registerModal}
|
||||
@@ -535,7 +549,7 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
isVariableUncovered={isVariableUncovered}
|
||||
/>
|
||||
|
||||
<SetupSyncModal ref={registerModal} workspace={activeWorkspace}/>
|
||||
<SetupSyncModal ref={registerModal} workspace={activeWorkspace} />
|
||||
|
||||
<WorkspaceEnvironmentsEditModal
|
||||
ref={registerModal}
|
||||
@@ -623,7 +637,7 @@ class Wrapper extends React.PureComponent<Props, State> {
|
||||
</ErrorBoundary>
|
||||
|
||||
<div className="drag drag--sidebar">
|
||||
<div onDoubleClick={handleResetDragSidebar} onMouseDown={this._handleStartDragSidebar}/>
|
||||
<div onDoubleClick={handleResetDragSidebar} onMouseDown={this._handleStartDragSidebar} />
|
||||
</div>
|
||||
|
||||
<ErrorBoundary showAlert>
|
||||
|
||||
Reference in New Issue
Block a user