| 513 | * Public: inject ONLYOFFICE settings into payload (used in handleSave) |
| 514 | */ |
| 515 | export function collectOnlyOfficeSettingsForSave(payload) { |
| 516 | const ooEnabledEl = document.getElementById('ooEnabled'); |
| 517 | const ooDocsOriginEl = document.getElementById('ooDocsOrigin'); |
| 518 | const ooSecretEl = document.getElementById('ooJwtSecret'); |
| 519 | |
| 520 | const onlyoffice = { |
| 521 | enabled: !!(ooEnabledEl && ooEnabledEl.checked), |
| 522 | docsOrigin: (ooDocsOriginEl && ooDocsOriginEl.value.trim()) || '' |
| 523 | }; |
| 524 | |
| 525 | if (!window.__OO_LOCKED && ooSecretEl) { |
| 526 | const val = ooSecretEl.value.trim(); |
| 527 | const hasSaved = !!window.__HAS_OO_SECRET; |
| 528 | const shouldReplace = ooSecretEl.dataset.replace === '1' || !hasSaved; |
| 529 | if (shouldReplace && val !== '') { |
| 530 | onlyoffice.jwtSecret = val; |
| 531 | } |
| 532 | } |
| 533 | |
| 534 | payload.onlyoffice = onlyoffice; |
| 535 | return payload; |
| 536 | } |