diff options
Diffstat (limited to 'internal/admin/static/objecteditor.js')
| -rw-r--r-- | internal/admin/static/objecteditor.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/internal/admin/static/objecteditor.js b/internal/admin/static/objecteditor.js index d45c26e..3cbb37a 100644 --- a/internal/admin/static/objecteditor.js +++ b/internal/admin/static/objecteditor.js @@ -1,6 +1,7 @@ var objectData = null; var objectID = null; var expandedCards = {}; +var cardWidths = {}; var SECTIONS = [ { @@ -220,9 +221,12 @@ function fieldIDSub(sec, subKey, idx, fieldKey) { function renderCard(sec, data) { var collapsed = expandedCards[sec.id] === false; - var h = '<div class="obj-card" data-card="' + sec.id + '">'; + var isFull = cardWidths[sec.id] !== undefined ? cardWidths[sec.id] : (sec.fullWidth || false); + var fullClass = isFull ? ' obj-card-full' : ''; + var h = '<div class="obj-card' + fullClass + '" data-card="' + sec.id + '">'; h += '<div class="obj-card-header" onclick="toggleCard(\'' + sec.id + '\')">'; h += '<span class="obj-card-arrow">' + (collapsed ? '▶' : '▼') + '</span>'; + h += '<button class="btn btn-sm obj-card-expand" onclick="event.stopPropagation();toggleCardWidth(\'' + sec.id + '\')" title="' + (isFull ? 'Half width' : 'Full width') + '">' + (isFull ? '\u229F' : '\u229E') + '</button>'; h += '<span class="obj-card-label">' + sec.label + '</span>'; if (!sec.always) { h += '<button class="btn btn-sm btn-danger obj-card-remove" onclick="event.stopPropagation();removeSection(\'' + sec.id + '\')">X</button>'; @@ -517,6 +521,11 @@ function toggleCard(id) { renderCurrent(); } +function toggleCardWidth(id) { + cardWidths[id] = !cardWidths[id]; + renderCurrent(); +} + function removeSection(id) { var sec = SECTIONS.find(function(s) { return s.id === id; }); if (!sec) return; |
