ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
2026-09-17 06:02:55
Editing: sequences.js
Cancel
Save Changes
// External dependencies. import { props, sequence, state, } from 'cerebral'; import { set, wait, when, } from 'cerebral/factories'; // Internal dependencies. import { MODAL_TYPE_EDIT_ITEM, STATE_ERROR, STATE_LOADING, STATE_SUCCESS, } from '@code-snippets/lib/constants'; import { closeModal, openModal, } from '@code-snippets/store/code-snippets-library/factories'; import { downloadSnippetContent } from '@code-snippets/store/code-snippets-library/sequences'; import { saveToCloud, saveToLocal, } from './actions'; const openLocalItemEditor = sequence('Open local item editor', [ set(state`edit.progress`, 10), ({ codeSnippetsLibApi, path, props: { item } }) => codeSnippetsLibApi.getItemContent(item.id, item.type) .then(response => path.success({ snippet: response.snippet })) .catch(() => path.error()), { success: [ set(state`edit.progress`, 90), wait(500), set(state`edit.progress`, 100), wait(200), ({ store, props: { snippet } }) => { store.set(state`edit.snippet`, snippet); }, set(state`edit.progress`, 0), ], error: [ set(state`edit.progress`, 0), ], }, ]); const openCloudItemEditor = sequence('Open cloud item editor', [ set(state`edit.snippet`, props`content.data`), set(state`edit.content`, props`content`), ]); const openEditModal = sequence('Open modal to edit code snippet', [ openModal(MODAL_TYPE_EDIT_ITEM), set(state`edit.item`, props`item`), set(state`edit.context`, props`context`), when(props`item.item_location`, item_location => 'cloud' === item_location), { true: [ openCloudItemEditor, ], false: [ openLocalItemEditor, ], }, ]); const closeEditModal = sequence('Close snippet editor modal', [ closeModal(), set(state`edit.saveState`, null), set(state`edit.item`, null), set(state`edit.snippet`, ''), ]); const saveEditedItemSuccess = sequence('Edited item Saved', [ () => ({needImageRefresh: true}), downloadSnippetContent, set(state`edit.saveState`, STATE_SUCCESS), wait(500), closeEditModal, ]); const saveEditedItemError = sequence('Error while saving edited item', [ set(state`edit.saveState`, STATE_ERROR), wait(500), closeEditModal, ]); const saveEditedContent = sequence('Save editted content', [ set(state`edit.saveState`, STATE_LOADING), when(state`edit.item.item_location`, item_location => 'cloud' === item_location), { true: [ saveToCloud, { success: [ ({ get, props: { content } }) => ({ snippetId: get(state`edit.item.id`), snippetContent: content }), ({ get }) => ({needImageRefresh: true, item_location: get(state`edit.item.item_location`)}), saveEditedItemSuccess, ], error: [ saveEditedItemError, ], }, ], false: [ saveToLocal, { success: [ ({ get }) => ({ snippetId: get(state`edit.item.id`) }), saveEditedItemSuccess, ], error: [ saveEditedItemError, ], }, ], }, ]); export { openEditModal, closeEditModal, saveEditedContent, };
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete