##// END OF EJS Templates
minor checkpoint cleanup...
MinRK -
Show More
@@ -224,11 +224,11 b' var IPython = (function (IPython) {'
224 this.update_restore_checkpoint(null);
224 this.update_restore_checkpoint(null);
225
225
226 $([IPython.events]).on('checkpoints_listed.Notebook', function (event, data) {
226 $([IPython.events]).on('checkpoints_listed.Notebook', function (event, data) {
227 that.update_restore_checkpoint(data);
227 that.update_restore_checkpoint(IPython.notebook.checkpoints);
228 });
228 });
229
229
230 $([IPython.events]).on('checkpoint_created.Notebook', function (event, data) {
230 $([IPython.events]).on('checkpoint_created.Notebook', function (event, data) {
231 that.update_restore_checkpoint([data]);
231 that.update_restore_checkpoint(IPython.notebook.checkpoints);
232 });
232 });
233 };
233 };
234
234
@@ -247,8 +247,7 b' var IPython = (function (IPython) {'
247 return;
247 return;
248 };
248 };
249
249
250 for (var i = 0; i < checkpoints.length; i++) {
250 checkpoints.map(function (checkpoint) {
251 var checkpoint = checkpoints[i];
252 var d = new Date(checkpoint.last_modified);
251 var d = new Date(checkpoint.last_modified);
253 ul.append(
252 ul.append(
254 $("<li/>").append(
253 $("<li/>").append(
@@ -260,7 +259,7 b' var IPython = (function (IPython) {'
260 })
259 })
261 )
260 )
262 );
261 );
263 };
262 });
264 };
263 };
265
264
266 IPython.MenuBar = MenuBar;
265 IPython.MenuBar = MenuBar;
@@ -40,6 +40,7 b' var IPython = (function (IPython) {'
40 this.metadata = {};
40 this.metadata = {};
41 this._checkpoint_after_save = false;
41 this._checkpoint_after_save = false;
42 this.last_checkpoint = null;
42 this.last_checkpoint = null;
43 this.checkpoints = [];
43 this.autosave_interval = 0;
44 this.autosave_interval = 0;
44 this.autosave_timer = null;
45 this.autosave_timer = null;
45 // autosave *at most* every two minutes
46 // autosave *at most* every two minutes
@@ -1826,9 +1827,31 b' var IPython = (function (IPython) {'
1826 };
1827 };
1827
1828
1828 /**
1829 /**
1830 * Add a checkpoint for this notebook.
1831 * for use as a callback from checkpoint creation.
1832 *
1833 * @method add_checkpoint
1834 */
1835 Notebook.prototype.add_checkpoint = function (checkpoint) {
1836 var found = false;
1837 for (var i = 0; i < this.checkpoints.length; i++) {
1838 var existing = this.checkpoints[i];
1839 if (existing.checkpoint_id == checkpoint.checkpoint_id) {
1840 found = true;
1841 this.checkpoints[i] = checkpoint;
1842 break;
1843 }
1844 }
1845 if (!found) {
1846 this.checkpoints.push(checkpoint);
1847 }
1848 this.last_checkpoint = this.checkpoints[this.checkpoints.length - 1];
1849 };
1850
1851 /**
1829 * List checkpoints for this notebook.
1852 * List checkpoints for this notebook.
1830 *
1853 *
1831 * @method list_checkpoint
1854 * @method list_checkpoints
1832 */
1855 */
1833 Notebook.prototype.list_checkpoints = function () {
1856 Notebook.prototype.list_checkpoints = function () {
1834 var url = this.baseProjectUrl() + 'notebooks/' + this.notebook_id + '/checkpoints';
1857 var url = this.baseProjectUrl() + 'notebooks/' + this.notebook_id + '/checkpoints';
@@ -1849,8 +1872,9 b' var IPython = (function (IPython) {'
1849 */
1872 */
1850 Notebook.prototype.list_checkpoints_success = function (data, status, xhr) {
1873 Notebook.prototype.list_checkpoints_success = function (data, status, xhr) {
1851 var data = $.parseJSON(data);
1874 var data = $.parseJSON(data);
1875 this.checkpoints = data;
1852 if (data.length) {
1876 if (data.length) {
1853 this.last_checkpoint = data[0];
1877 this.last_checkpoint = data[data.length - 1];
1854 } else {
1878 } else {
1855 this.last_checkpoint = null;
1879 this.last_checkpoint = null;
1856 }
1880 }
@@ -1893,7 +1917,7 b' var IPython = (function (IPython) {'
1893 */
1917 */
1894 Notebook.prototype.create_checkpoint_success = function (data, status, xhr) {
1918 Notebook.prototype.create_checkpoint_success = function (data, status, xhr) {
1895 var data = $.parseJSON(data);
1919 var data = $.parseJSON(data);
1896 this.last_checkpoint = data;
1920 this.add_checkpoint(data);
1897 $([IPython.events]).trigger('checkpoint_created.Notebook', data);
1921 $([IPython.events]).trigger('checkpoint_created.Notebook', data);
1898 };
1922 };
1899
1923
General Comments 0
You need to be logged in to leave comments. Login now