Skip to content

Commit b3a1a76

Browse files
committed
Add helper function to create icon elements for bulk edit fields. Updated rendering logic to include icons based on field data, enhancing visual representation in the multi-select interface.
1 parent 839b686 commit b3a1a76

1 file changed

Lines changed: 33 additions & 1 deletion

File tree

dt-assets/js/modular-list.js

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,6 +1160,30 @@
11601160
fieldSelector.options = allOptions;
11611161
}
11621162

1163+
// Helper function to create icon element from field data
1164+
function createFieldIconElement(fieldData) {
1165+
if (!fieldData) {
1166+
return $();
1167+
}
1168+
1169+
const icon = fieldData.icon || fieldData['font-icon'];
1170+
if (!icon) {
1171+
return $();
1172+
}
1173+
1174+
// Create icon element based on type
1175+
let iconHtml;
1176+
if (icon.trim().toLowerCase().startsWith('mdi')) {
1177+
// Font icon (Material Design Icons)
1178+
iconHtml = `<i class="${icon} dt-icon lightgray" style="font-size: 20px;"></i>`;
1179+
} else {
1180+
// Image icon
1181+
iconHtml = `<img src="${icon}" class="dt-icon lightgray">`;
1182+
}
1183+
1184+
return $(iconHtml);
1185+
}
1186+
11631187
// Initialize dt-multi-select on page load
11641188
function initializeBulkEditFieldSelector() {
11651189
const fieldSelector = document.querySelector(
@@ -1208,8 +1232,16 @@
12081232
cleared: false,
12091233
});
12101234

1235+
// Create icon element from field data
1236+
const iconElement = createFieldIconElement(fieldData);
1237+
12111238
// Render the field
1212-
renderBulkEditField(fieldKey, fieldData.type, fieldData.name, null);
1239+
renderBulkEditField(
1240+
fieldKey,
1241+
fieldData.type,
1242+
fieldData.name,
1243+
iconElement,
1244+
);
12131245
}
12141246
});
12151247

0 commit comments

Comments
 (0)