You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

This class allows the client-side script to execute the code on the server-side using Script Includes. it is used to create branded notifications.

 setTitle(title)


This method sets the main header of email notification.

Parameter(s):

Name

Type

Mandatory

Default value

titleStringYN

Return:

Type

Description

VoidThis method does not return a value.
setTitle
   

setBodyHeader(bodyHeader)


This method sets the header of text body of email notification.

Parameter(s):

Name

Type

Mandatory

Default value

bodyHeaderStringYN

Return:

Type

Description

VoidThis method does not return a value.
setBodyHeader
  let bodyHeaderTemplate = `<a href="${currentRecordURL}">${emailSubject}</a> <br> The state of ${current.number} changed, new state: ${current.getDisplayValue('state')}.`
  if(current.state == '3'){ //Postponed
      bodyHeaderTemplate += `Repeated request: ${current.getDisplayValue('resubmission')}`        
}
  bodyHeaderTemplate += `<br><br>You can add information by replying to this letter, do not change the subject of the letter. ` 
  htmlTemplate.setBodyHeader(bodyHeaderTemplate)

setBodyText(bodyText)


This method sets the main text body of email notification.

Parameter(s):

Name

Type

Mandatory

Default value

bodyTextStringYN

Return:

Type

Description

VoidThis method does not return a value.
setBodyText
    const htmlTemplate = new SimpleEmailTemplate(approvalItem.getDisplayValue());
    const allApproversObject = JSON.parse(current.additional_parameter);
    htmlTemplate.setBodyText(`Dear ${current.getDisplayValue('approver_id')}, you need to approve <a href="${ApprovalItemURL}">${approvalItem.getDisplayValue()}</a> The list of     the approval tickets: ${transformToTemplateList(allApproversObject)}`)

setComment(comment)


This method sets the email notification comment:

  • puts it in an area with a grey background 
  • highlights it italic.

Parameter(s):

Name

Type

Mandatory

Default value

commentStringYN

Return:

Type

Description

VoidThis method does not return a value.
setComment
 setComment(comment) {
        this.setProperty('comment', comment, 'Leave your comment here');
    }

getTitle(title)


This method returns the main header of notification.

Return:

Type

Description

StringThe main header of notification.
getTitle
getTitle() {
        return this.title;
    }

getBodyHeader(bodyHeader)


This method returns the main header of text body.

Return:

Type

Description

StringThe main header of text body.
getBodyHeader
getBodyHeader() {
        return this.bodyHeader;
    }

getBodyText(bodyText)


This method returns the main text body.

Return:

Type

Description

StringThe main text body.
getBodyText
getBodyText() {
        return this.bodyText;
    }

getComment(comment)


This method returns the comment text.

Return:

Type

Description

StringThe comment text.
getComment
) {
    ss.importIncludeScript('NotificationsInApprovalContextUtility');
    const notificationUtility = new NotificationsInApprovalContextUtility(current);
    return notificationUtility.getComments();
})(current, template, email, event);

getButtons(buttons)


This method returns the array of buttons.

Return:

Type

Description

ArrayThe array of buttons.
getButtons
getButtons() {
        return this.buttons;
    }

addButton(button)


This methods adds a new button to array of buttons.
Parameter(s):

Name

Type

Mandatory

Default value

textStringYN
urlStringYN
colorStringYN
buttonArrayArrayYN

Return:

Type

Description

ArrayThe base of buttons array with the new one.
addButtons
    const htmlTemplate = new SimpleEmailTemplate(approvalItem.getDisplayValue());
    const allApproversObject = JSON.parse(current.additional_parameter);
    htmlTemplate.setBodyText(`Dear ${current.getDisplayValue('approver_id')}, you need to approve <a href="${ApprovalItemURL}">${approvalItem.getDisplayValue()}</a>
    The list of the approval tickets: ${transformToTemplateList(allApproversObject)}`);

removeButton(button)


 This method removes the last added button.

removeButton
 removeButton() {
        this.buttons.pop();
    }

removeAllButtons(buttons)


This method removes all added buttons.

removeAllButtons
removeAllButtons() {
        this.buttons = [];
    }

setProperty(propertyName, input, propertyTitle)


This method sets internal method for input type validation.

Parameter(s):

Name

Type

Mandatory

Default value

propertyNameStringYN
inputString/NumberYN
propertyTitleStringYN
setProperty
 setProperty(propertyName, input, propertyTitle) {
        if (typeof input === 'string' || typeof input === 'number') {
            this[propertyName] = input;
        } else {
            ss.addErrorMessage(`Invalid data type.`);
        }
    }

formEmailTemplate()


This method creates and returns HTML template based on set properties.

Return:

Type

Description

StringThe HTML template.
formEmailTemplate
formEmailTemplate() {
        //text formatter - \n to <br>
        const bodyText = this.bodyText.toString().replace(/\n/g, '<br>');

        //creates space between bodyHeader and bodyText
        let bodySplitter = '';
        if (this.bodyHeader !== '' && this.bodyHeader !== '') {
            bodySplitter = '<br><br>';
        }

  • No labels