Suitelet:
let dateFilter = form.addField({
id: “custpage_date”,
type: serverWidget.FieldType.SELECT,
label: ‘Date Filter’,
container: ‘_date_filter’
});
dateFilter.addSelectOption({
value: “”,
text: “–All–“
});
dateFilter.addSelectOption({
value: “1”,
text: “on”
});
dateFilter.addSelectOption({
value: “2”,
text: “on or before”
});
dateFilter.addSelectOption({
value: “3”,
text: “on or after”
});
dateFilter.addSelectOption({
value: “4”,
text: “within”
});
dateFilter.defaultValue = context.request.parameters.date;
if (date == 1) {
let dateOnFilter = form.addField({
id: “custpage_date_on”,
type: serverWidget.FieldType.DATE,
label: ‘Date’,
container: ‘_date_filter’
});
dateOnFilter.defaultValue = context.request.parameters.on
}
if (date == 2) {
let dateOnBeforeFilter = form.addField({
id: “custpage_date_onbefore”,
type: serverWidget.FieldType.DATE,
label: ‘Date’,
container: ‘_date_filter’
});
dateOnBeforeFilter.defaultValue = context.request.parameters.onBefore
}
if (date == 3) {
let dateOnAfterFilter = form.addField({
id: “custpage_date_onafter”,
type: serverWidget.FieldType.DATE,
label: ‘Date’,
container: ‘_date_filter’
});
dateOnAfterFilter.defaultValue = context.request.parameters.onAfter
}
if (date == 4) {
let dateFromFilter = form.addField({
id: “custpage_date_from”,
type: serverWidget.FieldType.DATE,
label: ‘From’,
container: ‘_date_filter’
});
dateFromFilter.defaultValue = context.request.parameters.fromDate
let dateToFilter = form.addField({
id: “custpage_date_to”,
type: serverWidget.FieldType.DATE,
label: ‘To’,
container: ‘_date_filter’
});
dateToFilter.defaultValue = context.request.parameters.toDate
}
Client:
function formattedDate(selectedDate, dateFormat) {
try {
console.log(“selectedDate”, selectedDate);
let formattedDate = “”
formattedDate = format.format({
value: selectedDate,
type: format.Type.DATE,
format: dateFormat
});
console.log(“formattedDate”, formattedDate);
return formattedDate;
} catch (e) {
log.error(“error@formatDate”, e)
}
}
within field changed –
if (context.fieldId == ‘custpage_date’) {
date = context.currentRecord.getValue({
fieldId: ‘custpage_date’
});
console.log(“date”, date)
} else {
date = record.getValue({
fieldId: ‘custpage_date’
});
}
let dateFormat = runtime.getCurrentUser().getPreference({
name: ‘DATEFORMAT’
});
console.log(“dateFormat”, dateFormat)
if (context.fieldId == ‘custpage_date_on’) {
on = context.currentRecord.getValue({
fieldId: ‘custpage_date_on’
});
console.log(“on”, on)
on = formattedDate(on, dateFormat);
} else {
on = record.getValue({
fieldId: ‘custpage_date_on’
});
if (on) {
console.log(“on”, on)
on = formattedDate(on, dateFormat);
}
}
if (context.fieldId == ‘custpage_date_onbefore’) {
onBefore = context.currentRecord.getValue({
fieldId: ‘custpage_date_onbefore’
});
console.log(“onBefore”, onBefore)
onBefore = formattedDate(onBefore, dateFormat)
} else {
onBefore = record.getValue({
fieldId: ‘custpage_date_onbefore’
});
if (onBefore) {
console.log(“onBefore”, onBefore)
onBefore = formattedDate(onBefore, dateFormat)
}
}
if (context.fieldId == ‘custpage_date_onafter’) {
onAfter = context.currentRecord.getValue({
fieldId: ‘custpage_date_onafter’
});
console.log(“onAfter”, onAfter)
onAfter = formattedDate(onAfter, dateFormat)
} else {
onAfter = record.getValue({
fieldId: ‘custpage_date_onafter’
});
if (onAfter) {
console.log(“onAfter”, onAfter)
onAfter = formattedDate(onAfter, dateFormat)
}
}
if (context.fieldId == ‘custpage_date_from’) {
fromDate = context.currentRecord.getValue({
fieldId: ‘custpage_date_from’
});
console.log(“fromDate”, fromDate)
fromDate = formattedDate(fromDate, dateFormat)
} else {
fromDate = record.getValue({
fieldId: ‘custpage_date_from’
});
if (fromDate) {
console.log(“fromDate”, fromDate)
fromDate = formattedDate(fromDate, dateFormat)
}
}
if (context.fieldId == ‘custpage_date_to’) {
toDate = context.currentRecord.getValue({
fieldId: ‘custpage_date_to’
});
console.log(“toDate”, toDate)
toDate = formattedDate(toDate, dateFormat);
} else {
toDate = record.getValue({
fieldId: ‘custpage_date_to’
});
if (toDate) {
console.log(“toDate”, toDate)
toDate = formattedDate(toDate, dateFormat);
}
}
if(context.fieldId == ‘custpage_date’){
window.onbeforeunload = null;
document.location = url.resolveScript({
scriptId: getParameterFromURL(‘script’),
deploymentId: getParameterFromURL(‘deploy’),
params: {
‘date’: date,
‘on’: on,
‘onBefore’: onBefore,
‘onAfter’: onAfter,
‘fromDate’: fromDate,
‘toDate’: toDate
}
//returnExternalUrl: true
});
}