function* extract () { while (true) { const {payload: {namespaces, dependencies, pages, dirPath}} = yield take(actions.EXTRACT); yield put(spinnerActions.started('Extracting the source code')); try { yield call( serverApi.extractNamespaces, namespaces, dependencies, pages, dirPath ); yield put(actions.hide()); yield put( messageActions.success( 'The source code has been extracted successfully. Find extracted namespaces in ' + dirPath ) ); } catch (error) { yield put( messageActions.failed( 'Extracting the source code. ' + (error.message ? error.message : error) ) ); } yield put(spinnerActions.done('Extracting the source code')); } }
export const clonePage = (pageName, pagePath) => (dispatch, getState) => { try { dispatch(pushHistory()); const {deskPage: {currentPagePath}} = getState(); let pageList = graphApi.duplicatePage(currentPagePath, pagePath, pageName); dispatch(setPages(pageList)); dispatch(changePageRouteFeedback(pageList[pageList.length - 1].pagePath)); dispatch(reloadPage()); dispatch(saveModel()); dispatch(success('Page was cloned successfully')); } catch (e) { dispatch(failed(e.message ? e.message : e)); } };
export const addNewPage = (pageName, pagePath) => (dispatch, getState) => { try { dispatch(pushHistory()); let pageModel = utilsStore.getTemplatePageModel(); let pageList = graphApi.addNewPage(pageModel, pagePath, pageName); dispatch(setPages(pageList)); dispatch(changePageRouteFeedback(pageList[pageList.length - 1].pagePath)); dispatch(reloadPage()); dispatch(saveModel()); dispatch(success('New page was added successfully')); } catch (e) { dispatch(failed(e.message ? e.message : e)); } };
export const setIndexPage = () => (dispatch, getState) => { try { dispatch(pushHistory()); const {deskPage: {currentPagePath}} = getState(); let pageList = graphApi.setIndexPage(currentPagePath); if (pageList) { dispatch(setPages(pageList)); dispatch(reloadPage()); dispatch(saveModel()); dispatch(success('Route ' + currentPagePath + ' now is the index route.')); } } catch (e) { dispatch(failed(e.message ? e.message : e)); } };
export const deletePage = () => (dispatch, getState) => { try { dispatch(pushHistory()); const {deskPage: {currentPagePath, currentPageIndex}} = getState(); let pageList = graphApi.deletePage(currentPagePath); if (pageList) { dispatch(setPages(pageList)); if (currentPageIndex === 0) { dispatch(changePageRouteFeedback(pageList[0].pagePath)); } else if (currentPageIndex > 0) { dispatch(changePageRouteFeedback(pageList[currentPageIndex - 1].pagePath)); } dispatch(resetClipboardKeys()); dispatch(resetSelectedKeys()); dispatch(reloadPage()); dispatch(saveModel()); dispatch(success('Route path ' + currentPagePath + ' were deleted successfully')); } } catch (e) { dispatch(failed(e.message ? e.message : e)); } };
export const changePageOptions = (pageName, pagePath) => (dispatch, getState) => { const {deskPage: {currentPagePath, currentPageName}} = getState(); try { if (pagePath !== currentPagePath || pageName !== currentPageName) { dispatch(pushHistory()); let pageList; let firstChar = pageName.charAt(0).toUpperCase(); pageName = firstChar + pageName.substr(1); pageList = graphApi.changePagePathAndName(currentPagePath, pagePath, pageName); if (pageList) { dispatch(setPages(pageList)); dispatch(changePageRouteFeedback(pagePath)); dispatch(reloadPage()); dispatch(saveModel()); dispatch(success('Page options were changed successfully.')); } } } catch (e) { dispatch(failed(e.message ? e.message : e)); } };