Client Shift Manager

From 3B Knowledge
Jump to navigation Jump to search

Intro

To configure the Client Shift Manager, create a new Component Configuration of type "Client Shift Manager" (add the option to the Type field if upgrading from a version < 2.7).


Find below a sample configuration file for the new Client Shift Manager

{
    "timezonePreference": "user",
    "schedulables": {
        "shift": {
            "objectType": "b3s__Shift__c",
            "startFieldPath": "b3s__Scheduled_Start_Time__c",
            "endFieldPath": "b3s__Scheduled_End_Time__c",
            "absoluteStartFieldPath": "b3s__Absolute_Start_Time__c",
            "absoluteEndFieldPath": "b3s__Absolute_End_Time__c",
            "actualStartFieldPath": "b3s__Actual_Start_Time__c",
            "actualEndFieldPath": "b3s__Actual_End_Time__c",
            "selectionClause": [
                "b3s__Contact__c = :contactUserId AND b3s__Contact__c != null"
            ],
            "totalHoursFieldPath": "b3s__Absolute_Length__c",
            "title": [
                {
                    "label": "Scheduled Start",
                    "fieldPath": "b3s__Scheduled_Start_Time__c",
                    "formatter": "dateTime",
                    "hideIfNull": true
                },
                {
                    "label": "Scheduled End",
                    "fieldPath": "b3s__Scheduled_End_Time__c",
                    "formatter": "dateTime",
                    "hideIfNull": true
                },
                {
                    "label": "Actual Start",
                    "fieldPath": "b3s__Actual_Start_Time__c",
                    "formatter": "dateTime",
                    "hideIfNull": true
                },
                {
                    "label": "Actual End",
                    "fieldPath": "b3s__Actual_End_Time__c",
                    "formatter": "dateTime",
                    "hideIfNull": true
                },
                {
                    "label": "Contact",
                    "fieldPath": "b3s__Contact__r.Name",
                    "hideIfNull": false
                },
                {
                    "label": "Job",
                    "fieldPath": "b3s__Job__r.Name",
                    "hideIfNull": false
                },
                {
                    "label": "Site",
                    "fieldPath": "b3s__Site__r.Name",
                    "hideIfNull": false
                },
                {
                    "label": "Location",
                    "fieldPath": "b3s__Site__r.b3s__Site_Location_Link__c",
                    "hideIfNull":true 
                },
                {
                    "label": "Comments",
                    "fieldPath": "b3s__Comments__c",
                    "hideIfNull": false
                },
                {
                    "label": "Length",
                    "fieldPath": "b3s__Absolute_Length__c",
                    "hideIfNull": false
                },
                {
                    "label": "Approval Status",
                    "fieldPath": "b3s__Approval_Status__c",
                    "hideIfNull": false
                }
            ],
            "shiftBulkViewTitle": [
              {
                    "label": "Job",
                    "fieldPath": "b3s__Job__r.Name",
                    "hideIfNull": false
                },
                {
                    "label": "Site",
                    "fieldPath": "b3s__Site__r.Name",
                    "hideIfNull": false
                },
                {
                    "label": "Location",
                    "fieldPath": "b3s__Site__r.b3s__Site_Location_Link__c",
                    "hideIfNull":true 
                }
            ],
            "canEdit": {
                "condition": {
                    "allOrSome": "all",
                    "selectors": [
                        {
                            "field": "b3s__Approval_Status__c",
                            "operator": "isnull",
                            "value": true
                        }
                    ]
                }
            },
            "canDelete": {
                "condition": {
                    "allOrSome": "all",
                    "selectors": [
                        {
                            "field": "b3s__Approval_Status__c",
                            "operator": "isnull",
                            "value": true
                        }
                    ]
                }
            },
            "recordFormFields": [
                {
                    "isSeparator": true,
                    "label": "Times"
                },
                {
                    "field": "b3s__Scheduled_Start_Time__c:b3s__Scheduled_End_Time__c",
                    "labelOverride": "Scheduled Times",
                    "props": {
                        "hideDate": true
                    },
                    "labelOverride": "Scheduled Times",
                    "type": "field-time-range-selector",
                    "views": {
                        "blukCreateView": true
                    },
                    "required": false,
                    "disabled": false
                },
                {
                    "field": "b3s__Actual_Start_Time__c:b3s__Actual_End_Time__c",
                    "props": {
                        "hideDate": true
                    },
                    "labelOverride": "Actual Times",
                    "type": "field-time-range-selector",
                    "views": {
                        "blukCreateView": false
                    },
                    "required": false,
                    "disabled": false
                },
                {
                    "isSeparator": true,
                    "label": "Details"
                },
                {
                    "field": "b3s__Contact__c",
                    "type": "field-select",
                    "required": false,
                    "disabled": true,
                    "default": ":contactUserId",
                    "views": {
                        "blukCreateView": false
                    },
                    "loader": "contacts",
                    "optionLabelField": "Name"
                },
                {
                    "field": "b3s__Job__c",
                    "labelOverride": "Job",
                    "type": "field-select",
                    "required": true,
                    "disabled": false,
                    "default": ":contactUserId",
                    "optionsInPopout": true,
                    "loader": "jobs",
                    "views": {
                        "blukCreateView": true
                    },
                    "optionLabelField": "Name"
                },
                {
                    "field": "b3s__Site__c",
                    "type": "field-select",
                    "required": false,
                    "disabled": false,
                    "optionsInPopout": true,
                    "loader": "sites",
                    "views": {
                        "blukCreateView": true
                    },
                    "optionLabelField": "Name"
                },
                {
                    "field": "b3s__Placement__c",
                    "labelOverride": "Placement",
                    "type": "field-select",
                    "views": {
                        "blukCreateView": false
                    },
                    "required": false,
                    "disabled": {
                        "condition": {
                            "allOrSome": "all",
                            "selectors": [
                                {
                                    "field": "b3s__Contact__c",
                                    "operator": "isnull",
                                    "value": true
                                }
                            ]
                        }
                    },
                    "optionsInPopout": true,
                    "loader": "placements",
                    "optionLabelField": "Name",
                    "optionExtendedDetails": [
                        {
                            "label": "Person Placed",
                            "targetField": "b3o__Candidate__r.Name"
                        }
                    ],
                    "showOptionIf": {
                        "condition": {
                            "allOrSome": "all",
                            "selectors": [
                                {
                                    "field": "b3s__Contact__c",
                                    "operator": "equals",
                                    "targetField": "b3o__Candidate__c"
                                },
                                {
                                    "field": "b3s__Job__c",
                                    "operator": "equals",
                                    "targetField": "b3o__Job__c"
                                }
                            ]
                        }
                    }
                },
                {
                    "field": "b3s__Comments__c",
                    "type": "field-text-area",
                    "views": {
                        "blukCreateView": false
                    },
                    "required": false,
                    "disabled": false
                },
                {
                    "field": "",
                    "labelOverride": "Upload",
                    "type": "field-file-upload",
                    "views": {
                        "blukCreateView": false
                    },
                    "props": {
                        "placeholder": "Upload File",
                        "maxFileSize": 1000000
                    },
                    "required": false,
                    "disabled": false
                }
            ],
            "decorations": [
                {
                    "name": "shift-clocked-in",
                    "condition": {
                        "allOrSome": "all",
                        "selectors": [
                            {
                                "field": "b3s__Actual_Start_Time__c",
                                "operator": "isnull",
                                "value": false
                            }
                        ]
                    },
                    "icon": {
                        "svg": "<svg  xmlns='http://www.w3.org/2000/svg'  width='24'  height='24'  viewBox='0 0 24 24'  fill='none'  stroke='currentColor'  stroke-width='2'  stroke-linecap='round'  stroke-linejoin='round'  class='icon icon-tabler icons-tabler-outline icon-tabler-clock'><path stroke='none' d='M0 0h24v24H0z' fill='none'/><path d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0' /><path d='M12 7v5l3 3' /></svg>"
                    },
                    "title": {
                        "literal": "Has Start Time"
                    }
                }
            ]
        }
    }
}