UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

92 lines (89 loc) 3.35 kB
import _ from 'lodash' import LanguageSwitcherHandler from '@cheetah/utils/LanguageSwitcherHandler' import logoutHandler from '@cheetah/utils/logoutHandler' export default { grid: { keys: { items: 'data', total: 'total', currentPage: 'current_page' } }, date: { dateTimeFormat: 'yyyy-MM-dd HH:mm:ss', dateFormat: 'yyyy-MM-dd' }, auth: { defaultRedirectRoute: { name: 'home' }, keys: { username: 'username', password: 'password', remember_me: 'remember_me' }, routes: { login: { name: 'login', path: '/login' }, logout: { name: 'logout', path: '/logout' } } }, handlers: { langSwitch: LanguageSwitcherHandler, remoteCriteriaHandler: criteria => criteria, logout: logoutHandler, sessionExpire: require('@cheetah/utils/sessionExpireHandler').default, usernameHandler: user => { if (!user) { return '' } return user.first_name ? `${user.first_name} ${user.last_name}` : user.name } }, components: { profile: null, loginTitle: null, loginForm: null }, router: { mode: 'history', namePrefix: 'troc.mgmt.api.', base: '/' }, queryBuilder: { resourceInputs: { /** * Use async import to prevent circular dependencies * * Set to import webpackMode to 'eager' to prevent creating * chunks. * * See the comment below for a configuration example. */ // module_name: import (/* webpackMode: 'eager' */ '@module_name/components/RemoteResourceInput') } }, appConfig: window.Cheetah, appName: _.get(window, 'Cheetah.appName', 'APP_NAME'), assetDir: '/', disableEcho: false, echoOptions: window.Cheetah?.echoOptions ?? {}, cronValidator: _.defaults(_.get(window.Cheetah, 'cronValidator'), { month: /^(?:\*|(?:(?:0?[1-9]|1[0-2]?)|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(?:\s*-\s*(?:(?:0?[1-9]|1[0-2]?)|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?)(?:\s*\/\s*[1-9][0-9]*)?(?:\s*,\s*(?:\*|(?:(?:0?[1-9]|1[0-2]?)|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(?:\s*-\s*(?:(?:0?[1-9]|1[0-2]?)|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?)(?:\s*\/\s*[1-9][0-9]*)?)*$/i, day_of_month: /^(?:\*|(?:0?[1-9]|[1-2][0-9]?|3[0-1])(?:\s*-\s*(?:0?[1-9]|[1-2][0-9]?|3[0-1]))?)(?:\s*\/\s*[1-9][0-9]*)?(?:\s*,\s*(?:\*|(?:0?[1-9]|[1-2][0-9]?|3[0-1])(?:\s*-\s*(?:0?[1-9]|[1-2][0-9]?|3[0-1]))?)(?:\s*\/\s*[1-9][0-9]*)?)*$/, day_of_week: /^(?:\*|(?:[0-7]|MON|TUE|WED|THU|FRI|SAT|SUN)(?:\s*-\s*(?:[0-7]|MON|TUE|WED|THU|FRI|SAT|SUN))?)(?:\s*\/\s*[1-9][0-9]*)?(?:\s*,\s*(?:\*|(?:[0-7]|MON|TUE|WED|THU|FRI|SAT|SUN)(?:\s*-\s*(?:[0-7]|MON|TUE|WED|THU|FRI|SAT|SUN))?)(?:\s*\/\s*[1-9][0-9]*)?)*$/i, hour: /^(?:\*|(?:[01]?[0-9]|2[0-3])(?:\s*-\s*(?:[01]?[0-9]|2[0-3]))?)(?:\s*\/\s*[1-9][0-9]*)?(?:\s*,\s*(?:\*|(?:[01]?[0-9]|2[0-3])(?:\s*-\s*(?:[01]?[0-9]|2[0-3]))?)(?:\s*\/\s*[1-9][0-9]*)?)*$/, minute: /^(?:\*|[0-5]?[0-9](?:\s*-\s*[0-5]?[0-9])?)(?:\s*\/\s*[1-9][0-9]*)?(?:\s*,\s*(?:\*|[0-5]?[0-9](?:\s*-\s*[0-5]?[0-9])?)(?:\s*\/\s*[1-9][0-9]*)?)*$/ }), locks: { getCurrentUser: () => window.cheetahApp.user, getUserId: user => user?.id, getUserName: user => user?.name }, defaultInputSplitRegExp: /[\s,\\'\-]+/ }