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

Compare with Current View Page History

« Previous Version 12 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
    let bodyHeaderTemplate = `<a href="${currentRecordURL}">${emailSubject}</a>
  <br><br>
  The state changed ${current.number}, 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)

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
setBodyHeader(bodyHeader) {
        this.setProperty('bodyHeader', bodyHeader, 'You have a new approval ticket');
    }

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
setBodyText(bodyText) {
        this.setProperty('bodyText', bodyText, 'You need to approve or reject the ticket.');
    }

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
getComment() {
        return this.comment;
    }

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
 addButton(text, url, color = '#E31450') {
        const button = {
            "text": text,
            "url": url,
            "color": color
        };

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