/**
* @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
};
});