Skip to main content

Version: 21.11

Global

The global configuration is where we store global definitions for the Workspaces form. Once deployed it will become the default state in the client, used across the current and subsequent Workspaces sessions.

tip

Some text editors, such as VS Code (which has excellent TypeScript support), can show hints in the editor indicating the available attributes. For example, in VS Code, Ctrl + Space brings up contextual hints about the attributes available, and whether they are for CurrentSpace config or Global config.

Example

The following example demonstrates all of the available configuration options.

tip

Some properties define an icon to display. For a list of supported icon names, see Icons.

src/configs/custom/global.ts
import { ConfigGlobal } from '@transact-open-ux/workspaces/dist/types';

export const globalConfig = ({ date }: any): ConfigGlobal => ({
theme: {
primary: {
main: '#025197',
},
},
locale: 'en',
hideSteps: ['Helpdesk View'],
mappings: {
$primaryName: {
label: 'Primary applicant',
icon: 'person_outline',
dataIndex: ["properties['PrimaryName']", "formDataMap['PrimaryName']"],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$appId: {
label: 'App ID',
icon: 'font_download',
dataIndex: ['job.jobRefNumber', 'trackingCode'],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$product: {
label: 'Product',
icon: 'work_outline',
dataIndex: ['job.name', 'formName'],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$backgroundCheckStatus: {
label: 'Background Checks Status',
icon: 'check_rounded',
dataIndex: ["properties['IntegrationsReview']"],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$taskSla: {
label: 'SLA',
dataIndex: "properties['taskSla']",
type: 'alert',
warning: '1 week',
},
$slaDate: {
label: 'SLA Expiry',
icon: 'event',
dataIndex: "properties['taskSla']",
type: 'date',
format: 'relative',
sorter: false,
},
$currentQueue: {
label: 'Current queue',
icon: 'flag',
dataIndex: 'groupName',
type: 'text',
sorter: true,
filter: {
type: 'multiselect',
options: ['Error Review', 'Fraud Review', 'Manual Review'],
},
},
$appAge: {
label: 'App age',
icon: 'event',
dataIndex: 'job.timeCreated',
type: 'date',
format: 'relative',
sorter: true,
filter: {
type: 'daterangepicker',
options: {
minDate: date('1 month ago'),
maxDate: date('now'),
},
},
},
$assigned: {
label: 'Assigned to',
icon: 'account_circle',
dataIndex: 'userLoginName',
type: 'text',
sorter: true,
filter: {
type: 'input',
},
},
$currentStep: {
label: 'Current Step',
icon: 'task',
dataIndex: 'job.currentStep',
type: 'text',
sorter: false,
},
$currentTask: {
label: 'Current task',
icon: 'task',
dataIndex: 'formName',
type: 'text',
sorter: false,
},
$taskCreated: {
label: 'Task Created',
icon: 'task_created',
dataIndex: 'timeCreated',
type: 'date',
format: 'relative',
sorter: true,
filter: {
type: 'daterangepicker',
options: {
minDate: date('1 month ago'),
maxDate: date('now'),
},
},
},
$appLastModified: {
label: 'Last modified',
icon: 'last_modified',
dataIndex: 'job.timeLastModified',
type: 'date',
sorter: false,
filter: {
type: 'daterangepicker',
options: {
minDate: date('1 month ago'),
maxDate: date('now'),
},
},
},
$formLastModified: {
label: 'Last modified',
icon: 'last_modified',
dataIndex: ['timeUserLastModified'],
type: 'date',
sorter: true,
filter: {
type: 'daterangepicker',
options: {
minDate: date('1 month ago'),
maxDate: date('now'),
},
},
},
$appStatus: {
label: 'App status',
icon: 'app_status',
dataIndex: ['job.status', 'formStatus'],
type: 'text',
sorter: false,
},
$taskStatus: {
label: 'Task Status',
icon: 'task_status',
dataIndex: 'formStatus',
type: 'text',
sorter: true,
filter: {
type: 'multiselect',
options: ['Assigned', 'Opened', 'Saved', 'Completed', 'Abandoned'],
},
},
$dateOfBirth: {
label: 'Date of birth',
dataIndex: ["properties['PrimaryDOB']", "formDataMap['PrimaryDOB']"],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$SSN: {
label: 'SSN',
dataIndex: ["properties['PrimarySSN']", "formDataMap['PrimarySSN']"],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$email: {
label: 'Email',
dataIndex: ["properties['PrimaryEmail']", "formDataMap['PrimaryEmail']"],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$phone: {
label: 'Phone #',
dataIndex: ["properties['PrimaryPhone']", "formDataMap['PrimaryPhone']"],
type: 'text',
sorter: false,
filter: {
type: 'input',
},
},
$appSubmitted: {
label: 'App submitted',
dataIndex: 'job.timeCreated',
type: 'date',
sorter: true,
filter: {
type: 'daterangepicker',
options: {
minDate: date('1 month ago'),
maxDate: date('now'),
},
},
},
$appCreated: {
label: 'App created',
dataIndex: 'timeCreated',
type: 'date',
sorter: true,
filter: {
type: 'daterangepicker',
options: {
minDate: date('1 month ago'),
maxDate: date('now'),
},
},
},
$formStatus: {
label: 'Form status',
icon: 'task_status',
dataIndex: 'formStatus',
type: 'text',
sorter: true,
filter: {
type: 'multiselect',
options: ['Assigned', 'Opened', 'Saved', 'Completed', 'Abandoned'],
},
},
$applicants: {
label: 'Applicants',
icon: 'perm_identity',
type: 'tableExtended',
dataSource: "properties['ApplicationDetails']",
properties: [
{
label: 'Status',
dataIndex: 'checkStatus',
type: 'alert',
},
{
label: 'Name',
dataIndex: 'profile.name',
type: 'text',
},
{
label: 'Email',
dataIndex: 'profile.email',
type: 'text',
},
{
label: 'Trust',
dataIndex: "products['Trust']",
type: 'text',
},
{
label: 'Super Saver',
dataIndex: "products['Super Saver']",
type: 'text',
},
{
label: 'Standard Checking',
dataIndex: "products['Standard Checking']",
type: 'text',
},
],
sections: [
{
label: 'Personal Info',
type: 'list',
properties: [
{
label: 'Full Name',
dataIndex: 'profile.name',
type: 'text',
fullWidth: true,
},
{
label: 'Address',
dataIndex: 'profile.address',
type: 'text',
fullWidth: true,
},
{
label: 'SSN',
dataIndex: 'profile.ssn',
type: 'text',
},
{
label: 'Email',
dataIndex: 'profile.email',
type: 'text',
},

{
label: 'Phone #',
dataIndex: 'profile.phone',
type: 'text',
},
{
label: 'Date of Birth',
dataIndex: 'profile.dob',
type: 'text',
},
],
},

{
label: 'Background Checks',
type: 'listExtended',
statusColors: {
Black: ['HARDFAIL'],
LightGreen: ['LOW'],
Green: ['VERIFIED', 'PASSED', 'ACCEPT', 'APPROVE', 'TRUSTED', 'PASS'],
Red: ['FAILED', 'DECLINE', 'HIGH', 'FAIL'],
Blue: ['REVIEW', 'NEUTRAL', 'UNVERIFIED'],
Orange: ['INSUFFICIENT', 'MEDIUM'],
},
properties: [
{
label: 'FIS Chexsystems',
properties: [
{
label: 'IDA',
dataIndex: 'integrations.[0].items[0].value',
type: 'text',
},
{
label: 'IDV',
dataIndex: 'integrations.[0].items[1].value',
type: 'text',
link: {
dataIndex: 'integrations.[0].items[1].link',
type: 'html',
},
},
{
label: 'OFAC',
dataIndex: 'integrations.[0].items[2].value',
type: 'text',
},
{
label: 'Qualfile',
dataIndex: 'integrations.[0].items[3].value',
type: 'text',
link: {
dataIndex: 'integrations.[0].items[3].link',
type: 'html',
},
},
],
},
{
label: 'Threat Metrix',
properties: [
{
label: 'DECISION',
dataIndex: 'integrations.[1].items[0].value',
type: 'text',
link: {
dataIndex: 'integrations.[1].items[0].link',
type: 'json',
},
},
{
label: 'RISK RATING',
dataIndex: 'integrations.[1].items[1].value',
type: 'text',
},
{
label: 'SCORE',
dataIndex: 'integrations.[1].items[2].value',
type: 'number',
},
],
},
{
label: 'TIN Check',
properties: [
{
label: 'TIN Verification',
dataIndex: 'integrations.[2].items[0].value',
type: 'text',
link: {
dataIndex: 'integrations.[2].items[0].link',
type: 'xml',
},
},
],
},
],
},
],
},
$sentEmails: {
label: 'Sent emails',
icon: 'info',
type: 'table',
dataSource: "properties['EmailList']",
properties: [
{
label: 'Date sent',
dataIndex: 'dateAttempted',
type: 'date',
},
{
label: 'Info',
dataIndex: 'name',
type: 'text',
},
{
label: 'Delivery status',
dataIndex: 'emailSent',
type: 'text',
},
{
label: 'Follow up',
dataIndex: 'followUp',
type: 'text',
},
{
label: 'Sent mail',
type: 'text',
link: {
dataIndex: 'emailContent',
type: 'html',
encoding: 'base64',
},
},
],
},
$applicantValidations: {
label: 'Applicant validations',
icon: 'info',
type: 'table',
dataSource: "properties['GenericContent']",
properties: [
{
label: 'Type',
dataIndex: 'type',
type: 'text',
},
{
label: 'View report',
type: 'text',
link: {
dataIndex: 'htmlContent',
type: 'html',
encoding: 'base64',
},
},
{
label: 'View JSON',
type: 'text',
link: {
dataIndex: 'jsonContent',
type: 'json',
encoding: 'base64',
},
},
{
label: 'View XML',
type: 'text',
link: {
dataIndex: 'xmlContent',
type: 'xml',
encoding: 'base64',
},
},
{
label: 'View PDF',
link: {
dataIndex: 'pdfContent',
type: 'pdf',
},
},
],
},
$reviewChecklist: {
label: 'Review Checklist',
type: 'listStacked',
icon: 'ballot',
properties: [
{
label: 'Personal Details',
dataIndex: ["properties['PersonalDetails']"],
type: 'text',
},
{
label: 'Background Checks',
dataIndex: ["properties['BackgroundChecks']"],
type: 'text',
filter: {
type: 'input',
},
},
{
label: 'Attachments',
dataIndex: ["properties['Attachments']"],
type: 'text',
},
{
label: 'Remarks',
dataIndex: ["properties['Remarks']"],
type: 'text',
},
],
},
},
});

export default globalConfig;

Attributes

To review the list of supported attributes, see API Reference.

In this topic