@progress/sitefinity-nextjs-sdk
Version:
Provides OOB widgets developed using the Next.js framework, which includes an abstraction layer for Sitefinity communication. Additionally, it offers an expanded API, typings, and tools for further development and integration.
39 lines (38 loc) • 1.31 kB
JavaScript
export const invalidDataAttr = 'data-sf-invalid';
export const serializeForm = (form) => {
const obj = {};
const formData = new FormData(form);
for (let key of formData.keys()) {
obj[key] = formData.get(key);
}
return obj;
};
export const invalidateElement = (emptyInputs, element) => {
if (element) {
emptyInputs[element.name] = true;
}
};
export const isValidEmail = function (email) {
return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w+)+$/.test(email);
};
export const formatDate = function (date, culture) {
if (!date) {
return '';
}
if (typeof (date) === 'string') {
date = new Date(date);
}
const dateOptionsDay = { day: 'numeric' };
const dateOptions = { month: 'short', hour12: true, hour: '2-digit', minute: '2-digit' };
return date.toLocaleString(culture, dateOptionsDay) + ' ' + date.toLocaleString(culture, dateOptions);
};
export const getWhiteListSearchParams = (searchParams, whitelistedQueryParams) => {
const filteredQueryCollection = {};
whitelistedQueryParams.forEach(param => {
const searchParamValue = (searchParams || {})[param];
if (searchParamValue) {
filteredQueryCollection[param] = searchParamValue;
}
});
return filteredQueryCollection;
};