Giter VIP home page Giter VIP logo

suitescript-boilerplate's Introduction

SuiteScript Boilerplate

A SuiteScript ES6 Boilerplate Project

Installation Instructions

  1. Install Node.js 8+ using detailed installation instructions here
  2. Clone repository
$ git clone https://github.com/skumail/suitescript-boilerplate.git
  1. Change into the working directory
$ cd suitescript-boilerplate
  1. Execute following commands to install NPM dependencies
$ npm install

Build

To build suitescript 2.x compatible code

$ npm run build

To watch build changes

$ npm run watch:build

Test

jest

$ npm test

Style Guide

Writing SuiteScript

ES6 ClientScript Example

/**
*@NApiVersion 2.x
*@NScriptType ClientScript
*
*/

import message from 'N/ui/message';

const showErrorMessage = (msgText) => {
  const myMsg = message.create({
    title: 'Cannot Save Record',
    message: msgText,
    type: message.Type.ERROR,
  });

  myMsg.show({
    duration: 5000,
  });
};

const lineInit = () => {
  showErrorMessage('lineInit Triggered!');
  return true;
};

const pageInit = () => {
  showErrorMessage('pageInit Triggered!');
  return true;
};

const postSourcing = () => {
  showErrorMessage('postSourcing Triggered!');
  return true;
};

const saveRecord = () => {
  showErrorMessage('saveRecord Triggered!');
  return true;
};

const sublistChanged = () => {
  showErrorMessage('sublistChanged Triggered!');
};

const validateDelete = () => {
  showErrorMessage('validateDelete Triggered!');
  return true;
};

const validateField = () => {
  showErrorMessage('validateField Triggered!');
  return true;
};

const validateInsert = () => {
  showErrorMessage('validateInsert Triggered!');
  return true;
};

const validateLine = () => {
  showErrorMessage('validateLine Triggered!');
  return true;
};

const fieldChanged = () => {
  showErrorMessage('fieldChanged Triggered!');
  return true;
};

export default {
  lineInit,
  pageInit,
  postSourcing,
  saveRecord,
  sublistChanged,
  validateDelete,
  validateField,
  validateInsert,
  validateLine,
  fieldChanged,
};

Netsuite Compatible ClientScript After build

'use strict';

/**
*@NApiVersion 2.x
*@NScriptType ClientScript
*
*/

define(['N/ui/message'], function (message) {

  var showErrorMessage = function showErrorMessage(msgText) {
    var myMsg = message.create({
      title: 'Cannot Save Record',
      message: msgText,
      type: message.Type.ERROR
    });

    myMsg.show({
      duration: 5000
    });
  };

  var lineInit = function lineInit() {
    showErrorMessage('lineInit Triggered!');
    return true;
  };

  var pageInit = function pageInit() {
    showErrorMessage('pageInit Triggered!');
    return true;
  };

  var postSourcing = function postSourcing() {
    showErrorMessage('postSourcing Triggered!');
    return true;
  };

  var saveRecord = function saveRecord() {
    showErrorMessage('saveRecord Triggered!');
    return true;
  };

  var sublistChanged = function sublistChanged() {
    showErrorMessage('sublistChanged Triggered!');
  };

  var validateDelete = function validateDelete() {
    showErrorMessage('validateDelete Triggered!');
    return true;
  };

  var validateField = function validateField() {
    showErrorMessage('validateField Triggered!');
    return true;
  };

  var validateInsert = function validateInsert() {
    showErrorMessage('validateInsert Triggered!');
    return true;
  };

  var validateLine = function validateLine() {
    showErrorMessage('validateLine Triggered!');
    return true;
  };

  var fieldChanged = function fieldChanged() {
    showErrorMessage('fieldChanged Triggered!');
    return true;
  };

  return {
    lineInit: lineInit,
    pageInit: pageInit,
    postSourcing: postSourcing,
    saveRecord: saveRecord,
    sublistChanged: sublistChanged,
    validateDelete: validateDelete,
    validateField: validateField,
    validateInsert: validateInsert,
    validateLine: validateLine,
    fieldChanged: fieldChanged
  };
});

suitescript-boilerplate's People

Contributors

skumail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

anaskhraza

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.