Move autosave message elements into the template
This commit is contained in:
@@ -51,11 +51,6 @@
|
|||||||
}).insertAfter(textarea);
|
}).insertAfter(textarea);
|
||||||
textarea.css('display', 'none');
|
textarea.css('display', 'none');
|
||||||
|
|
||||||
// Create a div for the autosave status message
|
|
||||||
var autoSaveMessage = document.createElement('div');
|
|
||||||
$(autoSaveMessage).addClass('div position-fixed bottom-0 left-0');
|
|
||||||
$('body').append(autoSaveMessage);
|
|
||||||
|
|
||||||
var autoSaveTimer = null;
|
var autoSaveTimer = null;
|
||||||
|
|
||||||
// NOTE: This requires the page to have only one 'gollum-editor-body'.
|
// NOTE: This requires the page to have only one 'gollum-editor-body'.
|
||||||
@@ -68,18 +63,12 @@
|
|||||||
var savedText = localStorage.getItem(storageKey);
|
var savedText = localStorage.getItem(storageKey);
|
||||||
|
|
||||||
if (savedText) {
|
if (savedText) {
|
||||||
var savedMsg = document.createElement('div');
|
$('#gollum-autorecover-button').click(function(e) {
|
||||||
var restoreButton = document.createElement('button');
|
|
||||||
$(restoreButton).addClass('btn btn-sm primary flash-action')
|
|
||||||
.text('Restore Text')
|
|
||||||
.click(function() {
|
|
||||||
editor.getSession().setValue(savedText);
|
editor.getSession().setValue(savedText);
|
||||||
$(savedMsg).remove()
|
$('#gollum-autorecover-msg')[0].hidden = true;
|
||||||
});
|
e.preventDefault();
|
||||||
$(savedMsg).addClass('flash flash-full')
|
});
|
||||||
.text('Autosaved text is available. Click the button to restore it.')
|
$('#gollum-autorecover-msg')[0].hidden = false;
|
||||||
.append(restoreButton);
|
|
||||||
$('body').prepend(savedMsg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
editor.setTheme("ace/theme/tomorrow");
|
editor.setTheme("ace/theme/tomorrow");
|
||||||
@@ -98,12 +87,12 @@
|
|||||||
clearTimeout(autoSaveTimer);
|
clearTimeout(autoSaveTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
$(autoSaveMessage).text('Saving...');
|
$('#gollum-saved-msg').text('Saving...');
|
||||||
|
|
||||||
// Wait 2 seconds, then actualy save the text to local storage
|
// Wait 2 seconds, then actualy save the text to local storage
|
||||||
autoSaveTimer = setTimeout(function() {
|
autoSaveTimer = setTimeout(function() {
|
||||||
localStorage.setItem(storageKey, editor.getSession().getValue());
|
localStorage.setItem(storageKey, editor.getSession().getValue());
|
||||||
$(autoSaveMessage).text('Saved recovery text');
|
$('#gollum-saved-msg').text('Saved recovery text');
|
||||||
}, 2000);
|
}, 2000);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -96,6 +96,10 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="gollum-autorecover-msg" class="flash flash-full" hidden>
|
||||||
|
Autosaved text is available. Click the button to restore it.
|
||||||
|
<button id="gollum-autorecover-button" class="btn btn-sm primary flash-action">Restore Text</button>
|
||||||
</div>
|
</div>
|
||||||
<textarea id="gollum-editor-body" class="form-control"
|
<textarea id="gollum-editor-body" class="form-control"
|
||||||
data-markup-lang="{{format}}" name="content" class="mousetrap">{{content}}</textarea>
|
data-markup-lang="{{format}}" name="content" class="mousetrap">{{content}}</textarea>
|
||||||
@@ -147,3 +151,4 @@
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="gollum-saved-msg" class="position-fixed bottom-0 left-0"></div>
|
||||||
|
|||||||
Reference in New Issue
Block a user