function imageFormatter(value) {
if (value) {
return ''
} else {
return '-'
}
}
function galleryImageFormatter(value) {
if (value) {
let html = '
';
$.each(value, function (index, data) {
html += '
';
})
html += "
"
return html;
} else {
return '-'
}
}
function subCategoryFormatter(value, row) {
const subcategoriesLabel = window?.languageLabels["Subcategories"] || "Subcategories";
let url = `/category/${row.id}/subcategories`;
return ' ' + value + ' '+ subcategoriesLabel + '
';
}
function customFieldFormatter(value, row) {
const customFieldsLabel =window?.languageLabels["Custom Fields"] || "Custom Fields";
let url = `/category/${row.id}/custom-fields`;
return '' + value + ' ' + customFieldsLabel + '
';
}
function statusSwitchFormatter(value, row) {
return `
`
}
function autoApproveItemSwitchFormatter(value, row) {
return `
`;
}
function itemStatusSwitchFormatter(value, row) {
return `
`
}
function userStatusSwitchFormatter(value, row) {
return `
`
}
function trans(label) {
// return window.languageLabels.hasOwnProperty(label) ? window.languageLabels[label] : label;
return window?.languageLabels[label] || label;
}
function itemStatusFormatter(value) {
const statusMap = {
"review": { badge: "primary", text: window?.languageLabels?.["Under Review"] || "Under Review" },
"approved": { badge: "success", text: window?.languageLabels?.["Approved"] || "Approved" },
"permanent rejected": { badge: "danger", text: window?.languageLabels?.["Permanent Rejected"] || "Permanent Rejected" },
"sold out": { badge: "warning", text: window?.languageLabels?.["Sold Out"] || "Sold Out" },
"featured": { badge: "black", text: window?.languageLabels?.["Featured"] || "Featured" },
"inactive": { badge: "danger", text: window?.languageLabels?.["Inactive"] || "Inactive" },
"expired": { badge: "danger", text: window?.languageLabels?.["Expired"] || "Expired" },
"soft rejected": { badge: "black", text: window?.languageLabels?.["Soft Rejected"] || "Soft Rejected" },
"resubmitted": { badge: "primary", text: window?.languageLabels?.["Resubmitted"] || "Resubmitted" },
};
const status = statusMap[value] || { badge: "secondary", text: value || "Unknown" };
return `${status.text} `;
}
function featuredItemStatusFormatter(value) {
let badgeClass, badgeText;
if (value == "Not-Featured") {
badgeClass = 'primary';
badgeText = window?.languageLabels["Not-featured"] || "Not-featured";
} else if (value == "Featured") {
badgeClass = 'success';
badgeText = window?.languageLabels["Featured"] || "Featured";
}
return '' + badgeText + ' ';
}
function status_badge(value, row) {
let badgeClass, badgeText;
if (value == '0') {
badgeClass = 'danger';
badgeText = 'OFF';
} else {
badgeClass = 'success';
badgeText = 'ON';
}
return '' + badgeText + ' ';
}
function userStatusBadgeFormatter(value, row) {
let badgeClass, badgeText;
if (value == '0') {
badgeClass = 'danger';
badgeText = 'Inactive';
} else {
badgeClass = 'success';
badgeText = 'Active';
}
return '' + badgeText + ' ';
}
function styleImageFormatter(value, row) {
return '';
}
function filterTextFormatter(value) {
let filter;
if (value == "most_liked") {
filter = "Most Liked";
} else if (value == "price_criteria") {
filter = "Price Criteria";
} else if (value == "category_criteria") {
filter = "Category Criteria";
} else if (value == "most_viewed") {
filter = "Most Viewed";
}
return filter;
}
function adminFile(value, row) {
return " View File < /a>";
}
function appFile(value, row) {
return " View File < /a>";
}
function textReadableFormatter(value, row) {
let string = value.replace("_", " ");
return string.charAt(0).toUpperCase() + string.slice(1);
}
function userPackageStatusBadgeFormatter(value) {
let badgeClass, badgeText;
if (value == 'Expired') {
badgeClass = 'danger';
badgeText = 'Expired';
} else {
badgeClass = 'success';
badgeText = 'Active';
}
return '' + badgeText + ' ';
}
function unlimitedBadgeFormatter(value) {
if (!value) {
return 'Unlimited';
}
return value;
}
function detailFormatter(index, row) {
let html = []
if (row.translations && row.translations.length > 0) {
$.each(row.translations, function (key, value) {
html.push('' + value.language.name + ': ' + value.description + '
')
})
} else {
const noTranslations = window?.languageLabels?.["No translations available"] || "No translations available";
html.push('' + noTranslations + '
')
}
return html.join('')
}
function truncateDescription(value, row, index) {
if (!value) {
return 'No Description Available ';
}
// Create a temporary DOM element to handle HTML safely
let tempDiv = document.createElement("div");
tempDiv.innerHTML = value;
let textContent = tempDiv.textContent || tempDiv.innerText || "";
if (textContent.length > 100) {
let shortText = textContent.substring(0, 50);
return `
`;
} else {
return value;
}
}
function videoLinkFormatter(value, row, index) {
if (!value) {
return '';
}
const maxLength = 20;
const displayText = value.length > maxLength ? value.substring(0, maxLength) + '...' : value;
return ` ${displayText} `;
}
function dateFormatter(value, row, index) {
if (!value) {
return '- ';
}
try {
const date = new Date(value);
if (isNaN(date.getTime())) {
return '- ';
}
// Format: MM/DD/YYYY HH:MM AM/PM (US format)
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const year = date.getFullYear();
let hours = date.getHours();
const minutes = String(date.getMinutes()).padStart(2, '0');
const ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
const formattedHours = String(hours).padStart(2, '0');
return `${month}/${day}/${year} ${formattedHours}:${minutes} ${ampm}`;
} catch (error) {
console.error('Date formatting error:', error);
return '- ';
}
}
function sellerverificationStatusFormatter(value) {
let badgeClass, badgeText;
if (value == "review") {
badgeClass = 'primary';
badgeText = window?.languageLabels?.["Under Review"] || "Under Review";
} else if (value == "approved") {
badgeClass = 'success';
badgeText = window?.languageLabels?.["Approved"] || "Approved";
} else if (value == "rejected") {
badgeClass = 'danger';
badgeText = window?.languageLabels?.["Rejected"] || "Rejected";
} else if (value == "pending") {
badgeClass = 'warning';
badgeText = window?.languageLabels?.["Pending"] || "Pending";
}
return '' + badgeText + ' ';
}
function categoryNameFormatter(value, row) {
let buttonHtml = '';
let count = parseInt(row.subcategories_count);
if (count > 0) {
buttonHtml = `
`;
} else {
buttonHtml = ` `;
}
return `${buttonHtml}${value}`;
}
function subCategoryNameFormatter(value, row, level) {
let dataLevel = 0;
let indent = level * 35;
let buttonHtml = '';
let count = parseInt(row.subcategories_count);
if (count > 0) {
buttonHtml = `
`;
} else {
buttonHtml = ` `;
}
dataLevel += 1;
return `${buttonHtml}${value}
`;
}
function descriptionFormatter(value, row, index) {
if (value.length >= 50) {
return '' +
'';
} else {
return value;
}
}
function rejectedReasonFormatter(value, row, index) {
if (value !== null && value !== undefined && value !== '') {
if (value.length > 20) {
return '' +
'';
} else {
return value;
}
}
return '- ';
}
function ratingFormatter(value, row, index) {
const maxRating = 5;
let stars = '';
for (let i = 1; i <= maxRating; i++) {
if (i <= Math.floor(value)) {
stars += ' ';
} else if (i === Math.ceil(value) && value % 1 !== 0) {
stars += ' ';
} else {
stars += ' ';
}
}
return stars;
}
function reportStatusFormatter(value) {
let badgeClass, badgeText;
if (value == "reported") {
badgeClass = 'primary';
badgeText = window?.languageLabels?.["Reported"] || "Reported";
} else if (value == "approved") {
badgeClass = 'success';
badgeText = window?.languageLabels?.["Approved"] || "Approved";
} else if (value == "rejected") {
badgeClass = 'danger';
badgeText = window?.languageLabels?.["Rejected"] || "Rejected";
}
return '' + badgeText + ' ';
}
function typeFormatter(value, row) {
if (value === 'App\\Models\\Category') {
return 'Category';
} else if (value === 'App\\Models\\Item') {
return 'Advertisement';
} else {
return '-';
}
}
function packageTypeFormatter(value, row, index) {
if (value === 'item_listing') {
return '' + (window?.languageLabels["Item Listing (Ads)"]) + ' ';
} else if (value === 'advertisement') {
return '' + (window?.languageLabels["Advertisement (Featured Ads)"]) + ' ';
}
return value;
}
function categoryNamesFormatter(value, row, index) {
if (row.is_global == 1) {
return '' + (window?.languageLabels["Global"]) + ' ';
}
if (value === 'Category Based') {
return '' + (window?.languageLabels["Category Based"]) + ' ';
}
return '' + (window?.languageLabels["Category Based"]) + ' ';
}