Sweet Alert In Client Script

/**
 * @NApiVersion 2.1
 * @NScriptType ClientScript
 * @NModuleScope SameAccount
 */
define(['/SuiteScripts/jobin and jsimi/Main Ext JS/sweetalert.min.js','N/search'],

    function(sweetalert,search) {
    
        function getListValues(){
            try{
                var customlist458SearchObj = search.create({
                    type: "customlist458",
                    filters:
                    [
                    ],
                    columns:
                    [
                       search.createColumn({name: "name", label: "Name"}),
                       search.createColumn({name: "scriptid", label: "Script ID"}),
                       search.createColumn({name: "internalid", label: "Internal ID"})
    
                    ]
                 });
                 var searchResultCount = customlist458SearchObj.runPaged().count;
                 log.debug("customlist458SearchObj result count",searchResultCount);
                 let resultObj={}
                 customlist458SearchObj.run().each(function(result){
                    let internalid =  result.getValue({name: "internalid", label: "Internal ID"});
                    let name= result.getValue({name: "name", label: "Name"})
                    resultObj[internalid]= name;
                    return true;
                 });
                 return resultObj;
            }
            catch(e){
                console.error("error@getListValues",e)
                return {};
            }
        }
      
        
        /**
         * Function to be executed after page is initialized.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.mode - The mode in which the record is being accessed (create, copy, or edit)
         *
         * @since 2015.2
         */
        function pageInit(scriptContext) {
            let reason = showSweetAlert(scriptContext.currentRecord);
            console.log('rrr',reason)
            if(reason){
                console.log('reason',reason)
                
            }
        }
    
        /**
         * Function to be executed when field is changed.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         * @param {string} scriptContext.fieldId - Field name
         * @param {number} scriptContext.lineNum - Line number. Will be undefined if not a sublist or matrix field
         * @param {number} scriptContext.columnNum - Line number. Will be undefined if not a matrix field
         *
         * @since 2015.2
         */
        function fieldChanged(scriptContext) {
            try{
                if(scriptContext.fieldId == 'duedate'){
                    console.log('fieldChabge')
                    let optionObj=  getListValues();
                    console.log("optionObj",optionObj)
            let valueSelected
            sweetalert.fire({
                title: 'Select an option',
                input: 'select',
                inputOptions: optionObj,
                inputPlaceholder: 'Select an option',
                showCancelButton: true,
                inputValidator: (value) => {
                  return new Promise((resolve) => {
                    if (value) {
                      resolve()
                    } else {
                      resolve('You need to select something!')
                    }
                  })
                }
              }).then((result) => {
                if (result.isConfirmed) {
                    console.log('result',result.value)
                   valueSelected = result;
                   scriptContext.currentRecord.setValue({fieldId: 'custbody_jj_reason_change', value: parseInt(result.value)});
                }else{
                  console.log("result",result);
                }
                return true;
              });
                }
                return true;
                
            }
            catch(e){
                console.error("error@fieldChanged",e)
            }
        }
    
        /**
         * Function to be executed when field is slaved.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         * @param {string} scriptContext.fieldId - Field name
         *
         * @since 2015.2
         */
        function postSourcing(scriptContext) {
    
        }
    
        /**
         * Function to be executed after sublist is inserted, removed, or edited.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         *
         * @since 2015.2
         */
        function sublistChanged(scriptContext) {
    
        }
    
        /**
         * Function to be executed after line is selected.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         *
         * @since 2015.2
         */
        function lineInit(scriptContext) {
    
        }
    
        /**
         * Validation function to be executed when field is changed.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         * @param {string} scriptContext.fieldId - Field name
         * @param {number} scriptContext.lineNum - Line number. Will be undefined if not a sublist or matrix field
         * @param {number} scriptContext.columnNum - Line number. Will be undefined if not a matrix field
         *
         * @returns {boolean} Return true if field is valid
         *
         * @since 2015.2
         */
        function validateField(scriptContext) {
    
        }
    
        /**
         * Validation function to be executed when sublist line is committed.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         *
         * @returns {boolean} Return true if sublist line is valid
         *
         * @since 2015.2
         */
        function validateLine(scriptContext) {
    
        }
    
        /**
         * Validation function to be executed when sublist line is inserted.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         *
         * @returns {boolean} Return true if sublist line is valid
         *
         * @since 2015.2
         */
        function validateInsert(scriptContext) {
    
        }
    
        /**
         * Validation function to be executed when record is deleted.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @param {string} scriptContext.sublistId - Sublist name
         *
         * @returns {boolean} Return true if sublist line is valid
         *
         * @since 2015.2
         */
        function validateDelete(scriptContext) {
    
        }
    
        /**
         * Validation function to be executed when record is saved.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.currentRecord - Current form record
         * @returns {boolean} Return true if record is valid
         *
         * @since 2015.2
         */
        function saveRecord(scriptContext) {
            showSweetAlert();
        }
    
        return {
            //pageInit: pageInit,
            fieldChanged: fieldChanged,
            // postSourcing: postSourcing,
            // sublistChanged: sublistChanged,
            // lineInit: lineInit,
            // validateField: validateField,
            // validateLine: validateLine,
            // validateInsert: validateInsert,
            // validateDelete: validateDelete,
            // saveRecord: saveRecord
        };
        
    });

Leave a comment

Your email address will not be published. Required fields are marked *