diff --git a/.babelrc b/.babelrc
index c248f9daac..207bb399c5 100644
--- a/.babelrc
+++ b/.babelrc
@@ -14,27 +14,37 @@
"polyfill": false,
"regenerator": true
}
+ ],
+ [
+ "module-resolver",
+ {
+ "root": ["."],
+ "alias": {
+ "#rs": "./src/vendor/react-store",
+ "#ravl": "./src/vendor/ravl",
+
+ "#components": "./src/components",
+ "#config": "./src/config",
+ "#entities": "./src/entities",
+ "#constants": "./src/constants",
+ "#redux": "./src/redux",
+ "#resources": "./src/resources",
+ "#rest": "./src/rest",
+ "#schema": "./src/schema",
+ "#utils": "./src/utils",
+ "#widgets": "./src/widgets",
+
+ "#notify": "./src/notify",
+ "#store": "./src/store",
+ "#ts": "./src/ts"
+ }
+ }
]
],
"env": {
"test": {
- "presets": [
- "@babel/preset-env",
- "@babel/preset-react",
- [
- "@babel/preset-stage-2",
- { "decoratorsLegacy": true }
- ]
- ],
"plugins": [
- "babel-plugin-dynamic-import-node",
- [
- "@babel/plugin-transform-runtime",
- {
- "polyfill": false,
- "regenerator": true
- }
- ],
+ "babel-plugin-dynamic-import-node"
]
}
}
diff --git a/.eslintrc b/.eslintrc
index 722b19cbc8..a0b68f8169 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -12,8 +12,14 @@
},
"plugins": [
"react",
+ "import",
"css-modules"
],
+ "settings": {
+ "import/resolver": {
+ "babel-module": {}
+ }
+ },
"rules": {
"strict": 0,
"indent": ["error", 4, { "SwitchCase": 1 }],
@@ -50,8 +56,8 @@
"react/no-unused-state": "warn",
"react/default-props-match-prop-types": ["warn", {
- "allowRequiredDefaults": true
- }],
+ "allowRequiredDefaults": true
+ }]
},
"parser": "babel-eslint",
"parserOptions": {
diff --git a/package.json b/package.json
index 0cd262e41e..d122e719e8 100644
--- a/package.json
+++ b/package.json
@@ -58,6 +58,7 @@
"babel-jest": "^22.4.3",
"babel-loader": "^8.0.0-beta.2",
"babel-plugin-dynamic-import-node": "^1.2.0",
+ "babel-plugin-module-resolver": "^3.1.1",
"babel-preset-env": "^1.6.1",
"circular-dependency-plugin": "^5.0.2",
"clean-webpack-plugin": "^0.1.19",
@@ -66,6 +67,7 @@
"enzyme-adapter-react-16": "^1.1.1",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^16.1.0",
+ "eslint-import-resolver-babel-module": "^5.0.0-beta.0",
"eslint-loader": "^2.0.0",
"eslint-plugin-css-modules": "^2.7.5",
"eslint-plugin-import": "^2.11.0",
diff --git a/src/App.js b/src/App.js
index 332bcd0185..ca54ba9c00 100644
--- a/src/App.js
+++ b/src/App.js
@@ -3,30 +3,30 @@ import React from 'react';
import { connect } from 'react-redux';
import { BrowserRouter } from 'react-router-dom';
-import { FgRestBuilder } from './vendor/react-store/utils/rest';
-import AppLoading from './components/AppLoading';
+import { FgRestBuilder } from '#rs/utils/rest';
+import AppLoading from '#components/AppLoading';
import {
initializeGa,
setGaUserId,
-} from './config/google-analytics';
+} from '#config/google-analytics';
import {
createParamsForTokenRefresh,
urlForTokenRefresh,
-} from './rest';
+} from '#rest';
import {
startSiloBackgroundTasksAction,
stopSiloBackgroundTasksAction,
-} from './redux/middlewares/siloBackgroundTasks';
+} from '#redux/middlewares/siloBackgroundTasks';
import {
setAccessTokenAction,
logoutAction,
tokenSelector,
activeUserSelector,
readySelector,
-} from './redux';
-import getUserConfirmation from './utils/getUserConfirmation';
+} from '#redux';
+import getUserConfirmation from '#utils/getUserConfirmation';
-import schema from './schema';
+import schema from '#schema';
import Multiplexer from './Multiplexer';
diff --git a/src/Multiplexer.js b/src/Multiplexer.js
index f2a520ef72..9add4f6560 100644
--- a/src/Multiplexer.js
+++ b/src/Multiplexer.js
@@ -7,23 +7,23 @@ import {
} from 'react-router-dom';
import { connect } from 'react-redux';
-import ExclusivelyPublicRoute from './vendor/react-store/components/General/ExclusivelyPublicRoute';
-import PrivateRoute from './vendor/react-store/components/General/PrivateRoute';
-import Toast from './vendor/react-store/components/View/Toast';
+import ExclusivelyPublicRoute from '#rs/components/General/ExclusivelyPublicRoute';
+import PrivateRoute from '#rs/components/General/PrivateRoute';
+import Toast from '#rs/components/View/Toast';
-import Navbar from './components/Navbar';
+import Navbar from '#components/Navbar';
import {
pathNames,
views,
routesOrder,
routes,
-} from './constants';
+} from '#constants';
import {
authenticatedSelector,
lastNotifySelector,
notifyHideAction,
-} from './redux';
+} from '#redux';
const ROUTE = {
exclusivelyPublic: 'exclusively-public',
diff --git a/src/Root.js b/src/Root.js
index 5210dab368..fdeb270275 100644
--- a/src/Root.js
+++ b/src/Root.js
@@ -2,9 +2,9 @@ import React from 'react';
import { Provider } from 'react-redux';
import { persistStore } from 'redux-persist';
-import { startActionsSync } from './vendor/react-store/utils/redux-sync';
+import { startActionsSync } from '#rs/utils/redux-sync';
-import store from './store';
+import store from '#store';
import App from './App';
diff --git a/src/components/AddRegion/index.js b/src/components/AddRegion/index.js
index fed0500638..c727d1e273 100644
--- a/src/components/AddRegion/index.js
+++ b/src/components/AddRegion/index.js
@@ -3,29 +3,29 @@ import React from 'react';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import Faram, { requiredCondition } from '../../vendor/react-store/components/Input/Faram';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import TextInput from '#rs/components/Input/TextInput';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { reverseRoute } from '../../vendor/react-store/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { reverseRoute } from '#rs/utils/common';
-import { pathNames } from '../../constants';
+import { pathNames } from '#constants';
import {
alterResponseErrorToFaramError,
createParamsForRegionCreate,
urlForRegionCreate,
-} from '../../rest';
+} from '#rest';
import {
addNewRegionAction,
-} from '../../redux';
-import notify from '../../notify';
-import schema from '../../schema';
-import _ts from '../../ts';
+} from '#redux';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/AppError/index.js b/src/components/AppError/index.js
index 17059e26b2..6417f4149b 100644
--- a/src/components/AppError/index.js
+++ b/src/components/AppError/index.js
@@ -1,6 +1,6 @@
import React from 'react';
-import _ts from '../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
export default class AppError extends React.PureComponent {
diff --git a/src/components/AppLoading/index.js b/src/components/AppLoading/index.js
index 001fb03ef9..398ec92899 100644
--- a/src/components/AppLoading/index.js
+++ b/src/components/AppLoading/index.js
@@ -1,7 +1,7 @@
import React from 'react';
-import { getRandomFromList } from '../../vendor/react-store/utils/common';
-import _ts from '../../ts';
+import { getRandomFromList } from '#rs/utils/common';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/AssistedTagging/index.js b/src/components/AssistedTagging/index.js
index 577b813a91..144b38434f 100644
--- a/src/components/AssistedTagging/index.js
+++ b/src/components/AssistedTagging/index.js
@@ -1,34 +1,32 @@
import PropTypes from 'prop-types';
import React from 'react';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import SegmentButton from '#rs/components/Action/SegmentButton';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import FloatingContainer from '#rs/components/View/FloatingContainer';
+import ListView from '#rs/components/View/List/ListView';
+import { getHexFromString } from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+
+import { iconNames } from '#constants';
+import notify from '#notify';
import {
- getHexFromString,
-} from '../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import SuccessButton from '../../vendor/react-store/components/Action/Button/SuccessButton';
-import WarningButton from '../../vendor/react-store/components/Action/Button/WarningButton';
-import SegmentButton from '../../vendor/react-store/components/Action/SegmentButton';
-import FloatingContainer from '../../vendor/react-store/components/View/FloatingContainer';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-import MultiSelectInput from '../../vendor/react-store/components/Input/MultiSelectInput';
-
-import {
- urlForLeadClassify,
- urlForNer,
- urlForFeedback,
- createUrlForCeClassify,
- createParamsForLeadClassify,
createParamsForCeClassify,
- createParamsForNer,
createParamsForFeedback,
-} from '../../rest';
-import { iconNames } from '../../constants';
-import notify from '../../notify';
-import schema from '../../schema';
-import SimplifiedLeadPreview from '../SimplifiedLeadPreview';
-import _ts from '../../ts';
+ createParamsForLeadClassify,
+ createParamsForNer,
+ createUrlForCeClassify,
+ urlForFeedback,
+ urlForLeadClassify,
+ urlForNer,
+} from '#rest';
+import schema from '#schema';
+import _ts from '#ts';
+import SimplifiedLeadPreview from '../SimplifiedLeadPreview';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/Baksa/index.js b/src/components/Baksa/index.js
index 626cb9928c..f0e13342b5 100644
--- a/src/components/Baksa/index.js
+++ b/src/components/Baksa/index.js
@@ -1,24 +1,24 @@
import PropTypes from 'prop-types';
import React from 'react';
-import styles from './styles.scss';
-import iconNames from '../../vendor/react-store/constants/iconNames';
-import DropZone from '../../vendor/react-store/components/Input/DropZone';
-import FileInput from '../../vendor/react-store/components/Input/FileInput';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import NumberInput from '../../vendor/react-store/components/Input/NumberInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import { UploadBuilder } from '../../vendor/react-store/utils/upload';
-import { isTruthy, isFalsy } from '../../vendor/react-store/utils/common';
-import FaramElement from '../../vendor/react-store/components/Input/Faram/FaramElement';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DropZone from '#rs/components/Input/DropZone';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+import FileInput from '#rs/components/Input/FileInput';
+import NumberInput from '#rs/components/Input/NumberInput';
+import TextInput from '#rs/components/Input/TextInput';
+import iconNames from '#rs/constants/iconNames';
+import { isTruthy, isFalsy } from '#rs/utils/common';
+import { UploadBuilder } from '#rs/utils/upload';
import {
urlForUpload,
createParamsForFileUpload,
transformAndCombineResponseErrors,
-} from '../../rest';
+} from '#rest';
+import styles from './styles.scss';
const propTypes = {
className: PropTypes.string,
diff --git a/src/components/Cloak.js b/src/components/Cloak.js
index e18d75b301..32923d9d99 100644
--- a/src/components/Cloak.js
+++ b/src/components/Cloak.js
@@ -7,7 +7,7 @@ import {
currentUserProjectsSelector,
activeProjectFromStateSelector,
routePathKeySelector,
-} from '../redux';
+} from '#redux';
const mapStateToProps = state => ({
activeUser: activeUserSelector(state),
@@ -56,7 +56,7 @@ const defaultProps = {
};
@connect(mapStateToProps, undefined)
-export default class Cloak extends React.PureComponent {
+export default class Cloak extends React.Component {
static propTypes = propTypes;
static defaultProps = defaultProps;
@@ -79,7 +79,6 @@ export default class Cloak extends React.PureComponent {
renderOnCloak,
} = this.props;
-
if (
(requireDevMode && process.env.NODE_ENV !== 'development') ||
(requireProject && userProjects.length <= 0) ||
diff --git a/src/components/DeepGallery/components/ExternalGallery/index.js b/src/components/DeepGallery/components/ExternalGallery/index.js
index b1ef8d66ab..1d63074e52 100644
--- a/src/components/DeepGallery/components/ExternalGallery/index.js
+++ b/src/components/DeepGallery/components/ExternalGallery/index.js
@@ -1,14 +1,14 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { FgRestBuilder } from '../../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
-import { iconNames } from '../../../../constants';
+import { iconNames } from '#constants';
import {
createUrlForWebsiteFetch,
createParamsForGet,
-} from '../../../../rest';
-import _ts from '../../../../ts';
+} from '#rest';
+import _ts from '#ts';
import GalleryViewer from '../GalleryViewer';
import styles from './styles.scss';
diff --git a/src/components/DeepGallery/components/GalleryDocs/index.js b/src/components/DeepGallery/components/GalleryDocs/index.js
index 5338d65e01..ea36f72c2e 100644
--- a/src/components/DeepGallery/components/GalleryDocs/index.js
+++ b/src/components/DeepGallery/components/GalleryDocs/index.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { createUrlForGoogleViewer } from '../../../../rest/external';
+import { createUrlForGoogleViewer } from '#rest/external';
import styles from './styles.scss';
-export { galleryDocsMimeType as supportedMimeType } from '../../../../config/deepMimeTypes';
+export { galleryDocsMimeType as supportedMimeType } from '#config/deepMimeTypes';
const propTypes = {
className: PropTypes.string,
diff --git a/src/components/DeepGallery/components/GalleryImage/index.js b/src/components/DeepGallery/components/GalleryImage/index.js
index e3d0c47e53..33f42d86f7 100644
--- a/src/components/DeepGallery/components/GalleryImage/index.js
+++ b/src/components/DeepGallery/components/GalleryImage/index.js
@@ -1,12 +1,12 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { iconNames } from '../../../../constants';
-import _ts from '../../../../ts';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import styles from './styles.scss';
-export { galleryImageMimeType as supportedMimeType } from '../../../../config/deepMimeTypes';
+export { galleryImageMimeType as supportedMimeType } from '#config/deepMimeTypes';
const propTypes = {
className: PropTypes.string,
diff --git a/src/components/DeepGallery/components/GalleryViewer/index.js b/src/components/DeepGallery/components/GalleryViewer/index.js
index 7d65fcc9fe..eb5bcb9718 100644
--- a/src/components/DeepGallery/components/GalleryViewer/index.js
+++ b/src/components/DeepGallery/components/GalleryViewer/index.js
@@ -1,14 +1,14 @@
import PropTypes from 'prop-types';
import React from 'react';
-import AccentButton from '../../../../vendor/react-store/components/Action/Button/AccentButton';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
-import urlRegex from '../../../../vendor/react-store/components/Input/Faram/regexForWeburl';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import TextInput from '#rs/components/Input/TextInput';
+import urlRegex from '#rs/components/Input/Faram/regexForWeburl';
-import { galleryMapping, galleryType } from '../../../../config/deepMimeTypes';
-import { iconNames } from '../../../../constants';
-import notify from '../../../../notify';
-import _ts from '../../../../ts';
+import { galleryMapping, galleryType } from '#config/deepMimeTypes';
+import { iconNames } from '#constants';
+import notify from '#notify';
+import _ts from '#ts';
import Screenshot from '../../../Screenshot';
import GalleryImage from '../GalleryImage';
diff --git a/src/components/DeepGallery/components/InternalGallery/index.js b/src/components/DeepGallery/components/InternalGallery/index.js
index 6bf27d367e..b2da6d78bb 100644
--- a/src/components/DeepGallery/components/InternalGallery/index.js
+++ b/src/components/DeepGallery/components/InternalGallery/index.js
@@ -1,14 +1,14 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { FgRestBuilder } from '../../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForGalleryFile,
createParamsForGet,
-} from '../../../../rest';
-import { iconNames } from '../../../../constants';
-import _ts from '../../../../ts';
+} from '#rest';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import GalleryViewer from '../GalleryViewer';
import styles from './styles.scss';
diff --git a/src/components/DeepGalleryFileSelect/DeepGallerySelect/index.js b/src/components/DeepGalleryFileSelect/DeepGallerySelect/index.js
index 300167ae1e..9fb11498f6 100644
--- a/src/components/DeepGalleryFileSelect/DeepGallerySelect/index.js
+++ b/src/components/DeepGalleryFileSelect/DeepGallerySelect/index.js
@@ -2,25 +2,31 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
+import Button from '#rs/components/Action/Button';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import FileInput from '#rs/components/Input/FileInput';
+import SearchInput from '#rs/components/Input/SearchInput';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
import {
caseInsensitiveSubmatch,
compareString,
compareDate,
-} from '../../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import { UploadBuilder } from '../../../vendor/react-store/utils/upload';
-import FileInput from '../../../vendor/react-store/components/Input/FileInput';
-import Table from '../../../vendor/react-store/components/View/Table';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
+} from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { UploadBuilder } from '#rs/utils/upload';
+import { iconNames } from '#constants';
+import { leadTypeIconMap } from '#entities/lead';
+import {
+ userGalleryFilesSelector,
+ setUserGalleryFilesAction,
+} from '#redux';
import {
createUrlForGalleryFiles,
createParamsForGet,
@@ -28,14 +34,8 @@ import {
urlForUpload,
createParamsForFileUpload,
transformAndCombineResponseErrors,
-} from '../../../rest';
-import {
- userGalleryFilesSelector,
- setUserGalleryFilesAction,
-} from '../../../redux';
-import { iconNames } from '../../../constants';
-import { leadTypeIconMap } from '../../../entities/lead';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/DeepGalleryFileSelect/index.js b/src/components/DeepGalleryFileSelect/index.js
index c1db5ceb33..23df654700 100644
--- a/src/components/DeepGalleryFileSelect/index.js
+++ b/src/components/DeepGalleryFileSelect/index.js
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Modal from '../../vendor/react-store/components/View/Modal';
+import Modal from '#rs/components/View/Modal';
import DeepGallerySelect from './DeepGallerySelect';
import styles from './styles.scss';
diff --git a/src/components/DisplayPicture/index.js b/src/components/DisplayPicture/index.js
index 2ed167a0fb..a86081c0fb 100644
--- a/src/components/DisplayPicture/index.js
+++ b/src/components/DisplayPicture/index.js
@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ReactSVG from 'react-svg';
-import defaultUser from '../../resources/img/default-user.svg';
+import defaultUser from '#resources/img/default-user.svg';
import { InternalGallery } from '../DeepGallery';
import styles from './styles.scss';
diff --git a/src/components/DropboxChooser/index.js b/src/components/DropboxChooser/index.js
index 5b5808fa45..874134e23c 100644
--- a/src/components/DropboxChooser/index.js
+++ b/src/components/DropboxChooser/index.js
@@ -1,10 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Button from '../../vendor/react-store/components/Action/Button';
+import Button from '#rs/components/Action/Button';
-import _ts from '../../ts';
-import { SCRIPT_ID } from '../../config/dropbox';
+import _ts from '#ts';
+import { SCRIPT_ID } from '#config/dropbox';
import styles from './styles.scss';
diff --git a/src/components/EditAdminLevel/index.js b/src/components/EditAdminLevel/index.js
index e1e2278b40..acdf0c71a9 100644
--- a/src/components/EditAdminLevel/index.js
+++ b/src/components/EditAdminLevel/index.js
@@ -2,23 +2,23 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { BgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { UploadBuilder } from '../../vendor/react-store/utils/upload';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import HiddenInput from '../../vendor/react-store/components/Input/HiddenInput';
-import FileInput from '../../vendor/react-store/components/Input/FileInput';
-import SelectInput from '../../vendor/react-store/components/Input/SelectInput';
+import { BgRestBuilder } from '#rs/utils/rest';
+import { UploadBuilder } from '#rs/utils/upload';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import TextInput from '#rs/components/Input/TextInput';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import HiddenInput from '#rs/components/Input/HiddenInput';
+import FileInput from '#rs/components/Input/FileInput';
+import SelectInput from '#rs/components/Input/SelectInput';
import Faram, {
greaterThanOrEqualToCondition,
requiredCondition,
integerCondition,
-} from '../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
-import { InternalGallery } from '../../components/DeepGallery';
+import { InternalGallery } from '#components/DeepGallery';
import {
alterResponseErrorToFaramError,
createParamsForAdminLevelsForRegionPOST,
@@ -27,13 +27,13 @@ import {
createUrlForAdminLevel,
urlForAdminLevels,
urlForUpload,
-} from '../../rest';
-import { addAdminLevelForRegionAction } from '../../redux';
-import schema from '../../schema';
-import { iconNames } from '../../constants';
-import _ts from '../../ts';
+} from '#rest';
+import { addAdminLevelForRegionAction } from '#redux';
+import schema from '#schema';
+import { iconNames } from '#constants';
+import _ts from '#ts';
-import notify from '../../notify';
+import notify from '#notify';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/ExportPreview/index.js b/src/components/ExportPreview/index.js
index 4f89c8a91f..ea5aef1a3c 100644
--- a/src/components/ExportPreview/index.js
+++ b/src/components/ExportPreview/index.js
@@ -1,14 +1,14 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import { FgRestBuilder } from '#rs/utils/rest';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
createParamsForGet,
createUrlForExport,
-} from '../../rest';
-import _ts from '../../ts';
+} from '#rest';
+import _ts from '#ts';
import { GalleryViewer } from '../DeepGallery';
import styles from './styles.scss';
diff --git a/src/components/GeoJsonMap/index.js b/src/components/GeoJsonMap/index.js
index 399dfb807d..cdc6ad3af8 100644
--- a/src/components/GeoJsonMap/index.js
+++ b/src/components/GeoJsonMap/index.js
@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import mapboxgl from 'mapbox-gl';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
const propTypes = {
className: PropTypes.string,
diff --git a/src/components/GeoListInput/index.js b/src/components/GeoListInput/index.js
index 34d24add0b..3d5568e901 100644
--- a/src/components/GeoListInput/index.js
+++ b/src/components/GeoListInput/index.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import AccentButton from '../../vendor/react-store/components/Action/Button/AccentButton';
-import ListInput from '../../vendor/react-store/components/Input/ListInput';
-import FaramElement from '../../vendor/react-store/components/Input/Faram/FaramElement';
-import { iconNames } from '../../constants';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import ListInput from '#rs/components/Input/ListInput';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+import { iconNames } from '#constants';
import GeoModal from '../GeoModal';
import styles from './styles.scss';
diff --git a/src/components/GeoModal/index.js b/src/components/GeoModal/index.js
index 9d1ff882a5..b8a9511b51 100644
--- a/src/components/GeoModal/index.js
+++ b/src/components/GeoModal/index.js
@@ -1,16 +1,16 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../vendor/react-store/components/View/Modal/Footer';
-import Button from '../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import SelectInput from '../../vendor/react-store/components/Input/SelectInput';
-import MultiSelectInput from '../../vendor/react-store/components/Input/MultiSelectInput';
-import ListInput from '../../vendor/react-store/components/Input/ListInput';
-import FaramElement from '../../vendor/react-store/components/Input/Faram/FaramElement';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SelectInput from '#rs/components/Input/SelectInput';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import ListInput from '#rs/components/Input/ListInput';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
import RegionMap from '../RegionMap';
import styles from './styles.scss';
diff --git a/src/components/GeoSelection/index.js b/src/components/GeoSelection/index.js
index 137a2bd9aa..72cd8cb367 100644
--- a/src/components/GeoSelection/index.js
+++ b/src/components/GeoSelection/index.js
@@ -1,25 +1,25 @@
import PropTypes from 'prop-types';
import React from 'react';
-import update from '../../vendor/react-store/utils/immutable-update';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../vendor/react-store/components/View/Modal/Footer';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-import SelectInput from '../../vendor/react-store/components/Input/SelectInput';
-import MultiSelectInput from '../../vendor/react-store/components/Input/MultiSelectInput';
-import Button from '../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../vendor/react-store/components/Action/Button/AccentButton';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import FaramElement from '../../vendor/react-store/components/Input/Faram/FaramElement';
+import Button from '#rs/components/Action/Button';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import SelectInput from '#rs/components/Input/SelectInput';
+import ListView from '#rs/components/View/List/ListView';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import update from '#rs/utils/immutable-update';
+
+import { iconNames } from '#constants';
+import _ts from '#ts';
-import WidgetEmptyComponent from '../WidgetEmptyComponent';
-import _ts from '../../ts';
-
-import { iconNames } from '../../constants';
import RegionMap from '../RegionMap';
+import WidgetEmptyComponent from '../WidgetEmptyComponent';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/GooglePicker/index.js b/src/components/GooglePicker/index.js
index 60c536763d..6944e41379 100644
--- a/src/components/GooglePicker/index.js
+++ b/src/components/GooglePicker/index.js
@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Button from '../../vendor/react-store/components/Action/Button';
-import _ts from '../../ts';
+import Button from '#rs/components/Action/Button';
+import _ts from '#ts';
const propTypes = {
className: PropTypes.string,
diff --git a/src/components/ImagesGrid/index.js b/src/components/ImagesGrid/index.js
index 9c933aa6e3..70a6b7729c 100644
--- a/src/components/ImagesGrid/index.js
+++ b/src/components/ImagesGrid/index.js
@@ -1,13 +1,13 @@
import PropTypes from 'prop-types';
import React from 'react';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import ListView from '#rs/components/View/List/ListView';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
-import { iconNames } from '../../constants';
+import { iconNames } from '#constants';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/ImagesSlider/index.js b/src/components/ImagesSlider/index.js
index 276ce0675a..2612e94ed9 100644
--- a/src/components/ImagesSlider/index.js
+++ b/src/components/ImagesSlider/index.js
@@ -1,9 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Button from '../../vendor/react-store/components/Action/Button';
+import Button from '#rs/components/Action/Button';
-import { iconNames } from '../../constants';
+import { iconNames } from '#constants';
import { InternalGallery } from '../DeepGallery';
import styles from './styles.scss';
diff --git a/src/components/LeadPreview/index.js b/src/components/LeadPreview/index.js
index 2dcf41e4ed..c9ac7ecfa0 100644
--- a/src/components/LeadPreview/index.js
+++ b/src/components/LeadPreview/index.js
@@ -1,12 +1,12 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { LEAD_TYPE } from '../../entities/lead';
+import { LEAD_TYPE } from '#entities/lead';
import {
InternalGallery,
ExternalGallery,
-} from '../../components/DeepGallery';
-import _ts from '../../ts';
+} from '#components/DeepGallery';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/Navbar/NavDrop/index.js b/src/components/Navbar/NavDrop/index.js
index 8abf4331e9..445aa8c76b 100644
--- a/src/components/Navbar/NavDrop/index.js
+++ b/src/components/Navbar/NavDrop/index.js
@@ -6,26 +6,26 @@ import {
Link,
} from 'react-router-dom';
-import DisplayPicture from '../../../components/DisplayPicture';
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
-import List from '../../../vendor/react-store/components/View/List';
-import DropdownMenu from '../../../vendor/react-store/components/Action/DropdownMenu';
-import DropdownGroup from '../../../vendor/react-store/components/Action/DropdownMenu/Group';
-
-import { stopSiloBackgroundTasksAction } from '../../../redux/middlewares/siloBackgroundTasks';
-import { adminEndpoint } from '../../../config/rest';
+import DisplayPicture from '#components/DisplayPicture';
+import { reverseRoute } from '#rs/utils/common';
+import List from '#rs/components/View/List';
+import DropdownMenu from '#rs/components/Action/DropdownMenu';
+import DropdownGroup from '#rs/components/Action/DropdownMenu/Group';
+
+import { stopSiloBackgroundTasksAction } from '#redux/middlewares/siloBackgroundTasks';
+import { adminEndpoint } from '#config/rest';
import {
logoutAction,
activeCountryIdFromStateSelector,
activeProjectIdFromStateSelector,
activeUserSelector,
currentUserInformationSelector,
-} from '../../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../../constants';
-import _ts from '../../../ts';
+} from '#constants';
+import _ts from '#ts';
import Cloak from '../../Cloak';
import styles from './styles.scss';
diff --git a/src/components/Navbar/NavMenu/index.js b/src/components/Navbar/NavMenu/index.js
index 467a9f8f55..8d8768e3af 100644
--- a/src/components/Navbar/NavMenu/index.js
+++ b/src/components/Navbar/NavMenu/index.js
@@ -5,15 +5,15 @@ import {
NavLink,
} from 'react-router-dom';
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
-import List from '../../../vendor/react-store/components/View/List';
-import DropdownMenu from '../../../vendor/react-store/components/Action/DropdownMenu';
+import { reverseRoute } from '#rs/utils/common';
+import List from '#rs/components/View/List';
+import DropdownMenu from '#rs/components/Action/DropdownMenu';
import {
iconNames,
pathNames,
-} from '../../../constants';
-import _ts from '../../../ts';
+} from '#constants';
+import _ts from '#ts';
import Cloak from '../../Cloak';
import styles from './styles.scss';
diff --git a/src/components/Navbar/index.js b/src/components/Navbar/index.js
index e32b90b32c..f1b235e6b7 100644
--- a/src/components/Navbar/index.js
+++ b/src/components/Navbar/index.js
@@ -9,17 +9,17 @@ import {
} from 'react-router-dom';
-import { BgRestBuilder } from '../../vendor/react-store/utils/rest';
+import { BgRestBuilder } from '#rs/utils/rest';
import {
isTruthy,
reverseRoute,
-} from '../../vendor/react-store/utils/common';
-import SelectInput from '../../vendor/react-store/components/Input/SelectInput';
+} from '#rs/utils/common';
+import SelectInput from '#rs/components/Input/SelectInput';
import {
createUrlForSetUserProject,
createParamsForSetUserProject,
-} from '../../rest';
+} from '#rest';
import {
setActiveProjectAction,
@@ -27,15 +27,15 @@ import {
activeProjectIdFromStateSelector,
activeUserSelector,
currentUserProjectsSelector,
-} from '../../redux';
-import _ts from '../../ts';
+} from '#redux';
+import _ts from '#ts';
import {
pathNames,
validLinks,
hideNavbar,
-} from '../../constants';
-import logo from '../../resources/img/deep-logo-simplified.svg';
+} from '#constants';
+import logo from '#resources/img/deep-logo-simplified.svg';
import Cloak from '../Cloak';
import NavMenu from './NavMenu';
diff --git a/src/components/OrganigramSelectInput/index.js b/src/components/OrganigramSelectInput/index.js
index 9070db6f07..d82e3b0762 100644
--- a/src/components/OrganigramSelectInput/index.js
+++ b/src/components/OrganigramSelectInput/index.js
@@ -1,18 +1,18 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Organigram from '../../vendor/react-store/components/Visualization/Organigram';
-import Button from '../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../vendor/react-store/components/Action/Button/AccentButton';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../vendor/react-store/components/View/Modal/Footer';
-import HintAndError from '../../vendor/react-store/components/Input/HintAndError';
-import FaramElement from '../../vendor/react-store/components/Input/Faram/FaramElement';
-
-import { iconNames } from '../../constants';
+import Organigram from '#rs/components/Visualization/Organigram';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import HintAndError from '#rs/components/Input/HintAndError';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+
+import { iconNames } from '#constants';
import styles from './styles.scss';
const emptyObject = {};
diff --git a/src/components/OrganigramWithList/index.js b/src/components/OrganigramWithList/index.js
index 2a8ed0150f..ca57fbf579 100644
--- a/src/components/OrganigramWithList/index.js
+++ b/src/components/OrganigramWithList/index.js
@@ -1,18 +1,18 @@
import PropTypes from 'prop-types';
import React from 'react';
-import OrgChart from '../../vendor/react-store/components/Visualization/OrgChart';
-import Button from '../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../vendor/react-store/components/Action/Button/AccentButton';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../vendor/react-store/components/View/Modal/Footer';
-import ListInput from '../../vendor/react-store/components/Input/ListInput';
-import FaramElement from '../../vendor/react-store/components/Input/Faram/FaramElement';
-
-import { iconNames } from '../../constants';
+import OrgChart from '#rs/components/Visualization/OrgChart';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ListInput from '#rs/components/Input/ListInput';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/components/RegionAdminLevel/index.js b/src/components/RegionAdminLevel/index.js
index 7e07ad6153..4897782a8c 100644
--- a/src/components/RegionAdminLevel/index.js
+++ b/src/components/RegionAdminLevel/index.js
@@ -2,32 +2,32 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { BgRestBuilder } from '../../vendor/react-store/utils/rest';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import Confirm from '../../vendor/react-store/components/View/Modal/Confirm';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import Table from '../../vendor/react-store/components/View/Table';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import { BgRestBuilder } from '#rs/utils/rest';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import Table from '#rs/components/View/Table';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
createUrlForAdminLevelsForRegion,
createParamsForGet,
createParamsForAdminLevelDelete,
createUrlForAdminLevel,
-} from '../../rest';
+} from '#rest';
import {
adminLevelForRegionSelector,
setAdminLevelsForRegionAction,
unsetAdminLevelForRegionAction,
-} from '../../redux';
-import schema from '../../schema';
-import { iconNames } from '../../constants';
-import _ts from '../../ts';
+} from '#redux';
+import schema from '#schema';
+import { iconNames } from '#constants';
+import _ts from '#ts';
-import notify from '../../notify';
+import notify from '#notify';
import EditAdminLevel from '../EditAdminLevel';
import styles from './styles.scss';
diff --git a/src/components/RegionDetail/index.js b/src/components/RegionDetail/index.js
index f7d290b9c8..c77e320f12 100644
--- a/src/components/RegionDetail/index.js
+++ b/src/components/RegionDetail/index.js
@@ -1,12 +1,12 @@
import PropTypes from 'prop-types';
import React from 'react';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import FaramGroup from '../../vendor/react-store/components/Input/Faram/FaramGroup';
+import TextInput from '#rs/components/Input/TextInput';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
-import _ts from '../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/RegionDetailView/index.js b/src/components/RegionDetailView/index.js
index cb031800fa..6028330330 100644
--- a/src/components/RegionDetailView/index.js
+++ b/src/components/RegionDetailView/index.js
@@ -2,10 +2,10 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
+import ListView from '#rs/components/View/List/ListView';
-import { generalDetailsForRegionSelector } from '../../redux';
-import _ts from '../../ts';
+import { generalDetailsForRegionSelector } from '#redux';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/RegionMap/index.js b/src/components/RegionMap/index.js
index 5c68159c5b..c08526c4bb 100644
--- a/src/components/RegionMap/index.js
+++ b/src/components/RegionMap/index.js
@@ -1,22 +1,22 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import SegmentButton from '../../vendor/react-store/components/Action/SegmentButton';
-import Button from '../../vendor/react-store/components/Action/Button';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import Button from '#rs/components/Action/Button';
+import SegmentButton from '#rs/components/Action/SegmentButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { iconNames } from '#constants';
import {
createParamsForGet,
createUrlForAdminLevelsForRegion,
createUrlForGeoAreasLoadTrigger,
createUrlForGeoJsonMap,
createUrlForGeoJsonBounds,
-} from '../../rest';
-import { iconNames } from '../../constants';
-import GeoJsonMap from '../GeoJsonMap';
-import _ts from '../../ts';
+} from '#rest';
+import _ts from '#ts';
+import GeoJsonMap from '../GeoJsonMap';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/RouteSynchronizer.js b/src/components/RouteSynchronizer.js
index 742e805e8b..819be610d2 100644
--- a/src/components/RouteSynchronizer.js
+++ b/src/components/RouteSynchronizer.js
@@ -3,13 +3,15 @@ import Helmet from 'react-helmet';
import React, { Fragment } from 'react';
import { connect } from 'react-redux';
-import viewsAcl from '../constants/viewsAcl';
-import { routes } from '../constants';
+import Bundle from '#rs/components/General/Bundle';
+import withTracker from '#rs/components/General/withTracker';
+import {
+ reverseRoute,
+} from '#rs/utils/common';
-import Cloak from '../components/Cloak';
-import Bundle from '../vendor/react-store/components/General/Bundle';
-import withTracker from '../vendor/react-store/components/General/withTracker';
-import { reverseRoute } from '../vendor/react-store/utils/common';
+import Cloak from '#components/Cloak';
+import routes from '#constants/routes';
+import viewsAcl from '#constants/viewsAcl';
import {
activeProjectIdFromStateSelector,
@@ -17,9 +19,8 @@ import {
setActiveProjectAction,
setActiveCountryAction,
setRouteParamsAction,
- routePathKeySelector,
-} from '../redux';
-import _ts from '../ts';
+} from '#redux';
+import _ts from '#ts';
const propTypes = {
match: PropTypes.shape({
@@ -42,8 +43,6 @@ const propTypes = {
activeCountryId: PropTypes.number,
setRouteParams: PropTypes.func.isRequired,
- routePathKey: PropTypes.string.isRequired,
-
name: PropTypes.string.isRequired,
};
@@ -55,7 +54,6 @@ const defaultProps = {
const mapStateToProps = state => ({
activeProjectId: activeProjectIdFromStateSelector(state),
activeCountryId: activeCountryIdFromStateSelector(state),
- routePathKey: routePathKeySelector(state),
});
const mapDispatchToProps = dispatch => ({
@@ -195,7 +193,7 @@ class RouteSynchronizer extends React.PureComponent {
renderBundle = () => {
const {
match, // eslint-disable-line no-unused-vars
- routePathKey,
+ name,
...otherProps
} = this.props;
@@ -204,26 +202,26 @@ class RouteSynchronizer extends React.PureComponent {
- { _ts('pageTitle', routePathKey) }
+ { _ts('pageTitle', name) }
-
+
);
}
renderBundleOnCloak = () => {
- const routePathKey = 'fourHundredFour';
+ const name = 'fourHundredFour';
return (
- { _ts('pageTitle', routePathKey) }
+ { _ts('pageTitle', name) }
);
diff --git a/src/components/Screenshot/index.js b/src/components/Screenshot/index.js
index 791d808331..ab6851d9e7 100644
--- a/src/components/Screenshot/index.js
+++ b/src/components/Screenshot/index.js
@@ -5,7 +5,7 @@ import ReactResizeDetector from 'react-resize-detector';
import { brush as d3Brush } from 'd3-brush';
import { select, event } from 'd3-selection';
-import { getScreenshot } from '../../utils/browserExtension';
+import { getScreenshot } from '#utils/browserExtension';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/SimplifiedFilePreview/index.js b/src/components/SimplifiedFilePreview/index.js
index 2a12997636..60cf45bc46 100644
--- a/src/components/SimplifiedFilePreview/index.js
+++ b/src/components/SimplifiedFilePreview/index.js
@@ -1,16 +1,16 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import { FgRestBuilder } from '#rs/utils/rest';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
createParamsForGet,
createParamsForFileExtractionTrigger,
createUrlForSimplifiedFilePreview,
urlForFileExtractionTrigger,
-} from '../../rest';
-import _ts from '../../ts';
+} from '#rest';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/components/SimplifiedLeadPreview/index.js b/src/components/SimplifiedLeadPreview/index.js
index c1d7e33f43..a729f417d7 100644
--- a/src/components/SimplifiedLeadPreview/index.js
+++ b/src/components/SimplifiedLeadPreview/index.js
@@ -1,16 +1,16 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { isFalsy } from '../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { isFalsy } from '#rs/utils/common';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
createParamsForGet,
createUrlForLeadExtractionTrigger,
createUrlForSimplifiedLeadPreview,
-} from '../../rest';
-import _ts from '../../ts';
+} from '#rest';
+import _ts from '#ts';
import HighlightedText from '../HighlightedText';
import styles from './styles.scss';
diff --git a/src/components/UserProjectAdd/index.js b/src/components/UserProjectAdd/index.js
index 766d75f5ce..10a4c029e9 100644
--- a/src/components/UserProjectAdd/index.js
+++ b/src/components/UserProjectAdd/index.js
@@ -6,29 +6,29 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import Faram, {
requiredCondition,
-} from '../../vendor/react-store/components/Input/Faram';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
+} from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import {
alterResponseErrorToFaramError,
createParamsForProjectCreate,
urlForProjectCreate,
-} from '../../rest';
+} from '#rest';
import {
setProjectAction,
activeUserSelector,
-} from '../../redux';
-import schema from '../../schema';
+} from '#redux';
+import schema from '#schema';
-import _ts from '../../ts';
-import notify from '../../notify';
+import _ts from '#ts';
+import notify from '#notify';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/components/WidgetError/index.js b/src/components/WidgetError/index.js
index 02f6466a4f..89c6ac8049 100644
--- a/src/components/WidgetError/index.js
+++ b/src/components/WidgetError/index.js
@@ -1,6 +1,6 @@
import React from 'react';
-import _ts from '../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
export default class WidgetError extends React.PureComponent {
diff --git a/src/config/hid.js b/src/config/hid.js
index 72830829da..7e31a1ba10 100644
--- a/src/config/hid.js
+++ b/src/config/hid.js
@@ -1,4 +1,4 @@
-// import { p } from './rest';
+// import { p } from '#rest';
const responseType = 'token';
const scope = 'profile';
diff --git a/src/config/rest.js b/src/config/rest.js
index 1499ec1aa5..140a80e44f 100644
--- a/src/config/rest.js
+++ b/src/config/rest.js
@@ -1,4 +1,4 @@
-import { RestRequest } from '../vendor/react-store/utils/rest';
+import { RestRequest } from '#rs/utils/rest';
// Alias for prepareQueryParams
export const p = RestRequest.prepareUrlParams;
diff --git a/src/constants/routes.js b/src/constants/routes.js
index edb1aacd81..3023f177bf 100644
--- a/src/constants/routes.js
+++ b/src/constants/routes.js
@@ -1,7 +1,7 @@
import {
mapObjectToObject,
mapObjectToArray,
-} from '../utils/common';
+} from '#utils/common';
import { allLinks, noLinks } from './linksAcl';
diff --git a/src/constants/views.js b/src/constants/views.js
index 285c8380cb..9a6a53cdb0 100644
--- a/src/constants/views.js
+++ b/src/constants/views.js
@@ -1,6 +1,6 @@
import React from 'react';
-import RouteSynchronizer from '../components/RouteSynchronizer';
-import { mapObjectToObject } from '../utils/common';
+import RouteSynchronizer from '#components/RouteSynchronizer';
+import { mapObjectToObject } from '#utils/common';
import { routes } from './routes';
const views = mapObjectToObject(
diff --git a/src/entities/entry.js b/src/entities/entry.js
index 5ad1e98557..d6a6588c87 100644
--- a/src/entities/entry.js
+++ b/src/entities/entry.js
@@ -1,11 +1,11 @@
-import update from '../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
import {
listToMap,
randomString,
compareDate,
compareNumber,
isTruthy,
-} from '../vendor/react-store/utils/common';
+} from '#rs/utils/common';
export const ENTRY_STATUS = {
// A rest request is in session
diff --git a/src/entities/lead.js b/src/entities/lead.js
index 2e0711fe06..8702207951 100644
--- a/src/entities/lead.js
+++ b/src/entities/lead.js
@@ -1,6 +1,6 @@
-import FormattedDate from '../vendor/react-store/components/View/FormattedDate';
-import update from '../vendor/react-store/utils/immutable-update';
-import iconNames from '../constants/iconNames';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import update from '#rs/utils/immutable-update';
+import iconNames from '#constants/iconNames';
export const LEAD_TYPE = {
dropbox: 'dropbox',
diff --git a/src/notify.js b/src/notify.js
index 3afdabed23..cf376cd820 100644
--- a/src/notify.js
+++ b/src/notify.js
@@ -1,8 +1,7 @@
-import store from './store';
+import { NOTIFICATION } from '#rs/components/View/Toast';
-import { notifySendAction } from './redux';
-
-import { NOTIFICATION } from './vendor/react-store/components/View/Toast';
+import { notifySendAction } from '#redux';
+import store from '#store';
const notify = {
type: NOTIFICATION,
diff --git a/src/redux/middlewares/siloBackgroundTasks.js b/src/redux/middlewares/siloBackgroundTasks.js
index 41884accba..d20ccaed05 100644
--- a/src/redux/middlewares/siloBackgroundTasks.js
+++ b/src/redux/middlewares/siloBackgroundTasks.js
@@ -1,4 +1,4 @@
-import SiloTasksManager from '../../utils/SiloTasksManager';
+import SiloTasksManager from '#utils/SiloTasksManager';
import TokenRefresher from './tasks/TokenRefresher';
import ProjectGet from './tasks/ProjectGet';
diff --git a/src/redux/middlewares/tasks/LanguageGet.js b/src/redux/middlewares/tasks/LanguageGet.js
index 2e04d88de3..d27028d01b 100644
--- a/src/redux/middlewares/tasks/LanguageGet.js
+++ b/src/redux/middlewares/tasks/LanguageGet.js
@@ -1,10 +1,10 @@
-import { BgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { BgRestBuilder } from '#rs/utils/rest';
import {
createParamsForGet,
createUrlForLanguage,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class LanguageGet {
constructor(props) {
diff --git a/src/redux/middlewares/tasks/LanguagesGet.js b/src/redux/middlewares/tasks/LanguagesGet.js
index a11b75a8d8..78d20bf71d 100644
--- a/src/redux/middlewares/tasks/LanguagesGet.js
+++ b/src/redux/middlewares/tasks/LanguagesGet.js
@@ -1,13 +1,14 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
+
import {
urlForLanguages,
createParamsForGet,
-} from '../../../rest';
+} from '#rest';
+import schema from '#schema';
+import AbstractTask from '#utils/AbstractTask';
-import AbstractTask from '../../../utils/AbstractTask';
import { setAvailableLanguagesAction } from '../../reducers/lang';
import { setWaitingForAvailableLanguagesAction } from '../../reducers/app';
-import schema from '../../../schema';
// NOTE: languages is pulled only at app initialization
export default class LanguagesGet extends AbstractTask {
diff --git a/src/redux/middlewares/tasks/PreferencesGet.js b/src/redux/middlewares/tasks/PreferencesGet.js
index b610295612..a91166331e 100644
--- a/src/redux/middlewares/tasks/PreferencesGet.js
+++ b/src/redux/middlewares/tasks/PreferencesGet.js
@@ -1,24 +1,25 @@
-import { BgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import { isFalsy } from '../../../vendor/react-store/utils/common';
+import { BgRestBuilder } from '#rs/utils/rest';
+import { isFalsy } from '#rs/utils/common';
import {
createParamsForGet,
urlForUserPreferences,
-} from '../../../rest';
-import schema from '../../../schema';
-import { activeProjectIdFromStateSelector } from '../../selectors/siloDomainData/common';
-import { setActiveProjectAction } from '../../reducers/siloDomainData/common';
+} from '#rest';
+import schema from '#schema';
+import AbstractTask from '#utils/AbstractTask';
+
import { setUserPreferencesAction } from '../../reducers/auth';
+import {
+ setWaitingForLanguageAction,
+ setWaitingForPreferencesAction,
+} from '../../reducers/app';
import {
setFallbackLanguageAction,
- setSelectedLanguageAction,
setLanguageAction,
+ setSelectedLanguageAction,
} from '../../reducers/lang';
-import {
- setWaitingForPreferencesAction,
- setWaitingForLanguageAction,
-} from '../../reducers/app';
-import AbstractTask from '../../../utils/AbstractTask';
+import { setActiveProjectAction } from '../../reducers/siloDomainData/common';
+import { activeProjectIdFromStateSelector } from '../../selectors/siloDomainData/common';
import LanguageGet from './LanguageGet';
diff --git a/src/redux/middlewares/tasks/ProjectGet.js b/src/redux/middlewares/tasks/ProjectGet.js
index d583185ab6..8dc27791d1 100644
--- a/src/redux/middlewares/tasks/ProjectGet.js
+++ b/src/redux/middlewares/tasks/ProjectGet.js
@@ -1,15 +1,15 @@
-import { BgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { BgRestBuilder } from '#rs/utils/rest';
-import schema from '../../../schema';
import {
createParamsForGet,
urlForProjects,
-} from '../../../rest';
+} from '#rest';
+import schema from '#schema';
+import AbstractTask from '#utils/AbstractTask';
import { activeUserSelector } from '../../selectors/auth';
import { setUserProjectsAction } from '../../reducers/domainData/projects';
import { setWaitingForProjectAction } from '../../reducers/app';
-import AbstractTask from '../../../utils/AbstractTask';
export default class ProjectGet extends AbstractTask {
constructor(store) {
diff --git a/src/redux/middlewares/tasks/TokenRefresher.js b/src/redux/middlewares/tasks/TokenRefresher.js
index 9e81d537bf..447ff4bda3 100644
--- a/src/redux/middlewares/tasks/TokenRefresher.js
+++ b/src/redux/middlewares/tasks/TokenRefresher.js
@@ -1,14 +1,14 @@
-import { BgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { BgRestBuilder } from '#rs/utils/rest';
-import schema from '../../../schema';
import {
createParamsForTokenRefresh,
urlForTokenRefresh,
-} from '../../../rest';
+} from '#rest';
+import schema from '#schema';
+import AbstractTask from '#utils/AbstractTask';
-import { tokenSelector } from '../../selectors/auth';
import { setAccessTokenAction } from '../../reducers/auth';
-import AbstractTask from '../../../utils/AbstractTask';
+import { tokenSelector } from '../../selectors/auth';
const REFRESH_TIME = 1000 * 60 * 10;
const REFRESH_CHECK_TIME = 1000;
diff --git a/src/redux/reducers/app.js b/src/redux/reducers/app.js
index 736f3eaa38..9f4b5c98fe 100644
--- a/src/redux/reducers/app.js
+++ b/src/redux/reducers/app.js
@@ -1,5 +1,5 @@
-import update from '../../vendor/react-store/utils/immutable-update';
-import createReducerWithMap from '../../utils/createReducerWithMap';
+import update from '#rs/utils/immutable-update';
+import createReducerWithMap from '#utils/createReducerWithMap';
import initialAppState from '../initial-state/app';
import { LOGOUT_ACTION } from '../reducers/auth';
diff --git a/src/redux/reducers/auth.js b/src/redux/reducers/auth.js
index a9b4fff21c..a899c6e34f 100644
--- a/src/redux/reducers/auth.js
+++ b/src/redux/reducers/auth.js
@@ -1,9 +1,9 @@
import jwtDecode from 'jwt-decode';
-import update from '../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
-import createReducerWithMap from '../../utils/createReducerWithMap';
-import schema from '../../schema';
+import createReducerWithMap from '#utils/createReducerWithMap';
+import schema from '#schema';
import initialAuthState from '../initial-state/auth';
diff --git a/src/redux/reducers/domainData/analysisFrameworks.js b/src/redux/reducers/domainData/analysisFrameworks.js
index b0737c683f..af6a24a703 100644
--- a/src/redux/reducers/domainData/analysisFrameworks.js
+++ b/src/redux/reducers/domainData/analysisFrameworks.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/assessmentRegistry.js b/src/redux/reducers/domainData/assessmentRegistry.js
index dbc6018f8b..a3ace88200 100644
--- a/src/redux/reducers/domainData/assessmentRegistry.js
+++ b/src/redux/reducers/domainData/assessmentRegistry.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/categoryEditors.js b/src/redux/reducers/domainData/categoryEditors.js
index 50e00eb680..7cc1e61700 100644
--- a/src/redux/reducers/domainData/categoryEditors.js
+++ b/src/redux/reducers/domainData/categoryEditors.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/connectors.js b/src/redux/reducers/domainData/connectors.js
index 9a33ea8158..1884fece0a 100644
--- a/src/redux/reducers/domainData/connectors.js
+++ b/src/redux/reducers/domainData/connectors.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
export const SET_CONNECTOR_SOURCES = 'domainData/SET_CONNECTOR_SOURCES';
diff --git a/src/redux/reducers/domainData/entryFilter.js b/src/redux/reducers/domainData/entryFilter.js
index 530ab01e4b..520f684ead 100644
--- a/src/redux/reducers/domainData/entryFilter.js
+++ b/src/redux/reducers/domainData/entryFilter.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/index.js b/src/redux/reducers/domainData/index.js
index d9dab0b1ed..4ffb43efc9 100644
--- a/src/redux/reducers/domainData/index.js
+++ b/src/redux/reducers/domainData/index.js
@@ -1,4 +1,4 @@
-import createReducerWithMap from '../../../utils/createReducerWithMap';
+import createReducerWithMap from '#utils/createReducerWithMap';
import analysisFrameworksReducers from './analysisFrameworks';
import categoryEditorsReducers from './categoryEditors';
diff --git a/src/redux/reducers/domainData/leadFilter.js b/src/redux/reducers/domainData/leadFilter.js
index cc23d1e8bb..bc9bd8e662 100644
--- a/src/redux/reducers/domainData/leadFilter.js
+++ b/src/redux/reducers/domainData/leadFilter.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/projects.js b/src/redux/reducers/domainData/projects.js
index 8765134bad..cd8568a66a 100644
--- a/src/redux/reducers/domainData/projects.js
+++ b/src/redux/reducers/domainData/projects.js
@@ -1,5 +1,5 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
-import { isTruthy, compareString } from '../../../vendor/react-store/utils/common';
+import update from '#rs/utils/immutable-update';
+import { isTruthy, compareString } from '#rs/utils/common';
// TYPE
diff --git a/src/redux/reducers/domainData/regions.js b/src/redux/reducers/domainData/regions.js
index 2ba8a0f719..3be09b6ed5 100644
--- a/src/redux/reducers/domainData/regions.js
+++ b/src/redux/reducers/domainData/regions.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/userExports.js b/src/redux/reducers/domainData/userExports.js
index 527431859b..c9f06249af 100644
--- a/src/redux/reducers/domainData/userExports.js
+++ b/src/redux/reducers/domainData/userExports.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/userGroups.js b/src/redux/reducers/domainData/userGroups.js
index 0c8a4339f8..52697b8b2c 100644
--- a/src/redux/reducers/domainData/userGroups.js
+++ b/src/redux/reducers/domainData/userGroups.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/domainData/users.js b/src/redux/reducers/domainData/users.js
index 5f72c729dc..b0610903eb 100644
--- a/src/redux/reducers/domainData/users.js
+++ b/src/redux/reducers/domainData/users.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/index.js b/src/redux/reducers/index.js
index ccc3efe963..11faecb3af 100644
--- a/src/redux/reducers/index.js
+++ b/src/redux/reducers/index.js
@@ -1,5 +1,7 @@
import { persistCombineReducers } from 'redux-persist';
+import storeConfig from '#config/store';
+
import authReducer from './auth';
import notifyReducer from './notify';
import routeReducer from './route';
@@ -8,8 +10,6 @@ import langReducer from './lang';
import appReducer from './app';
import siloDomainDataReducer from './siloDomainData';
-import storeConfig from '../../config/store';
-
const reducers = {
notify: notifyReducer,
route: routeReducer,
diff --git a/src/redux/reducers/lang.js b/src/redux/reducers/lang.js
index ab3e648a7e..b650a55750 100644
--- a/src/redux/reducers/lang.js
+++ b/src/redux/reducers/lang.js
@@ -1,8 +1,10 @@
-import createReducerWithMap from '../../utils/createReducerWithMap';
-import { LOGOUT_ACTION } from '../reducers/auth';
+import createReducerWithMap from '#utils/createReducerWithMap';
+
+import { listToMap } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+
import initialLangState from '../initial-state/lang';
-import { listToMap } from '../../vendor/react-store/utils/common';
-import update from '../../vendor/react-store/utils/immutable-update';
+import { LOGOUT_ACTION } from '../reducers/auth';
export const SET_SELECTED_LANGUAGE_ACTION = 'lang/SET_SELECTED_LANGUAGE';
export const SET_FALLBACK_LANGUAGE_ACTION = 'lang/SET_FALLBACK_LANGUAGE';
diff --git a/src/redux/reducers/notify.js b/src/redux/reducers/notify.js
index 22e25b2172..df5d1847c1 100644
--- a/src/redux/reducers/notify.js
+++ b/src/redux/reducers/notify.js
@@ -1,4 +1,4 @@
-import createReducerWithMap from '../../utils/createReducerWithMap';
+import createReducerWithMap from '#utils/createReducerWithMap';
import initialNotifyState from '../initial-state/notify';
// TYPE
diff --git a/src/redux/reducers/route.js b/src/redux/reducers/route.js
index c790293277..cf655a4128 100644
--- a/src/redux/reducers/route.js
+++ b/src/redux/reducers/route.js
@@ -1,6 +1,8 @@
-import createReducerWithMap from '../../utils/createReducerWithMap';
+import { isTruthy } from '#rs/utils/common';
+
+import createReducerWithMap from '#utils/createReducerWithMap';
+
import initialRouteState from '../initial-state/route';
-import { isTruthy } from '../../vendor/react-store/utils/common';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/addLeads.js b/src/redux/reducers/siloDomainData/addLeads.js
index 0946995ac5..00821a9e41 100644
--- a/src/redux/reducers/siloDomainData/addLeads.js
+++ b/src/redux/reducers/siloDomainData/addLeads.js
@@ -2,16 +2,16 @@ import {
listToMap,
getElementAround,
getNumbers,
-} from '../../../vendor/react-store/utils/common';
-import { analyzeErrors } from '../../../vendor/react-store/components/Input/Faram/validator';
-import update from '../../../vendor/react-store/utils/immutable-update';
+} from '#rs/utils/common';
+import { analyzeErrors } from '#rs/components/Input/Faram/validator';
+import update from '#rs/utils/immutable-update';
import {
createLead,
leadAccessor,
calcLeadState,
LEAD_STATUS,
-} from '../../../entities/lead';
+} from '#entities/lead';
// ACTION-TYPE
diff --git a/src/redux/reducers/siloDomainData/analysisFramework.js b/src/redux/reducers/siloDomainData/analysisFramework.js
index a98ec974c1..545c38a3bf 100644
--- a/src/redux/reducers/siloDomainData/analysisFramework.js
+++ b/src/redux/reducers/siloDomainData/analysisFramework.js
@@ -1,5 +1,5 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
-import { isEqualAndTruthy } from '../../../vendor/react-store/utils/common';
+import update from '#rs/utils/immutable-update';
+import { isEqualAndTruthy } from '#rs/utils/common';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/assessmentRegistry.js b/src/redux/reducers/siloDomainData/assessmentRegistry.js
index 48edfff645..13db319706 100644
--- a/src/redux/reducers/siloDomainData/assessmentRegistry.js
+++ b/src/redux/reducers/siloDomainData/assessmentRegistry.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/categoryEditor.js b/src/redux/reducers/siloDomainData/categoryEditor.js
index 759009d36e..0a7e4bef5d 100644
--- a/src/redux/reducers/siloDomainData/categoryEditor.js
+++ b/src/redux/reducers/siloDomainData/categoryEditor.js
@@ -1,5 +1,5 @@
-import { getLinkedListNode, getElementAround } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
+import { getLinkedListNode, getElementAround } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/common.js b/src/redux/reducers/siloDomainData/common.js
index 31d7bca581..549036c4da 100644
--- a/src/redux/reducers/siloDomainData/common.js
+++ b/src/redux/reducers/siloDomainData/common.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
import { LOGOUT_ACTION } from '../../reducers/auth';
import { SET_USER_PROJECTS } from '../../reducers/domainData/projects';
diff --git a/src/redux/reducers/siloDomainData/connectors.js b/src/redux/reducers/siloDomainData/connectors.js
index 89e6cce334..adccb24882 100644
--- a/src/redux/reducers/siloDomainData/connectors.js
+++ b/src/redux/reducers/siloDomainData/connectors.js
@@ -1,7 +1,7 @@
import {
analyzeErrors,
-} from '../../../vendor/react-store/components/Input/Faram/validator';
-import update from '../../../vendor/react-store/utils/immutable-update';
+} from '#rs/components/Input/Faram/validator';
+import update from '#rs/utils/immutable-update';
export const SET_USER_CONNECTORS = 'siloDomainData/SET_USER_CONNECTORS';
export const SET_USER_CONNECTOR_DETAILS = 'siloDomainData/SET_USER_CONNECTOR_DETAILS';
diff --git a/src/redux/reducers/siloDomainData/editAry.js b/src/redux/reducers/siloDomainData/editAry.js
index 8f853a7f66..85066f7b06 100644
--- a/src/redux/reducers/siloDomainData/editAry.js
+++ b/src/redux/reducers/siloDomainData/editAry.js
@@ -1,6 +1,6 @@
-import { analyzeErrors } from '../../../vendor/react-store/components/Input/Faram/validator';
-import { isTruthy } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
+import { analyzeErrors } from '#rs/components/Input/Faram/validator';
+import { isTruthy } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
// FIXME: copy this to common place
const getNamespacedId = (leadId, leadGroupId) => {
diff --git a/src/redux/reducers/siloDomainData/editEntries.js b/src/redux/reducers/siloDomainData/editEntries.js
index b27cc4ca32..a4139d0d43 100644
--- a/src/redux/reducers/siloDomainData/editEntries.js
+++ b/src/redux/reducers/siloDomainData/editEntries.js
@@ -1,10 +1,10 @@
-import { isFalsy, getElementAround } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
+import { isFalsy, getElementAround } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
import {
createEntry,
calcNewEntries,
entryAccessor,
-} from '../../../entities/entry';
+} from '#entities/entry';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/editEntries.test.js b/src/redux/reducers/siloDomainData/editEntries.test.js
index 2d27de5c38..bca6bd94e5 100644
--- a/src/redux/reducers/siloDomainData/editEntries.test.js
+++ b/src/redux/reducers/siloDomainData/editEntries.test.js
@@ -1,4 +1,4 @@
-import { DIFF_ACTION } from '../../../entities/entry';
+import { DIFF_ACTION } from '#entities/entry';
import reducers, {
EE__ADD_ENTRY,
EE__REMOVE_ENTRY,
diff --git a/src/redux/reducers/siloDomainData/entries.js b/src/redux/reducers/siloDomainData/entries.js
index 7941bcf305..c3ac49e781 100644
--- a/src/redux/reducers/siloDomainData/entries.js
+++ b/src/redux/reducers/siloDomainData/entries.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/galleryFiles.js b/src/redux/reducers/siloDomainData/galleryFiles.js
index 49befbf93e..f9782bb36a 100644
--- a/src/redux/reducers/siloDomainData/galleryFiles.js
+++ b/src/redux/reducers/siloDomainData/galleryFiles.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/index.js b/src/redux/reducers/siloDomainData/index.js
index a877142806..de3c88beba 100644
--- a/src/redux/reducers/siloDomainData/index.js
+++ b/src/redux/reducers/siloDomainData/index.js
@@ -1,4 +1,4 @@
-import createReducerWithMap from '../../../utils/createReducerWithMap';
+import createReducerWithMap from '#utils/createReducerWithMap';
import commonReducers from './common';
import addLeadsReducers from './addLeads';
diff --git a/src/redux/reducers/siloDomainData/leads.js b/src/redux/reducers/siloDomainData/leads.js
index ca7a5ff5eb..da01a0af15 100644
--- a/src/redux/reducers/siloDomainData/leads.js
+++ b/src/redux/reducers/siloDomainData/leads.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/reducers/siloDomainData/regions.js b/src/redux/reducers/siloDomainData/regions.js
index 36886a20cf..f67e9306d5 100644
--- a/src/redux/reducers/siloDomainData/regions.js
+++ b/src/redux/reducers/siloDomainData/regions.js
@@ -1,7 +1,7 @@
import {
analyzeErrors,
-} from '../../../vendor/react-store/components/Input/Faram/validator';
-import update from '../../../vendor/react-store/utils/immutable-update';
+} from '#rs/components/Input/Faram/validator';
+import update from '#rs/utils/immutable-update';
import {
SET_REGION_DETAILS,
UNSET_REGION,
diff --git a/src/redux/reducers/siloDomainData/stringManagement.js b/src/redux/reducers/siloDomainData/stringManagement.js
index 8f84d896da..070182a5bc 100644
--- a/src/redux/reducers/siloDomainData/stringManagement.js
+++ b/src/redux/reducers/siloDomainData/stringManagement.js
@@ -1,4 +1,18 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
+
+// TODO
+// # Resolve action
+//
+// ## Delete
+// - String does't exist
+// - String has changed => change oldValue
+//
+// ## Edit
+// - String doesn't exist
+// - String has changed => change oldValue
+//
+// ## Add
+// - String already exist => change action to edit
// TYPE
@@ -88,36 +102,20 @@ const setSelectedLinkCollectionName = (state, action) => {
// LINK CHANGE
-// TODO: fix for link as we did for string
-
-const addLinkChange = (state, action) => {
+const editLinkChange = (state, action) => {
+ const {
+ stringManagementView: { languageChanges },
+ } = state;
const {
- change,
+ change: originalChange,
languageName,
linkCollectionName,
} = action;
- const settings = {
- stringManagementView: {
- languageChanges: {
- [languageName]: { $auto: {
- links: { $auto: {
- [linkCollectionName]: { $autoArray: {
- $push: [change],
- } },
- } },
- } },
- },
- },
- };
- return update(state, settings);
-};
-
-const editLinkChange = (state, action) => {
- const { change, languageName, linkCollectionName } = action;
- const { stringManagementView: { languageChanges } } = state;
+ let change = originalChange;
let index = -1;
if (
+ languageChanges &&
languageChanges[languageName] &&
languageChanges[languageName].links &&
languageChanges[languageName].links[linkCollectionName]
@@ -125,25 +123,35 @@ const editLinkChange = (state, action) => {
index = languageChanges[languageName].links[linkCollectionName].findIndex(
l => change.action === l.action && change.key === l.key,
);
+ if (index !== -1) {
+ const oldChange = languageChanges[languageName].links[linkCollectionName][index];
+ change = {
+ ...originalChange,
+ oldString: oldChange.oldString,
+ };
+ }
}
- if (index === -1) {
- return state;
- }
+
const settings = {
stringManagementView: {
languageChanges: {
- [languageName]: {
- links: {
- [linkCollectionName]: {
- $splice: [[index, 1, change]],
- },
- },
- },
+ [languageName]: { $auto: {
+ links: { $auto: {
+ [linkCollectionName]: { $autoArray: {
+ $if: [
+ index === -1,
+ { $push: [change] },
+ { $splice: [[index, 1, change]] },
+ ],
+ } },
+ } },
+ } },
},
},
};
return update(state, settings);
};
+const addLinkChange = editLinkChange;
const removeLinkChange = (state, action) => {
const { change, languageName, linkCollectionName } = action;
@@ -151,6 +159,7 @@ const removeLinkChange = (state, action) => {
let index = -1;
if (
+ languageChanges &&
languageChanges[languageName] &&
languageChanges[languageName].links &&
languageChanges[languageName].links[linkCollectionName]
@@ -181,8 +190,13 @@ const removeLinkChange = (state, action) => {
// STRING CHANGE
const editStringChange = (state, action) => {
- const { change: originalChange, languageName } = action;
- const { stringManagementView: { languageChanges } } = state;
+ const {
+ stringManagementView: { languageChanges },
+ } = state;
+ const {
+ change: originalChange,
+ languageName,
+ } = action;
let change = originalChange;
let index = -1;
@@ -228,6 +242,7 @@ const removeStringChange = (state, action) => {
let index = -1;
if (
+ languageChanges &&
languageChanges[languageName] &&
languageChanges[languageName].strings
) {
@@ -252,20 +267,6 @@ const removeStringChange = (state, action) => {
return update(state, settings);
};
-// TODO
-// Resolve for action
-// Delete
-// String does't exist
-// String has changed => change oldValue
-//
-// Edit
-// String doesn't exist
-// String has changed => change oldValue
-//
-// Add
-// String already exist => change it to edit
-
-
// REDUCER MAP
const reducers = {
[SM__SET_SELECTED_LANGUAGE]: setSelectedLanguage,
diff --git a/src/redux/reducers/siloDomainData/visualization.js b/src/redux/reducers/siloDomainData/visualization.js
index bfc002e34d..387c673d05 100644
--- a/src/redux/reducers/siloDomainData/visualization.js
+++ b/src/redux/reducers/siloDomainData/visualization.js
@@ -1,4 +1,4 @@
-import update from '../../../vendor/react-store/utils/immutable-update';
+import update from '#rs/utils/immutable-update';
// TYPE
diff --git a/src/redux/selectors/domainData/props.js b/src/redux/selectors/domainData/props.js
index d3ac094ca9..667fa42deb 100644
--- a/src/redux/selectors/domainData/props.js
+++ b/src/redux/selectors/domainData/props.js
@@ -1,4 +1,4 @@
-import { isFalsy } from '../../../vendor/react-store/utils/common';
+import { isFalsy } from '#rs/utils/common';
const getFromProps = identifier => ({ route }, props) => {
if (!isFalsy(props) && !isFalsy(props[identifier])) {
diff --git a/src/redux/selectors/domainData/state.js b/src/redux/selectors/domainData/state.js
index bdd0a923a0..b50f735d85 100644
--- a/src/redux/selectors/domainData/state.js
+++ b/src/redux/selectors/domainData/state.js
@@ -1,5 +1,5 @@
import { createSelector } from 'reselect';
-import { compareString } from '../../../vendor/react-store/utils/common';
+import { compareString } from '#rs/utils/common';
const emptyList = [];
const emptyObject = {};
diff --git a/src/redux/selectors/route.js b/src/redux/selectors/route.js
index 59d32e372e..27d77c13ce 100644
--- a/src/redux/selectors/route.js
+++ b/src/redux/selectors/route.js
@@ -1,6 +1,6 @@
import { createSelector } from 'reselect';
-import { isFalsy, getKeyByValue } from '../../vendor/react-store/utils/common';
-import { pathNames } from '../../constants/routes';
+import { isFalsy, getKeyByValue } from '#rs/utils/common';
+import { pathNames } from '#constants/routes';
const emptyObject = {};
diff --git a/src/redux/selectors/siloDomainData/addLeads.js b/src/redux/selectors/siloDomainData/addLeads.js
index 33b902ec58..61d35ac792 100644
--- a/src/redux/selectors/siloDomainData/addLeads.js
+++ b/src/redux/selectors/siloDomainData/addLeads.js
@@ -1,19 +1,22 @@
import { createSelector } from 'reselect';
+
import {
isObjectEmpty,
compareString,
caseInsensitiveSubmatch,
-} from '../../../vendor/react-store/utils/common';
-import {
- projectIdFromRoute,
- connectorIdFromRoute,
-} from '../domainData';
+} from '#rs/utils/common';
+
import {
LEAD_FILTER_STATUS,
LEAD_STATUS,
calcLeadState,
leadAccessor,
-} from '../../../entities/lead';
+} from '#entities/lead';
+
+import {
+ projectIdFromRoute,
+ connectorIdFromRoute,
+} from '../domainData';
const emptyList = [];
const emptyObject = {};
diff --git a/src/redux/selectors/siloDomainData/connectors.js b/src/redux/selectors/siloDomainData/connectors.js
index f69b734534..ea07dda21a 100644
--- a/src/redux/selectors/siloDomainData/connectors.js
+++ b/src/redux/selectors/siloDomainData/connectors.js
@@ -1,6 +1,11 @@
import { createSelector } from 'reselect';
-import { connectorIdFromRoute, connectorSourcesSelector } from '../domainData';
-import { compareString } from '../../../vendor/react-store/utils/common';
+
+import { compareString } from '#rs/utils/common';
+
+import {
+ connectorIdFromRoute,
+ connectorSourcesSelector,
+} from '../domainData';
const emptyObject = {};
diff --git a/src/redux/selectors/siloDomainData/editAry.js b/src/redux/selectors/siloDomainData/editAry.js
index eae341988e..d88bf87db3 100644
--- a/src/redux/selectors/siloDomainData/editAry.js
+++ b/src/redux/selectors/siloDomainData/editAry.js
@@ -1,9 +1,11 @@
import { createSelector } from 'reselect';
+
+import { isTruthy } from '#rs/utils/common';
+
import {
leadIdFromRouteSelector,
leadGroupIdFromRouteSelector,
} from '../route';
-import { isTruthy } from '../../../vendor/react-store/utils/common';
const emptyObject = {};
const emptyList = [];
diff --git a/src/redux/selectors/siloDomainData/entries.js b/src/redux/selectors/siloDomainData/entries.js
index 24180e3056..ea93e7ee2c 100644
--- a/src/redux/selectors/siloDomainData/entries.js
+++ b/src/redux/selectors/siloDomainData/entries.js
@@ -1,4 +1,5 @@
import { createSelector } from 'reselect';
+
import {
analysisFrameworksSelector,
projectsSelector,
diff --git a/src/redux/selectors/siloDomainData/stringManagement.js b/src/redux/selectors/siloDomainData/stringManagement.js
index e03d8e79f8..c9c5f00fbc 100644
--- a/src/redux/selectors/siloDomainData/stringManagement.js
+++ b/src/redux/selectors/siloDomainData/stringManagement.js
@@ -1,11 +1,12 @@
import { createSelector } from 'reselect';
+import { unique, mapToList } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+
import {
createFooLanguageSelector,
createFooStringsSelector,
createFooLinksSelector,
} from '../lang';
-import { unique, mapToList } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
const emptyObject = {};
const emptyArray = [];
diff --git a/src/rest/analysisFramework.js b/src/rest/analysisFramework.js
index adb720ad31..1f166b59e1 100644
--- a/src/rest/analysisFramework.js
+++ b/src/rest/analysisFramework.js
@@ -4,7 +4,7 @@ import {
PUT,
commonHeaderForPost,
p,
-} from '../config/rest';
+} from '#config/rest';
const afsUrlFields = ['id', 'title', 'version_id', 'created_at', 'modified_at',
'is_admin', 'description', 'snapshot_one', 'snapshot_two'];
diff --git a/src/rest/assessmentRegistry.js b/src/rest/assessmentRegistry.js
index 87d231dc29..9cbcd0fc03 100644
--- a/src/rest/assessmentRegistry.js
+++ b/src/rest/assessmentRegistry.js
@@ -5,7 +5,7 @@ import {
commonHeaderForPost,
p,
wsEndpoint,
-} from '../config/rest';
+} from '#config/rest';
export const urlForAryTemplates = `${wsEndpoint}/assessment-templates/`;
diff --git a/src/rest/categoryEditor.js b/src/rest/categoryEditor.js
index f3a4daaa0f..7f95c02997 100644
--- a/src/rest/categoryEditor.js
+++ b/src/rest/categoryEditor.js
@@ -5,7 +5,7 @@ import {
PUT,
commonHeaderForPost,
p,
-} from '../config/rest';
+} from '#config/rest';
const cesUrlFields = ['id', 'title', 'version_id', 'created_at', 'modified_at',
'is_admin'];
diff --git a/src/rest/connectors.js b/src/rest/connectors.js
index 67837ff2e6..310f374518 100644
--- a/src/rest/connectors.js
+++ b/src/rest/connectors.js
@@ -4,7 +4,7 @@ import {
PATCH,
p,
commonHeaderForPost,
-} from '../config/rest';
+} from '#config/rest';
const connectorsMiniFields = ['id', 'title', 'version_id', 'source', 'role'];
export const urlForConnectors = `${wsEndpoint}/connectors/?${p({ fields: connectorsMiniFields })}`;
diff --git a/src/rest/docs.js b/src/rest/docs.js
index 04151a4242..16c36fafbc 100644
--- a/src/rest/docs.js
+++ b/src/rest/docs.js
@@ -1,4 +1,4 @@
-import { wsEndpoint } from '../config/rest';
+import { wsEndpoint } from '#config/rest';
// eslint-disable-next-line import/prefer-default-export
export const urlForApiDocs = `${wsEndpoint}/docs/`;
diff --git a/src/rest/entries.js b/src/rest/entries.js
index 494d4f4282..1de9e8947a 100644
--- a/src/rest/entries.js
+++ b/src/rest/entries.js
@@ -5,7 +5,7 @@ import {
DELETE,
p,
commonHeaderForPost,
-} from '../config/rest';
+} from '#config/rest';
export const urlForEntry = `${wsEndpoint}/entries/`;
export const urlForEntryCreate = `${wsEndpoint}/entries/`;
diff --git a/src/rest/entryFilterOptions.js b/src/rest/entryFilterOptions.js
index 7b17c721ea..7b544c2251 100644
--- a/src/rest/entryFilterOptions.js
+++ b/src/rest/entryFilterOptions.js
@@ -1,4 +1,4 @@
-import { wsEndpoint, p } from '../config/rest';
+import { wsEndpoint, p } from '#config/rest';
// eslint-disable-next-line import/prefer-default-export
export const createUrlForEntryFilterOptions = projectId => (
diff --git a/src/rest/export.js b/src/rest/export.js
index cf76efe0b4..ce9ad4886c 100644
--- a/src/rest/export.js
+++ b/src/rest/export.js
@@ -3,7 +3,7 @@ import {
POST,
commonHeaderForPost,
p,
-} from '../config/rest';
+} from '#config/rest';
import {
processEntryFilters,
} from './entries';
diff --git a/src/rest/external.js b/src/rest/external.js
index d816697dd5..580a49c9c4 100644
--- a/src/rest/external.js
+++ b/src/rest/external.js
@@ -2,7 +2,7 @@ import {
POST,
commonHeaderForPostExternal,
p,
-} from '../config/rest';
+} from '#config/rest';
const deeplEndPoint = 'https://deepl.togglecorp.com';
export const urlForNer = `${deeplEndPoint}/api/ner/`;
diff --git a/src/rest/file.js b/src/rest/file.js
index 0c412ea74a..6e49f717c2 100644
--- a/src/rest/file.js
+++ b/src/rest/file.js
@@ -4,7 +4,7 @@ import {
commonHeaderForPost,
authorizationHeaderForPost,
p,
-} from '../config/rest';
+} from '#config/rest';
export const urlForUpload = `${wsEndpoint}/files/`;
export const urlForGoogleDriveFileUpload = `${wsEndpoint}/files-google-drive/`;
diff --git a/src/rest/index.js b/src/rest/index.js
index 87aa00e61a..b5baddef7b 100644
--- a/src/rest/index.js
+++ b/src/rest/index.js
@@ -1,4 +1,4 @@
-import { GET, commonHeaderForGet } from '../config/rest';
+import { GET, commonHeaderForGet } from '#config/rest';
export * from './docs';
export * from './languages';
diff --git a/src/rest/languages.js b/src/rest/languages.js
index 25da4dfe3e..fa2c5a77e7 100644
--- a/src/rest/languages.js
+++ b/src/rest/languages.js
@@ -1,6 +1,6 @@
import {
wsEndpoint,
-} from '../config/rest';
+} from '#config/rest';
export const urlForLanguages = `${wsEndpoint}/languages/`;
diff --git a/src/rest/leadFilterOptions.js b/src/rest/leadFilterOptions.js
index a6293fe1b6..2742624d50 100644
--- a/src/rest/leadFilterOptions.js
+++ b/src/rest/leadFilterOptions.js
@@ -1,4 +1,4 @@
-import { wsEndpoint, p } from '../config/rest';
+import { wsEndpoint, p } from '#config/rest';
// eslint-disable-next-line import/prefer-default-export
export const createUrlForLeadFilterOptions = projectId => (
diff --git a/src/rest/leads.js b/src/rest/leads.js
index 3c4e1fad7e..4ee29275ec 100644
--- a/src/rest/leads.js
+++ b/src/rest/leads.js
@@ -6,7 +6,7 @@ import {
DELETE,
commonHeaderForPost,
p,
-} from '../config/rest';
+} from '#config/rest';
// do no use this, use urlForLead instead
export const urlForLead = `${wsEndpoint}/leads/`;
diff --git a/src/rest/projects.js b/src/rest/projects.js
index 63f3da2c0e..7214909e0d 100644
--- a/src/rest/projects.js
+++ b/src/rest/projects.js
@@ -5,7 +5,7 @@ import {
DELETE,
commonHeaderForPost,
p,
-} from '../config/rest';
+} from '#config/rest';
export const createUrlForProject = projectId => `${wsEndpoint}/projects/${projectId}/`;
export const createUrlForProjectOptions = projectId => `${wsEndpoint}/project-options/?${p({ project: projectId })}`;
diff --git a/src/rest/regions.js b/src/rest/regions.js
index cc8e7d2d77..49bd9aee1f 100644
--- a/src/rest/regions.js
+++ b/src/rest/regions.js
@@ -5,7 +5,7 @@ import {
DELETE,
p,
commonHeaderForPost,
-} from '../config/rest';
+} from '#config/rest';
export const urlForRegionCreate = `${wsEndpoint}/regions/`;
export const urlForAdminLevels = `${wsEndpoint}/admin-levels/`;
diff --git a/src/rest/token.js b/src/rest/token.js
index 556c71b615..e3fa840b2e 100644
--- a/src/rest/token.js
+++ b/src/rest/token.js
@@ -3,7 +3,7 @@ import {
POST,
commonHeaderForPost,
commonHeaderForPostExternal,
-} from '../config/rest';
+} from '#config/rest';
export const urlForTokenCreate = `${wsEndpoint}/token/`;
export const createParamsForTokenCreate = ({ username, password, recaptchaResponse }) => ({
diff --git a/src/rest/userGroups.js b/src/rest/userGroups.js
index 3cf2ceac62..3e187008e4 100644
--- a/src/rest/userGroups.js
+++ b/src/rest/userGroups.js
@@ -1,4 +1,4 @@
-import { wsEndpoint, POST, DELETE, PATCH, commonHeaderForPost, p } from '../config/rest';
+import { wsEndpoint, POST, DELETE, PATCH, commonHeaderForPost, p } from '#config/rest';
export const urlForUserMembership = `${wsEndpoint}/group-memberships/`;
diff --git a/src/rest/users.js b/src/rest/users.js
index be2083ad40..7ba5242564 100644
--- a/src/rest/users.js
+++ b/src/rest/users.js
@@ -4,7 +4,7 @@ import {
PATCH,
p,
commonHeaderForPost,
-} from '../config/rest';
+} from '#config/rest';
export const createUrlForUsers = (fields) => {
if (fields) {
diff --git a/src/schema/entries.js b/src/schema/entries.js
index 236e2efe54..eadebe9ac0 100644
--- a/src/schema/entries.js
+++ b/src/schema/entries.js
@@ -1,5 +1,5 @@
-import { isFalsy } from '../vendor/ravl/common';
-import { RavlError } from '../vendor/ravl/error';
+import { isFalsy } from '#ravl/common';
+import { RavlError } from '#ravl/error';
const entrySchema = [];
diff --git a/src/schema/index.js b/src/schema/index.js
index 8e3615385a..723fe1d76e 100644
--- a/src/schema/index.js
+++ b/src/schema/index.js
@@ -1,5 +1,5 @@
-import dict from '../vendor/ravl/schema';
-import attachValidator from '../vendor/ravl/attachValidator';
+import dict from '#ravl/schema';
+import attachValidator from '#ravl/attachValidator';
import leads from './leads';
import leadsViz from './leadsViz';
diff --git a/src/store.js b/src/store.js
index 3e0b7be7aa..c698751896 100644
--- a/src/store.js
+++ b/src/store.js
@@ -1,73 +1,79 @@
import { compose, createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
-import logger from './redux/middlewares/logger';
-import siloBackgroundTasks from './redux/middlewares/siloBackgroundTasks';
-import { sendToken } from './utils/browserExtension';
+import logger from '#redux/middlewares/logger';
+import siloBackgroundTasks from '#redux/middlewares/siloBackgroundTasks';
+import { sendToken } from '#utils/browserExtension';
import {
commonHeaderForPost,
commonHeaderForGet,
authorizationHeaderForPost,
-} from './config/rest';
-import { createActionSyncMiddleware } from './vendor/react-store/utils/redux-sync.js';
+} from '#config/rest';
+import { createActionSyncMiddleware } from '#rs/utils/redux-sync.js';
-import reducer from './redux/reducers';
-import { reducersToSync } from './config/store';
+import reducer from '#redux/reducers';
+import { reducersToSync } from '#config/store';
-// Invoke refresh access token every 10m
-const middleware = [
- logger,
- createActionSyncMiddleware(reducersToSync),
- siloBackgroundTasks,
- thunk,
-];
+const prepareStore = () => {
+ // Invoke refresh access token every 10m
+ const middleware = [
+ logger,
+ createActionSyncMiddleware(reducersToSync),
+ siloBackgroundTasks,
+ thunk,
+ ];
-// Get compose from Redux Devtools Extension
-// eslint-disable-next-line no-underscore-dangle
-const reduxExtensionCompose = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
+ // Get compose from Redux Devtools Extension
+ // eslint-disable-next-line no-underscore-dangle
+ const reduxExtensionCompose = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
-// Override compose if development mode and redux extension is installed
-const overrideCompose = process.env.NODE_ENV === 'development' && reduxExtensionCompose;
-const applicableComposer = !overrideCompose
- ? compose
- : reduxExtensionCompose({ /* specify extention's options here */ });
+ // Override compose if development mode and redux extension is installed
+ const overrideCompose = process.env.NODE_ENV === 'development' && reduxExtensionCompose;
+ const applicableComposer = !overrideCompose
+ ? compose
+ : reduxExtensionCompose({ /* specify extention's options here */ });
-const enhancer = applicableComposer(
- applyMiddleware(...middleware),
-);
+ const enhancer = applicableComposer(
+ applyMiddleware(...middleware),
+ );
+ return createStore(reducer, undefined, enhancer);
+};
-// NOTE: replace undefined with an initialState if required
-const store = createStore(reducer, undefined, enhancer);
+const injectHeaders = (reduxStore) => {
+ const noOp = () => {};
-const noOp = () => {};
-
-if (process.env.NODE_ENV !== 'test') {
// eslint-disable-next-line global-require
const { tokenSelector } = require('./redux/selectors/auth');
let currentAccess;
let currentRefresh;
- store.subscribe(() => {
+ reduxStore.subscribe(() => {
const prevAccess = currentAccess;
const prevRefresh = currentRefresh;
- const token = tokenSelector(store.getState());
+ const token = tokenSelector(reduxStore.getState());
currentAccess = token.access;
currentRefresh = token.refresh;
+
+ // If access token changes, then mutate headers
if (prevAccess !== currentAccess) {
- if (currentAccess) {
- commonHeaderForPost.Authorization = `Bearer ${currentAccess}`;
- commonHeaderForGet.Authorization = `Bearer ${currentAccess}`;
- authorizationHeaderForPost.Authorization = `Bearer ${currentAccess}`;
- } else {
- commonHeaderForPost.Authorization = undefined;
- commonHeaderForGet.Authorization = `Bearer ${currentAccess}`;
- authorizationHeaderForPost.Authorization = undefined;
- }
+ const bearer = currentAccess ? `Bearer ${currentAccess}` : undefined;
+ commonHeaderForPost.Authorization = bearer;
+ commonHeaderForGet.Authorization = bearer;
+ authorizationHeaderForPost.Authorization = bearer;
}
+ // Sends refresh token to browser extension
if (prevRefresh !== currentRefresh) {
sendToken(token).then(noOp, noOp);
}
});
+};
+
+const isTest = process.env.NODE_ENV === 'test';
+
+// NOTE: replace 'undefined' with an initialState in future if needed
+const store = !isTest ? prepareStore() : undefined;
+if (!isTest) {
+ injectHeaders(store);
}
export default store;
diff --git a/src/ts.js b/src/ts.js
index bf14733cb2..25c77b0c87 100644
--- a/src/ts.js
+++ b/src/ts.js
@@ -1,13 +1,13 @@
import stringFormat from 'string-format';
-import devLang from './redux/initial-state/dev-lang';
+import devLang from '#redux/initial-state/dev-lang';
import {
selectedLinksSelector,
selectedStringsSelector,
fallbackLinksSelector,
fallbackStringsSelector,
-} from './redux';
-import store from './store';
+} from '#redux';
+import store from '#store';
const getString = (strings, links, namespace, identifier) => {
const namedLinkStrings = links[namespace];
diff --git a/src/utils/SiloTasksManager.js b/src/utils/SiloTasksManager.js
index 42c2d0d4b6..5cc630cfa7 100644
--- a/src/utils/SiloTasksManager.js
+++ b/src/utils/SiloTasksManager.js
@@ -1,4 +1,4 @@
-import Locker from '../vendor/react-store/utils/Locker';
+import Locker from '#rs/utils/Locker';
import AbstractTask from './AbstractTask';
diff --git a/src/utils/getUserConfirmation.js b/src/utils/getUserConfirmation.js
index 769a209b4c..88b3e2f147 100644
--- a/src/utils/getUserConfirmation.js
+++ b/src/utils/getUserConfirmation.js
@@ -1,6 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import Confirm from '../vendor/react-store/components/View/Modal/Confirm';
+import Confirm from '#rs/components/View/Modal/Confirm';
const getUserConfirmation = (message, confirm) => {
const container = document.createElement('div');
diff --git a/src/views/AnalysisFramework/List/index.js b/src/views/AnalysisFramework/List/index.js
index 7bf3414971..55c5478b84 100644
--- a/src/views/AnalysisFramework/List/index.js
+++ b/src/views/AnalysisFramework/List/index.js
@@ -5,30 +5,30 @@ import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
-import GridLayout from '../../../vendor/react-store/components/View/GridLayout';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
+import GridLayout from '#rs/components/View/GridLayout';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
import {
randomString,
reverseRoute,
-} from '../../../vendor/react-store/utils/common';
+} from '#rs/utils/common';
import {
iconNames,
pathNames,
-} from '../../../constants';
+} from '#constants';
import {
addAfViewWidgetAction,
removeAfViewWidgetAction,
updateAfViewWidgetAction,
activeProjectIdFromStateSelector,
-} from '../../../redux';
-import _ts from '../../../ts';
+} from '#redux';
+import _ts from '#ts';
-import widgetStore from '../../../widgets';
+import widgetStore from '#widgets';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/AnalysisFramework/Overview/index.js b/src/views/AnalysisFramework/Overview/index.js
index e81c7d5830..a2681d85e5 100644
--- a/src/views/AnalysisFramework/Overview/index.js
+++ b/src/views/AnalysisFramework/Overview/index.js
@@ -5,30 +5,30 @@ import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
-import GridLayout from '../../../vendor/react-store/components/View/GridLayout';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
+import GridLayout from '#rs/components/View/GridLayout';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
import {
randomString,
reverseRoute,
-} from '../../../vendor/react-store/utils/common';
+} from '#rs/utils/common';
import {
iconNames,
pathNames,
-} from '../../../constants';
+} from '#constants';
import {
addAfViewWidgetAction,
removeAfViewWidgetAction,
updateAfViewWidgetAction,
activeProjectIdFromStateSelector,
-} from '../../../redux';
-import _ts from '../../../ts';
+} from '#redux';
+import _ts from '#ts';
-import widgetStore from '../../../widgets';
+import widgetStore from '#widgets';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/AnalysisFramework/index.js b/src/views/AnalysisFramework/index.js
index e567895d95..4be3dc3ffd 100644
--- a/src/views/AnalysisFramework/index.js
+++ b/src/views/AnalysisFramework/index.js
@@ -2,27 +2,27 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import MultiViewContainer from '../../vendor/react-store/components/View/MultiViewContainer';
-import { checkVersion } from '../../vendor/react-store/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import { checkVersion } from '#rs/utils/common';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
import {
createParamsForGet,
createParamsForAnalysisFrameworkEdit,
createUrlForAnalysisFramework,
-} from '../../rest';
+} from '#rest';
import {
afIdFromRoute,
setAfViewAnalysisFrameworkAction,
afViewCurrentAnalysisFrameworkSelector,
-} from '../../redux';
-import notify from '../../notify';
-import schema from '../../schema';
-import _ts from '../../ts';
+} from '#redux';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
import Overview from './Overview';
import List from './List';
diff --git a/src/views/ApiDocs/index.js b/src/views/ApiDocs/index.js
index ffe34776c0..22d0fa3092 100644
--- a/src/views/ApiDocs/index.js
+++ b/src/views/ApiDocs/index.js
@@ -1,14 +1,14 @@
import React from 'react';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { isObjectEmpty, compareString } from '../../vendor/react-store/utils/common';
-import List from '../../vendor/react-store/components/View/List';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-
-import _ts from '../../ts';
-import { urlForApiDocs } from '../../rest';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { isObjectEmpty, compareString } from '#rs/utils/common';
+import List from '#rs/components/View/List';
+import ListView from '#rs/components/View/List/ListView';
+
+import _ts from '#ts';
+import { urlForApiDocs } from '#rest';
import styles from './styles.scss';
diff --git a/src/views/Arys/ActionButtons/index.js b/src/views/Arys/ActionButtons/index.js
index 64222c5057..15902445e2 100644
--- a/src/views/Arys/ActionButtons/index.js
+++ b/src/views/Arys/ActionButtons/index.js
@@ -2,14 +2,14 @@ import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
import { Link } from 'react-router-dom';
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
+import { reverseRoute } from '#rs/utils/common';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
import {
iconNames,
pathNames,
-} from '../../../constants/';
-import _ts from '../../../ts';
+} from '#constants/';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Arys/FilterArysForm/index.js b/src/views/Arys/FilterArysForm/index.js
index da593c3af2..fb08e553b6 100644
--- a/src/views/Arys/FilterArysForm/index.js
+++ b/src/views/Arys/FilterArysForm/index.js
@@ -2,13 +2,13 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { isObjectEmpty } from '../../../vendor/react-store/utils/common';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import Faram from '../../../vendor/react-store/components/Input/Faram';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
-import DateFilter from '../../../vendor/react-store/components/Input/DateFilter';
-import MultiSelectInput from '../../../vendor/react-store/components/Input/MultiSelectInput';
+import { isObjectEmpty } from '#rs/utils/common';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import Faram from '#rs/components/Input/Faram';
+import SearchInput from '#rs/components/Input/SearchInput';
+import DateFilter from '#rs/components/Input/DateFilter';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
import {
activeProjectIdFromStateSelector,
@@ -18,8 +18,8 @@ import {
unsetAryPageFilterAction,
aryFilterOptionsForProjectSelector,
setAryFilterOptionsAction,
-} from '../../../redux';
-import _ts from '../../../ts';
+} from '#redux';
+import _ts from '#ts';
import AryFilterOptionsGetRequest from './requests/AryFilterOptionsGetRequest';
diff --git a/src/views/Arys/FilterArysForm/requests/AryFilterOptionsGetRequest.js b/src/views/Arys/FilterArysForm/requests/AryFilterOptionsGetRequest.js
index 2a386d6966..3f571116f3 100644
--- a/src/views/Arys/FilterArysForm/requests/AryFilterOptionsGetRequest.js
+++ b/src/views/Arys/FilterArysForm/requests/AryFilterOptionsGetRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../../vendor/react-store/utils/rest';
-import schema from '../../../../schema';
+import { FgRestBuilder } from '#rs/utils/rest';
+import schema from '#schema';
import {
createUrlForAryFilterOptions,
createParamsForGet,
-} from '../../../../rest';
+} from '#rest';
export default class AryFilterOptionsGetRequest {
constructor(params) {
diff --git a/src/views/Arys/index.js b/src/views/Arys/index.js
index ea9da5e9ca..bc52e39238 100644
--- a/src/views/Arys/index.js
+++ b/src/views/Arys/index.js
@@ -6,16 +6,16 @@ import {
Link,
} from 'react-router-dom';
-import { reverseRoute } from '../../vendor/react-store/utils/common';
-import Confirm from '../../vendor/react-store/components/View/Modal/Confirm';
-import FormattedDate from '../../vendor/react-store/components/View/FormattedDate';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import Pager from '../../vendor/react-store/components/View/Pager';
-import RawTable from '../../vendor/react-store/components/View/RawTable';
-import TableHeader from '../../vendor/react-store/components/View/TableHeader';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-
-import AppError from '../../components/AppError';
+import { reverseRoute } from '#rs/utils/common';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Pager from '#rs/components/View/Pager';
+import RawTable from '#rs/components/View/RawTable';
+import TableHeader from '#rs/components/View/TableHeader';
+import BoundError from '#rs/components/General/BoundError';
+
+import AppError from '#components/AppError';
import {
activeProjectIdFromStateSelector,
@@ -28,9 +28,9 @@ import {
setArysAction,
setAryPageActivePageAction,
setAryPageActiveSortAction,
-} from '../../redux';
-import { pathNames } from '../../constants/';
-import _ts from '../../ts';
+} from '#redux';
+import { pathNames } from '#constants/';
+import _ts from '#ts';
import ActionButtons from './ActionButtons';
import FilterArysForm from './FilterArysForm';
diff --git a/src/views/Arys/requests/AryDeleteRequest.js b/src/views/Arys/requests/AryDeleteRequest.js
index e2fc0e019c..aab0f38335 100644
--- a/src/views/Arys/requests/AryDeleteRequest.js
+++ b/src/views/Arys/requests/AryDeleteRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
import {
createUrlForAryDelete,
createParamsForAryDelete,
transformResponseErrorToFormError,
-} from '../../../rest';
+} from '#rest';
export default class AryDeleteRequest {
constructor(params) {
diff --git a/src/views/Arys/requests/ArysGetRequest.js b/src/views/Arys/requests/ArysGetRequest.js
index 17fc045853..36bd1bec14 100644
--- a/src/views/Arys/requests/ArysGetRequest.js
+++ b/src/views/Arys/requests/ArysGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import { getFiltersForRequest } from '../../../entities/lead';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
+import schema from '#schema';
+import { getFiltersForRequest } from '#entities/lead';
import {
createUrlForArysOfProject,
createParamsForGet,
transformResponseErrorToFormError,
-} from '../../../rest';
+} from '#rest';
export default class ArysGetRequest {
constructor(params) {
diff --git a/src/views/BrowserExtension/index.js b/src/views/BrowserExtension/index.js
index ac8962c407..171ae6580b 100644
--- a/src/views/BrowserExtension/index.js
+++ b/src/views/BrowserExtension/index.js
@@ -6,10 +6,10 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import { tokenSelector } from '../../redux';
-import { sendToken } from '../../utils/browserExtension';
-import _ts from '../../ts';
-import notify from '../../notify';
+import { tokenSelector } from '#redux';
+import { sendToken } from '#utils/browserExtension';
+import _ts from '#ts';
+import notify from '#notify';
const mapStateToProps = state => ({
token: tokenSelector(state),
diff --git a/src/views/CategoryEditor/DocumentPanel/DocumentNGram/index.js b/src/views/CategoryEditor/DocumentPanel/DocumentNGram/index.js
index 5dd90337e0..38220690b4 100644
--- a/src/views/CategoryEditor/DocumentPanel/DocumentNGram/index.js
+++ b/src/views/CategoryEditor/DocumentPanel/DocumentNGram/index.js
@@ -5,11 +5,11 @@ import { connect } from 'react-redux';
import {
trimWhitespace,
splitInWhitespace,
-} from '../../../../vendor/react-store/utils/common';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
+} from '#rs/utils/common';
+import ListView from '#rs/components/View/List/ListView';
-import _ts from '../../../../ts';
-import { categoryEditorNgramsSelector } from '../../../../redux';
+import _ts from '#ts';
+import { categoryEditorNgramsSelector } from '#redux';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/DocumentPanel/DocumentSelect/index.js b/src/views/CategoryEditor/DocumentPanel/DocumentSelect/index.js
index beb009e99a..a37f6dbb8e 100644
--- a/src/views/CategoryEditor/DocumentPanel/DocumentSelect/index.js
+++ b/src/views/CategoryEditor/DocumentPanel/DocumentSelect/index.js
@@ -2,20 +2,20 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import Button from '../../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
+import ListView from '#rs/components/View/List/ListView';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
import {
categoryEditorDocumentsSelector,
setCeFilesAction,
ceIdFromRouteSelector,
categoryEditorProjectsSelector,
-} from '../../../../redux';
-import DeepGalleryFileSelect from '../../../../components/DeepGalleryFileSelect';
-import { iconNames } from '../../../../constants';
-import _ts from '../../../../ts';
+} from '#redux';
+import DeepGalleryFileSelect from '#components/DeepGalleryFileSelect';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/DocumentPanel/index.js b/src/views/CategoryEditor/DocumentPanel/index.js
index 8afe2af604..199289fbe2 100644
--- a/src/views/CategoryEditor/DocumentPanel/index.js
+++ b/src/views/CategoryEditor/DocumentPanel/index.js
@@ -3,8 +3,8 @@ import React from 'react';
import { connect } from 'react-redux';
// import { Tabs, TabLink, TabContent } from 'react-tabs-redux';
-import List from '../../../vendor/react-store/components/View/List';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
+import List from '#rs/components/View/List';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
categoryEditorDocumentsSelector,
@@ -12,9 +12,9 @@ import {
setCeNgramsAction,
setCeSimplifiedPreviewIdAction,
ceIdFromRouteSelector,
-} from '../../../redux';
-import _ts from '../../../ts';
-import SimplifiedFilePreview from '../../../components/SimplifiedFilePreview';
+} from '#redux';
+import _ts from '#ts';
+import SimplifiedFilePreview from '#components/SimplifiedFilePreview';
import DocumentNGram from './DocumentNGram';
import DocumentSelect from './DocumentSelect';
diff --git a/src/views/CategoryEditor/NewCategoryModal/index.js b/src/views/CategoryEditor/NewCategoryModal/index.js
index 401369b6ab..43ae7f4935 100644
--- a/src/views/CategoryEditor/NewCategoryModal/index.js
+++ b/src/views/CategoryEditor/NewCategoryModal/index.js
@@ -1,16 +1,16 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Faram, { requiredCondition } from '../../../vendor/react-store/components/Input/Faram';
-
-import _ts from '../../../ts';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import TextInput from '#rs/components/Input/TextInput';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/NewManualNgramModal/index.js b/src/views/CategoryEditor/NewManualNgramModal/index.js
index 6decf3e303..eec3fce105 100644
--- a/src/views/CategoryEditor/NewManualNgramModal/index.js
+++ b/src/views/CategoryEditor/NewManualNgramModal/index.js
@@ -1,16 +1,16 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Faram, { requiredCondition } from '../../../vendor/react-store/components/Input/Faram';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import TextInput from '#rs/components/Input/TextInput';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
-import _ts from '../../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/NewSubcategoryModal/index.js b/src/views/CategoryEditor/NewSubcategoryModal/index.js
index 5761cc5de5..6bab10b9e0 100644
--- a/src/views/CategoryEditor/NewSubcategoryModal/index.js
+++ b/src/views/CategoryEditor/NewSubcategoryModal/index.js
@@ -1,16 +1,16 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Faram, { requiredCondition } from '../../../vendor/react-store/components/Input/Faram';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import TextInput from '#rs/components/Input/TextInput';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
-import _ts from '../../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/SubcategoryColumn/index.js b/src/views/CategoryEditor/SubcategoryColumn/index.js
index 7cd0afaaeb..15dbfdc354 100644
--- a/src/views/CategoryEditor/SubcategoryColumn/index.js
+++ b/src/views/CategoryEditor/SubcategoryColumn/index.js
@@ -1,11 +1,11 @@
import PropTypes from 'prop-types';
import React from 'react';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import ListView from '#rs/components/View/List/ListView';
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/SubcategoryPropertyPanel/NGram/index.js b/src/views/CategoryEditor/SubcategoryPropertyPanel/NGram/index.js
index 83620a0be5..0b00ea043f 100644
--- a/src/views/CategoryEditor/SubcategoryPropertyPanel/NGram/index.js
+++ b/src/views/CategoryEditor/SubcategoryPropertyPanel/NGram/index.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
+import ListView from '#rs/components/View/List/ListView';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
-import { iconNames } from '../../../../constants';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/CategoryEditor/SubcategoryPropertyPanel/index.js b/src/views/CategoryEditor/SubcategoryPropertyPanel/index.js
index 457277e530..1e181f7626 100644
--- a/src/views/CategoryEditor/SubcategoryPropertyPanel/index.js
+++ b/src/views/CategoryEditor/SubcategoryPropertyPanel/index.js
@@ -2,22 +2,22 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { bound } from '../../../vendor/react-store/utils/common';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import TextArea from '../../../vendor/react-store/components/Input/TextArea';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-
-import _ts from '../../../ts';
+import { bound } from '#rs/utils/common';
+import ListView from '#rs/components/View/List/ListView';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import TextInput from '#rs/components/Input/TextInput';
+import TextArea from '#rs/components/Input/TextArea';
+import Confirm from '#rs/components/View/Modal/Confirm';
+
+import _ts from '#ts';
import {
selectedSubcategorySelector,
updateSelectedSubcategoryAction,
removeSelectedSubcategoryAction,
removeSubcategoryNGramAction,
ceIdFromRouteSelector,
-} from '../../../redux';
+} from '#redux';
import styles from './styles.scss';
import NGram from './NGram';
diff --git a/src/views/CategoryEditor/index.js b/src/views/CategoryEditor/index.js
index 2e1776887e..b5203c2c33 100644
--- a/src/views/CategoryEditor/index.js
+++ b/src/views/CategoryEditor/index.js
@@ -6,7 +6,7 @@ import {
Prompt,
} from 'react-router-dom';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
import {
isTruthy,
checkVersion,
@@ -14,14 +14,14 @@ import {
trimWhitespace,
splitInWhitespace,
reverseRoute,
-} from '../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import SelectInput from '../../vendor/react-store/components/Input/SelectInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import SuccessButton from '../../vendor/react-store/components/Action/Button/SuccessButton';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../vendor/react-store/components/View/Modal/Confirm';
+} from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import SelectInput from '#rs/components/Input/SelectInput';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
import {
categoryEditorViewTitleSelector,
@@ -43,21 +43,21 @@ import {
ceIdFromRouteSelector,
activeProjectIdFromStateSelector,
-} from '../../redux';
+} from '#redux';
import {
createUrlForCategoryEditor,
createParamsForGet,
createParamsForCeViewPatch,
transformResponseErrorToFormError,
-} from '../../rest';
+} from '#rest';
import {
iconNames,
pathNames,
-} from '../../constants';
-import schema from '../../schema';
-import notify from '../../notify';
-import _ts from '../../ts';
-import AppError from '../../components/AppError';
+} from '#constants';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
+import AppError from '#components/AppError';
import DocumentPanel from './DocumentPanel';
import NewCategoryModal from './NewCategoryModal';
diff --git a/src/views/Connector/AddForm/index.js b/src/views/Connector/AddForm/index.js
index e37b8fd9a9..0e1c2c8baf 100644
--- a/src/views/Connector/AddForm/index.js
+++ b/src/views/Connector/AddForm/index.js
@@ -5,19 +5,19 @@ import { Redirect } from 'react-router-dom';
import Faram, {
requiredCondition,
-} from '../../../vendor/react-store/components/Input/Faram';
-import NonFieldErrors from '../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-
-import _ts from '../../../ts';
+} from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import SelectInput from '#rs/components/Input/SelectInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+
+import _ts from '#ts';
import {
connectorSourcesListSelector,
addUserConnectorAction,
-} from '../../../redux';
+} from '#redux';
import ConnectorCreateRequest from '../requests/ConnectorCreateRequest';
diff --git a/src/views/Connector/Details/Form/index.js b/src/views/Connector/Details/Form/index.js
index 11def492a1..21e3c67857 100644
--- a/src/views/Connector/Details/Form/index.js
+++ b/src/views/Connector/Details/Form/index.js
@@ -2,34 +2,22 @@ import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
import { connect } from 'react-redux';
-import {
- compareString,
- compareDate,
-} from '../../../../vendor/react-store/utils/common';
-import update from '../../../../vendor/react-store/utils/immutable-update';
-import Faram, {
- requiredCondition,
- urlCondition,
-} from '../../../../vendor/react-store/components/Input/Faram';
-import FaramGroup from '../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
-import TabularSelectInput from '../../../../vendor/react-store/components/Input/TabularSelectInput';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import List from '../../../../vendor/react-store/components/View/List';
-import FormattedDate from '../../../../vendor/react-store/components/View/FormattedDate';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../../vendor/react-store/components/Action/Button/AccentButton';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import SuccessButton from '../../../../vendor/react-store/components/Action/Button/SuccessButton';
-
-import _ts from '../../../../ts';
-
-import ConnectorPatchRequest from '../../requests/ConnectorPatchRequest';
-import ConnectorDetailsGetRequest from '../../requests/ConnectorDetailsGetRequest';
-import UserListGetRequest from '../../requests/UserListGetRequest';
-import UserProjectsGetRequest from '../../requests/UserProjectsGetRequest';
-
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import Faram, { requiredCondition, urlCondition } from '#rs/components/Input/Faram';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TabularSelectInput from '#rs/components/Input/TabularSelectInput';
+import TextInput from '#rs/components/Input/TextInput';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import List from '#rs/components/View/List';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import { compareString, compareDate } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+
+import { iconNames } from '#constants';
import {
connectorDetailsSelector,
connectorSourceSelector,
@@ -41,9 +29,13 @@ import {
changeUserConnectorDetailsAction,
setErrorUserConnectorDetailsAction,
setUserConnectorDetailsAction,
-} from '../../../../redux';
+} from '#redux';
+import _ts from '#ts';
-import { iconNames } from '../../../../constants';
+import ConnectorDetailsGetRequest from '../../requests/ConnectorDetailsGetRequest';
+import ConnectorPatchRequest from '../../requests/ConnectorPatchRequest';
+import UserListGetRequest from '../../requests/UserListGetRequest';
+import UserProjectsGetRequest from '../../requests/UserProjectsGetRequest';
import styles from './styles.scss';
diff --git a/src/views/Connector/Details/index.js b/src/views/Connector/Details/index.js
index 237a5c6323..69f3c6721d 100644
--- a/src/views/Connector/Details/index.js
+++ b/src/views/Connector/Details/index.js
@@ -3,7 +3,7 @@ import React, { Fragment } from 'react';
import { connect } from 'react-redux';
import { Prompt } from 'react-router-dom';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
connectorsListSelector,
@@ -12,8 +12,8 @@ import {
connectorSourceSelector,
setUserConnectorDetailsAction,
-} from '../../../redux';
-import _ts from '../../../ts';
+} from '#redux';
+import _ts from '#ts';
import ConnectorDetailsGetRequest from '../requests/ConnectorDetailsGetRequest';
diff --git a/src/views/Connector/index.js b/src/views/Connector/index.js
index a173353ac1..ef520e187e 100644
--- a/src/views/Connector/index.js
+++ b/src/views/Connector/index.js
@@ -3,31 +3,31 @@ import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import SearchInput from '../../vendor/react-store/components/Input/SearchInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import ListView from '../../../src/vendor/react-store/components/View/List/ListView';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import BoundError from '#rs/components/General/BoundError';
+import SearchInput from '#rs/components/Input/SearchInput';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import ListView from '#rs/components/View/List/ListView';
import {
reverseRoute,
caseInsensitiveSubmatch,
-} from '../../vendor/react-store/utils/common';
+} from '#rs/utils/common';
-import AppError from '../../components/AppError';
+import AppError from '#components/AppError';
import {
connectorsListSelector,
connectorIdFromRouteSelector,
setConnectorSourcesAction,
setUserConnectorsAction,
-} from '../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../constants';
-import _ts from '../../ts';
+} from '#constants';
+import _ts from '#ts';
import ConnectorsGetRequest from './requests/ConnectorsGetRequest';
import ConnectorSourcesGetRequest from './requests/ConnectorSourcesGetRequest';
diff --git a/src/views/Connector/requests/ConnectorCreateRequest.js b/src/views/Connector/requests/ConnectorCreateRequest.js
index f585cf8dde..ff6a53d37e 100644
--- a/src/views/Connector/requests/ConnectorCreateRequest.js
+++ b/src/views/Connector/requests/ConnectorCreateRequest.js
@@ -1,15 +1,15 @@
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { reverseRoute } from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createParamsForConnectorCreate,
alterResponseErrorToFaramError,
urlForConnectorsFull,
-} from '../../../rest';
-import { pathNames } from '../../../constants';
-import _ts from '../../../ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+} from '#rest';
+import { pathNames } from '#constants';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
export default class ConnectorCreateRequest {
constructor(props) {
diff --git a/src/views/Connector/requests/ConnectorDetailsGetRequest.js b/src/views/Connector/requests/ConnectorDetailsGetRequest.js
index 9229309db3..dcb69efb0e 100644
--- a/src/views/Connector/requests/ConnectorDetailsGetRequest.js
+++ b/src/views/Connector/requests/ConnectorDetailsGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import { checkVersion } from '../../../vendor/react-store/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { checkVersion } from '#rs/utils/common';
import {
createParamsForGet,
createUrlForConnector,
-} from '../../../rest';
-import _ts from '../../../ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+} from '#rest';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
export default class ConnectorDetailsGetRequest {
constructor(props) {
diff --git a/src/views/Connector/requests/ConnectorPatchRequest.js b/src/views/Connector/requests/ConnectorPatchRequest.js
index e68bc9b888..e038645d90 100644
--- a/src/views/Connector/requests/ConnectorPatchRequest.js
+++ b/src/views/Connector/requests/ConnectorPatchRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
alterResponseErrorToFaramError,
createParamsForConnectorPatch,
createUrlForConnector,
-} from '../../../rest';
-import _ts from '../../../ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+} from '#rest';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
export default class ConnectorPatchRequest {
constructor(props) {
diff --git a/src/views/Connector/requests/ConnectorSourcesGetRequest.js b/src/views/Connector/requests/ConnectorSourcesGetRequest.js
index d152d087d9..5f88797c4a 100644
--- a/src/views/Connector/requests/ConnectorSourcesGetRequest.js
+++ b/src/views/Connector/requests/ConnectorSourcesGetRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createParamsForGet,
urlForConnectorSources,
-} from '../../../rest';
-import _ts from '../../../ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+} from '#rest';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
export default class ConnectorsGetRequest {
constructor(props) {
diff --git a/src/views/Connector/requests/ConnectorsGetRequest.js b/src/views/Connector/requests/ConnectorsGetRequest.js
index 787f95ccce..fce27d8d78 100644
--- a/src/views/Connector/requests/ConnectorsGetRequest.js
+++ b/src/views/Connector/requests/ConnectorsGetRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createParamsForGet,
urlForConnectorsForAdmin,
-} from '../../../rest';
-import _ts from '../../../ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+} from '#rest';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
const emptyList = [];
diff --git a/src/views/Connector/requests/UserListGetRequest.js b/src/views/Connector/requests/UserListGetRequest.js
index 4b8cffc411..96bed59310 100644
--- a/src/views/Connector/requests/UserListGetRequest.js
+++ b/src/views/Connector/requests/UserListGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createParamsForGet,
createUrlForUsers,
-} from '../../../rest';
+} from '#rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
export default class ConnectorsGetRequest {
constructor(props) {
diff --git a/src/views/Connector/requests/UserProjectsGetRequest.js b/src/views/Connector/requests/UserProjectsGetRequest.js
index 6402c1463b..ac5648d970 100644
--- a/src/views/Connector/requests/UserProjectsGetRequest.js
+++ b/src/views/Connector/requests/UserProjectsGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForProjectsOfUser,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
export default class UserProjectsGetRequest {
constructor(props) {
diff --git a/src/views/Country/CountryDetail/CountryGeneral/index.js b/src/views/Country/CountryDetail/CountryGeneral/index.js
index 845fc62e34..58269515ed 100644
--- a/src/views/Country/CountryDetail/CountryGeneral/index.js
+++ b/src/views/Country/CountryDetail/CountryGeneral/index.js
@@ -4,11 +4,11 @@ import { connect } from 'react-redux';
import {
countryDetailSelector,
-} from '../../../../redux';
+} from '#redux';
-import RegionDetail from '../../../../components/RegionDetail';
-import RegionAdminLevel from '../../../../components/RegionAdminLevel';
-import RegionMap from '../../../../components/RegionMap';
+import RegionDetail from '#components/RegionDetail';
+import RegionAdminLevel from '#components/RegionAdminLevel';
+import RegionMap from '#components/RegionMap';
import styles from './styles.scss';
diff --git a/src/views/Country/CountryDetail/CountryKeyFigures/index.js b/src/views/Country/CountryDetail/CountryKeyFigures/index.js
index 9dec3e33a9..33cf7a3043 100644
--- a/src/views/Country/CountryDetail/CountryKeyFigures/index.js
+++ b/src/views/Country/CountryDetail/CountryKeyFigures/index.js
@@ -1,12 +1,12 @@
import PropTypes from 'prop-types';
import React from 'react';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import FaramGroup from '../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import TextInput from '#rs/components/Input/TextInput';
-import { iconNames } from '../../../../constants';
-import _ts from '../../../../ts';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Country/CountryDetail/CountryMediaSources/index.js b/src/views/Country/CountryDetail/CountryMediaSources/index.js
index 13cb3f2053..17b3befa62 100644
--- a/src/views/Country/CountryDetail/CountryMediaSources/index.js
+++ b/src/views/Country/CountryDetail/CountryMediaSources/index.js
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import _ts from '../../../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Country/CountryDetail/CountryPopulationData/index.js b/src/views/Country/CountryDetail/CountryPopulationData/index.js
index 3d4fbe9beb..8b93853215 100644
--- a/src/views/Country/CountryDetail/CountryPopulationData/index.js
+++ b/src/views/Country/CountryDetail/CountryPopulationData/index.js
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import _ts from '../../../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Country/CountryDetail/CountrySeasonalCalendar/__tests__/index.js b/src/views/Country/CountryDetail/CountrySeasonalCalendar/__tests__/index.js
index 82f9f12364..a358ef1e26 100644
--- a/src/views/Country/CountryDetail/CountrySeasonalCalendar/__tests__/index.js
+++ b/src/views/Country/CountryDetail/CountrySeasonalCalendar/__tests__/index.js
@@ -1,12 +1,25 @@
import React from 'react';
import { shallow } from 'enzyme';
+import configureStore from 'redux-mock-store';
+import { Provider } from 'react-redux';
+
import CountrySeasonalCalendar from '../';
+const initialState = {
+};
+
describe('', () => {
+ const mockStore = configureStore();
+ const store = mockStore(initialState);
+
const wrapper = shallow(
- ,
+
+
+ ,
);
it('renders properly', () => {
diff --git a/src/views/Country/CountryDetail/CountrySeasonalCalendar/index.js b/src/views/Country/CountryDetail/CountrySeasonalCalendar/index.js
index 4c9062e83f..5389e0544a 100644
--- a/src/views/Country/CountryDetail/CountrySeasonalCalendar/index.js
+++ b/src/views/Country/CountryDetail/CountrySeasonalCalendar/index.js
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import _ts from '../../../../ts';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Country/CountryDetail/index.js b/src/views/Country/CountryDetail/index.js
index e0c8926c3e..fc3547a34c 100644
--- a/src/views/Country/CountryDetail/index.js
+++ b/src/views/Country/CountryDetail/index.js
@@ -3,14 +3,14 @@ import React, { Fragment } from 'react';
import { connect } from 'react-redux';
import { Prompt } from 'react-router-dom';
-import Faram, { requiredCondition } from '../../../vendor/react-store/components/Input/Faram';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import FixedTabs from '../../../vendor/react-store/components/View/FixedTabs';
-import MultiViewContainer from '../../../vendor/react-store/components/View/MultiViewContainer';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
-import WarningButton from '../../../vendor/react-store/components/Action/Button/WarningButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import FixedTabs from '#rs/components/View/FixedTabs';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
countryDetailSelector,
regionDetailSelector,
@@ -20,10 +20,10 @@ import {
changeRegionDetailsAction,
setRegionDetailsErrorsAction,
routeUrlSelector,
-} from '../../../redux';
-import _ts from '../../../ts';
-import RegionDetailView from '../../../components/RegionDetailView';
-import RegionMap from '../../../components/RegionMap';
+} from '#redux';
+import _ts from '#ts';
+import RegionDetailView from '#components/RegionDetailView';
+import RegionMap from '#components/RegionMap';
import RegionDeleteRequest from '../requests/RegionDeleteRequest';
import RegionGetRequest from '../requests/RegionGetRequest';
diff --git a/src/views/Country/CountryListItem/index.js b/src/views/Country/CountryListItem/index.js
index 04aa67830c..a4c6829ce7 100644
--- a/src/views/Country/CountryListItem/index.js
+++ b/src/views/Country/CountryListItem/index.js
@@ -2,9 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import { NavLink } from 'react-router-dom';
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
+import { reverseRoute } from '#rs/utils/common';
-import { pathNames } from '../../../constants';
+import { pathNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/Country/index.js b/src/views/Country/index.js
index 1076003d1e..feb9643197 100644
--- a/src/views/Country/index.js
+++ b/src/views/Country/index.js
@@ -2,13 +2,13 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { caseInsensitiveSubmatch, compareString } from '../../vendor/react-store/utils/common';
-import SearchInput from '../../vendor/react-store/components/Input/SearchInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
+import { caseInsensitiveSubmatch, compareString } from '#rs/utils/common';
+import SearchInput from '#rs/components/Input/SearchInput';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import ListView from '#rs/components/View/List/ListView';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
import {
regionsListSelector,
@@ -16,13 +16,13 @@ import {
setRegionsAction,
activeUserSelector,
-} from '../../redux';
-import _ts from '../../ts';
-import { iconNames } from '../../constants';
-import AddRegion from '../../components/AddRegion';
+} from '#redux';
+import _ts from '#ts';
+import { iconNames } from '#constants';
+import AddRegion from '#components/AddRegion';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
import CountriesGetRequest from './requests/CountriesGetRequest';
diff --git a/src/views/Country/requests/CountriesGetRequest.js b/src/views/Country/requests/CountriesGetRequest.js
index 7add0ac74b..82f9f2a2e3 100644
--- a/src/views/Country/requests/CountriesGetRequest.js
+++ b/src/views/Country/requests/CountriesGetRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
urlForRegions,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
/*
* setRegions
diff --git a/src/views/Country/requests/RegionDeleteRequest.js b/src/views/Country/requests/RegionDeleteRequest.js
index 610b489dfc..5c7207c7d7 100644
--- a/src/views/Country/requests/RegionDeleteRequest.js
+++ b/src/views/Country/requests/RegionDeleteRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForRegion,
createParamsForCountryDelete,
-} from '../../../rest';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import _ts from '#ts';
/*
* setState, unSetRegion
diff --git a/src/views/Country/requests/RegionDetailPatchRequest.js b/src/views/Country/requests/RegionDetailPatchRequest.js
index 0ea4a25387..10b383f8e3 100644
--- a/src/views/Country/requests/RegionDetailPatchRequest.js
+++ b/src/views/Country/requests/RegionDetailPatchRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
alterResponseErrorToFaramError,
createUrlForRegion,
createParamsForRegionPatch,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
/*
* setState, setRegionDetails
diff --git a/src/views/Country/requests/RegionGetRequest.js b/src/views/Country/requests/RegionGetRequest.js
index 65b931786e..58d619269f 100644
--- a/src/views/Country/requests/RegionGetRequest.js
+++ b/src/views/Country/requests/RegionGetRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForRegionWithField,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
/*
* setState, setRegionDetails
diff --git a/src/views/Dashboard/index.js b/src/views/Dashboard/index.js
index 4002a63462..82f73f6b78 100644
--- a/src/views/Dashboard/index.js
+++ b/src/views/Dashboard/index.js
@@ -3,10 +3,10 @@ import React from 'react';
import ReactSVG from 'react-svg';
import { connect } from 'react-redux';
-import { currentUserActiveProjectSelector } from '../../redux';
-import logo from '../../resources/img/deep-logo.svg';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+import { currentUserActiveProjectSelector } from '#redux';
+import logo from '#resources/img/deep-logo.svg';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
import styles from './styles.scss';
diff --git a/src/views/EditAry/LeftPanel/EntriesListing/index.js b/src/views/EditAry/LeftPanel/EntriesListing/index.js
index ba4ceed5c6..ad8228cd36 100644
--- a/src/views/EditAry/LeftPanel/EntriesListing/index.js
+++ b/src/views/EditAry/LeftPanel/EntriesListing/index.js
@@ -3,18 +3,18 @@ import React from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
-import { reverseRoute } from '../../../../vendor/react-store/utils/common';
-import Label from '../../../../vendor/react-store/components/Input/Label';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
+import { reverseRoute } from '#rs/utils/common';
+import Label from '#rs/components/Input/Label';
+import ListView from '#rs/components/View/List/ListView';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
editAryEntriesSelector,
setEntriesForEditAryAction,
projectIdFromRouteSelector,
-} from '../../../../redux';
-import { pathNames } from '../../../../constants';
-import _ts from '../../../../ts';
+} from '#redux';
+import { pathNames } from '#constants';
+import _ts from '#ts';
import EntriesRequest from './requests/EntriesRequest';
import styles from './styles.scss';
diff --git a/src/views/EditAry/LeftPanel/EntriesListing/requests/EntriesRequest.js b/src/views/EditAry/LeftPanel/EntriesListing/requests/EntriesRequest.js
index a9c34d0987..8c5b697a92 100644
--- a/src/views/EditAry/LeftPanel/EntriesListing/requests/EntriesRequest.js
+++ b/src/views/EditAry/LeftPanel/EntriesListing/requests/EntriesRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForEntriesOfLead,
createParamsForGet,
-} from '../../../../../rest';
+} from '#rest';
-import schema from '../../../../../schema';
+import schema from '#schema';
export default class EntriesRequest {
constructor(params) {
diff --git a/src/views/EditAry/LeftPanel/index.js b/src/views/EditAry/LeftPanel/index.js
index 84d7bdf381..95243a7afe 100644
--- a/src/views/EditAry/LeftPanel/index.js
+++ b/src/views/EditAry/LeftPanel/index.js
@@ -1,22 +1,22 @@
import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
-import MultiViewContainer from '../../../vendor/react-store/components/View/MultiViewContainer';
-import Message from '../../../vendor/react-store/components/View/Message';
-import FixedTabs from '../../../vendor/react-store/components/View/FixedTabs';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
-import Label from '../../../vendor/react-store/components/Input/Label';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import Message from '#rs/components/View/Message';
+import FixedTabs from '#rs/components/View/FixedTabs';
+import SelectInput from '#rs/components/Input/SelectInput';
+import Label from '#rs/components/Input/Label';
import {
LEAD_TYPE,
LEAD_PANE_TYPE,
leadPaneTypeMap,
-} from '../../../entities/lead';
-import SimplifiedLeadPreview from '../../../components/SimplifiedLeadPreview';
-import LeadPreview from '../../../components/LeadPreview';
-import AssistedTagging from '../../../components/AssistedTagging';
-import ImagesGrid from '../../../components/ImagesGrid';
-import _ts from '../../../ts';
+} from '#entities/lead';
+import SimplifiedLeadPreview from '#components/SimplifiedLeadPreview';
+import LeadPreview from '#components/LeadPreview';
+import AssistedTagging from '#components/AssistedTagging';
+import ImagesGrid from '#components/ImagesGrid';
+import _ts from '#ts';
import EntriesListing from './EntriesListing';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Header/index.js b/src/views/EditAry/RightPanel/Header/index.js
index 73cb581572..7a21e01271 100644
--- a/src/views/EditAry/RightPanel/Header/index.js
+++ b/src/views/EditAry/RightPanel/Header/index.js
@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Metadata/index.js b/src/views/EditAry/RightPanel/Metadata/index.js
index 9f9938c7ea..44c0f17b7c 100644
--- a/src/views/EditAry/RightPanel/Metadata/index.js
+++ b/src/views/EditAry/RightPanel/Metadata/index.js
@@ -2,13 +2,13 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import FaramGroup from '../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import ListView from '#rs/components/View/List/ListView';
-import { aryTemplateMetadataSelector } from '../../../../redux';
-import _ts from '../../../../ts';
-import Baksa from '../../../../components/Baksa';
+import { aryTemplateMetadataSelector } from '#redux';
+import _ts from '#ts';
+import Baksa from '#components/Baksa';
import { renderWidget } from '../widgetUtils';
import Header from '../Header';
diff --git a/src/views/EditAry/RightPanel/Methodology/index.js b/src/views/EditAry/RightPanel/Methodology/index.js
index 79e43d96f1..4b150cc313 100644
--- a/src/views/EditAry/RightPanel/Methodology/index.js
+++ b/src/views/EditAry/RightPanel/Methodology/index.js
@@ -2,18 +2,18 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import FaramGroup from '../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import FaramList from '../../../../vendor/react-store/components/Input/Faram/FaramList';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import List from '../../../../vendor/react-store/components/View/List';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import TextArea from '../../../../vendor/react-store/components/Input/TextArea';
-import CheckGroup from '../../../../vendor/react-store/components/Input/CheckGroup';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import FaramList from '#rs/components/Input/Faram/FaramList';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import List from '#rs/components/View/List';
+import ListView from '#rs/components/View/List/ListView';
+import TextArea from '#rs/components/Input/TextArea';
+import CheckGroup from '#rs/components/Input/CheckGroup';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
-import _ts from '../../../../ts';
-import { iconNames } from '../../../../constants';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import {
aryTemplateMethodologySelector,
assessmentSectorsSelector,
@@ -22,9 +22,9 @@ import {
projectDetailsSelector,
geoOptionsForProjectSelector,
-} from '../../../../redux';
-import OrganigramWithList from '../../../../components/OrganigramWithList/';
-import GeoListInput from '../../../../components/GeoListInput/';
+} from '#redux';
+import OrganigramWithList from '#components/OrganigramWithList/';
+import GeoListInput from '#components/GeoListInput/';
import Header from '../Header';
import { renderWidget } from '../widgetUtils';
diff --git a/src/views/EditAry/RightPanel/Score/ScaleMatrixInput/index.js b/src/views/EditAry/RightPanel/Score/ScaleMatrixInput/index.js
index e339a78a4b..7b4f14bcad 100644
--- a/src/views/EditAry/RightPanel/Score/ScaleMatrixInput/index.js
+++ b/src/views/EditAry/RightPanel/Score/ScaleMatrixInput/index.js
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
-import List from '../../../../../vendor/react-store/components/View/List';
-import FaramElement from '../../../../../vendor/react-store/components/Input/Faram/FaramElement';
-import { getColorOnBgColor } from '../../../../../vendor/react-store/utils/common.js';
+import List from '#rs/components/View/List';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+import { getColorOnBgColor } from '#rs/utils/common.js';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Score/ScoreItem/index.js b/src/views/EditAry/RightPanel/Score/ScoreItem/index.js
index 0a1dfeb513..c083e7ca65 100644
--- a/src/views/EditAry/RightPanel/Score/ScoreItem/index.js
+++ b/src/views/EditAry/RightPanel/Score/ScoreItem/index.js
@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Numeral from '../../../../../vendor/react-store/components/View/Numeral';
-import FaramElement from '../../../../../vendor/react-store/components/Input/Faram/FaramElement';
-import { getColorOnBgColor } from '../../../../../vendor/react-store/utils/common';
+import Numeral from '#rs/components/View/Numeral';
+import FaramElement from '#rs/components/Input/Faram/FaramElement';
+import { getColorOnBgColor } from '#rs/utils/common';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Score/index.js b/src/views/EditAry/RightPanel/Score/index.js
index 4162a0a3f8..ab37fdf668 100644
--- a/src/views/EditAry/RightPanel/Score/index.js
+++ b/src/views/EditAry/RightPanel/Score/index.js
@@ -2,11 +2,11 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import FaramGroup from '../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import iconNames from '../../../../constants/iconNames';
-import List from '../../../../vendor/react-store/components/View/List';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import ScaleInput from '../../../../vendor/react-store/components/Input/ScaleInput';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import iconNames from '#constants/iconNames';
+import List from '#rs/components/View/List';
+import ListView from '#rs/components/View/List/ListView';
+import ScaleInput from '#rs/components/Input/ScaleInput';
import {
assessmentPillarsSelector,
@@ -20,7 +20,7 @@ import {
assessmentMaxFinalScoreSelector,
editArySelectedSectorsSelector,
assessmentSectorsSelector,
-} from '../../../../redux';
+} from '#redux';
import ScaleMatrixInput from './ScaleMatrixInput';
import ScoreItem from './ScoreItem';
diff --git a/src/views/EditAry/RightPanel/Summary/CrossSector/index.js b/src/views/EditAry/RightPanel/Summary/CrossSector/index.js
index 7591ad3c41..80056fcc28 100644
--- a/src/views/EditAry/RightPanel/Summary/CrossSector/index.js
+++ b/src/views/EditAry/RightPanel/Summary/CrossSector/index.js
@@ -2,17 +2,17 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import FaramGroup from '../../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import SelectInput from '../../../../../vendor/react-store/components/Input/SelectInput';
-import HiearchicalSelectInput from '../../../../../vendor/react-store/components/Input/HierarchicalSelectInput';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import SelectInput from '#rs/components/Input/SelectInput';
+import HiearchicalSelectInput from '#rs/components/Input/HierarchicalSelectInput';
import {
editArySelectedSectorsSelector,
affectedGroupsSelector,
prioritySectorsSelector,
specificNeedGroupsSelector,
-} from '../../../../../redux';
-import _ts from '../../../../../ts';
+} from '#redux';
+import _ts from '#ts';
import TabularInputs from '../TabularInputs';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Summary/HumanitarianAccess/index.js b/src/views/EditAry/RightPanel/Summary/HumanitarianAccess/index.js
index 7bc30d3061..3665d509d9 100644
--- a/src/views/EditAry/RightPanel/Summary/HumanitarianAccess/index.js
+++ b/src/views/EditAry/RightPanel/Summary/HumanitarianAccess/index.js
@@ -2,15 +2,15 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import FaramGroup from '../../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import SelectInput from '../../../../../vendor/react-store/components/Input/SelectInput';
-import HiearchicalSelectInput from '../../../../../vendor/react-store/components/Input/HierarchicalSelectInput';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import SelectInput from '#rs/components/Input/SelectInput';
+import HiearchicalSelectInput from '#rs/components/Input/HierarchicalSelectInput';
import {
priorityIssuesSelector,
affectedLocationsSelector,
-} from '../../../../../redux';
-import _ts from '../../../../../ts';
+} from '#redux';
+import _ts from '#ts';
import TabularInputs from '../TabularInputs';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Summary/Sector/index.js b/src/views/EditAry/RightPanel/Summary/Sector/index.js
index 6f8d4fd4df..ef687dda55 100644
--- a/src/views/EditAry/RightPanel/Summary/Sector/index.js
+++ b/src/views/EditAry/RightPanel/Summary/Sector/index.js
@@ -2,16 +2,16 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import FaramGroup from '../../../../../vendor/react-store/components/Input/Faram/FaramGroup';
-import SelectInput from '../../../../../vendor/react-store/components/Input/SelectInput';
-import TextInput from '../../../../../vendor/react-store/components/Input/TextInput';
-import HiearchicalSelectInput from '../../../../../vendor/react-store/components/Input/HierarchicalSelectInput';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import SelectInput from '#rs/components/Input/SelectInput';
+import TextInput from '#rs/components/Input/TextInput';
+import HiearchicalSelectInput from '#rs/components/Input/HierarchicalSelectInput';
import {
affectedGroupsSelector,
specificNeedGroupsSelector,
-} from '../../../../../redux';
-import _ts from '../../../../../ts';
+} from '#redux';
+import _ts from '#ts';
import TabularInputs from '../TabularInputs';
import styles from './styles.scss';
diff --git a/src/views/EditAry/RightPanel/Summary/TabularInputs.js b/src/views/EditAry/RightPanel/Summary/TabularInputs.js
index 41fed692fb..8a8ebf09b4 100644
--- a/src/views/EditAry/RightPanel/Summary/TabularInputs.js
+++ b/src/views/EditAry/RightPanel/Summary/TabularInputs.js
@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import List from '../../../../vendor/react-store/components/View/List';
+import List from '#rs/components/View/List';
const propTypes = {
// eslint-disable-next-line react/forbid-prop-types
diff --git a/src/views/EditAry/RightPanel/Summary/index.js b/src/views/EditAry/RightPanel/Summary/index.js
index 232516b0e9..e2b2b9efdc 100644
--- a/src/views/EditAry/RightPanel/Summary/index.js
+++ b/src/views/EditAry/RightPanel/Summary/index.js
@@ -1,24 +1,24 @@
-import React from 'react';
import PropTypes from 'prop-types';
+import React from 'react';
import { connect } from 'react-redux';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import VerticalTabs from '../../../../vendor/react-store/components/View/VerticalTabs/';
-import styles from './styles.scss';
-import { listToMap } from '../../../../vendor/react-store/utils/common';
-
-import FaramGroup from '../../../../vendor/react-store/components/Input/Faram/FaramGroup';
+import FaramGroup from '#rs/components/Input/Faram/FaramGroup';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import VerticalTabs from '#rs/components/View/VerticalTabs/';
+import { listToMap } from '#rs/utils/common';
import {
- editArySelectedSectorsSelector,
assessmentSectorsSelector,
-} from '../../../../redux';
-import _ts from '../../../../ts';
+ editArySelectedSectorsSelector,
+} from '#redux';
+import _ts from '#ts';
import CrossSector from './CrossSector';
import HumanitarianAccess from './HumanitarianAccess';
import Sector from './Sector';
+import styles from './styles.scss';
+
const propTypes = {
className: PropTypes.string,
// eslint-disable-next-line react/forbid-prop-types
diff --git a/src/views/EditAry/RightPanel/TabTitle/index.js b/src/views/EditAry/RightPanel/TabTitle/index.js
index 9a4703fd03..9117967481 100644
--- a/src/views/EditAry/RightPanel/TabTitle/index.js
+++ b/src/views/EditAry/RightPanel/TabTitle/index.js
@@ -5,7 +5,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import FaramElement from '../../../../vendor/react-store/components/Input/Faram/FaramElement.js';
+import FaramElement from '#rs/components/Input/Faram/FaramElement.js';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/EditAry/RightPanel/index.js b/src/views/EditAry/RightPanel/index.js
index 33b9956365..134bf67e1f 100644
--- a/src/views/EditAry/RightPanel/index.js
+++ b/src/views/EditAry/RightPanel/index.js
@@ -2,15 +2,15 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import MultiViewContainer from '../../../vendor/react-store/components/View/MultiViewContainer';
-import FixedTabs from '../../../vendor/react-store/components/View/FixedTabs';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import FixedTabs from '#rs/components/View/FixedTabs';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
import Faram, {
requiredCondition,
dateCondition,
-} from '../../../vendor/react-store/components/Input/Faram';
-import { getObjectChildren } from '../../../vendor/react-store/utils/common';
-import { median, sum, bucket } from '../../../vendor/react-store/utils/stats';
+} from '#rs/components/Input/Faram';
+import { getObjectChildren } from '#rs/utils/common';
+import { median, sum, bucket } from '#rs/utils/stats';
import {
leadIdFromRouteSelector,
@@ -32,9 +32,9 @@ import {
editAryHasErrorsSelector,
editAryIsPristineSelector,
-} from '../../../redux';
-import _ts from '../../../ts';
-import Baksa from '../../../components/Baksa';
+} from '#redux';
+import _ts from '#ts';
+import Baksa from '#components/Baksa';
import AryPutRequest from '../requests/AryPutRequest';
diff --git a/src/views/EditAry/RightPanel/widgetUtils.js b/src/views/EditAry/RightPanel/widgetUtils.js
index e388676556..52962d5e5c 100644
--- a/src/views/EditAry/RightPanel/widgetUtils.js
+++ b/src/views/EditAry/RightPanel/widgetUtils.js
@@ -1,9 +1,9 @@
import React from 'react';
-import MultiSelectInput from '../../../vendor/react-store/components/Input/MultiSelectInput';
-import DateInput from '../../../vendor/react-store/components/Input/DateInput';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
-import NumberInput from '../../../vendor/react-store/components/Input/NumberInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import DateInput from '#rs/components/Input/DateInput';
+import SelectInput from '#rs/components/Input/SelectInput';
+import NumberInput from '#rs/components/Input/NumberInput';
+import TextInput from '#rs/components/Input/TextInput';
const widgets = {
string: TextInput,
diff --git a/src/views/EditAry/index.js b/src/views/EditAry/index.js
index 4fb90698c3..2349c63ff1 100644
--- a/src/views/EditAry/index.js
+++ b/src/views/EditAry/index.js
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types'; import { connect } from 'react-redux';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import ResizableH from '../../vendor/react-store/components/View/Resizable/ResizableH';
-import { isFalsy } from '../../vendor/react-store/utils/common';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import ResizableH from '#rs/components/View/Resizable/ResizableH';
+import { isFalsy } from '#rs/utils/common';
import {
setAryTemplateAction,
@@ -14,8 +14,8 @@ import {
leadIdFromRouteSelector,
leadGroupIdFromRouteSelector,
editAryVersionIdSelector,
-} from '../../redux';
-import _ts from '../../ts';
+} from '#redux';
+import _ts from '#ts';
import LeadRequest from './requests/LeadRequest';
import LeadGroupRequest from './requests/LeadGroupRequest';
diff --git a/src/views/EditAry/requests/AryGetRequest.js b/src/views/EditAry/requests/AryGetRequest.js
index 94b96709ae..8931d9154b 100644
--- a/src/views/EditAry/requests/AryGetRequest.js
+++ b/src/views/EditAry/requests/AryGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import { checkVersion } from '../../../vendor/react-store/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { checkVersion } from '#rs/utils/common';
import {
createUrlForLeadGroupAry,
createUrlForLeadAry,
createParamsForGet,
-} from '../../../rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
+} from '#rest';
+import notify from '#notify';
+import schema from '#schema';
export default class AryGetRequest {
constructor(params) {
diff --git a/src/views/EditAry/requests/AryPutRequest.js b/src/views/EditAry/requests/AryPutRequest.js
index 74162bba69..4c89a9943a 100644
--- a/src/views/EditAry/requests/AryPutRequest.js
+++ b/src/views/EditAry/requests/AryPutRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForLeadAry,
createParamsForAryEdit,
-} from '../../../rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
+} from '#rest';
+import notify from '#notify';
+import schema from '#schema';
export default class AryPutRequest {
constructor(params) {
diff --git a/src/views/EditAry/requests/AryTemplateRequest.js b/src/views/EditAry/requests/AryTemplateRequest.js
index 21e5b12082..9754421adf 100644
--- a/src/views/EditAry/requests/AryTemplateRequest.js
+++ b/src/views/EditAry/requests/AryTemplateRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForProjectAryTemplate,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class AryTemplateRequest {
constructor(params) {
diff --git a/src/views/EditAry/requests/GeoOptionsRequest.js b/src/views/EditAry/requests/GeoOptionsRequest.js
index a544c24472..c6c6fd7c9b 100644
--- a/src/views/EditAry/requests/GeoOptionsRequest.js
+++ b/src/views/EditAry/requests/GeoOptionsRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForGeoOptions,
createParamsForGet,
transformResponseErrorToFormError,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
export default class GeoOptionsRequest {
constructor(params) {
diff --git a/src/views/EditAry/requests/LeadGroupRequest.js b/src/views/EditAry/requests/LeadGroupRequest.js
index 60c5c7b9aa..decbbb08b0 100644
--- a/src/views/EditAry/requests/LeadGroupRequest.js
+++ b/src/views/EditAry/requests/LeadGroupRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForLeadGroup,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class LeadGroupRequest {
constructor(parent) {
diff --git a/src/views/EditAry/requests/LeadRequest.js b/src/views/EditAry/requests/LeadRequest.js
index 96a5108049..15c1b5fe8a 100644
--- a/src/views/EditAry/requests/LeadRequest.js
+++ b/src/views/EditAry/requests/LeadRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForLead,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class LeadRequest {
constructor(params) {
diff --git a/src/views/EditEntry/API.js b/src/views/EditEntry/API.js
index 0489d2c31a..264ffc1fca 100644
--- a/src/views/EditEntry/API.js
+++ b/src/views/EditEntry/API.js
@@ -1,6 +1,6 @@
-import update from '../../vendor/react-store/utils/immutable-update';
-import { entryAccessor } from '../../entities/entry';
-import widgetStore, { entryUpdater } from '../../widgets';
+import update from '#rs/utils/immutable-update';
+import { entryAccessor } from '#entities/entry';
+import widgetStore, { entryUpdater } from '#widgets';
const DEFAULT_HIGHLIGHT_COLOR = '#a0a0a0';
diff --git a/src/views/EditEntry/List/index.js b/src/views/EditEntry/List/index.js
index 09a650cddc..b8962c4248 100644
--- a/src/views/EditEntry/List/index.js
+++ b/src/views/EditEntry/List/index.js
@@ -3,26 +3,26 @@ import React from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
-import GridLayout from '../../../vendor/react-store/components/View/GridLayout';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import WarningButton from '../../../vendor/react-store/components/Action/Button/WarningButton';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
-import Pager from '../../../vendor/react-store/components/View/Pager';
+import GridLayout from '#rs/components/View/GridLayout';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import Pager from '#rs/components/View/Pager';
import {
editEntryCurrentLeadSelector,
markForDeleteEntryAction,
setActiveEntryAction,
-} from '../../../redux';
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
-import { entryAccessor } from '../../../entities/entry';
+} from '#redux';
+import _ts from '#ts';
+import { iconNames } from '#constants';
+import { entryAccessor } from '#entities/entry';
-import widgetStore from '../../../widgets';
+import widgetStore from '#widgets';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/EditEntry/Overview/LeftPanel/EntriesListing/index.js b/src/views/EditEntry/Overview/LeftPanel/EntriesListing/index.js
index 629ab82deb..16251dec0f 100644
--- a/src/views/EditEntry/Overview/LeftPanel/EntriesListing/index.js
+++ b/src/views/EditEntry/Overview/LeftPanel/EntriesListing/index.js
@@ -1,13 +1,13 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Button from '../../../../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import ListView from '../../../../../vendor/react-store/components/View/List/ListView';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import ListView from '#rs/components/View/List/ListView';
-import { entryAccessor, ENTRY_STATUS } from '../../../../../entities/entry';
-import { iconNames } from '../../../../../constants';
-import _ts from '../../../../../ts';
+import { entryAccessor, ENTRY_STATUS } from '#entities/entry';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/EditEntry/Overview/LeftPanel/index.js b/src/views/EditEntry/Overview/LeftPanel/index.js
index 5789e3e23d..eee336b428 100644
--- a/src/views/EditEntry/Overview/LeftPanel/index.js
+++ b/src/views/EditEntry/Overview/LeftPanel/index.js
@@ -1,20 +1,20 @@
import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
-import MultiViewContainer from '../../../../vendor/react-store/components/View/MultiViewContainer';
-import Message from '../../../../vendor/react-store/components/View/Message';
-import FixedTabs from '../../../../vendor/react-store/components/View/FixedTabs';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import Message from '#rs/components/View/Message';
+import FixedTabs from '#rs/components/View/FixedTabs';
import {
LEAD_TYPE,
LEAD_PANE_TYPE,
leadPaneTypeMap,
-} from '../../../../entities/lead';
-import _ts from '../../../../ts';
-import SimplifiedLeadPreview from '../../../../components/SimplifiedLeadPreview';
-import LeadPreview from '../../../../components/LeadPreview';
-import AssistedTagging from '../../../../components/AssistedTagging';
-import ImagesGrid from '../../../../components/ImagesGrid';
+} from '#entities/lead';
+import _ts from '#ts';
+import SimplifiedLeadPreview from '#components/SimplifiedLeadPreview';
+import LeadPreview from '#components/LeadPreview';
+import AssistedTagging from '#components/AssistedTagging';
+import ImagesGrid from '#components/ImagesGrid';
import EntriesListing from './EntriesListing';
import styles from './styles.scss';
diff --git a/src/views/EditEntry/Overview/index.js b/src/views/EditEntry/Overview/index.js
index 15e26f4469..b3245e8269 100644
--- a/src/views/EditEntry/Overview/index.js
+++ b/src/views/EditEntry/Overview/index.js
@@ -3,22 +3,22 @@ import React from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import ResizableH from '../../../vendor/react-store/components/View/Resizable/ResizableH';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
-import GridLayout from '../../../vendor/react-store/components/View/GridLayout';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import ResizableH from '#rs/components/View/Resizable/ResizableH';
+import SelectInput from '#rs/components/Input/SelectInput';
+import GridLayout from '#rs/components/View/GridLayout';
import {
setActiveEntryAction,
editEntryCurrentLeadSelector,
-} from '../../../redux';
-import { iconNames } from '../../../constants';
-import _ts from '../../../ts';
-import widgetStore from '../../../widgets';
-import { entryAccessor } from '../../../entities/entry';
+} from '#redux';
+import { iconNames } from '#constants';
+import _ts from '#ts';
+import widgetStore from '#widgets';
+import { entryAccessor } from '#entities/entry';
import LeftPanel from './LeftPanel';
import styles from './styles.scss';
diff --git a/src/views/EditEntry/index.js b/src/views/EditEntry/index.js
index aad2da9cff..51fea15647 100644
--- a/src/views/EditEntry/index.js
+++ b/src/views/EditEntry/index.js
@@ -3,10 +3,10 @@ import React, { Fragment } from 'react';
import { connect } from 'react-redux';
import { Prompt } from 'react-router-dom';
-import { CoordinatorBuilder } from '../../vendor/react-store/utils/coordinate';
-import { randomString } from '../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import MultiViewContainer from '../../vendor/react-store/components/View/MultiViewContainer';
+import { CoordinatorBuilder } from '#rs/utils/coordinate';
+import { randomString } from '#rs/utils/common';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
import {
leadIdFromRoute,
@@ -31,14 +31,14 @@ import {
removeAllEntriesAction,
routeUrlSelector,
-} from '../../redux';
+} from '#redux';
import {
ENTRY_STATUS,
entryAccessor,
calcEntryState,
-} from '../../entities/entry';
-import notify from '../../notify';
-import _ts from '../../ts';
+} from '#entities/entry';
+import notify from '#notify';
+import _ts from '#ts';
import EditEntryDataRequest from './requests/EditEntryDataRequest';
import SaveEntryRequest from './requests/SaveEntryRequest';
diff --git a/src/views/EditEntry/requests/DeleteEntryRequest.js b/src/views/EditEntry/requests/DeleteEntryRequest.js
index 182d298c09..27a6ea657c 100644
--- a/src/views/EditEntry/requests/DeleteEntryRequest.js
+++ b/src/views/EditEntry/requests/DeleteEntryRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import update from '../../../vendor/react-store/utils/immutable-update';
+import { FgRestBuilder } from '#rs/utils/rest';
+import update from '#rs/utils/immutable-update';
import {
createUrlForDeleteEntry,
createParamsForDeleteEntry,
-} from '../../../rest';
-import { entryAccessor } from '../../../entities/entry';
+} from '#rest';
+import { entryAccessor } from '#entities/entry';
export default class DeleteEntryRequest {
constructor(params) {
diff --git a/src/views/EditEntry/requests/EditEntryDataRequest.js b/src/views/EditEntry/requests/EditEntryDataRequest.js
index c56a1fb260..606555b828 100644
--- a/src/views/EditEntry/requests/EditEntryDataRequest.js
+++ b/src/views/EditEntry/requests/EditEntryDataRequest.js
@@ -1,16 +1,16 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlEditEntryGet,
createParamsForGet,
-} from '../../../rest';
+} from '#rest';
import {
calcEntriesDiff,
getApplicableDiffCount,
getApplicableAndModifyingDiffCount,
-} from '../../../entities/entry';
-import notify from '../../../notify';
-import _ts from '../../../ts';
-// import schema from '../../../schema';
+} from '#entities/entry';
+import notify from '#notify';
+import _ts from '#ts';
+// import schema from '#schema';
export default class LeadRequest {
constructor(params) {
diff --git a/src/views/EditEntry/requests/SaveEntryRequest.js b/src/views/EditEntry/requests/SaveEntryRequest.js
index 9dd1405089..60b4096f68 100644
--- a/src/views/EditEntry/requests/SaveEntryRequest.js
+++ b/src/views/EditEntry/requests/SaveEntryRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import update from '../../../vendor/react-store/utils/immutable-update';
+import { FgRestBuilder } from '#rs/utils/rest';
+import update from '#rs/utils/immutable-update';
import {
createParamsForEntryCreate,
createParamsForEntryEdit,
createUrlForEntryEdit,
urlForEntryCreate,
-} from '../../../rest';
-import { entryAccessor } from '../../../entities/entry';
-import schema from '../../../schema';
+} from '#rest';
+import { entryAccessor } from '#entities/entry';
+import schema from '#schema';
export default class SaveEntryRequest {
constructor(params) {
diff --git a/src/views/Entries/FilterEntriesForm.js b/src/views/Entries/FilterEntriesForm.js
index 0964cc334d..c6dadf14f1 100644
--- a/src/views/Entries/FilterEntriesForm.js
+++ b/src/views/Entries/FilterEntriesForm.js
@@ -2,14 +2,14 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { isObjectEmpty } from '../../vendor/react-store/utils/common';
-import SearchInput from '../../vendor/react-store/components/Input/SearchInput';
-import DateFilter from '../../vendor/react-store/components/Input/DateFilter';
-import RangeFilter from '../../vendor/react-store/components/Input/RangeFilter';
-import MultiSelectInput from '../../vendor/react-store/components/Input/MultiSelectInput';
-import Button from '../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { isObjectEmpty } from '#rs/utils/common';
+import SearchInput from '#rs/components/Input/SearchInput';
+import DateFilter from '#rs/components/Input/DateFilter';
+import RangeFilter from '#rs/components/Input/RangeFilter';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
import {
activeProjectIdFromStateSelector,
@@ -22,7 +22,7 @@ import {
setEntryFilterOptionsAction,
setGeoOptionsAction,
geoOptionsForProjectSelector,
-} from '../../redux';
+} from '#redux';
import {
createUrlForGeoOptions,
@@ -30,11 +30,11 @@ import {
createUrlForEntryFilterOptions,
transformResponseErrorToFormError,
-} from '../../rest';
-import schema from '../../schema';
-import notify from '../../notify';
-import _ts from '../../ts';
-import GeoSelection from '../../components/GeoSelection';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
+import GeoSelection from '#components/GeoSelection';
const mapStateToProps = (state, props) => ({
activeProject: activeProjectIdFromStateSelector(state),
diff --git a/src/views/Entries/index.js b/src/views/Entries/index.js
index 71f106efe6..2e223de14c 100644
--- a/src/views/Entries/index.js
+++ b/src/views/Entries/index.js
@@ -3,21 +3,20 @@ import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
-import { isFalsy, reverseRoute } from '../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import FormattedDate from '../../vendor/react-store/components/View/FormattedDate';
-import GridLayout from '../../vendor/react-store/components/View/GridLayout';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import Pager from '../../vendor/react-store/components/View/Pager';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import widgetStore from '../../widgets';
-
-import AppError from '../../components/AppError';
+import { isFalsy, reverseRoute } from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import GridLayout from '#rs/components/View/GridLayout';
+import ListView from '#rs/components/View/List/ListView';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Pager from '#rs/components/View/Pager';
+import BoundError from '#rs/components/General/BoundError';
+
+import AppError from '#components/AppError';
import {
iconNames,
pathNames,
-} from '../../constants';
+} from '#constants';
import {
setEntriesAction,
setProjectAction,
@@ -37,7 +36,7 @@ import {
entriesViewActivePageSelector,
totalEntriesCountForProjectSelector,
setEntriesViewActivePageAction,
-} from '../../redux';
+} from '#redux';
import {
createUrlForFilteredEntries,
@@ -47,10 +46,11 @@ import {
createUrlForProject,
transformResponseErrorToFormError,
-} from '../../rest';
-import _ts from '../../ts';
-import schema from '../../schema';
-import notify from '../../notify';
+} from '#rest';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
+import widgetStore from '#widgets';
import FilterEntriesForm from './FilterEntriesForm';
import styles from './styles.scss';
diff --git a/src/views/Export/ExportHeader/index.js b/src/views/Export/ExportHeader/index.js
index e250397c84..09516f9499 100644
--- a/src/views/Export/ExportHeader/index.js
+++ b/src/views/Export/ExportHeader/index.js
@@ -2,18 +2,18 @@ import { Link } from 'react-router-dom';
import PropTypes from 'prop-types';
import React from 'react';
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
+import { reverseRoute } from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import {
urlForExportTrigger,
createParamsForExportTrigger,
-} from '../../../rest';
-import { pathNames } from '../../../constants';
-import _ts from '../../../ts';
-import notify from '../../../notify';
+} from '#rest';
+import { pathNames } from '#constants';
+import _ts from '#ts';
+import notify from '#notify';
import styles from './styles.scss';
diff --git a/src/views/Export/ExportTypePane/index.js b/src/views/Export/ExportTypePane/index.js
index 68b529f477..c9a086ede0 100644
--- a/src/views/Export/ExportTypePane/index.js
+++ b/src/views/Export/ExportTypePane/index.js
@@ -1,17 +1,17 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Checkbox from '../../../vendor/react-store/components/Input/Checkbox';
-import TreeSelection from '../../../vendor/react-store/components/Input/TreeSelection';
-import List from '../../../vendor/react-store/components/View/List';
+import Checkbox from '#rs/components/Input/Checkbox';
+import TreeSelection from '#rs/components/Input/TreeSelection';
+import List from '#rs/components/View/List';
-import { iconNames } from '../../../constants';
-import _ts from '../../../ts';
+import { iconNames } from '#constants';
+import _ts from '#ts';
-import wordIcon from '../../../resources/img/word.svg';
-import excelIcon from '../../../resources/img/excel.svg';
-import pdfIcon from '../../../resources/img/pdf.svg';
-import jsonIcon from '../../../resources/img/json.svg';
+import wordIcon from '#resources/img/word.svg';
+import excelIcon from '#resources/img/excel.svg';
+import pdfIcon from '#resources/img/pdf.svg';
+import jsonIcon from '#resources/img/json.svg';
import styles from './styles.scss';
diff --git a/src/views/Export/index.js b/src/views/Export/index.js
index 8d9735771e..46127ce6d6 100644
--- a/src/views/Export/index.js
+++ b/src/views/Export/index.js
@@ -7,16 +7,16 @@ import {
listToMap,
compareString,
compareDate,
-} from '../../vendor/react-store/utils/common';
-import { getFiltersForRequest } from '../../entities/lead';
-import update from '../../vendor/react-store/utils/immutable-update';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import AccentButton from '../../vendor/react-store/components/Action/Button/AccentButton';
-import Table from '../../vendor/react-store/components/View/Table';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import FormattedDate from '../../vendor/react-store/components/View/FormattedDate';
-
-import ExportPreview from '../../components/ExportPreview';
+} from '#rs/utils/common';
+import { getFiltersForRequest } from '#entities/lead';
+import update from '#rs/utils/immutable-update';
+import { FgRestBuilder } from '#rs/utils/rest';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Table from '#rs/components/View/Table';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import FormattedDate from '#rs/components/View/FormattedDate';
+
+import ExportPreview from '#components/ExportPreview';
import {
createUrlForProject,
createUrlForAnalysisFramework,
@@ -25,7 +25,7 @@ import {
createUrlForLeadsOfProject,
transformResponseErrorToFormError,
-} from '../../rest';
+} from '#rest';
import {
entriesViewFilterSelector,
analysisFrameworkForProjectSelector,
@@ -33,14 +33,14 @@ import {
leadPageFilterSelector,
setAnalysisFrameworkAction,
setProjectAction,
-} from '../../redux';
-import { iconNames } from '../../constants';
-import notify from '../../notify';
-import schema from '../../schema';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-
-import _ts from '../../ts';
-import AppError from '../../components/AppError';
+} from '#redux';
+import { iconNames } from '#constants';
+import notify from '#notify';
+import schema from '#schema';
+import BoundError from '#rs/components/General/BoundError';
+
+import _ts from '#ts';
+import AppError from '#components/AppError';
import FilterLeadsForm from '../Leads/FilterLeadsForm';
import FilterEntriesForm from '../Entries/FilterEntriesForm';
diff --git a/src/views/FourHundredFour/index.js b/src/views/FourHundredFour/index.js
index a06e9df921..5332d5ea12 100644
--- a/src/views/FourHundredFour/index.js
+++ b/src/views/FourHundredFour/index.js
@@ -2,12 +2,12 @@ import React from 'react';
import ReactSVG from 'react-svg';
import { Link } from 'react-router-dom';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import _ts from '../../ts';
-import AppError from '../../components/AppError';
-import { pathNames } from '../../constants';
-import logo from '../../resources/img/deep-logo.svg';
+import _ts from '#ts';
+import AppError from '#components/AppError';
+import { pathNames } from '#constants';
+import logo from '#resources/img/deep-logo.svg';
import styles from './styles.scss';
diff --git a/src/views/HomeScreen/index.js b/src/views/HomeScreen/index.js
index 9aaac19b0f..5d562ddda2 100644
--- a/src/views/HomeScreen/index.js
+++ b/src/views/HomeScreen/index.js
@@ -4,18 +4,18 @@ import ReactSVG from 'react-svg';
import { connect } from 'react-redux';
import { Redirect, Link } from 'react-router-dom';
-import { reverseRoute } from '../../vendor/react-store/utils/common';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
+import { reverseRoute } from '#rs/utils/common';
+import BoundError from '#rs/components/General/BoundError';
import {
activeProjectIdFromStateSelector,
activeUserSelector,
currentUserProjectsSelector,
-} from '../../redux';
-import AppError from '../../components/AppError';
-import { pathNames } from '../../constants';
-import _ts from '../../ts';
-import logo from '../../resources/img/deep-logo.svg';
+} from '#redux';
+import AppError from '#components/AppError';
+import { pathNames } from '#constants';
+import _ts from '#ts';
+import logo from '#resources/img/deep-logo.svg';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/ConnectorSelectModal/Content/index.js b/src/views/LeadAdd/ConnectorSelectModal/Content/index.js
index fec856165b..0585159850 100644
--- a/src/views/LeadAdd/ConnectorSelectModal/Content/index.js
+++ b/src/views/LeadAdd/ConnectorSelectModal/Content/index.js
@@ -2,17 +2,17 @@ import PropTypes from 'prop-types';
import React from 'react';
import { Link } from 'react-router-dom';
-import { reverseRoute } from '../../../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../../../../src/vendor/react-store/components/View/LoadingAnimation';
-import Table from '../../../../vendor/react-store/components/View/Table';
-import FormattedDate from '../../../../vendor/react-store/components/View/FormattedDate';
-import Checkbox from '../../../../vendor/react-store/components/Input/Checkbox';
-import AccentButton from '../../../../vendor/react-store/components/Action/Button/AccentButton';
+import { reverseRoute } from '#rs/utils/common';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Table from '#rs/components/View/Table';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import Checkbox from '#rs/components/Input/Checkbox';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
import {
iconNames,
pathNames,
-} from '../../../../constants';
-import _ts from '../../../../ts';
+} from '#constants';
+import _ts from '#ts';
import ConnectorLeadsGetRequest from '../../requests/ConnectorLeadsGetRequest';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/ConnectorSelectModal/index.js b/src/views/LeadAdd/ConnectorSelectModal/index.js
index 2a40f353a4..db20a270d9 100644
--- a/src/views/LeadAdd/ConnectorSelectModal/index.js
+++ b/src/views/LeadAdd/ConnectorSelectModal/index.js
@@ -2,32 +2,32 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import MultiViewContainer from '../../../vendor/react-store/components/View/MultiViewContainer';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import ListView from '../../../../src/vendor/react-store/components/View/List/ListView';
-import LoadingAnimation from '../../../../src/vendor/react-store/components/View/LoadingAnimation';
-import ListItem from '../../../../src/vendor/react-store/components/View/List/ListItem';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
-import { caseInsensitiveSubmatch } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import { iconNames } from '../../../constants';
-
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SearchInput from '#rs/components/Input/SearchInput';
+import ListItem from '#rs/components/View/List/ListItem';
+import ListView from '#rs/components/View/List/ListView';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import { caseInsensitiveSubmatch } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+
+import { iconNames } from '#constants';
import {
addLeadViewConnectorsListSelector,
projectIdFromRouteSelector,
addLeadViewSetConnectorsAction,
addLeadViewLeadsSelector,
-} from '../../../redux';
+} from '#redux';
+import _ts from '#ts';
import ConnectorsGetRequest from '../requests/ConnectorsGetRequest';
-import ConnectorContent from './Content';
-import _ts from '../../../ts';
+import ConnectorContent from './Content';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/LeadAdd/LeadActions/index.js b/src/views/LeadAdd/LeadActions/index.js
index e88cdfe965..7defd83dfd 100644
--- a/src/views/LeadAdd/LeadActions/index.js
+++ b/src/views/LeadAdd/LeadActions/index.js
@@ -7,14 +7,14 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import Checkbox from '../../../vendor/react-store/components/Input/Checkbox';
-import DropdownMenu from '../../../vendor/react-store/components/Action/DropdownMenu';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-
-import { iconNames } from '../../../constants';
-import _ts from '../../../ts';
-import notify from '../../../notify';
+import Button from '#rs/components/Action/Button';
+import Checkbox from '#rs/components/Input/Checkbox';
+import DropdownMenu from '#rs/components/Action/DropdownMenu';
+import Confirm from '#rs/components/View/Modal/Confirm';
+
+import { iconNames } from '#constants';
+import _ts from '#ts';
+import notify from '#notify';
import {
addLeadViewActiveLeadIdSelector,
@@ -34,7 +34,7 @@ import {
addLeadViewHidePreviewSelector,
addLeadViewSetPreviewAction,
-} from '../../../redux';
+} from '#redux';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadButtons/index.js b/src/views/LeadAdd/LeadButtons/index.js
index 5bb816ae30..35f1b43b5b 100644
--- a/src/views/LeadAdd/LeadButtons/index.js
+++ b/src/views/LeadAdd/LeadButtons/index.js
@@ -7,11 +7,21 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { randomString } from '../../../vendor/react-store/utils/common';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import FileInput from '../../../vendor/react-store/components/Input/FileInput';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-
+import Button from '#rs/components/Action/Button';
+import FileInput from '#rs/components/Input/FileInput';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import { randomString } from '#rs/utils/common';
+
+import DropboxChooser from '#components/DropboxChooser';
+import GooglePicker from '#components/GooglePicker';
+import { dropboxAppKey } from '#config/dropbox';
+import {
+ googleDriveClientId,
+ googleDriveDeveloperKey,
+} from '#config/google-drive';
+import { iconNames } from '#constants';
+import { LEAD_TYPE, leadAccessor } from '#entities/lead';
+import notify from '#notify';
import {
addLeadViewAddLeadsAction,
activeProjectIdFromStateSelector,
@@ -22,33 +32,28 @@ import {
addLeadViewSetLeadDriveRestsAction,
addLeadViewSetLeadDropboxRestsAction,
addLeadViewLeadsSelector,
-} from '../../../redux';
-import DropboxChooser from '../../../components/DropboxChooser';
-import GooglePicker from '../../../components/GooglePicker';
+} from '#redux';
+import _ts from '#ts';
+
import ConnectorSelectModal from '../ConnectorSelectModal';
-import notify from '../../../notify';
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
-import { LEAD_TYPE, leadAccessor } from '../../../entities/lead';
-import { dropboxAppKey } from '../../../config/dropbox';
-import {
- googleDriveClientId,
- googleDriveDeveloperKey,
-} from '../../../config/google-drive';
import DropboxRequest from '../requests/DropboxRequest';
import FileUploadRequest from '../requests/FileUploadRequest';
import GoogleDriveRequest from '../requests/GoogleDriveRequest';
+
import styles from './styles.scss';
const supportedGoogleDriveMimeTypes = [
- 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'application/json', 'application/xml', 'application/msword',
'application/rtf', 'text/plain', 'font/otf', 'application/pdf',
- 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'application/vnd.ms-powerpoint', 'application/vnd.ms-excel',
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
- 'text/csv', 'image/png', 'image/jpeg', 'image/fig',
- 'application/json', 'application/xml', 'application/msword',
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'image/fig',
+ 'image/jpeg',
+ 'image/png',
+ 'text/csv',
];
const supportedDropboxExtension = [
diff --git a/src/views/LeadAdd/LeadFilter/index.js b/src/views/LeadAdd/LeadFilter/index.js
index a287ba0a73..a25b1ed9d7 100644
--- a/src/views/LeadAdd/LeadFilter/index.js
+++ b/src/views/LeadAdd/LeadFilter/index.js
@@ -7,12 +7,12 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { BgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import MultiSelectInput from '../../../vendor/react-store/components/Input/MultiSelectInput';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
+import { BgRestBuilder } from '#rs/utils/rest';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import SelectInput from '#rs/components/Input/SelectInput';
+import TextInput from '#rs/components/Input/TextInput';
+import SearchInput from '#rs/components/Input/SearchInput';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
import {
activeProjectIdFromStateSelector,
@@ -21,17 +21,17 @@ import {
addLeadViewFiltersSelector,
addLeadViewIsFilterEmptySelector,
setLeadFilterOptionsAction,
-} from '../../../redux';
+} from '#redux';
import {
createParamsForGet,
createUrlForLeadFilterOptions,
-} from '../../../rest';
+} from '#rest';
import {
LEAD_TYPE,
LEAD_FILTER_STATUS,
-} from '../../../entities/lead';
-import _ts from '../../../ts';
-import schema from '../../../schema';
+} from '#entities/lead';
+import _ts from '#ts';
+import schema from '#schema';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadFormItem/AddLeadGroup/index.js b/src/views/LeadAdd/LeadFormItem/AddLeadGroup/index.js
index 4eb0a42233..15b94ab9bd 100644
--- a/src/views/LeadAdd/LeadFormItem/AddLeadGroup/index.js
+++ b/src/views/LeadAdd/LeadFormItem/AddLeadGroup/index.js
@@ -2,22 +2,22 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import Modal from '../../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../../vendor/react-store/components/View/Modal/Body';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import Faram, {
requiredCondition,
-} from '../../../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
import {
addLeadGroupOfProjectAction,
-} from '../../../../redux';
+} from '#redux';
-import _ts from '../../../../ts';
+import _ts from '#ts';
import LeadGroupCreateRequest from '../../requests/LeadGroupCreateRequest';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/ExtractThis.js b/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/ExtractThis.js
index 8f87e35333..091ddd5484 100644
--- a/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/ExtractThis.js
+++ b/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/ExtractThis.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import AccentButton from '../../../../../vendor/react-store/components/Action/Button/AccentButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
-import _ts from '../../../../../ts';
-import { iconNames } from '../../../../../constants';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/index.js b/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/index.js
index 6473120208..222a5825ed 100644
--- a/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/index.js
+++ b/src/views/LeadAdd/LeadFormItem/LeadForm/ApplyAll/index.js
@@ -1,11 +1,11 @@
import PropTypes from 'prop-types';
import React from 'react';
-import AccentButton from '../../../../../vendor/react-store/components/Action/Button/AccentButton';
-import WarningButton from '../../../../../vendor/react-store/components/Action/Button/WarningButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
-import _ts from '../../../../../ts';
-import { iconNames } from '../../../../../constants';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadFormItem/LeadForm/index.js b/src/views/LeadAdd/LeadFormItem/LeadForm/index.js
index 2317242db7..34896918c9 100644
--- a/src/views/LeadAdd/LeadFormItem/LeadForm/index.js
+++ b/src/views/LeadAdd/LeadFormItem/LeadForm/index.js
@@ -6,27 +6,27 @@ import Faram, {
requiredCondition,
urlCondition,
dateCondition,
-} from '../../../../vendor/react-store/components/Input/Faram';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
-import SelectInput from '../../../../vendor/react-store/components/Input/SelectInput';
-import MultiSelectInput from '../../../../vendor/react-store/components/Input/MultiSelectInput';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
-import TextArea from '../../../../vendor/react-store/components/Input/TextArea';
-import HiddenInput from '../../../../vendor/react-store/components/Input/HiddenInput';
-import DateInput from '../../../../vendor/react-store/components/Input/DateInput';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import Button from '../../../../vendor/react-store/components/Action/Button';
-import FormattedDate from '../../../../vendor/react-store/components/View/FormattedDate';
+} from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import SelectInput from '#rs/components/Input/SelectInput';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import TextInput from '#rs/components/Input/TextInput';
+import TextArea from '#rs/components/Input/TextArea';
+import HiddenInput from '#rs/components/Input/HiddenInput';
+import DateInput from '#rs/components/Input/DateInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Button from '#rs/components/Action/Button';
+import FormattedDate from '#rs/components/View/FormattedDate';
import {
LEAD_TYPE,
ATTACHMENT_TYPES,
leadAccessor,
-} from '../../../../entities/lead';
-import { InternalGallery } from '../../../../components/DeepGallery';
-import { activeUserSelector } from '../../../../redux';
-import { iconNames } from '../../../../constants';
-import _ts from '../../../../ts';
+} from '#entities/lead';
+import { InternalGallery } from '#components/DeepGallery';
+import { activeUserSelector } from '#redux';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import ApplyAll, { ExtractThis } from './ApplyAll';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadFormItem/index.js b/src/views/LeadAdd/LeadFormItem/index.js
index e4d4a4a87b..cbd0530eb9 100644
--- a/src/views/LeadAdd/LeadFormItem/index.js
+++ b/src/views/LeadAdd/LeadFormItem/index.js
@@ -6,33 +6,33 @@ import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
requiredCondition,
urlCondition,
-} from '../../../vendor/react-store/components/Input/Faram';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import ResizableV from '../../../vendor/react-store/components/View/Resizable/ResizableV';
+} from '#rs/components/Input/Faram';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import ResizableV from '#rs/components/View/Resizable/ResizableV';
import {
InternalGallery,
ExternalGallery,
-} from '../../../components/DeepGallery';
+} from '#components/DeepGallery';
import {
addLeadViewLeadChangeAction,
addLeadViewCopyAllBelowAction,
addLeadViewCopyAllAction,
addLeadViewHidePreviewSelector,
-} from '../../../redux';
+} from '#redux';
import {
LEAD_TYPE,
leadAccessor,
-} from '../../../entities/lead';
+} from '#entities/lead';
import {
urlForWebInfo,
createParamsForWebInfo,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
import LeadForm from './LeadForm';
import AddLeadGroup from './AddLeadGroup';
diff --git a/src/views/LeadAdd/LeadList/LeadListItem/index.js b/src/views/LeadAdd/LeadList/LeadListItem/index.js
index a5ed5d09d8..e799462178 100644
--- a/src/views/LeadAdd/LeadList/LeadListItem/index.js
+++ b/src/views/LeadAdd/LeadList/LeadListItem/index.js
@@ -1,15 +1,15 @@
import PropTypes from 'prop-types';
import React from 'react';
-import WarningButton from '../../../../vendor/react-store/components/Action/Button/WarningButton';
-import { isTruthy } from '../../../../vendor/react-store/utils/common';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import { isTruthy } from '#rs/utils/common';
import {
LEAD_TYPE,
LEAD_STATUS,
leadAccessor,
-} from '../../../../entities/lead';
-import { iconNames } from '../../../../constants';
+} from '#entities/lead';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/LeadAdd/LeadList/index.js b/src/views/LeadAdd/LeadList/index.js
index 717f3ef6e9..51f5a4961a 100644
--- a/src/views/LeadAdd/LeadList/index.js
+++ b/src/views/LeadAdd/LeadList/index.js
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import ListView from '#rs/components/View/List/ListView';
import {
addLeadViewActiveLeadIdSelector,
@@ -15,8 +15,8 @@ import {
addLeadViewLeadStatesSelector,
addLeadViewFilteredLeadsSelector,
addLeadViewLeadUploadsSelector,
-} from '../../../redux';
-import { leadAccessor } from '../../../entities/lead';
+} from '#redux';
+import { leadAccessor } from '#entities/lead';
import { DELETE_MODE } from '../LeadActions';
import LeadListItem from './LeadListItem';
diff --git a/src/views/LeadAdd/index.js b/src/views/LeadAdd/index.js
index 87352ecb58..68c724fe4f 100644
--- a/src/views/LeadAdd/index.js
+++ b/src/views/LeadAdd/index.js
@@ -11,13 +11,13 @@ import { Prompt } from 'react-router-dom';
import {
isTruthy,
randomString,
-} from '../../vendor/react-store/utils/common';
-import { CoordinatorBuilder } from '../../vendor/react-store/utils/coordinate';
-import List from '../../vendor/react-store/components/View/List';
-import Message from '../../vendor/react-store/components/View/Message';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
+} from '#rs/utils/common';
+import { CoordinatorBuilder } from '#rs/utils/coordinate';
+import List from '#rs/components/View/List';
+import Message from '#rs/components/View/Message';
+import BoundError from '#rs/components/General/BoundError';
-import AppError from '../../components/AppError';
+import AppError from '#components/AppError';
import {
routeStateSelector,
leadFilterOptionsSelector,
@@ -33,10 +33,10 @@ import {
addLeadViewRemoveSavedLeadsAction,
addLeadViewSetLeadRestsAction,
addLeadViewButtonStatesSelector,
-} from '../../redux';
-import { leadAccessor } from '../../entities/lead';
-import _ts from '../../ts';
-import notify from '../../notify';
+} from '#redux';
+import { leadAccessor } from '#entities/lead';
+import _ts from '#ts';
+import notify from '#notify';
import FormSaveRequest from './requests/FormSaveRequest';
diff --git a/src/views/LeadAdd/requests/ConnectorLeadsGetRequest.js b/src/views/LeadAdd/requests/ConnectorLeadsGetRequest.js
index 0b57cf06eb..7039e478fd 100644
--- a/src/views/LeadAdd/requests/ConnectorLeadsGetRequest.js
+++ b/src/views/LeadAdd/requests/ConnectorLeadsGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import { randomString } from '../../../vendor/react-store/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { randomString } from '#rs/utils/common';
import {
createParamsForGet,
createUrlForConnectorleads,
-} from '../../../rest';
-import _ts from '../../../ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+} from '#rest';
+import _ts from '#ts';
+import schema from '#schema';
+import notify from '#notify';
export default class ConnectorLeadsRequest {
constructor(props) {
diff --git a/src/views/LeadAdd/requests/ConnectorsGetRequest.js b/src/views/LeadAdd/requests/ConnectorsGetRequest.js
index b79f0f455d..fe8f0a7ceb 100644
--- a/src/views/LeadAdd/requests/ConnectorsGetRequest.js
+++ b/src/views/LeadAdd/requests/ConnectorsGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createParamsForGet,
createUrlForConnectorsOfProject,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+import schema from '#schema';
+import notify from '#notify';
export default class ConnectorsGetRequest {
constructor(props) {
diff --git a/src/views/LeadAdd/requests/DropboxRequest.js b/src/views/LeadAdd/requests/DropboxRequest.js
index 95edc68ca2..760b8b0940 100644
--- a/src/views/LeadAdd/requests/DropboxRequest.js
+++ b/src/views/LeadAdd/requests/DropboxRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import schema from '../../../schema';
-import { leadAccessor } from '../../../entities/lead';
+import { FgRestBuilder } from '#rs/utils/rest';
+import schema from '#schema';
+import { leadAccessor } from '#entities/lead';
import {
urlForDropboxFileUpload,
createHeaderForDropboxUpload,
-} from '../../../rest';
+} from '#rest';
export default class DropboxRequest {
constructor(params) {
diff --git a/src/views/LeadAdd/requests/FileUploadRequest.js b/src/views/LeadAdd/requests/FileUploadRequest.js
index c6a82b0fab..4c9001cf6f 100644
--- a/src/views/LeadAdd/requests/FileUploadRequest.js
+++ b/src/views/LeadAdd/requests/FileUploadRequest.js
@@ -1,11 +1,11 @@
-import { UploadBuilder } from '../../../vendor/react-store/utils/upload';
-import { leadAccessor } from '../../../entities/lead';
+import { UploadBuilder } from '#rs/utils/upload';
+import { leadAccessor } from '#entities/lead';
import {
urlForUpload,
createParamsForFileUpload,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class FileUploadRequest {
constructor(params) {
diff --git a/src/views/LeadAdd/requests/FormSaveRequest.js b/src/views/LeadAdd/requests/FormSaveRequest.js
index a4ae54dd48..0d31200419 100644
--- a/src/views/LeadAdd/requests/FormSaveRequest.js
+++ b/src/views/LeadAdd/requests/FormSaveRequest.js
@@ -1,5 +1,5 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import schema from '../../../schema';
+import { FgRestBuilder } from '#rs/utils/rest';
+import schema from '#schema';
import {
alterResponseErrorToFaramError,
@@ -8,9 +8,9 @@ import {
createUrlForLeadEdit,
createParamsForLeadEdit,
createParamsForLeadCreate,
-} from '../../../rest';
+} from '#rest';
-import { leadAccessor } from '../../../entities/lead';
+import { leadAccessor } from '#entities/lead';
export default class FormSaveRequest {
constructor(params) {
diff --git a/src/views/LeadAdd/requests/GoogleDriveRequest.js b/src/views/LeadAdd/requests/GoogleDriveRequest.js
index 6851c58b8f..67982afa2a 100644
--- a/src/views/LeadAdd/requests/GoogleDriveRequest.js
+++ b/src/views/LeadAdd/requests/GoogleDriveRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import schema from '../../../schema';
-import { leadAccessor } from '../../../entities/lead';
+import { FgRestBuilder } from '#rs/utils/rest';
+import schema from '#schema';
+import { leadAccessor } from '#entities/lead';
import {
urlForGoogleDriveFileUpload,
createHeaderForGoogleDriveFileUpload,
-} from '../../../rest';
+} from '#rest';
export default class GoogleDriveUploadRequest {
constructor(params) {
diff --git a/src/views/LeadAdd/requests/LeadGroupCreateRequest.js b/src/views/LeadAdd/requests/LeadGroupCreateRequest.js
index 9cfe896c81..0ab8486cf7 100644
--- a/src/views/LeadAdd/requests/LeadGroupCreateRequest.js
+++ b/src/views/LeadAdd/requests/LeadGroupCreateRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
urlForLeadGroups,
createParamsForLeadGroupCreate,
alterResponseErrorToFaramError,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+import schema from '#schema';
+import notify from '#notify';
export default class LeadGroupsCreateRequest {
constructor(props) {
diff --git a/src/views/Leads/ActionButtons/index.js b/src/views/Leads/ActionButtons/index.js
index 453788bfe5..9b2b1c5b1b 100644
--- a/src/views/Leads/ActionButtons/index.js
+++ b/src/views/Leads/ActionButtons/index.js
@@ -2,18 +2,18 @@ import PropTypes from 'prop-types';
import React from 'react';
import { Link } from 'react-router-dom';
-import { reverseRoute } from '../../../vendor/react-store/utils/common';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
-import WarningButton from '../../../vendor/react-store/components/Action/Button/WarningButton';
+import { reverseRoute } from '#rs/utils/common';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
import {
iconNames,
pathNames,
-} from '../../../constants/';
-import Cloak from '../../../components/Cloak';
-import _ts from '../../../ts';
+} from '#constants/';
+import Cloak from '#components/Cloak';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Leads/FilterLeadsForm.js b/src/views/Leads/FilterLeadsForm.js
index 00ab922f9c..7cfa7cf66b 100644
--- a/src/views/Leads/FilterLeadsForm.js
+++ b/src/views/Leads/FilterLeadsForm.js
@@ -5,19 +5,19 @@ import { connect } from 'react-redux';
import {
isTruthy,
isObjectEmpty,
-} from '../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import Button from '../../vendor/react-store/components/Action/Button';
-import DangerButton from '../../vendor/react-store/components/Action/Button/DangerButton';
-import Faram from '../../vendor/react-store/components/Input/Faram';
-import SearchInput from '../../vendor/react-store/components/Input/SearchInput';
-import DateFilter from '../../vendor/react-store/components/Input/DateFilter';
-import MultiSelectInput from '../../vendor/react-store/components/Input/MultiSelectInput';
+} from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import Button from '#rs/components/Action/Button';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import Faram from '#rs/components/Input/Faram';
+import SearchInput from '#rs/components/Input/SearchInput';
+import DateFilter from '#rs/components/Input/DateFilter';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
import {
createParamsForGet,
createUrlForLeadFilterOptions,
-} from '../../rest';
+} from '#rest';
import {
activeProjectIdFromStateSelector,
leadFilterOptionsForProjectSelector,
@@ -27,9 +27,9 @@ import {
leadPageFilterSelector,
setLeadFilterOptionsAction,
unsetLeadPageFilterAction,
-} from '../../redux';
-import _ts from '../../ts';
-import schema from '../../schema';
+} from '#redux';
+import _ts from '#ts';
+import schema from '#schema';
const propTypes = {
diff --git a/src/views/Leads/index.js b/src/views/Leads/index.js
index 4bb0931242..d81b3c7584 100644
--- a/src/views/Leads/index.js
+++ b/src/views/Leads/index.js
@@ -6,21 +6,19 @@ import {
Redirect,
} from 'react-router-dom';
-import {
- reverseRoute,
-} from '../../vendor/react-store/utils/common';
-import Confirm from '../../vendor/react-store/components/View/Modal/Confirm';
-import FormattedDate from '../../vendor/react-store/components/View/FormattedDate';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import SelectInput from '../../vendor/react-store/components/Input/SelectInput';
-import Pager from '../../vendor/react-store/components/View/Pager';
-import RawTable from '../../vendor/react-store/components/View/RawTable';
-import TableHeader from '../../vendor/react-store/components/View/TableHeader';
-
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
-import ActionButtons from './ActionButtons';
-
+import BoundError from '#rs/components/General/BoundError';
+import SelectInput from '#rs/components/Input/SelectInput';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import Pager from '#rs/components/View/Pager';
+import RawTable from '#rs/components/View/RawTable';
+import TableHeader from '#rs/components/View/TableHeader';
+import { reverseRoute } from '#rs/utils/common';
+
+import AppError from '#components/AppError';
+import { iconNames, pathNames } from '#constants/';
+import { leadTypeIconMap } from '#entities/lead';
import {
activeProjectIdFromStateSelector,
leadsForProjectSelector,
@@ -42,18 +40,16 @@ import {
removeLeadAction,
patchLeadAction,
-} from '../../redux';
-import {
- iconNames,
- pathNames,
-} from '../../constants/';
-import _ts from '../../ts';
-import { leadTypeIconMap } from '../../entities/lead';
+} from '#redux';
+import _ts from '#ts';
+import ActionButtons from './ActionButtons';
+import FilterLeadsForm from './FilterLeadsForm';
+
+import DeleteLeadRequest from './requests/DeleteLeadRequest';
import LeadsRequest from './requests/LeadsRequest';
import PatchLeadRequest from './requests/PatchLeadRequest';
-import DeleteLeadRequest from './requests/DeleteLeadRequest';
-import FilterLeadsForm from './FilterLeadsForm';
+
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/Leads/requests/DeleteLeadRequest.js b/src/views/Leads/requests/DeleteLeadRequest.js
index 6b463d18ce..07b0252a68 100644
--- a/src/views/Leads/requests/DeleteLeadRequest.js
+++ b/src/views/Leads/requests/DeleteLeadRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
import {
transformResponseErrorToFormError,
createUrlForLeadDelete,
createParamsForLeadDelete,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class DeleteLeadRequest {
constructor(params) {
diff --git a/src/views/Leads/requests/LeadsRequest.js b/src/views/Leads/requests/LeadsRequest.js
index 0fcb937cb3..a60eac764e 100644
--- a/src/views/Leads/requests/LeadsRequest.js
+++ b/src/views/Leads/requests/LeadsRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import { getFiltersForRequest } from '../../../entities/lead';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
+import schema from '#schema';
+import { getFiltersForRequest } from '#entities/lead';
import {
createParamsForGet,
createUrlForLeadsOfProject,
transformResponseErrorToFormError,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class LeadsRequest {
constructor(params) {
diff --git a/src/views/Leads/requests/PatchLeadRequest.js b/src/views/Leads/requests/PatchLeadRequest.js
index 5da354311d..d6cc346c11 100644
--- a/src/views/Leads/requests/PatchLeadRequest.js
+++ b/src/views/Leads/requests/PatchLeadRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
import {
createUrlForLeadEdit,
createParamsForLeadPatch,
transformResponseErrorToFormError,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class PatchLeadRequest {
constructor(params) {
diff --git a/src/views/LeadsViz/index.js b/src/views/LeadsViz/index.js
index eb264a9a37..2e7d96b229 100644
--- a/src/views/LeadsViz/index.js
+++ b/src/views/LeadsViz/index.js
@@ -2,23 +2,23 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
-import _ts from '../../ts';
+import _ts from '#ts';
import {
reverseRoute,
isObjectEmpty,
-} from '../../vendor/react-store/utils/common';
+} from '#rs/utils/common';
-import SunBurstView from '../../vendor/react-store/components/Visualization/SunBurstView';
-import ChordDiagramView from '../../vendor/react-store/components/Visualization/ChordDiagramView';
-import TreeMapView from '../../vendor/react-store/components/Visualization/TreeMapView';
-import CorrelationMatrixView from '../../vendor/react-store/components/Visualization/CorrelationMatrixView';
-import ForceDirectedGraphView from '../../vendor/react-store/components/Visualization/ForceDirectedGraphView';
-import CollapsibleTreeView from '../../vendor/react-store/components/Visualization/CollapsibleTreeView';
-import RadialDendrogramView from '../../vendor/react-store/components/Visualization/RadialDendrogramView';
-import GeoReferencedMap from '../../vendor/react-store/components/Visualization/GeoReferencedMap';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+import SunBurstView from '#rs/components/Visualization/SunBurstView';
+import ChordDiagramView from '#rs/components/Visualization/ChordDiagramView';
+import TreeMapView from '#rs/components/Visualization/TreeMapView';
+import CorrelationMatrixView from '#rs/components/Visualization/CorrelationMatrixView';
+import ForceDirectedGraphView from '#rs/components/Visualization/ForceDirectedGraphView';
+import CollapsibleTreeView from '#rs/components/Visualization/CollapsibleTreeView';
+import RadialDendrogramView from '#rs/components/Visualization/RadialDendrogramView';
+import GeoReferencedMap from '#rs/components/Visualization/GeoReferencedMap';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
import {
projectDetailsSelector,
@@ -30,8 +30,8 @@ import {
correlationDataSelector,
forceDirectedDataSelector,
geoPointsDataSelector,
-} from '../../redux';
-import { pathNames } from '../../constants/';
+} from '#redux';
+import { pathNames } from '#constants/';
import LeadKeywordCorrelationRequest from './requests/LeadKeywordCorrelationRequest';
import LeadTopicCorrelationRequest from './requests/LeadTopicCorrelationRequest';
diff --git a/src/views/LeadsViz/requests/LeadCDIdRequest.js b/src/views/LeadsViz/requests/LeadCDIdRequest.js
index cf89bc2fa1..7d206ae519 100644
--- a/src/views/LeadsViz/requests/LeadCDIdRequest.js
+++ b/src/views/LeadsViz/requests/LeadCDIdRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import { getFiltersForRequest } from '../../../entities/lead';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
+import schema from '#schema';
+import { getFiltersForRequest } from '#entities/lead';
import {
createParamsForGet,
createUrlForLeadsOfProject,
transformResponseErrorToFormError,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class LeadCDIdRequest {
constructor(params) {
diff --git a/src/views/LeadsViz/requests/LeadKeywordCorrelationRequest.js b/src/views/LeadsViz/requests/LeadKeywordCorrelationRequest.js
index 1c06d0f059..643b0f5710 100644
--- a/src/views/LeadsViz/requests/LeadKeywordCorrelationRequest.js
+++ b/src/views/LeadsViz/requests/LeadKeywordCorrelationRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
+import schema from '#schema';
import {
createUrlForLeadKeywordCorrelation,
createParamsForLeadKeywordCorrelation,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class LeadKeywordCorrelationRequest {
constructor(params) {
diff --git a/src/views/LeadsViz/requests/LeadNerRequest.js b/src/views/LeadsViz/requests/LeadNerRequest.js
index 4eca27da37..0a1501a5d1 100644
--- a/src/views/LeadsViz/requests/LeadNerRequest.js
+++ b/src/views/LeadsViz/requests/LeadNerRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
import {
createUrlForLeadNerDocsId,
createParamsForLeadNer,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class LeadNerRequest {
constructor(params) {
diff --git a/src/views/LeadsViz/requests/LeadTopicCorrelationRequest.js b/src/views/LeadsViz/requests/LeadTopicCorrelationRequest.js
index 873590d75e..e491b3135a 100644
--- a/src/views/LeadsViz/requests/LeadTopicCorrelationRequest.js
+++ b/src/views/LeadsViz/requests/LeadTopicCorrelationRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
import {
createUrlForLeadTopicCorrelation,
createParamsForLeadTopicCorrelation,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class LeadTopicCorrelationRequest {
constructor(params) {
diff --git a/src/views/LeadsViz/requests/LeadTopicModelingRequest.js b/src/views/LeadsViz/requests/LeadTopicModelingRequest.js
index a02928004a..6a437b938f 100644
--- a/src/views/LeadsViz/requests/LeadTopicModelingRequest.js
+++ b/src/views/LeadsViz/requests/LeadTopicModelingRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import notify from '../../../notify';
+import { FgRestBuilder } from '#rs/utils/rest';
+import notify from '#notify';
import {
createUrlForLeadTopicModeling,
createParamsForLeadTopicModeling,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
export default class LeadTopicModelingRequest {
constructor(params) {
diff --git a/src/views/Login/index.js b/src/views/Login/index.js
index 33e6272e56..066a45abb3 100644
--- a/src/views/Login/index.js
+++ b/src/views/Login/index.js
@@ -4,47 +4,47 @@
import PropTypes from 'prop-types';
import React from 'react';
-import ReactSVG from 'react-svg';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+import ReactSVG from 'react-svg';
import {
FgRestBuilder,
RestRequest,
-} from '../../vendor/react-store/utils/rest';
-import { reverseRoute } from '../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import ReCaptcha from '../../vendor/react-store/components/Input/ReCaptcha';
+} from '#rs/utils/rest';
+
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import Faram, {
requiredCondition,
emailCondition,
lengthGreaterThanCondition,
-} from '../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import ReCaptcha from '#rs/components/Input/ReCaptcha';
+import TextInput from '#rs/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import { reverseRoute } from '#rs/utils/common';
+import { hidUrl } from '#config/hid';
+import { reCaptchaSiteKey } from '#config/reCaptcha';
+import { pathNames } from '#constants';
+import logo from '#resources/img/deep-logo.svg';
+import hidLogo from '#resources/img/hid-logo.png';
import {
alterResponseErrorToFaramError,
createParamsForTokenCreate,
urlForTokenCreate,
createParamsForTokenCreateHid,
urlForTokenCreateHid,
-} from '../../rest';
+} from '#rest';
import {
loginAction,
authenticateAction,
-} from '../../redux';
-import { startSiloBackgroundTasksAction } from '../../redux/middlewares/siloBackgroundTasks';
-import { pathNames } from '../../constants';
-import schema from '../../schema';
-import { hidUrl } from '../../config/hid';
-import { reCaptchaSiteKey } from '../../config/reCaptcha';
-
-import logo from '../../resources/img/deep-logo.svg';
-import hidLogo from '../../resources/img/hid-logo.png';
+} from '#redux';
+import { startSiloBackgroundTasksAction } from '#redux/middlewares/siloBackgroundTasks';
+import schema from '#schema';
+import _ts from '#ts';
-import _ts from '../../ts';
import styles from './styles.scss';
const propTypes = {
@@ -102,7 +102,6 @@ export default class Login extends React.PureComponent {
faramErrors: {},
faramValues: {},
pending: false,
- pristine: false,
showReCaptcha: false,
schema: Login.schema,
};
@@ -147,7 +146,6 @@ export default class Login extends React.PureComponent {
this.setState({
faramValues,
faramErrors,
- pristine: true,
});
};
@@ -184,7 +182,7 @@ export default class Login extends React.PureComponent {
.url(url)
.params(params)
.preLoad(() => {
- this.setState({ pending: true, pristine: false });
+ this.setState({ pending: true });
})
.postLoad(() => {
if (this.reCaptcha) {
diff --git a/src/views/PasswordReset/index.js b/src/views/PasswordReset/index.js
index 0599a24d39..3c9279a0fa 100644
--- a/src/views/PasswordReset/index.js
+++ b/src/views/PasswordReset/index.js
@@ -5,27 +5,27 @@
import React from 'react';
import { Link } from 'react-router-dom';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { reverseRoute } from '../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import ReCaptcha from '../../vendor/react-store/components/Input/ReCaptcha';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { reverseRoute } from '#rs/utils/common';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import ReCaptcha from '#rs/components/Input/ReCaptcha';
+import TextInput from '#rs/components/Input/TextInput';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import Faram, {
requiredCondition,
emailCondition,
-} from '../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
-import _ts from '../../ts';
+import _ts from '#ts';
import {
alterResponseErrorToFaramError,
createParamsForUserPasswordReset,
urlForUserPasswordReset,
-} from '../../rest';
-import { pathNames } from '../../constants';
-import { reCaptchaSiteKey } from '../../config/reCaptcha';
-import schema from '../../schema';
+} from '#rest';
+import { pathNames } from '#constants';
+import { reCaptchaSiteKey } from '#config/reCaptcha';
+import schema from '#schema';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/CategoryEditors/AddCategoryEditor/index.js b/src/views/Project/Details/CategoryEditors/AddCategoryEditor/index.js
index 5eded6e78f..33cce04c59 100644
--- a/src/views/Project/Details/CategoryEditors/AddCategoryEditor/index.js
+++ b/src/views/Project/Details/CategoryEditors/AddCategoryEditor/index.js
@@ -2,24 +2,24 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../../../vendor/react-store/utils/rest';
-import NonFieldErrors from '../../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../../vendor/react-store/components/Input/TextInput';
-import LoadingAnimation from '../../../../../vendor/react-store/components/View/LoadingAnimation';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../../vendor/react-store/components/Action/Button/PrimaryButton';
+import { FgRestBuilder } from '#rs/utils/rest';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import Faram, {
requiredCondition,
-} from '../../../../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
import {
alterResponseErrorToFaramError,
createParamsForCeCreate,
urlForCeCreate,
-} from '../../../../../rest';
-import { addNewCeAction } from '../../../../../redux';
-import _ts from '../../../../../ts';
-import schema from '../../../../../schema';
+} from '#rest';
+import { addNewCeAction } from '#redux';
+import _ts from '#ts';
+import schema from '#schema';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/CategoryEditors/Details/index.js b/src/views/Project/Details/CategoryEditors/Details/index.js
index 72e258cd33..e5922c0419 100644
--- a/src/views/Project/Details/CategoryEditors/Details/index.js
+++ b/src/views/Project/Details/CategoryEditors/Details/index.js
@@ -3,19 +3,19 @@ import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../../../vendor/react-store/utils/rest';
-import { reverseRoute } from '../../../../../vendor/react-store/utils/common';
-import AccentButton from '../../../../../vendor/react-store/components/Action/Button/AccentButton';
-import WarningButton from '../../../../../vendor/react-store/components/Action/Button/WarningButton';
-import LoadingAnimation from '../../../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../../../vendor/react-store/components/View/Modal/Confirm';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { reverseRoute } from '#rs/utils/common';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
import Faram, {
requiredCondition,
-} from '../../../../../vendor/react-store/components/Input/Faram';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import SuccessButton from '../../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import NonFieldErrors from '../../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../../vendor/react-store/components/Input/TextInput';
+} from '#rs/components/Input/Faram';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
import {
createParamsForProjectPatch,
@@ -25,7 +25,7 @@ import {
createParamsForCeClone,
createParamsForCeEdit,
createUrlForCategoryEditor,
-} from '../../../../../rest';
+} from '#rest';
import {
categoryEditorDetailSelector,
projectDetailsSelector,
@@ -33,13 +33,13 @@ import {
setProjectCeAction,
setCeDetailAction,
addNewCeAction,
-} from '../../../../../redux';
-import schema from '../../../../../schema';
-import _ts from '../../../../../ts';
+} from '#redux';
+import schema from '#schema';
+import _ts from '#ts';
import {
iconNames,
pathNames,
-} from '../../../../../constants';
+} from '#constants';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/CategoryEditors/index.js b/src/views/Project/Details/CategoryEditors/index.js
index 601dc88624..e1fff72379 100644
--- a/src/views/Project/Details/CategoryEditors/index.js
+++ b/src/views/Project/Details/CategoryEditors/index.js
@@ -2,30 +2,30 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../../vendor/react-store/utils/rest';
-import { caseInsensitiveSubmatch, compareString } from '../../../../vendor/react-store/utils/common';
-import AccentButton from '../../../../vendor/react-store/components/Action/Button/AccentButton';
-import SearchInput from '../../../../vendor/react-store/components/Input/SearchInput';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import ListItem from '../../../../vendor/react-store/components/View/List/ListItem';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import Modal from '../../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../../vendor/react-store/components/View/Modal/Body';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { caseInsensitiveSubmatch, compareString } from '#rs/utils/common';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import SearchInput from '#rs/components/Input/SearchInput';
+import ListView from '#rs/components/View/List/ListView';
+import ListItem from '#rs/components/View/List/ListItem';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
import {
urlForCategoryEditors,
createParamsForGet,
-} from '../../../../rest';
+} from '#rest';
import {
categoryEditorListSelector,
projectDetailsSelector,
setCategoryEditorsAction,
-} from '../../../../redux';
-import _ts from '../../../../ts';
-import schema from '../../../../schema';
-import { iconNames } from '../../../../constants';
+} from '#redux';
+import _ts from '#ts';
+import schema from '#schema';
+import { iconNames } from '#constants';
import Details from './Details';
import AddCategoryEditor from './AddCategoryEditor';
diff --git a/src/views/Project/Details/Frameworks/AddFramework/index.js b/src/views/Project/Details/Frameworks/AddFramework/index.js
index 8a09265780..bee3b42d22 100644
--- a/src/views/Project/Details/Frameworks/AddFramework/index.js
+++ b/src/views/Project/Details/Frameworks/AddFramework/index.js
@@ -2,25 +2,25 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../../../vendor/react-store/utils/rest';
-import NonFieldErrors from '../../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../../vendor/react-store/components/Input/TextInput';
-import LoadingAnimation from '../../../../../vendor/react-store/components/View/LoadingAnimation';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../../vendor/react-store/components/Action/Button/PrimaryButton';
+import { FgRestBuilder } from '#rs/utils/rest';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import Faram, {
requiredCondition,
-} from '../../../../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
import {
alterResponseErrorToFaramError,
createParamsForAfCreate,
urlForAfCreate,
-} from '../../../../../rest';
-import { addNewAfAction } from '../../../../../redux';
-import _ts from '../../../../../ts';
-import notify from '../../../../../notify';
-import schema from '../../../../../schema';
+} from '#rest';
+import { addNewAfAction } from '#redux';
+import _ts from '#ts';
+import notify from '#notify';
+import schema from '#schema';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/Frameworks/Details/index.js b/src/views/Project/Details/Frameworks/Details/index.js
index 68ef0eb4ee..f08e1f293a 100644
--- a/src/views/Project/Details/Frameworks/Details/index.js
+++ b/src/views/Project/Details/Frameworks/Details/index.js
@@ -3,20 +3,20 @@ import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
-import { reverseRoute } from '../../../../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../../../../vendor/react-store/utils/rest';
-import AccentButton from '../../../../../vendor/react-store/components/Action/Button/AccentButton';
-import WarningButton from '../../../../../vendor/react-store/components/Action/Button/WarningButton';
-import LoadingAnimation from '../../../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../../../vendor/react-store/components/View/Modal/Confirm';
+import { reverseRoute } from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
import Faram, {
requiredCondition,
-} from '../../../../../vendor/react-store/components/Input/Faram';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import SuccessButton from '../../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import NonFieldErrors from '../../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../../vendor/react-store/components/Input/TextInput';
-import TextArea from '../../../../../vendor/react-store/components/Input/TextArea';
+} from '#rs/components/Input/Faram';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import TextArea from '#rs/components/Input/TextArea';
import {
createParamsForProjectPatch,
@@ -25,21 +25,21 @@ import {
createParamsForAfClone,
createParamsForAnalysisFrameworkEdit,
createUrlForAnalysisFramework,
-} from '../../../../../rest';
+} from '#rest';
import {
analysisFrameworkDetailSelector,
projectDetailsSelector,
setProjectAfAction,
setAfDetailAction,
addNewAfAction,
-} from '../../../../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../../../../constants';
-import schema from '../../../../../schema';
-import notify from '../../../../../notify';
-import _ts from '../../../../../ts';
+} from '#constants';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/Frameworks/index.js b/src/views/Project/Details/Frameworks/index.js
index e08356744e..95b6998a7b 100644
--- a/src/views/Project/Details/Frameworks/index.js
+++ b/src/views/Project/Details/Frameworks/index.js
@@ -2,31 +2,31 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../../vendor/react-store/utils/rest';
-import { caseInsensitiveSubmatch, compareString } from '../../../../vendor/react-store/utils/common';
-
-import AccentButton from '../../../../vendor/react-store/components/Action/Button/AccentButton';
-import SearchInput from '../../../../vendor/react-store/components/Input/SearchInput';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import ListItem from '../../../../vendor/react-store/components/View/List/ListItem';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import Modal from '../../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../../vendor/react-store/components/View/Modal/Body';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { caseInsensitiveSubmatch, compareString } from '#rs/utils/common';
+
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import SearchInput from '#rs/components/Input/SearchInput';
+import ListView from '#rs/components/View/List/ListView';
+import ListItem from '#rs/components/View/List/ListItem';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
import {
urlForAnalysisFrameworks,
createParamsForGet,
-} from '../../../../rest';
+} from '#rest';
import {
analysisFrameworkListSelector,
projectDetailsSelector,
setAnalysisFrameworksAction,
-} from '../../../../redux';
-import _ts from '../../../../ts';
-import schema from '../../../../schema';
-import { iconNames } from '../../../../constants';
+} from '#redux';
+import _ts from '#ts';
+import schema from '#schema';
+import { iconNames } from '#constants';
import Details from './Details';
import AddFramework from './AddFramework';
diff --git a/src/views/Project/Details/General/index.js b/src/views/Project/Details/General/index.js
index 8b1f65d495..c7bd0facfc 100644
--- a/src/views/Project/Details/General/index.js
+++ b/src/views/Project/Details/General/index.js
@@ -6,24 +6,24 @@ import {
reverseRoute,
compareString,
compareDate,
-} from '../../../../vendor/react-store/utils/common';
-import update from '../../../../vendor/react-store/utils/immutable-update';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import FormattedDate from '../../../../vendor/react-store/components/View/FormattedDate';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import { FgRestBuilder } from '../../../../vendor/react-store/utils/rest';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import SuccessButton from '../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
-import SelectInputWithList from '../../../../vendor/react-store/components/Input/SelectInputWithList';
-import TabularSelectInput from '../../../../vendor/react-store/components/Input/TabularSelectInput';
-import DateInput from '../../../../vendor/react-store/components/Input/DateInput';
-import TextArea from '../../../../vendor/react-store/components/Input/TextArea';
+} from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import { FgRestBuilder } from '#rs/utils/rest';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import SelectInputWithList from '#rs/components/Input/SelectInputWithList';
+import TabularSelectInput from '#rs/components/Input/TabularSelectInput';
+import DateInput from '#rs/components/Input/DateInput';
+import TextArea from '#rs/components/Input/TextArea';
import Faram, {
requiredCondition,
dateCondition,
-} from '../../../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
import {
alterResponseErrorToFaramError,
@@ -31,7 +31,7 @@ import {
createUrlForProject,
createParamsForGet,
createUrlForUsers,
-} from '../../../../rest';
+} from '#rest';
import {
usersInformationListSelector,
@@ -42,14 +42,14 @@ import {
unsetUserProjectMembershipAction,
setUsersInformationAction,
setProjectAction,
-} from '../../../../redux';
-import schema from '../../../../schema';
-import notify from '../../../../notify';
-import _ts from '../../../../ts';
+} from '#redux';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
import {
pathNames,
iconNames,
-} from '../../../../constants';
+} from '#constants';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/Regions/AddExistingRegion/index.js b/src/views/Project/Details/Regions/AddExistingRegion/index.js
index 0cb511d2f9..d3675d702f 100644
--- a/src/views/Project/Details/Regions/AddExistingRegion/index.js
+++ b/src/views/Project/Details/Regions/AddExistingRegion/index.js
@@ -2,31 +2,31 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../../../vendor/react-store/utils/rest';
-import { compareString, compareNumber } from '../../../../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../../../../vendor/react-store/components/View/LoadingAnimation';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import NonFieldErrors from '../../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TabularSelectInput from '../../../../../vendor/react-store/components/Input/TabularSelectInput';
+import { FgRestBuilder } from '#rs/utils/rest';
+import { compareString, compareNumber } from '#rs/utils/common';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TabularSelectInput from '#rs/components/Input/TabularSelectInput';
import Faram, {
requiredCondition,
-} from '../../../../../vendor/react-store/components/Input/Faram';
+} from '#rs/components/Input/Faram';
import {
alterResponseErrorToFaramError,
createParamsForProjectPatch,
createUrlForProject,
-} from '../../../../../rest';
+} from '#rest';
import {
projectDetailsSelector,
projectOptionsSelector,
setProjectAction,
-} from '../../../../../redux';
-import notify from '../../../../../notify';
-import schema from '../../../../../schema';
-import _ts from '../../../../../ts';
+} from '#redux';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/Regions/ProjectRegionDetail/index.js b/src/views/Project/Details/Regions/ProjectRegionDetail/index.js
index 29c8145568..d70542df20 100644
--- a/src/views/Project/Details/Regions/ProjectRegionDetail/index.js
+++ b/src/views/Project/Details/Regions/ProjectRegionDetail/index.js
@@ -2,37 +2,36 @@ import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
import { connect } from 'react-redux';
-import Confirm from '../../../../../vendor/react-store/components/View/Modal/Confirm';
-import WarningButton from '../../../../../vendor/react-store/components/Action/Button/WarningButton';
-import SuccessButton from '../../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import DangerButton from '../../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../../../vendor/react-store/components/View/LoadingAnimation';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
import Faram, {
requiredCondition,
-} from '../../../../../vendor/react-store/components/Input/Faram';
-
+} from '#rs/components/Input/Faram';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+
+import RegionAdminLevel from '#components/RegionAdminLevel';
+import RegionDetail from '#components/RegionDetail';
+import RegionDetailView from '#components/RegionDetailView';
+import RegionMap from '#components/RegionMap';
import {
activeProjectIdFromStateSelector,
- regionDetailSelector,
+ addNewRegionAction,
+ changeRegionDetailsAction,
projectDetailsSelector,
+ regionDetailSelector,
+ removeProjectRegionAction,
setRegionDetailsAction,
- changeRegionDetailsAction,
setRegionDetailsErrorsAction,
- removeProjectRegionAction,
- addNewRegionAction,
-} from '../../../../../redux';
-import _ts from '../../../../../ts';
+} from '#redux';
+import _ts from '#ts';
-import RegionGetRequest from '../../../requests/RegionGetRequest';
import ProjectPatchRequest from '../../../requests/ProjectPatchRequest';
import RegionCloneRequest from '../../../requests/RegionCloneRequest';
import RegionDetailPatchRequest from '../../../requests/RegionDetailPatchRequest';
-
-import RegionMap from '../../../../../components/RegionMap';
-import RegionDetail from '../../../../../components/RegionDetail';
-import RegionDetailView from '../../../../../components/RegionDetailView';
-import RegionAdminLevel from '../../../../../components/RegionAdminLevel';
+import RegionGetRequest from '../../../requests/RegionGetRequest';
import styles from './styles.scss';
diff --git a/src/views/Project/Details/Regions/index.js b/src/views/Project/Details/Regions/index.js
index 43b050064b..c991e2af1e 100644
--- a/src/views/Project/Details/Regions/index.js
+++ b/src/views/Project/Details/Regions/index.js
@@ -2,20 +2,20 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { caseInsensitiveSubmatch, compareString } from '../../../../vendor/react-store/utils/common';
-import AccentButton from '../../../../vendor/react-store/components/Action/Button/AccentButton';
-import SearchInput from '../../../../vendor/react-store/components/Input/SearchInput';
-import RadioInput from '../../../../vendor/react-store/components/Input/RadioInput';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import ListItem from '../../../../vendor/react-store/components/View/List/ListItem';
-import Modal from '../../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../../vendor/react-store/components/View/Modal/Body';
-
-import { projectDetailsSelector } from '../../../../redux';
-import { iconNames } from '../../../../constants';
-import _ts from '../../../../ts';
-import AddRegion from '../../../../components/AddRegion';
+import { caseInsensitiveSubmatch, compareString } from '#rs/utils/common';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import SearchInput from '#rs/components/Input/SearchInput';
+import RadioInput from '#rs/components/Input/RadioInput';
+import ListView from '#rs/components/View/List/ListView';
+import ListItem from '#rs/components/View/List/ListItem';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+
+import { projectDetailsSelector } from '#redux';
+import { iconNames } from '#constants';
+import _ts from '#ts';
+import AddRegion from '#components/AddRegion';
import AddExistingRegion from './AddExistingRegion';
import ProjectRegionDetail from './ProjectRegionDetail';
diff --git a/src/views/Project/Details/index.js b/src/views/Project/Details/index.js
index b854222b26..5d692206a8 100644
--- a/src/views/Project/Details/index.js
+++ b/src/views/Project/Details/index.js
@@ -2,23 +2,23 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
-import FixedTabs from '../../../vendor/react-store/components/View/FixedTabs';
-import MultiViewContainer from '../../../vendor/react-store/components/View/MultiViewContainer';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
+import { FgRestBuilder } from '#rs/utils/rest';
+import FixedTabs from '#rs/components/View/FixedTabs';
+import MultiViewContainer from '#rs/components/View/MultiViewContainer';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
createParamsForGet,
createUrlForProject,
createUrlForProjectOptions,
-} from '../../../rest';
+} from '#rest';
import {
projectDetailsSelector,
setProjectAction,
setProjectOptionsAction,
-} from '../../../redux';
-import schema from '../../../schema';
-import _ts from '../../../ts';
+} from '#redux';
+import schema from '#schema';
+import _ts from '#ts';
import General from './General';
import Regions from './Regions';
diff --git a/src/views/Project/index.js b/src/views/Project/index.js
index 1342e97d08..5ddc8341e5 100644
--- a/src/views/Project/index.js
+++ b/src/views/Project/index.js
@@ -6,27 +6,27 @@ import { connect } from 'react-redux';
import {
reverseRoute,
caseInsensitiveSubmatch,
-} from '../../vendor/react-store/utils/common';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import ListView from '../../vendor/react-store/components/View/List/ListView';
-import SearchInput from '../../vendor/react-store/components/Input/SearchInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-
-import UserProjectAdd from '../../components/UserProjectAdd';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+} from '#rs/utils/common';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ListView from '#rs/components/View/List/ListView';
+import SearchInput from '#rs/components/Input/SearchInput';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+
+import UserProjectAdd from '#components/UserProjectAdd';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
import {
currentUserAdminProjectsSelector,
setActiveProjectAction,
projectIdFromRouteSelector,
-} from '../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../constants';
-import _ts from '../../ts';
+} from '#constants';
+import _ts from '#ts';
import Details from './Details';
import styles from './styles.scss';
diff --git a/src/views/Project/requests/ProjectPatchRequest.js b/src/views/Project/requests/ProjectPatchRequest.js
index d65be5c266..0920d56de1 100644
--- a/src/views/Project/requests/ProjectPatchRequest.js
+++ b/src/views/Project/requests/ProjectPatchRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createParamsForProjectPatch,
createUrlForProject,
-} from '../../../rest';
-import _ts from '../../../ts';
+} from '#rest';
+import _ts from '#ts';
-import schema from '../../../schema';
-import notify from '../../../notify';
+import schema from '#schema';
+import notify from '#notify';
export default class ProjectPatchRequest {
constructor(props) {
diff --git a/src/views/Project/requests/RegionCloneRequest.js b/src/views/Project/requests/RegionCloneRequest.js
index bc8ca817a2..1109e046e0 100644
--- a/src/views/Project/requests/RegionCloneRequest.js
+++ b/src/views/Project/requests/RegionCloneRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForRegionClone,
createParamsForRegionClone,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class RegionCloneRequest {
constructor(props) {
diff --git a/src/views/Project/requests/RegionDetailPatchRequest.js b/src/views/Project/requests/RegionDetailPatchRequest.js
index 2217a28b24..8e3e468c4d 100644
--- a/src/views/Project/requests/RegionDetailPatchRequest.js
+++ b/src/views/Project/requests/RegionDetailPatchRequest.js
@@ -1,13 +1,13 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForRegion,
createParamsForRegionPatch,
alterResponseErrorToFaramError,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
/*
* setState, setRegionDetails
diff --git a/src/views/Project/requests/RegionGetRequest.js b/src/views/Project/requests/RegionGetRequest.js
index f902f2f8b8..1e65c98402 100644
--- a/src/views/Project/requests/RegionGetRequest.js
+++ b/src/views/Project/requests/RegionGetRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForRegionWithField,
createParamsForGet,
-} from '../../../rest';
+} from '#rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
/*
* setState, setRegionDetails
diff --git a/src/views/Register/index.js b/src/views/Register/index.js
index 5282103c6f..a83490a6ae 100644
--- a/src/views/Register/index.js
+++ b/src/views/Register/index.js
@@ -5,27 +5,27 @@
import React from 'react';
import { Link } from 'react-router-dom';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import { reverseRoute } from '../../vendor/react-store/utils/common';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import NonFieldErrors from '../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../vendor/react-store/components/Input/TextInput';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import ReCaptcha from '../../vendor/react-store/components/Input/ReCaptcha';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import Faram, {
- requiredCondition,
emailCondition,
-} from '../../vendor/react-store/components/Input/Faram';
-
+ requiredCondition,
+} from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import ReCaptcha from '#rs/components/Input/ReCaptcha';
+import TextInput from '#rs/components/Input/TextInput';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import { reverseRoute } from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+
+import { reCaptchaSiteKey } from '#config/reCaptcha';
+import { pathNames } from '#constants';
+import schema from '#schema';
import {
alterResponseErrorToFaramError,
createParamsForUserCreate,
urlForUserCreate,
-} from '../../rest';
-import { pathNames } from '../../constants';
-import { reCaptchaSiteKey } from '../../config/reCaptcha';
-import schema from '../../schema';
-import _ts from '../../ts';
+} from '#rest';
+import _ts from '#ts';
import styles from './styles.scss';
@@ -46,7 +46,6 @@ export default class Register extends React.PureComponent {
faramErrors: {},
faramValues: {},
pending: false,
- pristine: false,
success: false,
};
@@ -77,7 +76,6 @@ export default class Register extends React.PureComponent {
this.setState({
faramValues,
faramErrors,
- pristine: true,
});
};
@@ -116,7 +114,7 @@ export default class Register extends React.PureComponent {
recaptchaResponse,
}))
.preLoad(() => {
- this.setState({ pending: true, pristine: false });
+ this.setState({ pending: true });
})
.postLoad(() => {
if (this.reCaptcha) {
diff --git a/src/views/StringManagement/DeleteConfirm/index.js b/src/views/StringManagement/DeleteConfirm/index.js
index fddd0be059..07fbba94b8 100644
--- a/src/views/StringManagement/DeleteConfirm/index.js
+++ b/src/views/StringManagement/DeleteConfirm/index.js
@@ -9,10 +9,10 @@ import {
stringMgmtAddStringChangeAction,
stringMgmtAddLinkChangeAction,
selectedLinkCollectionNameSelector,
-} from '../../../redux';
+} from '#redux';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import ListView from '#rs/components/View/List/ListView';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/StringManagement/Detail/InfoPane/index.js b/src/views/StringManagement/Detail/InfoPane/index.js
index 5588d22d82..1f96d3471e 100644
--- a/src/views/StringManagement/Detail/InfoPane/index.js
+++ b/src/views/StringManagement/Detail/InfoPane/index.js
@@ -2,17 +2,17 @@ import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import ListView from '../../../../vendor/react-store/components/View/List/ListView';
-import SuccessButton from '../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import WarningButton from '../../../../vendor/react-store/components/Action/Button/WarningButton';
-import Message from '../../../../vendor/react-store/components/View/Message';
+import ListView from '#rs/components/View/List/ListView';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import Message from '#rs/components/View/Message';
import {
problemCollectionSelector,
problemCollectionStatsSelector,
-} from '../../../../redux';
-import { iconNames } from '../../../../constants';
+} from '#redux';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/views/StringManagement/Detail/LinksTable/EditLinkModal/index.js b/src/views/StringManagement/Detail/LinksTable/EditLinkModal/index.js
index 3ad2a1f0e6..65b67c6c8e 100644
--- a/src/views/StringManagement/Detail/LinksTable/EditLinkModal/index.js
+++ b/src/views/StringManagement/Detail/LinksTable/EditLinkModal/index.js
@@ -2,14 +2,14 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import Modal from '../../../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../../../vendor/react-store/components/View/Modal/Footer';
-import ListView from '../../../../../vendor/react-store/components/View/List/ListView';
-import Button from '../../../../../vendor/react-store/components/Action/Button';
-import SuccessButton from '../../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import SelectInput from '../../../../../vendor/react-store/components/Input/SelectInput';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ListView from '#rs/components/View/List/ListView';
+import Button from '#rs/components/Action/Button';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import SelectInput from '#rs/components/Input/SelectInput';
import {
linkCollectionSelector,
@@ -17,7 +17,7 @@ import {
selectedLanguageNameSelector,
stringMgmtAddLinkChangeAction,
selectedLinkCollectionNameSelector,
-} from '../../../../../redux';
+} from '#redux';
import styles from './styles.scss';
const propTypes = {
@@ -189,7 +189,6 @@ export default class EditStringModal extends React.PureComponent {
const saveButtonDisabled = inputValue === link.string;
const Properties = this.renderProperties;
- console.warn(inputValue, editLinkId);
return (
diff --git a/src/views/StringManagement/Detail/LinksTable/index.js b/src/views/StringManagement/Detail/LinksTable/index.js
index 6ece26189f..fdeadb965a 100644
--- a/src/views/StringManagement/Detail/LinksTable/index.js
+++ b/src/views/StringManagement/Detail/LinksTable/index.js
@@ -6,15 +6,15 @@ import {
compareStringByWordCount,
compareString,
compareNumber,
-} from '../../../../vendor/react-store/utils/common';
-import Table from '../../../../vendor/react-store/components/View/Table';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import WarningButton from '../../../../vendor/react-store/components/Action/Button/WarningButton';
+} from '#rs/utils/common';
+import Table from '#rs/components/View/Table';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
import {
linkCollectionSelector,
-} from '../../../../redux';
+} from '#redux';
-import { iconNames } from '../../../../constants';
+import { iconNames } from '#constants';
import DeleteConfirm from '../../DeleteConfirm';
import EditLinkModal from './EditLinkModal';
diff --git a/src/views/StringManagement/Detail/StringsTable/EditStringModal/index.js b/src/views/StringManagement/Detail/StringsTable/EditStringModal/index.js
index c113ded33b..4d8c9c21aa 100644
--- a/src/views/StringManagement/Detail/StringsTable/EditStringModal/index.js
+++ b/src/views/StringManagement/Detail/StringsTable/EditStringModal/index.js
@@ -2,20 +2,20 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import Modal from '../../../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../../../vendor/react-store/components/View/Modal/Footer';
-import ListView from '../../../../../vendor/react-store/components/View/List/ListView';
-import Button from '../../../../../vendor/react-store/components/Action/Button';
-import SuccessButton from '../../../../../vendor/react-store/components/Action/Button/SuccessButton';
-import TextInput from '../../../../../vendor/react-store/components/Input/TextInput';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ListView from '#rs/components/View/List/ListView';
+import Button from '#rs/components/Action/Button';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import TextInput from '#rs/components/Input/TextInput';
import {
allStringsSelector,
selectedLanguageNameSelector,
stringMgmtAddStringChangeAction,
-} from '../../../../../redux';
+} from '#redux';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/StringManagement/Detail/StringsTable/index.js b/src/views/StringManagement/Detail/StringsTable/index.js
index c911197f83..a0c6f734af 100644
--- a/src/views/StringManagement/Detail/StringsTable/index.js
+++ b/src/views/StringManagement/Detail/StringsTable/index.js
@@ -1,24 +1,23 @@
-import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
+import React, { Fragment } from 'react';
import { connect } from 'react-redux';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import WarningButton from '#rs/components/Action/Button/WarningButton';
+import Table from '#rs/components/View/Table';
import {
compareBoolean,
+ compareNumber,
+ compareString,
compareStringAsNumber,
compareStringByWordCount,
- compareString,
- compareNumber,
-} from '../../../../vendor/react-store/utils/common';
-import Table from '../../../../vendor/react-store/components/View/Table';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import WarningButton from '../../../../vendor/react-store/components/Action/Button/WarningButton';
-import { allStringsSelector } from '../../../../redux';
+} from '#rs/utils/common';
+
+import { iconNames } from '#constants';
+import { allStringsSelector } from '#redux';
import DeleteConfirm from '../../DeleteConfirm';
import EditStringModal from './EditStringModal';
-
-import { iconNames } from '../../../../constants';
-
import styles from './styles.scss';
const propTypes = {
diff --git a/src/views/StringManagement/Detail/index.js b/src/views/StringManagement/Detail/index.js
index ebf42c3d7d..5f1f77ea2c 100644
--- a/src/views/StringManagement/Detail/index.js
+++ b/src/views/StringManagement/Detail/index.js
@@ -2,11 +2,11 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import SuccessButton from '../../../vendor/react-store/components/Action/Button/SuccessButton';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import SuccessButton from '#rs/components/Action/Button/SuccessButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import SelectInput from '#rs/components/Input/SelectInput';
import {
setLanguageAction,
@@ -15,7 +15,7 @@ import {
availableLanguagesSelector,
selectedLanguageNameSelector,
selectedLinkCollectionNameSelector,
-} from '../../../redux';
+} from '#redux';
import StringsTable from './StringsTable';
import LinksTable from './LinksTable';
diff --git a/src/views/StringManagement/LeftPane/index.js b/src/views/StringManagement/LeftPane/index.js
index 9e169ea20b..4c51c37ef0 100644
--- a/src/views/StringManagement/LeftPane/index.js
+++ b/src/views/StringManagement/LeftPane/index.js
@@ -2,8 +2,8 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import VerticalTabs from '../../../vendor/react-store/components/View/VerticalTabs';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
+import VerticalTabs from '#rs/components/View/VerticalTabs';
+import SearchInput from '#rs/components/Input/SearchInput';
import {
stringMgmtSetSelectedLinkCollectionNameAction,
@@ -11,7 +11,7 @@ import {
linkKeysSelector,
problemCollectionsStatsSelector,
selectedLinkCollectionNameSelector,
-} from '../../../redux';
+} from '#redux';
import styles from './styles.scss';
diff --git a/src/views/StringManagement/index.js b/src/views/StringManagement/index.js
index 06c9ec9a7a..314b41e9d5 100644
--- a/src/views/StringManagement/index.js
+++ b/src/views/StringManagement/index.js
@@ -5,7 +5,7 @@ import { connect } from 'react-redux';
import {
setLanguageAction,
selectedLanguageNameSelector,
-} from '../../redux';
+} from '#redux';
import Detail from './Detail';
import LeftPane from './LeftPane';
diff --git a/src/views/StringManagement/requests/LanguageGet.js b/src/views/StringManagement/requests/LanguageGet.js
index 220b6761d6..58cfcfb14e 100644
--- a/src/views/StringManagement/requests/LanguageGet.js
+++ b/src/views/StringManagement/requests/LanguageGet.js
@@ -1,10 +1,10 @@
-import { BgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { BgRestBuilder } from '#rs/utils/rest';
import {
createParamsForGet,
createUrlForLanguage,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class LanguageGet {
constructor(props) {
diff --git a/src/views/UserExports/index.js b/src/views/UserExports/index.js
index 6e9c75ec09..9cfb4aca6c 100644
--- a/src/views/UserExports/index.js
+++ b/src/views/UserExports/index.js
@@ -10,37 +10,37 @@ import {
compareString,
compareBoolean,
compareDate,
-} from '../../vendor/react-store/utils/common';
-import { FgRestBuilder } from '../../vendor/react-store/utils/rest';
-import Table from '../../vendor/react-store/components/View/Table';
-import FormattedDate from '../../vendor/react-store/components/View/FormattedDate';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
+} from '#rs/utils/common';
+import { FgRestBuilder } from '#rs/utils/rest';
+import Table from '#rs/components/View/Table';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
import {
createUrlForExport,
createParamsForGet,
createUrlForExportsOfProject,
transformResponseErrorToFormError,
-} from '../../rest';
+} from '#rest';
import {
userExportsListSelector,
setUserExportsAction,
setUserExportAction,
projectIdFromRouteSelector,
-} from '../../redux';
+} from '#redux';
import {
pathNames,
iconNames,
-} from '../../constants';
-import { leadTypeIconMap } from '../../entities/lead';
-import schema from '../../schema';
-import notify from '../../notify';
-import _ts from '../../ts';
-import ExportPreview from '../../components/ExportPreview';
+} from '#constants';
+import { leadTypeIconMap } from '#entities/lead';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
+import ExportPreview from '#components/ExportPreview';
import styles from './styles.scss';
diff --git a/src/views/UserGroup/MembersTable/ActionButtons/index.js b/src/views/UserGroup/MembersTable/ActionButtons/index.js
index 1ade711315..4852d03002 100644
--- a/src/views/UserGroup/MembersTable/ActionButtons/index.js
+++ b/src/views/UserGroup/MembersTable/ActionButtons/index.js
@@ -2,15 +2,15 @@ import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
import { Link } from 'react-router-dom';
-import { reverseRoute } from '../../../../vendor/react-store/utils/common';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
+import { reverseRoute } from '#rs/utils/common';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
import {
iconNames,
pathNames,
-} from '../../../../constants/';
-import _ts from '../../../../ts';
+} from '#constants/';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/views/UserGroup/MembersTable/AddUserGroupMembers/index.js b/src/views/UserGroup/MembersTable/AddUserGroupMembers/index.js
index b125747253..3ae0326237 100644
--- a/src/views/UserGroup/MembersTable/AddUserGroupMembers/index.js
+++ b/src/views/UserGroup/MembersTable/AddUserGroupMembers/index.js
@@ -2,14 +2,14 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { compareString } from '../../../../vendor/react-store/utils/common';
-import Faram, { requiredCondition } from '../../../../vendor/react-store/components/Input/Faram';
-import update from '../../../../vendor/react-store/utils/immutable-update';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
-import TabularSelectInput from '../../../../vendor/react-store/components/Input/TabularSelectInput';
+import { compareString } from '#rs/utils/common';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+import update from '#rs/utils/immutable-update';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import TabularSelectInput from '#rs/components/Input/TabularSelectInput';
import {
usersInformationListSelector,
@@ -17,9 +17,9 @@ import {
groupSelector,
setUsersMembershipAction,
-} from '../../../../redux';
-import _ts from '../../../../ts';
-import { iconNames } from '../../../../constants';
+} from '#redux';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import UsersGetRequest from '../../requests/UsersGetRequest';
import MembershipPostRequest from '../../requests/MembershipPostRequest';
diff --git a/src/views/UserGroup/MembersTable/index.js b/src/views/UserGroup/MembersTable/index.js
index 4e0bbac99d..a3c8216383 100644
--- a/src/views/UserGroup/MembersTable/index.js
+++ b/src/views/UserGroup/MembersTable/index.js
@@ -6,24 +6,24 @@ import {
caseInsensitiveSubmatch,
compareString,
compareDate,
-} from '../../../vendor/react-store/utils/common';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import Table from '../../../vendor/react-store/components/View/Table';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
+} from '#rs/utils/common';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
+import SearchInput from '#rs/components/Input/SearchInput';
import {
unSetMembershipAction,
setUsersMembershipAction,
setUserMembershipAction,
-} from '../../../redux';
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
+} from '#redux';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import MembershipRoleChangeRequest from '../requests/MembershipRoleChangeRequest';
import MembershipDeleteRequest from '../requests/MembershipDeleteRequest';
diff --git a/src/views/UserGroup/ProjectsTable/index.js b/src/views/UserGroup/ProjectsTable/index.js
index 359fed22b7..673d10d66e 100644
--- a/src/views/UserGroup/ProjectsTable/index.js
+++ b/src/views/UserGroup/ProjectsTable/index.js
@@ -7,31 +7,31 @@ import {
caseInsensitiveSubmatch,
compareLength,
compareString,
-} from '../../../vendor/react-store/utils/common';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import Table from '../../../vendor/react-store/components/View/Table';
-import SearchInput from '../../../vendor/react-store/components/Input/SearchInput';
+} from '#rs/utils/common';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
+import SearchInput from '#rs/components/Input/SearchInput';
import {
userGroupProjectSelector,
setUserProjectsAction,
unSetProjectAction,
activeUserSelector,
-} from '../../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../../constants';
-import _ts from '../../../ts';
+} from '#constants';
+import _ts from '#ts';
-import UserProjectAdd from '../../../components/UserProjectAdd';
+import UserProjectAdd from '#components/UserProjectAdd';
import UserGroupProjectsRequest from '../requests/UserGroupProjectsRequest';
import ProjectDeleteRequest from '../requests/ProjectDeleteRequest';
import styles from './styles.scss';
diff --git a/src/views/UserGroup/UserGroupEdit/index.js b/src/views/UserGroup/UserGroupEdit/index.js
index bcbe1d4a7f..672c6a778c 100644
--- a/src/views/UserGroup/UserGroupEdit/index.js
+++ b/src/views/UserGroup/UserGroupEdit/index.js
@@ -6,16 +6,16 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import Faram, { requiredCondition } from '../../../vendor/react-store/components/Input/Faram';
-import NonFieldErrors from '../../../vendor/react-store/components/Input/NonFieldErrors';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import TextArea from '../../../vendor/react-store/components/Input/TextArea';
-
-import _ts from '../../../ts';
-import { setUserGroupAction } from '../../../redux';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import TextInput from '#rs/components/Input/TextInput';
+import TextArea from '#rs/components/Input/TextArea';
+
+import _ts from '#ts';
+import { setUserGroupAction } from '#redux';
import UserGroupPatchRequest from '../requests/UserGroupPatchRequest';
diff --git a/src/views/UserGroup/index.js b/src/views/UserGroup/index.js
index 4da2cac24f..be4a69298a 100644
--- a/src/views/UserGroup/index.js
+++ b/src/views/UserGroup/index.js
@@ -2,20 +2,15 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-
-import AppError from '../../components/AppError';
-import _ts from '../../ts';
-
-import MembersTable from './MembersTable';
-import ProjectsTable from './ProjectsTable';
-import UserGroupEdit from './UserGroupEdit';
-
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import BoundError from '#rs/components/General/BoundError';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+
+import AppError from '#components/AppError';
+import { iconNames } from '#constants';
import {
groupSelector,
setUserGroupAction,
@@ -23,9 +18,12 @@ import {
activeUserSelector,
groupIdFromRouteSelector,
-} from '../../redux';
-import { iconNames } from '../../constants';
+} from '#redux';
+import _ts from '#ts';
+import MembersTable from './MembersTable';
+import ProjectsTable from './ProjectsTable';
+import UserGroupEdit from './UserGroupEdit';
import UserGroupGetRequest from './requests/UserGroupGetRequest';
import styles from './styles.scss';
diff --git a/src/views/UserGroup/requests/MembershipDeleteRequest.js b/src/views/UserGroup/requests/MembershipDeleteRequest.js
index 21e712db99..92b50e4284 100644
--- a/src/views/UserGroup/requests/MembershipDeleteRequest.js
+++ b/src/views/UserGroup/requests/MembershipDeleteRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserMembership,
createParamsForUserMembershipDelete,
-} from '../../../rest';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import _ts from '#ts';
/*
* props: setState, unSetMembership
diff --git a/src/views/UserGroup/requests/MembershipPostRequest.js b/src/views/UserGroup/requests/MembershipPostRequest.js
index 9743981fd5..6c2959492a 100644
--- a/src/views/UserGroup/requests/MembershipPostRequest.js
+++ b/src/views/UserGroup/requests/MembershipPostRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
urlForUserMembership,
createParamsForUserMembershipCreate,
alterResponseErrorToFaramError,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
/*
* props: setState, setUsersMembership, onModalClose
diff --git a/src/views/UserGroup/requests/MembershipRoleChangeRequest.js b/src/views/UserGroup/requests/MembershipRoleChangeRequest.js
index 8d5103ef4d..ef56bdef83 100644
--- a/src/views/UserGroup/requests/MembershipRoleChangeRequest.js
+++ b/src/views/UserGroup/requests/MembershipRoleChangeRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserMembership,
createParamsForUserMembershipRoleChange,
-} from '../../../rest';
-import schema from '../../../schema';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import schema from '#schema';
+import notify from '#notify';
+import _ts from '#ts';
/*
* props: setState, setUserMembership
diff --git a/src/views/UserGroup/requests/ProjectDeleteRequest.js b/src/views/UserGroup/requests/ProjectDeleteRequest.js
index 99dd3a1a01..d8658d0a35 100644
--- a/src/views/UserGroup/requests/ProjectDeleteRequest.js
+++ b/src/views/UserGroup/requests/ProjectDeleteRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForProject,
createParamsForProjectDelete,
-} from '../../../rest';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import _ts from '#ts';
/*
* props: setState, unSetProject
diff --git a/src/views/UserGroup/requests/UserGroupGetRequest.js b/src/views/UserGroup/requests/UserGroupGetRequest.js
index 3f115f7953..4b197a0af4 100644
--- a/src/views/UserGroup/requests/UserGroupGetRequest.js
+++ b/src/views/UserGroup/requests/UserGroupGetRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserGroup,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
/*
* props: setState, setUserGroup, unSetUserGroup
diff --git a/src/views/UserGroup/requests/UserGroupPatchRequest.js b/src/views/UserGroup/requests/UserGroupPatchRequest.js
index 37d9478ce0..ca2aef48b4 100644
--- a/src/views/UserGroup/requests/UserGroupPatchRequest.js
+++ b/src/views/UserGroup/requests/UserGroupPatchRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserGroup,
createParamsForUserGroupsPatch,
alterResponseErrorToFaramError,
-} from '../../../rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
/*
* props: setState, setUserGroup, handleModalClose
diff --git a/src/views/UserGroup/requests/UserGroupProjectsRequest.js b/src/views/UserGroup/requests/UserGroupProjectsRequest.js
index eaa3335790..053d1d5a53 100644
--- a/src/views/UserGroup/requests/UserGroupProjectsRequest.js
+++ b/src/views/UserGroup/requests/UserGroupProjectsRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserGroupProjects,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
/*
* props: setUserGroupProject
diff --git a/src/views/UserGroup/requests/UsersGetRequest.js b/src/views/UserGroup/requests/UsersGetRequest.js
index 9b0b11fd66..87f9cd323d 100644
--- a/src/views/UserGroup/requests/UsersGetRequest.js
+++ b/src/views/UserGroup/requests/UsersGetRequest.js
@@ -1,11 +1,11 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUsers,
createParamsForGet,
-} from '../../../rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
/*
* props: setState, setUsers
diff --git a/src/views/UserProfile/UserEdit/index.js b/src/views/UserProfile/UserEdit/index.js
index 248be251f3..50fa00f62d 100644
--- a/src/views/UserProfile/UserEdit/index.js
+++ b/src/views/UserProfile/UserEdit/index.js
@@ -7,24 +7,24 @@
import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import { InternalGallery } from '../../../components/DeepGallery';
-
-import Faram, { requiredCondition } from '../../../vendor/react-store/components/Input/Faram';
-import SelectInput from '../../../vendor/react-store/components/Input/SelectInput';
-import NonFieldErrors from '../../../vendor/react-store/components/Input/NonFieldErrors';
-import ImageInput from '../../../vendor/react-store/components/Input/FileInput/ImageInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import HiddenInput from '../../../vendor/react-store/components/Input/HiddenInput';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
+import { InternalGallery } from '#components/DeepGallery';
+
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+import SelectInput from '#rs/components/Input/SelectInput';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import ImageInput from '#rs/components/Input/FileInput/ImageInput';
+import TextInput from '#rs/components/Input/TextInput';
+import HiddenInput from '#rs/components/Input/HiddenInput';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
setUserInformationAction,
availableLanguagesSelector,
-} from '../../../redux';
-import _ts from '../../../ts';
-import notify from '../../../notify';
+} from '#redux';
+import _ts from '#ts';
+import notify from '#notify';
import UserPatchRequest from '../requests/UserPatchRequest';
import UserImageUploadRequest from '../requests/UserImageUploadRequest';
diff --git a/src/views/UserProfile/UserGroup/UserGroupAdd/index.js b/src/views/UserProfile/UserGroup/UserGroupAdd/index.js
index 42eacb728e..573e94910e 100644
--- a/src/views/UserProfile/UserGroup/UserGroupAdd/index.js
+++ b/src/views/UserProfile/UserGroup/UserGroupAdd/index.js
@@ -6,18 +6,18 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import Faram, { requiredCondition } from '../../../../vendor/react-store/components/Input/Faram';
-import NonFieldErrors from '../../../../vendor/react-store/components/Input/NonFieldErrors';
-import TextInput from '../../../../vendor/react-store/components/Input/TextInput';
-import DangerButton from '../../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../../vendor/react-store/components/View/LoadingAnimation';
+import Faram, { requiredCondition } from '#rs/components/Input/Faram';
+import NonFieldErrors from '#rs/components/Input/NonFieldErrors';
+import TextInput from '#rs/components/Input/TextInput';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
import {
activeUserSelector,
setUserGroupAction,
-} from '../../../../redux';
-import _ts from '../../../../ts';
+} from '#redux';
+import _ts from '#ts';
import UserGroupPostRequest from '../../requests/UserGroupPostRequest';
diff --git a/src/views/UserProfile/UserGroup/__tests__/index.js b/src/views/UserProfile/UserGroup/__tests__/index.js
index 14e605fba1..66a2c2842a 100644
--- a/src/views/UserProfile/UserGroup/__tests__/index.js
+++ b/src/views/UserProfile/UserGroup/__tests__/index.js
@@ -4,10 +4,10 @@ import configureStore from 'redux-mock-store';
import { shallow } from 'enzyme';
import UserGroup from '../index';
-import Modal from '../../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../../vendor/react-store/components/View/Modal/Header';
-import Table from '../../../../vendor/react-store/components/View/Table';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
const initialState = {
};
diff --git a/src/views/UserProfile/UserGroup/index.js b/src/views/UserProfile/UserGroup/index.js
index f3aa6b842a..8f59b39b35 100644
--- a/src/views/UserProfile/UserGroup/index.js
+++ b/src/views/UserProfile/UserGroup/index.js
@@ -13,16 +13,16 @@ import {
reverseRoute,
compareString,
compareDate,
-} from '../../../vendor/react-store/utils/common';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import Table from '../../../vendor/react-store/components/View/Table';
+} from '#rs/utils/common';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
import {
userGroupsSelector,
@@ -30,12 +30,12 @@ import {
activeUserSelector,
unSetUserGroupAction,
userIdFromRouteSelector,
-} from '../../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../../constants';
-import _ts from '../../../ts';
+} from '#constants';
+import _ts from '#ts';
import UserGroupGetRequest from '../requests/UserGroupGetRequest';
import UserGroupDeleteRequest from '../requests/UserGroupDeleteRequest';
diff --git a/src/views/UserProfile/UserProject/__tests__/index.js b/src/views/UserProfile/UserProject/__tests__/index.js
index 1c5d20e627..0bf606a8a3 100644
--- a/src/views/UserProfile/UserProject/__tests__/index.js
+++ b/src/views/UserProfile/UserProject/__tests__/index.js
@@ -3,10 +3,10 @@ import { Provider } from 'react-redux';
import configureStore from 'redux-mock-store';
import { shallow } from 'enzyme';
import UserProject from '../index';
-import Modal from '../../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../../vendor/react-store/components/View/Modal/Header';
-import Table from '../../../../vendor/react-store/components/View/Table';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
const initialState = {
};
diff --git a/src/views/UserProfile/UserProject/index.js b/src/views/UserProfile/UserProject/index.js
index 8cff985e68..f8f7ee32f1 100644
--- a/src/views/UserProfile/UserProject/index.js
+++ b/src/views/UserProfile/UserProject/index.js
@@ -14,16 +14,16 @@ import {
compareDate,
compareLength,
compareString,
-} from '../../../vendor/react-store/utils/common';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import LoadingAnimation from '../../../vendor/react-store/components/View/LoadingAnimation';
-import Confirm from '../../../vendor/react-store/components/View/Modal/Confirm';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import Table from '../../../vendor/react-store/components/View/Table';
+} from '#rs/utils/common';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+import Confirm from '#rs/components/View/Modal/Confirm';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import Table from '#rs/components/View/Table';
import {
userProjectsSelector,
@@ -31,13 +31,13 @@ import {
activeUserSelector,
unSetProjectAction,
userIdFromRouteSelector,
-} from '../../../redux';
+} from '#redux';
import {
iconNames,
pathNames,
-} from '../../../constants';
-import _ts from '../../../ts';
-import UserProjectAdd from '../../../components/UserProjectAdd';
+} from '#constants';
+import _ts from '#ts';
+import UserProjectAdd from '#components/UserProjectAdd';
import UserProjectsGetRequest from '../requests/UserProjectsGetRequest';
import ProjectDeleteRequest from '../requests/ProjectDeleteRequest';
diff --git a/src/views/UserProfile/index.js b/src/views/UserProfile/index.js
index 318afa40e6..5344a55a2a 100644
--- a/src/views/UserProfile/index.js
+++ b/src/views/UserProfile/index.js
@@ -7,24 +7,24 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
-import PrimaryButton from '../../vendor/react-store/components/Action/Button/PrimaryButton';
-import Modal from '../../vendor/react-store/components/View/Modal';
-import ModalBody from '../../vendor/react-store/components/View/Modal/Body';
-import ModalHeader from '../../vendor/react-store/components/View/Modal/Header';
-import LoadingAnimation from '../../vendor/react-store/components/View/LoadingAnimation';
-
-import DisplayPicture from '../../components/DisplayPicture';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import LoadingAnimation from '#rs/components/View/LoadingAnimation';
+
+import DisplayPicture from '#components/DisplayPicture';
import {
userInformationSelector,
setUserInformationAction,
unsetUserAction,
activeUserSelector,
userIdFromRouteSelector,
-} from '../../redux';
-import _ts from '../../ts';
-import { iconNames } from '../../constants';
+} from '#redux';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import UserGetRequest from './requests/UserGetRequest';
import UserProject from './UserProject';
diff --git a/src/views/UserProfile/requests/ProjectDeleteRequest.js b/src/views/UserProfile/requests/ProjectDeleteRequest.js
index 3a068bdd04..c0c6793de4 100644
--- a/src/views/UserProfile/requests/ProjectDeleteRequest.js
+++ b/src/views/UserProfile/requests/ProjectDeleteRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForProject,
createParamsForProjectDelete,
-} from '../../../rest';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import _ts from '#ts';
export default class ProjectDeleteRequest {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserGetRequest.js b/src/views/UserProfile/requests/UserGetRequest.js
index 6a97147cb6..2896ee8860 100644
--- a/src/views/UserProfile/requests/UserGetRequest.js
+++ b/src/views/UserProfile/requests/UserGetRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUser,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class UserGetResponse {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserGroupDeleteRequest.js b/src/views/UserProfile/requests/UserGroupDeleteRequest.js
index 60c8777b7e..4f53ecd49c 100644
--- a/src/views/UserProfile/requests/UserGroupDeleteRequest.js
+++ b/src/views/UserProfile/requests/UserGroupDeleteRequest.js
@@ -1,10 +1,10 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserGroup,
createParamsForUserGroupsDelete,
-} from '../../../rest';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import _ts from '#ts';
export default class UserGroupDeleteRequest {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserGroupGetRequest.js b/src/views/UserProfile/requests/UserGroupGetRequest.js
index 6b2ec27941..4d715e8870 100644
--- a/src/views/UserProfile/requests/UserGroupGetRequest.js
+++ b/src/views/UserProfile/requests/UserGroupGetRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserGroupsOfUser,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class UserGroupGetRequest {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserGroupPostRequest.js b/src/views/UserProfile/requests/UserGroupPostRequest.js
index 9287006183..8c63a3c87f 100644
--- a/src/views/UserProfile/requests/UserGroupPostRequest.js
+++ b/src/views/UserProfile/requests/UserGroupPostRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
urlForUserGroups,
createParamsForUserGroupsCreate,
alterResponseErrorToFaramError,
-} from '../../../rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
export default class UserGroupPostRequest {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserImageUploadRequest.js b/src/views/UserProfile/requests/UserImageUploadRequest.js
index b68ce14702..c57856a1d6 100644
--- a/src/views/UserProfile/requests/UserImageUploadRequest.js
+++ b/src/views/UserProfile/requests/UserImageUploadRequest.js
@@ -1,10 +1,10 @@
-import { UploadBuilder } from '../../../vendor/react-store/utils/upload';
+import { UploadBuilder } from '#rs/utils/upload';
import {
urlForUpload,
createParamsForFileUpload,
-} from '../../../rest';
-import notify from '../../../notify';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import _ts from '#ts';
export default class UserImageUploadRequest {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserPatchRequest.js b/src/views/UserProfile/requests/UserPatchRequest.js
index 0943ac80cf..35a48978b7 100644
--- a/src/views/UserProfile/requests/UserPatchRequest.js
+++ b/src/views/UserProfile/requests/UserPatchRequest.js
@@ -1,12 +1,12 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForUserPatch,
createParamsForUserPatch,
alterResponseErrorToFaramError,
-} from '../../../rest';
-import notify from '../../../notify';
-import schema from '../../../schema';
-import _ts from '../../../ts';
+} from '#rest';
+import notify from '#notify';
+import schema from '#schema';
+import _ts from '#ts';
export default class UserPatchRequest {
constructor(props) {
diff --git a/src/views/UserProfile/requests/UserProjectsGetRequest.js b/src/views/UserProfile/requests/UserProjectsGetRequest.js
index f9c0b5a154..2d5ea97227 100644
--- a/src/views/UserProfile/requests/UserProjectsGetRequest.js
+++ b/src/views/UserProfile/requests/UserProjectsGetRequest.js
@@ -1,9 +1,9 @@
-import { FgRestBuilder } from '../../../vendor/react-store/utils/rest';
+import { FgRestBuilder } from '#rs/utils/rest';
import {
createUrlForProjectsOfUser,
createParamsForGet,
-} from '../../../rest';
-import schema from '../../../schema';
+} from '#rest';
+import schema from '#schema';
export default class UserProjectsGetRequest {
constructor(props) {
diff --git a/src/views/WeeklySnapshot/index.js b/src/views/WeeklySnapshot/index.js
index 1e263dafe9..197a5f1e8e 100644
--- a/src/views/WeeklySnapshot/index.js
+++ b/src/views/WeeklySnapshot/index.js
@@ -1,7 +1,7 @@
import React from 'react';
-import BoundError from '../../vendor/react-store/components/General/BoundError';
-import AppError from '../../components/AppError';
+import BoundError from '#rs/components/General/BoundError';
+import AppError from '#components/AppError';
const propTypes = {
};
diff --git a/src/widgets/DateWidget/Framework/ListWidget.js b/src/widgets/DateWidget/Framework/ListWidget.js
index d7f6185503..650cdd591a 100644
--- a/src/widgets/DateWidget/Framework/ListWidget.js
+++ b/src/widgets/DateWidget/Framework/ListWidget.js
@@ -1,19 +1,19 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Checkbox from '../../../vendor/react-store/components/Input/Checkbox';
-import DateInput from '../../../vendor/react-store/components/Input/DateInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import Checkbox from '#rs/components/Input/Checkbox';
+import DateInput from '#rs/components/Input/DateInput';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import BoundError from '#rs/components/General/BoundError';
+
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/DateWidget/Tagging/ListWidget.js b/src/widgets/DateWidget/Tagging/ListWidget.js
index eda0bee381..a8feb966e0 100644
--- a/src/widgets/DateWidget/Tagging/ListWidget.js
+++ b/src/widgets/DateWidget/Tagging/ListWidget.js
@@ -1,9 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
-import DateInput from '../../../vendor/react-store/components/Input/DateInput';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import DateInput from '#rs/components/Input/DateInput';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/DateWidget/View/ListWidget.js b/src/widgets/DateWidget/View/ListWidget.js
index bb38aa0188..bb8aaa817f 100644
--- a/src/widgets/DateWidget/View/ListWidget.js
+++ b/src/widgets/DateWidget/View/ListWidget.js
@@ -1,9 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
-import FormattedDate from '../../../vendor/react-store/components/View/FormattedDate';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import FormattedDate from '#rs/components/View/FormattedDate';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/ExcerptWidget/Framework/ListWidget.js b/src/widgets/ExcerptWidget/Framework/ListWidget.js
index 877643b9bd..9742a8b7c3 100644
--- a/src/widgets/ExcerptWidget/Framework/ListWidget.js
+++ b/src/widgets/ExcerptWidget/Framework/ListWidget.js
@@ -1,9 +1,9 @@
import React from 'react';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/ExcerptWidget/Framework/OverviewWidget.js b/src/widgets/ExcerptWidget/Framework/OverviewWidget.js
index a8cf550321..4dbb1c3d38 100644
--- a/src/widgets/ExcerptWidget/Framework/OverviewWidget.js
+++ b/src/widgets/ExcerptWidget/Framework/OverviewWidget.js
@@ -1,17 +1,17 @@
import PropTypes from 'prop-types';
import React from 'react';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import BoundError from '#rs/components/General/BoundError';
+
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/ExcerptWidget/Tagging/ListWidget.js b/src/widgets/ExcerptWidget/Tagging/ListWidget.js
index 72be820ca2..01adbe33ed 100644
--- a/src/widgets/ExcerptWidget/Tagging/ListWidget.js
+++ b/src/widgets/ExcerptWidget/Tagging/ListWidget.js
@@ -1,12 +1,12 @@
import React from 'react';
import PropTypes from 'prop-types';
-import TextArea from '../../../vendor/react-store/components/Input/TextArea';
+import TextArea from '#rs/components/Input/TextArea';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/ExcerptWidget/Tagging/OverviewWidget.js b/src/widgets/ExcerptWidget/Tagging/OverviewWidget.js
index c68d9e3d28..e6a8b6f1cb 100644
--- a/src/widgets/ExcerptWidget/Tagging/OverviewWidget.js
+++ b/src/widgets/ExcerptWidget/Tagging/OverviewWidget.js
@@ -1,14 +1,14 @@
import React from 'react';
import PropTypes from 'prop-types';
-import TextArea from '../../../vendor/react-store/components/Input/TextArea';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import { formatPdfText } from '../../../vendor/react-store/utils/common';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import { iconNames } from '../../../constants';
-import _ts from '../../../ts';
-import WidgetError from '../../../components/WidgetError';
+import TextArea from '#rs/components/Input/TextArea';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import { formatPdfText } from '#rs/utils/common';
+import BoundError from '#rs/components/General/BoundError';
+
+import { iconNames } from '#constants';
+import _ts from '#ts';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/ExcerptWidget/View/ListWidget.js b/src/widgets/ExcerptWidget/View/ListWidget.js
index 285e19b880..d2c8706d53 100644
--- a/src/widgets/ExcerptWidget/View/ListWidget.js
+++ b/src/widgets/ExcerptWidget/View/ListWidget.js
@@ -1,10 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/GeoWidget/Framework/ListWidget.js b/src/widgets/GeoWidget/Framework/ListWidget.js
index a32df45e1f..ca5c38e870 100644
--- a/src/widgets/GeoWidget/Framework/ListWidget.js
+++ b/src/widgets/GeoWidget/Framework/ListWidget.js
@@ -1,17 +1,17 @@
import PropTypes from 'prop-types';
import React from 'react';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import BoundError from '#rs/components/General/BoundError';
+
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/GeoWidget/Tagging/ListWidget.js b/src/widgets/GeoWidget/Tagging/ListWidget.js
index c62bb57bd1..7c7e49fc11 100644
--- a/src/widgets/GeoWidget/Tagging/ListWidget.js
+++ b/src/widgets/GeoWidget/Tagging/ListWidget.js
@@ -2,14 +2,14 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
-import GeoSelection from '../../../components/GeoSelection';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import GeoSelection from '#components/GeoSelection';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import {
geoOptionsForProjectSelector,
regionsForProjectSelector,
-} from '../../../redux';
+} from '#redux';
import styles from './styles.scss';
diff --git a/src/widgets/GeoWidget/View/ListWidget.js b/src/widgets/GeoWidget/View/ListWidget.js
index b560a15ca9..aad448b471 100644
--- a/src/widgets/GeoWidget/View/ListWidget.js
+++ b/src/widgets/GeoWidget/View/ListWidget.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import ListView from '#rs/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix1dWidget/Framework/ListWidget.js b/src/widgets/Matrix1dWidget/Framework/ListWidget.js
index 5baec9d0cd..e6fa186ebe 100644
--- a/src/widgets/Matrix1dWidget/Framework/ListWidget.js
+++ b/src/widgets/Matrix1dWidget/Framework/ListWidget.js
@@ -1,9 +1,9 @@
import React from 'react';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix1dWidget/Framework/MatrixRow.js b/src/widgets/Matrix1dWidget/Framework/MatrixRow.js
index 352ebe8466..6b6e219244 100644
--- a/src/widgets/Matrix1dWidget/Framework/MatrixRow.js
+++ b/src/widgets/Matrix1dWidget/Framework/MatrixRow.js
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import ListView from '#rs/components/View/List/ListView';
import MatrixCell from './MatrixCell';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix1dWidget/Framework/OverviewWidget.js b/src/widgets/Matrix1dWidget/Framework/OverviewWidget.js
index f9bac5ea05..c2fbdda3da 100644
--- a/src/widgets/Matrix1dWidget/Framework/OverviewWidget.js
+++ b/src/widgets/Matrix1dWidget/Framework/OverviewWidget.js
@@ -1,26 +1,26 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { randomString } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
-
-import ColorInput from '../../../vendor/react-store/components/Input/ColorInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import SortableList from '../../../vendor/react-store/components/View/SortableList';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
-import WidgetError from '../../../components/WidgetError';
+import { randomString } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+
+import ColorInput from '#rs/components/Input/ColorInput';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import ListView from '#rs/components/View/List/ListView';
+import SortableList from '#rs/components/View/SortableList';
+import BoundError from '#rs/components/General/BoundError';
+
+import _ts from '#ts';
+import { iconNames } from '#constants';
+import WidgetError from '#components/WidgetError';
import MatrixRow from './MatrixRow';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix1dWidget/Tagging/ListWidget.js b/src/widgets/Matrix1dWidget/Tagging/ListWidget.js
index 1e85b63934..f5c6b85a83 100644
--- a/src/widgets/Matrix1dWidget/Tagging/ListWidget.js
+++ b/src/widgets/Matrix1dWidget/Tagging/ListWidget.js
@@ -1,11 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import ListView from '#rs/components/View/List/ListView';
-// import { updateAttribute } from './utils';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/widgets/Matrix1dWidget/Tagging/MatrixRow.js b/src/widgets/Matrix1dWidget/Tagging/MatrixRow.js
index d828f8d486..49d65417cd 100644
--- a/src/widgets/Matrix1dWidget/Tagging/MatrixRow.js
+++ b/src/widgets/Matrix1dWidget/Tagging/MatrixRow.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import styles from './styles.scss';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import ListView from '#rs/components/View/List/ListView';
import MatrixCell from './MatrixCell';
+import styles from './styles.scss';
const propTypes = {
title: PropTypes.string,
diff --git a/src/widgets/Matrix1dWidget/Tagging/OverviewWidget.js b/src/widgets/Matrix1dWidget/Tagging/OverviewWidget.js
index 50a7e3b31c..d4c32252ee 100644
--- a/src/widgets/Matrix1dWidget/Tagging/OverviewWidget.js
+++ b/src/widgets/Matrix1dWidget/Tagging/OverviewWidget.js
@@ -1,13 +1,13 @@
import React from 'react';
import PropTypes from 'prop-types';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+import ListView from '#rs/components/View/List/ListView';
+import update from '#rs/utils/immutable-update';
-import MatrixRow from './MatrixRow';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import WidgetError from '#components/WidgetError';
+import MatrixRow from './MatrixRow';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/widgets/Matrix1dWidget/View/ListWidget.js b/src/widgets/Matrix1dWidget/View/ListWidget.js
index 560106dea9..7b1e506c53 100644
--- a/src/widgets/Matrix1dWidget/View/ListWidget.js
+++ b/src/widgets/Matrix1dWidget/View/ListWidget.js
@@ -1,11 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import ListView from '#rs/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/widgets/Matrix2dWidget/Framework/List.js b/src/widgets/Matrix2dWidget/Framework/List.js
index b9742c0d98..00ac7c0251 100644
--- a/src/widgets/Matrix2dWidget/Framework/List.js
+++ b/src/widgets/Matrix2dWidget/Framework/List.js
@@ -1,9 +1,9 @@
import React from 'react';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix2dWidget/Framework/Overview.js b/src/widgets/Matrix2dWidget/Framework/Overview.js
index ab2e778ff7..cf7a2242bd 100644
--- a/src/widgets/Matrix2dWidget/Framework/Overview.js
+++ b/src/widgets/Matrix2dWidget/Framework/Overview.js
@@ -1,28 +1,28 @@
import PropTypes from 'prop-types';
import React from 'react';
-import ColorInput from '../../../vendor/react-store/components/Input/ColorInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import SortableList from '../../../vendor/react-store/components/View/SortableList';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import ColorInput from '#rs/components/Input/ColorInput';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import ListView from '#rs/components/View/List/ListView';
+import SortableList from '#rs/components/View/SortableList';
+import update from '#rs/utils/immutable-update';
+import BoundError from '#rs/components/General/BoundError';
import {
randomString,
getColorOnBgColor,
-} from '../../../vendor/react-store/utils/common';
+} from '#rs/utils/common';
-import _ts from '../../../ts';
-import WidgetError from '../../../components/WidgetError';
-import { iconNames } from '../../../constants';
+import _ts from '#ts';
+import WidgetError from '#components/WidgetError';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix2dWidget/Tagging/ListWidget.js b/src/widgets/Matrix2dWidget/Tagging/ListWidget.js
index 95745282c8..b699cb8bad 100644
--- a/src/widgets/Matrix2dWidget/Tagging/ListWidget.js
+++ b/src/widgets/Matrix2dWidget/Tagging/ListWidget.js
@@ -1,13 +1,13 @@
import React from 'react';
import PropTypes from 'prop-types';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import MultiSelectInput from '../../../vendor/react-store/components/Input/MultiSelectInput';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import update from '#rs/utils/immutable-update';
+import ListView from '#rs/components/View/List/ListView';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import BoundError from '#rs/components/General/BoundError';
-import _ts from '../../../ts';
-import WidgetError from '../../../components/WidgetError';
+import _ts from '#ts';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/Matrix2dWidget/Tagging/OverviewWidget.js b/src/widgets/Matrix2dWidget/Tagging/OverviewWidget.js
index e22992ab1e..41477a3b3c 100644
--- a/src/widgets/Matrix2dWidget/Tagging/OverviewWidget.js
+++ b/src/widgets/Matrix2dWidget/Tagging/OverviewWidget.js
@@ -1,11 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import { getColorOnBgColor } from '../../../vendor/react-store/utils/common';
+import update from '#rs/utils/immutable-update';
+import { getColorOnBgColor } from '#rs/utils/common';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/widgets/Matrix2dWidget/View/ListWidget.js b/src/widgets/Matrix2dWidget/View/ListWidget.js
index 4a0f7f6354..ec729ed7f6 100644
--- a/src/widgets/Matrix2dWidget/View/ListWidget.js
+++ b/src/widgets/Matrix2dWidget/View/ListWidget.js
@@ -1,10 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import ListView from '#rs/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/MultiselectWidget/Framework/ListWidget.js b/src/widgets/MultiselectWidget/Framework/ListWidget.js
index 07242180be..24bfdb4a98 100644
--- a/src/widgets/MultiselectWidget/Framework/ListWidget.js
+++ b/src/widgets/MultiselectWidget/Framework/ListWidget.js
@@ -1,24 +1,24 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { randomString } from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import MultiSelectInput from '../../../vendor/react-store/components/Input/MultiSelectInput';
-import SortableList from '../../../vendor/react-store/components/View/SortableList';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
-import WidgetError from '../../../components/WidgetError';
+import { randomString } from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import SortableList from '#rs/components/View/SortableList';
+import BoundError from '#rs/components/General/BoundError';
+
+import _ts from '#ts';
+import { iconNames } from '#constants';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/MultiselectWidget/Tagging/ListWidget.js b/src/widgets/MultiselectWidget/Tagging/ListWidget.js
index 27a8c171c1..f57be64343 100644
--- a/src/widgets/MultiselectWidget/Tagging/ListWidget.js
+++ b/src/widgets/MultiselectWidget/Tagging/ListWidget.js
@@ -1,11 +1,11 @@
import PropTypes from 'prop-types';
import React from 'react';
-import MultiSelectInput from '../../../vendor/react-store/components/Input/MultiSelectInput';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import MultiSelectInput from '#rs/components/Input/MultiSelectInput';
+import ListView from '#rs/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/MultiselectWidget/View/ListWidget.js b/src/widgets/MultiselectWidget/View/ListWidget.js
index e69a489b4a..535ffe5ad8 100644
--- a/src/widgets/MultiselectWidget/View/ListWidget.js
+++ b/src/widgets/MultiselectWidget/View/ListWidget.js
@@ -1,10 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import ListView from '#rs/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/NumberMatrixWidget/Framework/ListWidget.js b/src/widgets/NumberMatrixWidget/Framework/ListWidget.js
index f54d7d88d4..ed49244090 100644
--- a/src/widgets/NumberMatrixWidget/Framework/ListWidget.js
+++ b/src/widgets/NumberMatrixWidget/Framework/ListWidget.js
@@ -1,9 +1,9 @@
import React from 'react';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/NumberMatrixWidget/Framework/OverviewWidget.js b/src/widgets/NumberMatrixWidget/Framework/OverviewWidget.js
index 6bb1262ff9..9275f3a63f 100644
--- a/src/widgets/NumberMatrixWidget/Framework/OverviewWidget.js
+++ b/src/widgets/NumberMatrixWidget/Framework/OverviewWidget.js
@@ -1,24 +1,24 @@
import PropTypes from 'prop-types';
import React from 'react';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import { randomString } from '../../../vendor/react-store/utils/common';
-import NumberInput from '../../../vendor/react-store/components/Input/NumberInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import List from '../../../vendor/react-store/components/View/List';
-import SortableList from '../../../vendor/react-store/components/View/SortableList';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
-import { iconNames } from '../../../constants';
+import update from '#rs/utils/immutable-update';
+import { randomString } from '#rs/utils/common';
+import NumberInput from '#rs/components/Input/NumberInput';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import List from '#rs/components/View/List';
+import SortableList from '#rs/components/View/SortableList';
+import BoundError from '#rs/components/General/BoundError';
+
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
+import { iconNames } from '#constants';
import styles from './styles.scss';
diff --git a/src/widgets/NumberMatrixWidget/Tagging/ListWidget.js b/src/widgets/NumberMatrixWidget/Tagging/ListWidget.js
index 2a1d99959b..429f2ec0e4 100644
--- a/src/widgets/NumberMatrixWidget/Tagging/ListWidget.js
+++ b/src/widgets/NumberMatrixWidget/Tagging/ListWidget.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import ListView from '#rs/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/NumberMatrixWidget/Tagging/OverviewWidget.js b/src/widgets/NumberMatrixWidget/Tagging/OverviewWidget.js
index a0723b233a..262fb98353 100644
--- a/src/widgets/NumberMatrixWidget/Tagging/OverviewWidget.js
+++ b/src/widgets/NumberMatrixWidget/Tagging/OverviewWidget.js
@@ -1,13 +1,13 @@
import PropTypes from 'prop-types';
import React from 'react';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import NumberInput from '../../../vendor/react-store/components/Input/NumberInput';
-import List from '../../../vendor/react-store/components/View/List';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import update from '#rs/utils/immutable-update';
+import NumberInput from '#rs/components/Input/NumberInput';
+import List from '#rs/components/View/List';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/NumberMatrixWidget/View/ListWidget.js b/src/widgets/NumberMatrixWidget/View/ListWidget.js
index 51666543b9..bb481e03bd 100644
--- a/src/widgets/NumberMatrixWidget/View/ListWidget.js
+++ b/src/widgets/NumberMatrixWidget/View/ListWidget.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import ListView from '#rs/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/NumberWidget/Framework/ListWidget.js b/src/widgets/NumberWidget/Framework/ListWidget.js
index 6b282ebd89..59e4dde339 100644
--- a/src/widgets/NumberWidget/Framework/ListWidget.js
+++ b/src/widgets/NumberWidget/Framework/ListWidget.js
@@ -1,18 +1,18 @@
import PropTypes from 'prop-types';
import React from 'react';
-import NumberInput from '../../../vendor/react-store/components/Input/NumberInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import NumberInput from '#rs/components/Input/NumberInput';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import BoundError from '#rs/components/General/BoundError';
+
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/NumberWidget/Tagging/ListWidget.js b/src/widgets/NumberWidget/Tagging/ListWidget.js
index ae430a6754..f0572c05d8 100644
--- a/src/widgets/NumberWidget/Tagging/ListWidget.js
+++ b/src/widgets/NumberWidget/Tagging/ListWidget.js
@@ -1,11 +1,11 @@
import PropTypes from 'prop-types';
import React from 'react';
-import NumberInput from '../../../vendor/react-store/components/Input/NumberInput';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+import NumberInput from '#rs/components/Input/NumberInput';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/NumberWidget/View/ListWidget.js b/src/widgets/NumberWidget/View/ListWidget.js
index 39bef51c88..b18780ff6a 100644
--- a/src/widgets/NumberWidget/View/ListWidget.js
+++ b/src/widgets/NumberWidget/View/ListWidget.js
@@ -1,9 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
-import Numeral from '../../../vendor/react-store/components/View/Numeral';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import Numeral from '#rs/components/View/Numeral';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
import styles from './styles.scss';
diff --git a/src/widgets/OrganigramWidget/Framework/ListWidget.js b/src/widgets/OrganigramWidget/Framework/ListWidget.js
index 0a3f471e0f..9467730227 100644
--- a/src/widgets/OrganigramWidget/Framework/ListWidget.js
+++ b/src/widgets/OrganigramWidget/Framework/ListWidget.js
@@ -4,20 +4,20 @@ import React from 'react';
import {
randomString,
isFalsy,
-} from '../../../vendor/react-store/utils/common';
-import update from '../../../vendor/react-store/utils/immutable-update';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
+} from '#rs/utils/common';
+import update from '#rs/utils/immutable-update';
+import TextInput from '#rs/components/Input/TextInput';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import BoundError from '#rs/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import _ts from '../../../ts';
+import WidgetError from '#components/WidgetError';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/OrganigramWidget/Tagging/ListWidget.js b/src/widgets/OrganigramWidget/Tagging/ListWidget.js
index bec57eb4d7..a567f73102 100644
--- a/src/widgets/OrganigramWidget/Tagging/ListWidget.js
+++ b/src/widgets/OrganigramWidget/Tagging/ListWidget.js
@@ -1,21 +1,21 @@
import PropTypes from 'prop-types';
import React from 'react';
-import OrgChart from '../../../vendor/react-store/components/Visualization/OrgChart';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import WidgetError from '../../../components/WidgetError';
-import { iconNames } from '../../../constants';
-import _ts from '../../../ts';
+import OrgChart from '#rs/components/Visualization/OrgChart';
+import Button from '#rs/components/Action/Button';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import Modal from '#rs/components/View/Modal';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ListView from '#rs/components/View/List/ListView';
+import BoundError from '#rs/components/General/BoundError';
+
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import WidgetError from '#components/WidgetError';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/OrganigramWidget/View/ListWidget.js b/src/widgets/OrganigramWidget/View/ListWidget.js
index 2739e57802..d52f7b2bea 100644
--- a/src/widgets/OrganigramWidget/View/ListWidget.js
+++ b/src/widgets/OrganigramWidget/View/ListWidget.js
@@ -1,10 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-import WidgetEmptyComponent from '../../../components/WidgetEmptyComponent';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
-import ListView from '../../../vendor/react-store/components/View/List/ListView';
+import WidgetEmptyComponent from '#components/WidgetEmptyComponent';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
+import ListView from '#rs/components/View/List/ListView';
import styles from './styles.scss';
const propTypes = {
diff --git a/src/widgets/ScaleWidget/Framework/ListWidget.js b/src/widgets/ScaleWidget/Framework/ListWidget.js
index 4bcd8be62d..34a81364cb 100644
--- a/src/widgets/ScaleWidget/Framework/ListWidget.js
+++ b/src/widgets/ScaleWidget/Framework/ListWidget.js
@@ -1,26 +1,26 @@
import PropTypes from 'prop-types';
import React, { Fragment } from 'react';
-import update from '../../../vendor/react-store/utils/immutable-update';
-
-import ScaleInput from '../../../vendor/react-store/components/Input/ScaleInput';
-import ColorInput from '../../../vendor/react-store/components/Input/ColorInput';
-import TextInput from '../../../vendor/react-store/components/Input/TextInput';
-import Button from '../../../vendor/react-store/components/Action/Button';
-import PrimaryButton from '../../../vendor/react-store/components/Action/Button/PrimaryButton';
-import AccentButton from '../../../vendor/react-store/components/Action/Button/AccentButton';
-import DangerButton from '../../../vendor/react-store/components/Action/Button/DangerButton';
-import Modal from '../../../vendor/react-store/components/View/Modal';
-import ModalHeader from '../../../vendor/react-store/components/View/Modal/Header';
-import ModalBody from '../../../vendor/react-store/components/View/Modal/Body';
-import ModalFooter from '../../../vendor/react-store/components/View/Modal/Footer';
-import SortableList from '../../../vendor/react-store/components/View/SortableList';
-import { randomString } from '../../../vendor/react-store/utils/common';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-
-import WidgetError from '../../../components/WidgetError';
-import { iconNames } from '../../../constants';
-import _ts from '../../../ts';
+import update from '#rs/utils/immutable-update';
+
+import Button from '#rs/components/Action/Button';
+import AccentButton from '#rs/components/Action/Button/AccentButton';
+import DangerButton from '#rs/components/Action/Button/DangerButton';
+import PrimaryButton from '#rs/components/Action/Button/PrimaryButton';
+import BoundError from '#rs/components/General/BoundError';
+import ColorInput from '#rs/components/Input/ColorInput';
+import ScaleInput from '#rs/components/Input/ScaleInput';
+import TextInput from '#rs/components/Input/TextInput';
+import Modal from '#rs/components/View/Modal';
+import ModalBody from '#rs/components/View/Modal/Body';
+import ModalFooter from '#rs/components/View/Modal/Footer';
+import ModalHeader from '#rs/components/View/Modal/Header';
+import SortableList from '#rs/components/View/SortableList';
+import { randomString } from '#rs/utils/common';
+
+import WidgetError from '#components/WidgetError';
+import { iconNames } from '#constants';
+import _ts from '#ts';
import styles from './styles.scss';
diff --git a/src/widgets/ScaleWidget/Tagging/ListWidget.js b/src/widgets/ScaleWidget/Tagging/ListWidget.js
index 1fd9b0f174..6e79a2b288 100644
--- a/src/widgets/ScaleWidget/Tagging/ListWidget.js
+++ b/src/widgets/ScaleWidget/Tagging/ListWidget.js
@@ -1,10 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
-import ScaleInput from '../../../vendor/react-store/components/Input/ScaleInput';
+import ScaleInput from '#rs/components/Input/ScaleInput';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
const propTypes = {
id: PropTypes.number.isRequired,
diff --git a/src/widgets/ScaleWidget/View/ListWidget.js b/src/widgets/ScaleWidget/View/ListWidget.js
index 34d51fb87d..bd8b3f8a9f 100644
--- a/src/widgets/ScaleWidget/View/ListWidget.js
+++ b/src/widgets/ScaleWidget/View/ListWidget.js
@@ -1,9 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
-import ScaleInput from '../../../vendor/react-store/components/Input/ScaleInput';
-import BoundError from '../../../vendor/react-store/components/General/BoundError';
-import WidgetError from '../../../components/WidgetError';
+import ScaleInput from '#rs/components/Input/ScaleInput';
+import BoundError from '#rs/components/General/BoundError';
+import WidgetError from '#components/WidgetError';
const propTypes = {
attribute: PropTypes.object, // eslint-disable-line react/forbid-prop-types
diff --git a/yarn.lock b/yarn.lock
index 82ab50975f..0238d9fa19 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1643,6 +1643,16 @@ babel-plugin-jest-hoist@^22.4.3:
version "22.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.3.tgz#7d8bcccadc2667f96a0dcc6afe1891875ee6c14a"
+babel-plugin-module-resolver@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz#881cf67e3d4b8400d5eaaefc1be44d2dc1fe404f"
+ dependencies:
+ find-babel-config "^1.1.0"
+ glob "^7.1.2"
+ pkg-up "^2.0.0"
+ reselect "^3.0.1"
+ resolve "^1.4.0"
+
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
@@ -3967,6 +3977,13 @@ eslint-config-airbnb@^16.1.0:
dependencies:
eslint-config-airbnb-base "^12.1.0"
+eslint-import-resolver-babel-module@^5.0.0-beta.0:
+ version "5.0.0-beta.0"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-5.0.0-beta.0.tgz#ad371645cd9d22f8cbd82a286bcf1e50733ba00e"
+ dependencies:
+ pkg-up "^2.0.0"
+ resolve "^1.4.0"
+
eslint-import-resolver-node@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
@@ -4498,6 +4515,13 @@ finalhandler@1.1.1:
statuses "~1.4.0"
unpipe "~1.0.0"
+find-babel-config@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355"
+ dependencies:
+ json5 "^0.5.1"
+ path-exists "^3.0.0"
+
find-cache-dir@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
@@ -7987,6 +8011,12 @@ pkg-dir@^2.0.0:
dependencies:
find-up "^2.1.0"
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ dependencies:
+ find-up "^2.1.0"
+
pluralize@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
@@ -9318,7 +9348,7 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.6.0:
+resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.6.0:
version "1.7.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
dependencies: