mirror of
https://github.com/LukeHagar/firecamp.git
synced 2025-12-06 04:19:43 +00:00
@@ -11,7 +11,7 @@
|
||||
|
||||
<p align="center">
|
||||
<a href="https://discord.gg/8hRaqhK"><img alt="Discord online members" src="https://badgen.net/discord/members/8hRaqhK?color=5865F2&label=Discord&style=for-the-badge" /></a>
|
||||
<a href="https://github.com/firecamp-dev/firecamp/stargazers"><img src="https://img.shields.io/github/stars/firecamp-dev/firecamp" alt="Github Stars"></a>
|
||||
<a href="https://github.com/firecamp-dev/firecamp/stargazers"><img src="https://img.shields.io/github/stars/firecamp-dev/firecamp" alt="GitHub Stars"></a>
|
||||
<a href="https://github.com/firecamp-dev/firecamp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPLv3-purple" alt="License"></a>
|
||||
<a href="https://github.com/firecamp-dev/firecamp/pulse"><img src="https://img.shields.io/github/commit-activity/y/firecamp-dev/firecamp" alt="Commits-per-month"></a>
|
||||
</p>
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
with:
|
||||
path: 'package.json'
|
||||
prop_path: 'version'
|
||||
- name: Create Github Release
|
||||
- name: Create GitHub Release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.SVC_CLI_BOT_GITHUB_TOKEN }}
|
||||
|
||||
@@ -27,7 +27,7 @@ const EnvironmentTab = ({ tab, platformContext: context }) => {
|
||||
const initEnv = _cloneDeep({ ...tab.entity, variables: [] });
|
||||
const originalEnvs = useRef({
|
||||
/** runtimeEnv.variables will have the initialValue and currentValue (merge of remote & local)
|
||||
* @note runtimeEnv.variables=[] thus we don;t need to manage initialValue andd currentValue at initialisation time
|
||||
* @note runtimeEnv.variables=[] thus we don;t need to manage initialValue and currentValue at initialisation time
|
||||
*/
|
||||
runtimeEnv: _cloneDeep(initEnv),
|
||||
remoteEnv: _cloneDeep(initEnv),
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
font-size: 16px
|
||||
text-transform: uppercase
|
||||
|
||||
.authentication-modal-devider:before
|
||||
.authentication-modal-divider:before
|
||||
content: 'OR'
|
||||
background: var(--app-background)
|
||||
font-size: 12px
|
||||
@@ -28,7 +28,7 @@
|
||||
padding: 8px
|
||||
left: calc(50% - 18px)
|
||||
|
||||
.authentication-modal-devider
|
||||
.authentication-modal-divider
|
||||
position: relative
|
||||
margin-top: 40px
|
||||
margin-bottom: 20px
|
||||
@@ -147,7 +147,7 @@
|
||||
.fc-auth-header>.fc-button
|
||||
margin-bottom: 16px
|
||||
|
||||
.fc-auth-devider:before
|
||||
.fc-auth-divider:before
|
||||
content: 'OR'
|
||||
background: var(--app-background)
|
||||
font-size: 12px
|
||||
@@ -156,12 +156,12 @@
|
||||
padding: 8px
|
||||
left: calc(50% - 18px)
|
||||
|
||||
.fc-auth-devider
|
||||
.fc-auth-divider
|
||||
position: relative
|
||||
margin-top: 40px
|
||||
margin-bottom: 20px
|
||||
|
||||
.fc-auth-devider.mt-24
|
||||
.fc-auth-divider.mt-24
|
||||
margin-top: 24px !important
|
||||
|
||||
.fc-auth-input-link a
|
||||
|
||||
@@ -11,7 +11,7 @@ import { useUserStore } from '../../../store/user';
|
||||
// TODO: add isSubmitted to check and prevent multiple click on submit button
|
||||
|
||||
/**
|
||||
* RefreshToken component for user to autenticate.
|
||||
* RefreshToken component for user to authenticate.
|
||||
*/
|
||||
const RefreshToken: FC<IModal> = ({ opened, onClose = () => { } }) => {
|
||||
return (
|
||||
|
||||
@@ -123,7 +123,7 @@ const Digest: FC<IDigest> = ({
|
||||
onSelect={(algorithm) => {
|
||||
_onSelectAlgorithm(algorithm?.name);
|
||||
}}
|
||||
selected={auth['algorithm'] || 'MD5'} //defalut "MD5"
|
||||
selected={auth['algorithm'] || 'MD5'} //default "MD5"
|
||||
classNames={{
|
||||
trigger: 'mb-[10px]',
|
||||
dropdown: 'border-focusBorder !py-0 -mt-[10px]',
|
||||
|
||||
@@ -121,7 +121,7 @@ const OAuth1: FC<IOAuth1Comp> = ({ auth, onChange = () => {} }) => {
|
||||
onSelect={(method) => {
|
||||
_onSelectSignatureMethod(method?.name);
|
||||
}}
|
||||
selected={auth['signatureMethod'] || 'HMAC-SHA1'} //defalut "HMAC-SHA1"
|
||||
selected={auth['signatureMethod'] || 'HMAC-SHA1'} //default "HMAC-SHA1"
|
||||
classNames={{
|
||||
trigger: 'mb-[10px]',
|
||||
dropdown: 'border-focusBorder !py-0 -mt-[10px]',
|
||||
|
||||
@@ -212,7 +212,7 @@ export default OAuth2;
|
||||
interface IOAuth2Comp {
|
||||
auth: IUiOAuth2;
|
||||
|
||||
/** update auth value for auth tyoe OAuth2 */
|
||||
/** update auth value for auth type OAuth2 */
|
||||
onChangeOAuth2Value: (key: string, updates: any) => void;
|
||||
|
||||
/** OAuth2 previous/ last fetched token */
|
||||
|
||||
@@ -86,7 +86,7 @@ const Template = (args) => {
|
||||
}]
|
||||
}
|
||||
onSelect={item => {
|
||||
setSelected(item.name || 'oopss...')
|
||||
setSelected(item.name || 'oops...')
|
||||
}} />
|
||||
</Dropdown>
|
||||
)
|
||||
|
||||
@@ -84,7 +84,7 @@ const DropDownDemo = (args: any) => {
|
||||
hasDivider={true}
|
||||
options={DropDownDemoArgs.options}
|
||||
onSelect={item => {
|
||||
setSelected(item.name || 'oopss...')
|
||||
setSelected(item.name || 'oops...')
|
||||
}} />
|
||||
</Dropdown>
|
||||
)
|
||||
|
||||
@@ -154,7 +154,7 @@ const Options: FC<IOptions> = ({
|
||||
{headerMeta?.postfix ? headerMeta.postfix() : ''}
|
||||
</MenuHeader>,
|
||||
|
||||
// Oprion list, show empty mes
|
||||
// Option list, show empty mes
|
||||
option?.list?.length
|
||||
? option?.list?.map((item, i) => {
|
||||
return (
|
||||
|
||||
@@ -62,7 +62,7 @@ export interface IOptions {
|
||||
*/
|
||||
hasDivider?: boolean;
|
||||
/**
|
||||
* Boolean value to show options in upppercase
|
||||
* Boolean value to show options in uppercase
|
||||
*/
|
||||
applyUpperCase?: boolean;
|
||||
/**
|
||||
@@ -170,7 +170,7 @@ export interface IItem {
|
||||
*/
|
||||
export interface IHeaderMeta {
|
||||
/**
|
||||
* Boolean value to show header in upppercase
|
||||
* Boolean value to show header in uppercase
|
||||
*/
|
||||
applyUpperCase?: boolean;
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//@ts-ignore // TODO: install graphql as devDep type package
|
||||
import { GraphQLSchema } from 'graghql';
|
||||
import { GraphQLSchema } from 'graphql';
|
||||
export interface ICMGQueryEditor {
|
||||
/**
|
||||
* Editor query string
|
||||
|
||||
@@ -89,7 +89,7 @@ const CMGQueryEditor: FC<ICMGQueryEditor> = ({
|
||||
gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter']
|
||||
}}
|
||||
onChange={(editor, data, value) => {
|
||||
// console.log("editor chnage", data, value);
|
||||
// console.log("editor change", data, value);
|
||||
// onChangeQuery(value)
|
||||
}}
|
||||
onKeyUp={(editor: any, e: any) => {
|
||||
|
||||
@@ -65,7 +65,7 @@ export default (variables, scopes = { workspace: [], project: [] }) => ({
|
||||
let v = {
|
||||
sample: previewVar,
|
||||
scope: 'Mock Variable',
|
||||
descriton: 'This value can be changes on runtime',
|
||||
description: 'This value can be changes on runtime',
|
||||
};
|
||||
// let sv = JSON.stringify(v, 2, 2);
|
||||
// previewSliceOne = { value: '```js \n' + sv + '\n ```', supportThemeIcons: true };
|
||||
|
||||
@@ -55,7 +55,7 @@ export default {
|
||||
// [/[;,.]/, "delimiter"],
|
||||
// // strings
|
||||
// [/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||
// // non-teminated string
|
||||
// // non-terminated string
|
||||
// [/"/, { token: "string.quote", bracket: "@open", next: "@string" }],
|
||||
// // characters
|
||||
// [/'[^\\']'/, "string"],
|
||||
|
||||
@@ -165,7 +165,7 @@ const FirecampEditor: FC<IFirecampEditor> = ({
|
||||
|
||||
let _controlFns = {
|
||||
copy: () => {
|
||||
// cusotm copy code here
|
||||
// custom copy code here
|
||||
try {
|
||||
if (editorRef.current) {
|
||||
let text = editorRef.current.getValue();
|
||||
|
||||
@@ -42,7 +42,7 @@ const SingleLineIFE: FC<ISingleLineIFE> = ({
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
// console.log("I am rednding too often....");
|
||||
// console.log("I am rendering too often....");
|
||||
});
|
||||
|
||||
let _onMount = (edt: any, monaco: any) => {
|
||||
@@ -85,7 +85,7 @@ const SingleLineIFE: FC<ISingleLineIFE> = ({
|
||||
et.setSelection(range);
|
||||
et.focus();
|
||||
} else {
|
||||
//todo: this is experimental, if no Editor ref found then blur it naturaly with Browser DOM API
|
||||
//todo: this is experimental, if no Editor ref found then blur it naturally with Browser DOM API
|
||||
document.activeElement.blur();
|
||||
document.activeElement.blur();
|
||||
document.activeElement.blur();
|
||||
@@ -149,7 +149,7 @@ const SingleLineIFE: FC<ISingleLineIFE> = ({
|
||||
et.setSelection(range);
|
||||
et.focus();
|
||||
} else {
|
||||
//todo: this is experimental, if no Editor ref found then blur it naturaly with Browser DOM API
|
||||
//todo: this is experimental, if no Editor ref found then blur it naturally with Browser DOM API
|
||||
document.activeElement.blur();
|
||||
document.activeElement.blur();
|
||||
document.activeElement.blur();
|
||||
|
||||
@@ -39,7 +39,7 @@ export default {
|
||||
},
|
||||
{
|
||||
name: 'limit',
|
||||
description: 'limit the nuber of rows returned',
|
||||
description: 'limit the number of rows returned',
|
||||
type: {
|
||||
kind: 'SCALAR',
|
||||
name: 'Int',
|
||||
@@ -130,7 +130,7 @@ export default {
|
||||
},
|
||||
{
|
||||
name: 'limit',
|
||||
description: 'limit the nuber of rows returned',
|
||||
description: 'limit the number of rows returned',
|
||||
type: {
|
||||
kind: 'SCALAR',
|
||||
name: 'Int',
|
||||
@@ -9261,7 +9261,7 @@ export default {
|
||||
},
|
||||
{
|
||||
name: 'limit',
|
||||
description: 'limit the nuber of rows returned',
|
||||
description: 'limit the number of rows returned',
|
||||
type: {
|
||||
kind: 'SCALAR',
|
||||
name: 'Int',
|
||||
@@ -9352,7 +9352,7 @@ export default {
|
||||
},
|
||||
{
|
||||
name: 'limit',
|
||||
description: 'limit the nuber of rows returned',
|
||||
description: 'limit the number of rows returned',
|
||||
type: {
|
||||
kind: 'SCALAR',
|
||||
name: 'Int',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//@ts-nocheckh
|
||||
//@ts-nocheck
|
||||
import { FC } from 'react';
|
||||
import cx from 'classnames';
|
||||
import { IColumn } from './interfaces/Column.interfaces';
|
||||
|
||||
@@ -9,7 +9,7 @@ import { IRootContainer } from "./interfaces/RootContainer.interfaces"
|
||||
* Container
|
||||
* @param id: <type: String>// copy button id
|
||||
* @param className: <type: String>,
|
||||
* @param children: <type: String>// If user needs to pass childern
|
||||
* @param children: <type: String>// If user needs to pass children
|
||||
* @param style: <type: String>
|
||||
* @returns {*}
|
||||
* @constructor
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export interface IHelp {
|
||||
/**
|
||||
* Feature documenation link
|
||||
* Feature documentation link
|
||||
*/
|
||||
docLink? : string
|
||||
/**
|
||||
|
||||
@@ -46,7 +46,7 @@ export interface IConfirmationPopover {
|
||||
onConfirm?: () => void;
|
||||
|
||||
/**
|
||||
* To toggle the the confirmation display as open/close & need to pass detach as false
|
||||
* To toggle the confirmation display as open/close & need to pass detach as false
|
||||
*/
|
||||
isOpen?: boolean;
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ const Tabs: FC<IResTabs> = ({
|
||||
export default Tabs;
|
||||
|
||||
const ScriptErrors = ({ errors = [] }) => {
|
||||
console.log(errors, 'erros..... errors');
|
||||
console.log(errors, 'errors..... errors');
|
||||
return (
|
||||
<div className=' w-full bg-app-background'>
|
||||
{errors.map((e, i) => (
|
||||
|
||||
@@ -25,7 +25,7 @@ const ScriptTab: FC<IProps> = ({
|
||||
<Container.Body className="flex flex-col">
|
||||
<TabHeader className="bg-statusBar-background-active">
|
||||
<div className="text-sm">
|
||||
Pre-request script are written in Javascript and are run before the
|
||||
Pre-request script are written in JavaScript and are run before the
|
||||
request is sent.
|
||||
{/* Learn more about
|
||||
<a
|
||||
|
||||
@@ -145,7 +145,7 @@ describe('Table : ', () => {
|
||||
|
||||
//table column resize logic : column width is updating along with resizer div's offsetLeft value
|
||||
const resizerElement = columnResizer[moveElementWidthIndex];
|
||||
const intialColumnWidth = parseInt(
|
||||
const initialColumnWidth = parseInt(
|
||||
resizerElement.parentElement.style.minWidth
|
||||
);
|
||||
const columnMouseMoveOffset = [
|
||||
@@ -159,7 +159,7 @@ describe('Table : ', () => {
|
||||
resizerElement.parentElement.style.minWidth
|
||||
);
|
||||
|
||||
expect(updatedColumnWidth).toBeGreaterThan(intialColumnWidth);
|
||||
expect(updatedColumnWidth).toBeGreaterThan(initialColumnWidth);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Table : To create custom table, in which primitive/Table is core component
|
||||
|
||||
#### **Component Usage**:
|
||||
|
||||
To use exisitng BasicTable component
|
||||
To use existing BasicTable component
|
||||
|
||||
- Create columns[ ] for table & provide as prop to <BasicTable/>
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ describe('Table : ', () => {
|
||||
expect(updatedMountedRow).toHaveLength(initialMountedRow.length + 1);
|
||||
});
|
||||
|
||||
test('Table should render components based on column id provied', async () => {
|
||||
test('Table should render components based on column id provided', async () => {
|
||||
// ColumnId - value : MultipartInput component
|
||||
// validate the icon & checking its icon click event
|
||||
// validate the icon input fields available based on type update
|
||||
|
||||
@@ -3,7 +3,7 @@ import { FocusEventHandler, MouseEventHandler, ReactNode } from 'react';
|
||||
|
||||
/** Table options */
|
||||
export interface ITableOptions {
|
||||
/** disabled column's keys. One can not edit within the column included in to disabledColumns */
|
||||
/** disabled column's keys. One cannot edit within the column included in disabledColumns */
|
||||
disabledColumns?: Array<string>;
|
||||
|
||||
/** a boolean value whether allow to remove row or not */
|
||||
|
||||
@@ -12,7 +12,7 @@ export interface ISecondaryTab {
|
||||
*/
|
||||
activeTab?: string;
|
||||
/**
|
||||
* Boolean value if you wnat to set tab background transpetant or not
|
||||
* Boolean value if you wnat to set tab background transparent or not
|
||||
*/
|
||||
isBgTransparent?: boolean;
|
||||
/**
|
||||
|
||||
@@ -52,8 +52,8 @@ import { Meta, ColorPalette, ColorItem } from '@storybook/addon-docs';
|
||||
| .fc-empty.center-block | to update the display as flex |
|
||||
| .request-tab-wrapper | to update the width |
|
||||
| .fc-urlbar-path,.fc-tab-panel-info > span,.fc-history-req-list-item-url-text,.collection_leaf-node-name | to update the text for user selection |
|
||||
| .expandable-right-pane | to add the transform propertyy for right pane |
|
||||
| .expandable-right-pane.expanded | to update the tranformation of scaleX property |
|
||||
| .expandable-right-pane | to add the transform property for right pane |
|
||||
| .expandable-right-pane.expanded | to update the transformation of scaleX property |
|
||||
| .dropzone-wrapper > .dropzone | to update the display for dropzone |
|
||||
|
||||
| Classname [themes preview] | Description |
|
||||
@@ -71,7 +71,7 @@ import { Meta, ColorPalette, ColorItem } from '@storybook/addon-docs';
|
||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------ |
|
||||
| .fc-form label | to set the size of all form label |
|
||||
| .fc-form .row>label | to update the padding right for label in row parent |
|
||||
| .grid.fc-form > div > label | to update the styles for label exisitng within grid parent element |
|
||||
| .grid.fc-form > div > label | to update the styles for label existing within grid parent element |
|
||||
| .fc-form-field-group | to update the preview for label text |
|
||||
| .fc-form-field-group span | to update the preview for span text wrapped in label element |
|
||||
| .fc-form input,.fc-form select | to set the styles for form input & select element |
|
||||
@@ -96,7 +96,7 @@ import { Meta, ColorPalette, ColorItem } from '@storybook/addon-docs';
|
||||
| .table.border-0 .table-row .table-cell:first-child | to remove the border left |
|
||||
| .table.border-0 .table-row .table-cell:last-child | to remove the border right |
|
||||
| -- | -- |
|
||||
| .response-headers-table,.response-cookies-table | to update display propterty as table |
|
||||
| .response-headers-table,.response-cookies-table | to update display property as table |
|
||||
| .response-headers-table>div,.response-cookies-table>div | to update the first div (header) & set display as table-row |
|
||||
| .response-headers-table>div>div,.response-cookies-table>div>div | to update styles for nested divs' of table header & set display as table cell |
|
||||
| .response-headers-table>div:first-child,.response-cookies-table>div:first-child | to update the column background color & heading as bold |
|
||||
@@ -119,7 +119,7 @@ import { Meta, ColorPalette, ColorItem } from '@storybook/addon-docs';
|
||||
| .fc-tab-panel-header.fc-collapse-btn-v3 > .fc-tab-panel-header-right | to update the position & styles of right sub-component within tab header |
|
||||
| .fc-collapsable > .fc-collapse-btn-v3 | to update the display property as none for v3 |
|
||||
| .fc-collapsed-v3 | to update the width for collapsed v3 resizable element |
|
||||
| .fc-col-resizer.fc-collapsed.fc-collapsed-v3.fc-collapsable.left | to update border left propterty for left sub-component |
|
||||
| .fc-col-resizer.fc-collapsed.fc-collapsed-v3.fc-collapsable.left | to update border left property for left sub-component |
|
||||
| .fc-collapsed > .fc-collapse-btn, .fc-collapsed ~ div .fc-collapse-btn | to transform the button rotation to 180deg |
|
||||
| .fc-collapsed > .fc-collapse-btn.fc-collapse-btn-v2, .fc-collapsed ~ div .fc-collapse-btn.fc-collapse-btn-v2 | to transform the button rotation to 0deg with more importance |
|
||||
| .fc-collapsed > .fc-collapse-btn.fc-collapse-btn-v2 > span, .fc-collapsed ~ div .fc-collapse-btn.fc-collapse-btn-v2 > span | to transform the button rotation to 180deg |
|
||||
|
||||
@@ -253,7 +253,7 @@ ${print(GraphQLParse(`query MyQuery{__typename }`))}`;
|
||||
// debugger;
|
||||
/**
|
||||
* if playground is being updated from external sources (like explorer) then It's default cursor position is always reset to last line
|
||||
* due to that currentOperation (query) will reset to last query of the the playground. and Explorer's feed will changes suddenly at last query.
|
||||
* due to that currentOperation (query) will reset to last query of the playground. and Explorer's feed will changes suddenly at last query.
|
||||
* to avoid it, if it founds cursor at last line then set current active query to get the same currentOperation from the GraphQLService
|
||||
**/
|
||||
// if (cursor.line == lastLineNo) {
|
||||
|
||||
@@ -19,7 +19,7 @@ const Controls = ({ isQueryDirty, toggleQueryDirty }) => {
|
||||
setAddNewQueryMessage(``);
|
||||
} else {
|
||||
setAddNewQueryMessage(
|
||||
`You have not saved quries to collection! Are you sure you want to reset?`
|
||||
`You have not saved queries to collection! Are you sure you want to reset?`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -123,8 +123,8 @@ export const getPlaygroundName = (value: string) => {
|
||||
};
|
||||
return ops.reduce((p, n) => {
|
||||
console.log(p, 1213);
|
||||
const separetor = p ? '___' : '';
|
||||
return `${p}${separetor}${opsMap[n.operation]}_${n?.name.value || 'Query'}`;
|
||||
const separator = p ? '___' : '';
|
||||
return `${p}${separator}${opsMap[n.operation]}_${n?.name.value || 'Query'}`;
|
||||
}, '');
|
||||
};
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ interface IRequestChangeStateSlice {
|
||||
*/
|
||||
disposeRCS: () => void;
|
||||
}
|
||||
//@note; always use _cloneDeep at its usage otherrwise it's value will be manipulate at global scope
|
||||
//@note; always use _cloneDeep at its usage otherwise its value will be manipulate at global scope
|
||||
const initialSliceState = {
|
||||
requestChangeState: {
|
||||
url: [],
|
||||
|
||||
@@ -17,7 +17,7 @@ interface ICollection {
|
||||
folders?: Partial<IRequestFolder & { __ref: { isFolder?: boolean } }>[];
|
||||
/**
|
||||
* incase the number on each action/event happens within collection
|
||||
* react component will not re-render when tdpInstance will change in store, at that time update __manualUpdates to re-render the compoenent
|
||||
* react component will not re-render when tdpInstance will change in store, at that time update __manualUpdates to re-render the component
|
||||
*/
|
||||
__manualUpdates?: number;
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@ export const createPlaygroundsSlice: TStoreSlice<IPlaygroundsSlice> = (
|
||||
});
|
||||
},
|
||||
|
||||
/** undo changes and reset the the previously saved plg's state */
|
||||
/** undo changes and reset the previously saved plg's state */
|
||||
undoPlaygroundChanges: (playgroundId: string) => {
|
||||
if (!playgroundId) return;
|
||||
set((s) => {
|
||||
|
||||
@@ -30,7 +30,7 @@ interface IRequestChangeStateSlice {
|
||||
*/
|
||||
disposeRCS: () => void;
|
||||
}
|
||||
//@note; always use _cloneDeep at its usage otherwise it's value will be manipulate at global scope
|
||||
//@note; always use _cloneDeep at its usage otherwise its value will be manipulate at global scope
|
||||
const initialSliceState = {
|
||||
requestChangeState: {
|
||||
url: [],
|
||||
|
||||
@@ -70,7 +70,7 @@ const Socket = ({ tab, platformContext }) => {
|
||||
const requestId = tab.entity?.__ref?.id;
|
||||
const isRequestSaved = !!requestId;
|
||||
// prepare a minimal request payload
|
||||
let _request = { collection: { folders: [], items: [] } }; // initialise will normalize the reuqest to prepare minimal request for tab
|
||||
let _request = { collection: { folders: [], items: [] } }; // initialise will normalize the request to prepare minimal request for tab
|
||||
|
||||
if (isRequestSaved === true) {
|
||||
toggleFetchingReqFlag(true);
|
||||
|
||||
@@ -37,7 +37,7 @@ const BodyControls = ({ tabId = '', path = '', addNewEmitter = () => {} }) => {
|
||||
</div>
|
||||
</StatusBar.PrimaryRegion>
|
||||
<StatusBar.SecondaryRegion>
|
||||
{/* <ShortcutsInfo tidabId={tabId} /> */}
|
||||
{/* <ShortcutsInfo tabId={tabId} /> */}
|
||||
</StatusBar.SecondaryRegion>
|
||||
</StatusBar>
|
||||
<TabHeader className="padding-small height-small collection-path-wrapper">
|
||||
|
||||
@@ -30,7 +30,7 @@ interface IRequestChangeStateSlice {
|
||||
disposeRCS: () => void;
|
||||
}
|
||||
|
||||
//@note; always use _cloneDeep at its usage other wise it's value will be manipulated at global scope reference
|
||||
//@note; always use _cloneDeep at its usage otherwise its value will be manipulated at global scope reference
|
||||
const initialSliceState = {
|
||||
requestChangeState: {
|
||||
url: [],
|
||||
|
||||
@@ -89,7 +89,7 @@ const createHandleConnectionExecutor: TStoreSlice<
|
||||
// connect
|
||||
executor.connect();
|
||||
|
||||
// set executor in to playground
|
||||
// set executor in playground
|
||||
state.setPlgExecutor(executor);
|
||||
|
||||
// listen to on connect listener
|
||||
|
||||
@@ -79,7 +79,7 @@ const WebSocket = ({ tab, platformContext }) => {
|
||||
const requestId = tab.entity?.__ref?.id;
|
||||
const isRequestSaved = !!requestId;
|
||||
// prepare a minimal request payload
|
||||
let _request = { collection: { folders: [], items: [] } }; // initialise will normalize the reuqest to prepare minimal request for tab
|
||||
let _request = { collection: { folders: [], items: [] } }; // initialise will normalize the request to prepare minimal request for tab
|
||||
|
||||
if (isRequestSaved === true) {
|
||||
toggleFetchingReqFlag(true);
|
||||
|
||||
@@ -31,7 +31,7 @@ interface IRequestChangeStateSlice {
|
||||
disposeRCS: () => void;
|
||||
}
|
||||
|
||||
//@note; always use _cloneDeep at its usage other wise it's value will be manipulate at global scope
|
||||
//@note; always use _cloneDeep at its usage otherwise its value will be manipulate at global scope
|
||||
const initialSliceState = {
|
||||
requestChangeState: {
|
||||
url: [],
|
||||
|
||||
@@ -73,7 +73,7 @@ const createHandleConnectionExecutor: TStoreSlice<
|
||||
// connect
|
||||
executor.connect();
|
||||
|
||||
// set executor in to playground
|
||||
// set executor in playground
|
||||
state.setPlaygroundExecutor(executor);
|
||||
} catch (error) {
|
||||
console.info({
|
||||
|
||||
@@ -75,7 +75,7 @@ If you encounter any bugs, issues, or have suggestions, please open an issue on
|
||||
|
||||
|
||||
## Roadmap
|
||||
Here is the Firecamp development roadmap. Very soon It'll be listed on Github projects for better project management.
|
||||
Here is the Firecamp development roadmap. Very soon It'll be listed on GitHub projects for better project management.
|
||||
- **AI: Cutting-edge AI-powered capabilities**
|
||||
- **Firecamp CLI:** developer-friendly CLI tool
|
||||
- **Test Runner:** An advanced API test runner
|
||||
|
||||
Reference in New Issue
Block a user