Reset all share modal fields after creating a link
Create only cleared the label; scope type, user email, date range, and expiry carried over, so the next link silently inherited the previous link's scope. Extracted openShareModal's reset logic into _resetShareForm() and call it after every successful create. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
d4cf2db347
commit
9cbd93e1f5
@ -9,6 +9,10 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- **Share modal kept stale input after creating a link** — clicking "Create" only cleared the label field; scope type, user email, date range, and expiry kept their values, so the next link silently inherited the previous link's scope settings. The form-reset logic from `openShareModal()` is now a shared `_resetShareForm()` helper called after every successful create (the generated link row stays visible for copying).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## [1.7.3] — 2026-06-10
|
## [1.7.3] — 2026-06-10
|
||||||
|
|||||||
@ -138,9 +138,7 @@ function _shareScopeTypeChanged() {
|
|||||||
if (type === 'user') _initUserAutocomplete();
|
if (type === 'user') _initUserAutocomplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
function openShareModal() {
|
function _resetShareForm() {
|
||||||
document.getElementById('shareBackdrop').classList.add('open');
|
|
||||||
document.getElementById('shareNewLinkRow').style.display = 'none';
|
|
||||||
document.getElementById('shareLabel').value = '';
|
document.getElementById('shareLabel').value = '';
|
||||||
document.getElementById('shareExpiry').value = '30';
|
document.getElementById('shareExpiry').value = '30';
|
||||||
const scopeType = document.getElementById('shareScopeType');
|
const scopeType = document.getElementById('shareScopeType');
|
||||||
@ -152,6 +150,12 @@ function openShareModal() {
|
|||||||
if (scopeDrop) scopeDrop.style.display = 'none';
|
if (scopeDrop) scopeDrop.style.display = 'none';
|
||||||
const vf = document.getElementById('shareValidFrom'); if (vf) vf.value = '';
|
const vf = document.getElementById('shareValidFrom'); if (vf) vf.value = '';
|
||||||
const vt = document.getElementById('shareValidTo'); if (vt) vt.value = '';
|
const vt = document.getElementById('shareValidTo'); if (vt) vt.value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function openShareModal() {
|
||||||
|
document.getElementById('shareBackdrop').classList.add('open');
|
||||||
|
document.getElementById('shareNewLinkRow').style.display = 'none';
|
||||||
|
_resetShareForm();
|
||||||
_renderTokenList();
|
_renderTokenList();
|
||||||
fetch('/api/viewer/pin').then(function(r){ return r.json(); }).then(function(d) {
|
fetch('/api/viewer/pin').then(function(r){ return r.json(); }).then(function(d) {
|
||||||
const el = document.getElementById('sharePinStatus');
|
const el = document.getElementById('sharePinStatus');
|
||||||
@ -265,7 +269,7 @@ async function createShareLink() {
|
|||||||
urlInput.value = url;
|
urlInput.value = url;
|
||||||
document.getElementById('shareNewLinkRow').style.display = 'block';
|
document.getElementById('shareNewLinkRow').style.display = 'block';
|
||||||
document.getElementById('shareCopyBtn').textContent = t('log_copy', 'Copy');
|
document.getElementById('shareCopyBtn').textContent = t('log_copy', 'Copy');
|
||||||
document.getElementById('shareLabel').value = '';
|
_resetShareForm();
|
||||||
_renderTokenList();
|
_renderTokenList();
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
alert(t('share_create_error', 'Failed to create link:') + ' ' + e.message);
|
alert(t('share_create_error', 'Failed to create link:') + ' ' + e.message);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user