|
139 | 139 | } |
140 | 140 | }; |
141 | 141 |
|
| 142 | + const isDockerAdvancedModeEnabled = () => { |
| 143 | + try { |
| 144 | + return typeof jq?.cookie === 'function' && jq.cookie('docker_listview_mode') == 'advanced'; |
| 145 | + } catch (_error) { |
| 146 | + return false; |
| 147 | + } |
| 148 | + }; |
| 149 | + |
142 | 150 | const escapeInlineJsSingleQuotedValue = (value) => String(value ?? '') |
143 | 151 | .replace(/\\/g, '\\\\') |
144 | 152 | .replace(/'/g, "\\'"); |
|
155 | 163 | if (entry?.update === true) { |
156 | 164 | return `<span class="orange-text folder-update-text" style="white-space:nowrap;"><i class="fa fa-flash fa-fw"></i>${escapeHtml(i18nLabel('update-ready', 'update-ready'))}</span><br><a class="exec" onclick="hideAllTips(); updateContainer('${safeContainerName}');"><span style="white-space:nowrap;"><i class="fa fa-cloud-download fa-fw"></i>${escapeHtml(i18nLabel('apply-update', 'apply-update'))}</span></a>`; |
157 | 165 | } |
158 | | - return `<span class="green-text folder-update-text"><i class="fa fa-check fa-fw"></i>${escapeHtml(i18nLabel('up-to-date', 'up-to-date'))}</span><br><a class="exec" onclick="hideAllTips(); updateContainer('${safeContainerName}');"><span style="white-space:nowrap;"><i class="fa fa-cloud-download fa-fw"></i>${escapeHtml(i18nLabel('force-update', 'force-update'))}</span></a>`; |
| 166 | + const forceUpdateHtml = isDockerAdvancedModeEnabled() |
| 167 | + ? `<br><a class="exec" onclick="hideAllTips(); updateContainer('${safeContainerName}');"><span style="white-space:nowrap;"><i class="fa fa-cloud-download fa-fw"></i>${escapeHtml(i18nLabel('force-update', 'force-update'))}</span></a>` |
| 168 | + : ''; |
| 169 | + return `<span class="green-text folder-update-text"><i class="fa fa-check fa-fw"></i>${escapeHtml(i18nLabel('up-to-date', 'up-to-date'))}</span>${forceUpdateHtml}`; |
159 | 170 | }; |
160 | 171 |
|
161 | 172 | const getDockerPreviewStatusMeta = (entry = {}) => { |
|
234 | 245 | } |
235 | 246 | }; |
236 | 247 |
|
237 | | - const findDockerFolderStorageRow = (id, containerName) => { |
| 248 | + const findDockerFolderMemberRow = (id, containerName) => { |
238 | 249 | const folderId = String(id || '').trim(); |
239 | 250 | const safeContainerName = String(containerName || '').trim(); |
240 | 251 | if (!folderId || !safeContainerName) { |
241 | 252 | return jq(); |
242 | 253 | } |
243 | | - const $rows = jq(`tr.folder-id-${folderId} div.folder-storage > tr`); |
| 254 | + const $rows = jq(`tr.folder-id-${folderId} div.folder-storage > tr, tr.folder-${folderId}-element`); |
244 | 255 | return $rows.filter((_, row) => { |
245 | 256 | const rowId = String(row?.id || '').trim(); |
246 | 257 | if (rowId === `ct-${safeContainerName}`) { |
|
297 | 308 | if (!containerName) { |
298 | 309 | return; |
299 | 310 | } |
300 | | - const $row = findDockerFolderStorageRow(id, containerName); |
| 311 | + const $row = findDockerFolderMemberRow(id, containerName); |
301 | 312 | syncDockerStorageRowStatus($row, entry); |
302 | 313 | syncDockerStorageRowUpdateColumn($row, entry); |
303 | 314 | }); |
|
0 commit comments