octodmin 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 486c254e24ba8ecb343d9153f8a3fa520cc6fcf9
4
- data.tar.gz: c4d51cf2c335bdeac72e50f7942c68f09b18ef40
3
+ metadata.gz: e6dccbff614863c901ad602335672cdcc78ce8c0
4
+ data.tar.gz: 0a80dcc4385350ac55e396ed454a92013a587308
5
5
  SHA512:
6
- metadata.gz: 99d6b2bc5a38721a1ce9e10f6f270cb9041baf99353ed8a3a1669252266761140f26119d0362991c782ed819c839c1f52726cf946492901286a24caf76289983
7
- data.tar.gz: de3ea218515c0c77229a62902a8848d570c4817f4b6db587e0bf312777d11b733fecd8dff3fd6cc3177b8533d29aee856a32ec79bdf7e5847d3ce0fb9ba4316e
6
+ metadata.gz: b15e6eabb46c8b065a9979e8ed03d78db4de6f39291d6f775d390a145524db1a361396aaf5fc32a44c431f22f82c4cc68328b384d8a50b04d4f8c6456cce0698
7
+ data.tar.gz: a4174ef053834d5feb939e4a95131cb34275f48fac73eea2fbd57238977ce1ac85ddc1087c078d4ec92e75a72816d6dc4bfab3fb14de7517640ce6d66ec83e51
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ v0.2.1
2
+ ------
3
+
4
+ * Bring back posts refreshing
5
+
1
6
  v0.2.0
2
7
  ------
3
8
 
@@ -1,5 +1,6 @@
1
1
  #= require jquery
2
2
  #= require jquery-serialize-object
3
+ #= require ajaxq
3
4
  #= require bootstrap
4
5
  #= require bootstrap-markdown
5
6
  #= require bootstrap.growl/bootstrap-growl
@@ -10,12 +10,12 @@
10
10
  handleSync: ->
11
11
  return if @state.loading
12
12
  @setState(loading: true)
13
- $.post("/api/syncs").always(@handleResponse).done(@handleSyncSuccess).fail(@handleError)
13
+ $.postq("default", "/api/syncs").always(@handleResponse).done(@handleSyncSuccess).fail(@handleError)
14
14
 
15
15
  handleDeploy: ->
16
16
  return if @state.loading
17
17
  @setState(loading: true)
18
- $.post("/api/deploys").always(@handleResponse).done(@handleDeploySuccess).fail(@handleError)
18
+ $.postq("default", "/api/deploys").always(@handleResponse).done(@handleDeploySuccess).fail(@handleError)
19
19
 
20
20
  handleResponse: ->
21
21
  @setState(loading: false)
@@ -10,7 +10,7 @@
10
10
  fetchPosts: ->
11
11
  return if @state.loading
12
12
  @setState(loading: true)
13
- $.get("/api/posts").always(@handleResponse).done(@handleSuccess).fail(@handleError)
13
+ $.getq("default", "/api/posts").always(@handleResponse).done(@handleSuccess).fail(@handleError)
14
14
 
15
15
  handleResponse: ->
16
16
  @setState(loading: false) if @isMounted()
@@ -23,9 +23,11 @@
23
23
 
24
24
  componentWillMount: ->
25
25
  @fetchPosts()
26
+ @timer = setInterval(@fetchPosts, 5000)
26
27
  $(document).on("fetchPosts", @fetchPosts)
27
28
 
28
29
  componentWillUnmount: ->
30
+ clearInterval(@timer)
29
31
  $(document).off("fetchPosts", @fetchPosts)
30
32
 
31
33
  render: ->
@@ -66,7 +68,7 @@
66
68
  return if @state.loading
67
69
 
68
70
  @setState(loading: true)
69
- $.post("/api/posts", @form().serialize()).always(@handleResponse).done(@handleSuccess).fail(@handleError)
71
+ $.postq("default", "/api/posts", @form().serialize()).always(@handleResponse).done(@handleSuccess).fail(@handleError)
70
72
 
71
73
  handleResponse: ->
72
74
  @setState(loading: false)
@@ -123,7 +125,7 @@
123
125
  return if @state.loading
124
126
  @setState(loading: true)
125
127
 
126
- $.ajax(type: "PATCH", url: "/api/posts/#{@props.post.identifier}/revert").
128
+ $.ajaxq("default", type: "PATCH", url: "/api/posts/#{@props.post.identifier}/revert").
127
129
  always(@handleResponse).
128
130
  done(@handleSuccess).
129
131
  fail(@handleError)
@@ -135,7 +137,7 @@
135
137
  return if @state.loading
136
138
  @setState(loading: true)
137
139
 
138
- $.ajax(type: "DELETE", url: "/api/posts/#{@props.post.identifier}").
140
+ $.ajaxq("default", type: "DELETE", url: "/api/posts/#{@props.post.identifier}").
139
141
  always(@handleResponse).
140
142
  done(@handleSuccess).
141
143
  fail(@handleError)
@@ -144,7 +146,7 @@
144
146
  return if @state.loading
145
147
  @setState(loading: true)
146
148
 
147
- $.ajax(type: "PATCH", url: "/api/posts/#{@props.post.identifier}/restore").
149
+ $.ajaxq("default", type: "PATCH", url: "/api/posts/#{@props.post.identifier}/restore").
148
150
  always(@handleResponse).
149
151
  done(@handleSuccess).
150
152
  fail(@handleError)
@@ -207,7 +209,7 @@
207
209
  fetchPost: ->
208
210
  return if @state.loading
209
211
  @setState(loading: true)
210
- $.get("/api/posts/#{@getParams().post_id}").always(@handleResponse).done(@handleSuccess).fail(@handleError)
212
+ $.getq("default", "/api/posts/#{@getParams().post_id}").always(@handleResponse).done(@handleSuccess).fail(@handleError)
211
213
 
212
214
  handleBack: (event) ->
213
215
  event.preventDefault()
@@ -219,7 +221,7 @@
219
221
  @setState(loading: true)
220
222
 
221
223
  data = @form().serializeObject()
222
- $.ajax(type: "PATCH", url: "/api/posts/#{@state.post.identifier}", data: data).
224
+ $.ajaxq("default", type: "PATCH", url: "/api/posts/#{@state.post.identifier}", data: data).
223
225
  always(@handleResponse).
224
226
  done(@handleFormSuccess).
225
227
  fail(@handleError)
@@ -27,7 +27,7 @@
27
27
  { site: null }
28
28
 
29
29
  fetchSite: ->
30
- $.get("/api/site").done(@handleSuccess).fail(@handleError)
30
+ $.getq("default", "/api/site").done(@handleSuccess).fail(@handleError)
31
31
 
32
32
  handleSuccess: (response) ->
33
33
  @setState(site: response.sites)
@@ -9357,6 +9357,152 @@ return jQuery;
9357
9357
 
9358
9358
  return FormSerializer;
9359
9359
  }));
9360
+ // AjaxQ jQuery Plugin
9361
+ // Copyright (c) 2012 Foliotek Inc.
9362
+ // MIT License
9363
+ // https://github.com/Foliotek/ajaxq
9364
+
9365
+ (function($) {
9366
+
9367
+ var queues = {};
9368
+ var activeReqs = {};
9369
+
9370
+ // Register an $.ajaxq function, which follows the $.ajax interface, but allows a queue name which will force only one request per queue to fire.
9371
+ $.ajaxq = function(qname, opts) {
9372
+
9373
+ if (typeof opts === "undefined") {
9374
+ throw ("AjaxQ: queue name is not provided");
9375
+ }
9376
+
9377
+ // Will return a Deferred promise object extended with success/error/callback, so that this function matches the interface of $.ajax
9378
+ var deferred = $.Deferred(),
9379
+ promise = deferred.promise();
9380
+
9381
+ promise.success = promise.done;
9382
+ promise.error = promise.fail;
9383
+ promise.complete = promise.always;
9384
+
9385
+ // Create a deep copy of the arguments, and enqueue this request.
9386
+ var clonedOptions = $.extend(true, {}, opts);
9387
+ enqueue(function() {
9388
+ // Send off the ajax request now that the item has been removed from the queue
9389
+ var jqXHR = $.ajax.apply(window, [clonedOptions]);
9390
+
9391
+ // Notify the returned deferred object with the correct context when the jqXHR is done or fails
9392
+ // Note that 'always' will automatically be fired once one of these are called: http://api.jquery.com/category/deferred-object/.
9393
+ jqXHR.done(function() {
9394
+ deferred.resolve.apply(this, arguments);
9395
+ });
9396
+ jqXHR.fail(function() {
9397
+ deferred.reject.apply(this, arguments);
9398
+ });
9399
+
9400
+ jqXHR.always(dequeue); // make sure to dequeue the next request AFTER the done and fail callbacks are fired
9401
+ return jqXHR;
9402
+ });
9403
+
9404
+ return promise;
9405
+
9406
+
9407
+ // If there is no queue, create an empty one and instantly process this item.
9408
+ // Otherwise, just add this item onto it for later processing.
9409
+ function enqueue(cb) {
9410
+ if (!queues[qname]) {
9411
+ queues[qname] = [];
9412
+ var xhr = cb();
9413
+ activeReqs[qname] = xhr;
9414
+ }
9415
+ else {
9416
+ queues[qname].push(cb);
9417
+ }
9418
+ }
9419
+
9420
+ // Remove the next callback from the queue and fire it off.
9421
+ // If the queue was empty (this was the last item), delete it from memory so the next one can be instantly processed.
9422
+ function dequeue() {
9423
+ if (!queues[qname]) {
9424
+ return;
9425
+ }
9426
+ var nextCallback = queues[qname].shift();
9427
+ if (nextCallback) {
9428
+ var xhr = nextCallback();
9429
+ activeReqs[qname] = xhr;
9430
+ }
9431
+ else {
9432
+ delete queues[qname];
9433
+ delete activeReqs[qname];
9434
+ }
9435
+ }
9436
+ };
9437
+
9438
+ // Register a $.postq and $.getq method to provide shortcuts for $.get and $.post
9439
+ // Copied from jQuery source to make sure the functions share the same defaults as $.get and $.post.
9440
+ $.each( [ "getq", "postq" ], function( i, method ) {
9441
+ $[ method ] = function( qname, url, data, callback, type ) {
9442
+
9443
+ if ( $.isFunction( data ) ) {
9444
+ type = type || callback;
9445
+ callback = data;
9446
+ data = undefined;
9447
+ }
9448
+
9449
+ return $.ajaxq(qname, {
9450
+ type: method === "postq" ? "post" : "get",
9451
+ url: url,
9452
+ data: data,
9453
+ success: callback,
9454
+ dataType: type
9455
+ });
9456
+ };
9457
+ });
9458
+
9459
+ var isQueueRunning = function(qname) {
9460
+ return queues.hasOwnProperty(qname);
9461
+ };
9462
+
9463
+ var isAnyQueueRunning = function() {
9464
+ for (var i in queues) {
9465
+ if (isQueueRunning(i)) return true;
9466
+ }
9467
+ return false;
9468
+ };
9469
+
9470
+ $.ajaxq.isRunning = function(qname) {
9471
+ if (qname) return isQueueRunning(qname);
9472
+ else return isAnyQueueRunning();
9473
+ };
9474
+
9475
+ $.ajaxq.getActiveRequest = function(qname) {
9476
+ if (!qname) throw ("AjaxQ: queue name is required");
9477
+
9478
+ return activeReqs[qname];
9479
+ };
9480
+
9481
+ $.ajaxq.abort = function(qname) {
9482
+ if (!qname) throw ("AjaxQ: queue name is required");
9483
+
9484
+ var current = $.ajaxq.getActiveRequest(qname);
9485
+ delete queues[qname];
9486
+ delete activeReqs[qname];
9487
+ if (current) current.abort();
9488
+ };
9489
+
9490
+ $.ajaxq.clear = function(qname) {
9491
+ if (!qname) {
9492
+ for (var i in queues) {
9493
+ if (queues.hasOwnProperty(i)) {
9494
+ queues[i] = [];
9495
+ }
9496
+ }
9497
+ }
9498
+ else {
9499
+ if (queues[qname]) {
9500
+ queues[qname] = [];
9501
+ }
9502
+ }
9503
+ };
9504
+
9505
+ })(jQuery);
9360
9506
  /*!
9361
9507
  * Bootstrap v3.3.2 (http://getbootstrap.com)
9362
9508
  * Copyright 2011-2015 Twitter, Inc.
@@ -38831,7 +38977,7 @@ define(function() {
38831
38977
  this.setState({
38832
38978
  loading: true
38833
38979
  });
38834
- return $.post("/api/syncs").always(this.handleResponse).done(this.handleSyncSuccess).fail(this.handleError);
38980
+ return $.postq("default", "/api/syncs").always(this.handleResponse).done(this.handleSyncSuccess).fail(this.handleError);
38835
38981
  },
38836
38982
  handleDeploy: function() {
38837
38983
  if (this.state.loading) {
@@ -38840,7 +38986,7 @@ define(function() {
38840
38986
  this.setState({
38841
38987
  loading: true
38842
38988
  });
38843
- return $.post("/api/deploys").always(this.handleResponse).done(this.handleDeploySuccess).fail(this.handleError);
38989
+ return $.postq("default", "/api/deploys").always(this.handleResponse).done(this.handleDeploySuccess).fail(this.handleError);
38844
38990
  },
38845
38991
  handleResponse: function() {
38846
38992
  return this.setState({
@@ -38913,7 +39059,7 @@ define(function() {
38913
39059
  this.setState({
38914
39060
  loading: true
38915
39061
  });
38916
- return $.get("/api/posts").always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39062
+ return $.getq("default", "/api/posts").always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
38917
39063
  },
38918
39064
  handleResponse: function() {
38919
39065
  if (this.isMounted()) {
@@ -38934,9 +39080,11 @@ define(function() {
38934
39080
  },
38935
39081
  componentWillMount: function() {
38936
39082
  this.fetchPosts();
39083
+ this.timer = setInterval(this.fetchPosts, 5000);
38937
39084
  return $(document).on("fetchPosts", this.fetchPosts);
38938
39085
  },
38939
39086
  componentWillUnmount: function() {
39087
+ clearInterval(this.timer);
38940
39088
  return $(document).off("fetchPosts", this.fetchPosts);
38941
39089
  },
38942
39090
  render: function() {
@@ -39002,7 +39150,7 @@ define(function() {
39002
39150
  this.setState({
39003
39151
  loading: true
39004
39152
  });
39005
- return $.post("/api/posts", this.form().serialize()).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39153
+ return $.postq("default", "/api/posts", this.form().serialize()).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39006
39154
  },
39007
39155
  handleResponse: function() {
39008
39156
  return this.setState({
@@ -39085,7 +39233,7 @@ define(function() {
39085
39233
  this.setState({
39086
39234
  loading: true
39087
39235
  });
39088
- return $.ajax({
39236
+ return $.ajaxq("default", {
39089
39237
  type: "PATCH",
39090
39238
  url: "/api/posts/" + this.props.post.identifier + "/revert"
39091
39239
  }).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
@@ -39102,7 +39250,7 @@ define(function() {
39102
39250
  this.setState({
39103
39251
  loading: true
39104
39252
  });
39105
- return $.ajax({
39253
+ return $.ajaxq("default", {
39106
39254
  type: "DELETE",
39107
39255
  url: "/api/posts/" + this.props.post.identifier
39108
39256
  }).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
@@ -39114,7 +39262,7 @@ define(function() {
39114
39262
  this.setState({
39115
39263
  loading: true
39116
39264
  });
39117
- return $.ajax({
39265
+ return $.ajaxq("default", {
39118
39266
  type: "PATCH",
39119
39267
  url: "/api/posts/" + this.props.post.identifier + "/restore"
39120
39268
  }).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
@@ -39194,7 +39342,7 @@ define(function() {
39194
39342
  this.setState({
39195
39343
  loading: true
39196
39344
  });
39197
- return $.get("/api/posts/" + (this.getParams().post_id)).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39345
+ return $.getq("default", "/api/posts/" + (this.getParams().post_id)).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39198
39346
  },
39199
39347
  handleBack: function(event) {
39200
39348
  event.preventDefault();
@@ -39210,7 +39358,7 @@ define(function() {
39210
39358
  loading: true
39211
39359
  });
39212
39360
  data = this.form().serializeObject();
39213
- return $.ajax({
39361
+ return $.ajaxq("default", {
39214
39362
  type: "PATCH",
39215
39363
  url: "/api/posts/" + this.state.post.identifier,
39216
39364
  data: data
@@ -39367,7 +39515,7 @@ define(function() {
39367
39515
  };
39368
39516
  },
39369
39517
  fetchSite: function() {
39370
- return $.get("/api/site").done(this.handleSuccess).fail(this.handleError);
39518
+ return $.getq("default", "/api/site").done(this.handleSuccess).fail(this.handleError);
39371
39519
  },
39372
39520
  handleSuccess: function(response) {
39373
39521
  this.setState({
@@ -9357,6 +9357,152 @@ return jQuery;
9357
9357
 
9358
9358
  return FormSerializer;
9359
9359
  }));
9360
+ // AjaxQ jQuery Plugin
9361
+ // Copyright (c) 2012 Foliotek Inc.
9362
+ // MIT License
9363
+ // https://github.com/Foliotek/ajaxq
9364
+
9365
+ (function($) {
9366
+
9367
+ var queues = {};
9368
+ var activeReqs = {};
9369
+
9370
+ // Register an $.ajaxq function, which follows the $.ajax interface, but allows a queue name which will force only one request per queue to fire.
9371
+ $.ajaxq = function(qname, opts) {
9372
+
9373
+ if (typeof opts === "undefined") {
9374
+ throw ("AjaxQ: queue name is not provided");
9375
+ }
9376
+
9377
+ // Will return a Deferred promise object extended with success/error/callback, so that this function matches the interface of $.ajax
9378
+ var deferred = $.Deferred(),
9379
+ promise = deferred.promise();
9380
+
9381
+ promise.success = promise.done;
9382
+ promise.error = promise.fail;
9383
+ promise.complete = promise.always;
9384
+
9385
+ // Create a deep copy of the arguments, and enqueue this request.
9386
+ var clonedOptions = $.extend(true, {}, opts);
9387
+ enqueue(function() {
9388
+ // Send off the ajax request now that the item has been removed from the queue
9389
+ var jqXHR = $.ajax.apply(window, [clonedOptions]);
9390
+
9391
+ // Notify the returned deferred object with the correct context when the jqXHR is done or fails
9392
+ // Note that 'always' will automatically be fired once one of these are called: http://api.jquery.com/category/deferred-object/.
9393
+ jqXHR.done(function() {
9394
+ deferred.resolve.apply(this, arguments);
9395
+ });
9396
+ jqXHR.fail(function() {
9397
+ deferred.reject.apply(this, arguments);
9398
+ });
9399
+
9400
+ jqXHR.always(dequeue); // make sure to dequeue the next request AFTER the done and fail callbacks are fired
9401
+ return jqXHR;
9402
+ });
9403
+
9404
+ return promise;
9405
+
9406
+
9407
+ // If there is no queue, create an empty one and instantly process this item.
9408
+ // Otherwise, just add this item onto it for later processing.
9409
+ function enqueue(cb) {
9410
+ if (!queues[qname]) {
9411
+ queues[qname] = [];
9412
+ var xhr = cb();
9413
+ activeReqs[qname] = xhr;
9414
+ }
9415
+ else {
9416
+ queues[qname].push(cb);
9417
+ }
9418
+ }
9419
+
9420
+ // Remove the next callback from the queue and fire it off.
9421
+ // If the queue was empty (this was the last item), delete it from memory so the next one can be instantly processed.
9422
+ function dequeue() {
9423
+ if (!queues[qname]) {
9424
+ return;
9425
+ }
9426
+ var nextCallback = queues[qname].shift();
9427
+ if (nextCallback) {
9428
+ var xhr = nextCallback();
9429
+ activeReqs[qname] = xhr;
9430
+ }
9431
+ else {
9432
+ delete queues[qname];
9433
+ delete activeReqs[qname];
9434
+ }
9435
+ }
9436
+ };
9437
+
9438
+ // Register a $.postq and $.getq method to provide shortcuts for $.get and $.post
9439
+ // Copied from jQuery source to make sure the functions share the same defaults as $.get and $.post.
9440
+ $.each( [ "getq", "postq" ], function( i, method ) {
9441
+ $[ method ] = function( qname, url, data, callback, type ) {
9442
+
9443
+ if ( $.isFunction( data ) ) {
9444
+ type = type || callback;
9445
+ callback = data;
9446
+ data = undefined;
9447
+ }
9448
+
9449
+ return $.ajaxq(qname, {
9450
+ type: method === "postq" ? "post" : "get",
9451
+ url: url,
9452
+ data: data,
9453
+ success: callback,
9454
+ dataType: type
9455
+ });
9456
+ };
9457
+ });
9458
+
9459
+ var isQueueRunning = function(qname) {
9460
+ return queues.hasOwnProperty(qname);
9461
+ };
9462
+
9463
+ var isAnyQueueRunning = function() {
9464
+ for (var i in queues) {
9465
+ if (isQueueRunning(i)) return true;
9466
+ }
9467
+ return false;
9468
+ };
9469
+
9470
+ $.ajaxq.isRunning = function(qname) {
9471
+ if (qname) return isQueueRunning(qname);
9472
+ else return isAnyQueueRunning();
9473
+ };
9474
+
9475
+ $.ajaxq.getActiveRequest = function(qname) {
9476
+ if (!qname) throw ("AjaxQ: queue name is required");
9477
+
9478
+ return activeReqs[qname];
9479
+ };
9480
+
9481
+ $.ajaxq.abort = function(qname) {
9482
+ if (!qname) throw ("AjaxQ: queue name is required");
9483
+
9484
+ var current = $.ajaxq.getActiveRequest(qname);
9485
+ delete queues[qname];
9486
+ delete activeReqs[qname];
9487
+ if (current) current.abort();
9488
+ };
9489
+
9490
+ $.ajaxq.clear = function(qname) {
9491
+ if (!qname) {
9492
+ for (var i in queues) {
9493
+ if (queues.hasOwnProperty(i)) {
9494
+ queues[i] = [];
9495
+ }
9496
+ }
9497
+ }
9498
+ else {
9499
+ if (queues[qname]) {
9500
+ queues[qname] = [];
9501
+ }
9502
+ }
9503
+ };
9504
+
9505
+ })(jQuery);
9360
9506
  /*!
9361
9507
  * Bootstrap v3.3.2 (http://getbootstrap.com)
9362
9508
  * Copyright 2011-2015 Twitter, Inc.
@@ -38831,7 +38977,7 @@ define(function() {
38831
38977
  this.setState({
38832
38978
  loading: true
38833
38979
  });
38834
- return $.post("/api/syncs").always(this.handleResponse).done(this.handleSyncSuccess).fail(this.handleError);
38980
+ return $.postq("default", "/api/syncs").always(this.handleResponse).done(this.handleSyncSuccess).fail(this.handleError);
38835
38981
  },
38836
38982
  handleDeploy: function() {
38837
38983
  if (this.state.loading) {
@@ -38840,7 +38986,7 @@ define(function() {
38840
38986
  this.setState({
38841
38987
  loading: true
38842
38988
  });
38843
- return $.post("/api/deploys").always(this.handleResponse).done(this.handleDeploySuccess).fail(this.handleError);
38989
+ return $.postq("default", "/api/deploys").always(this.handleResponse).done(this.handleDeploySuccess).fail(this.handleError);
38844
38990
  },
38845
38991
  handleResponse: function() {
38846
38992
  return this.setState({
@@ -38913,7 +39059,7 @@ define(function() {
38913
39059
  this.setState({
38914
39060
  loading: true
38915
39061
  });
38916
- return $.get("/api/posts").always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39062
+ return $.getq("default", "/api/posts").always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
38917
39063
  },
38918
39064
  handleResponse: function() {
38919
39065
  if (this.isMounted()) {
@@ -38934,9 +39080,11 @@ define(function() {
38934
39080
  },
38935
39081
  componentWillMount: function() {
38936
39082
  this.fetchPosts();
39083
+ this.timer = setInterval(this.fetchPosts, 5000);
38937
39084
  return $(document).on("fetchPosts", this.fetchPosts);
38938
39085
  },
38939
39086
  componentWillUnmount: function() {
39087
+ clearInterval(this.timer);
38940
39088
  return $(document).off("fetchPosts", this.fetchPosts);
38941
39089
  },
38942
39090
  render: function() {
@@ -39002,7 +39150,7 @@ define(function() {
39002
39150
  this.setState({
39003
39151
  loading: true
39004
39152
  });
39005
- return $.post("/api/posts", this.form().serialize()).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39153
+ return $.postq("default", "/api/posts", this.form().serialize()).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39006
39154
  },
39007
39155
  handleResponse: function() {
39008
39156
  return this.setState({
@@ -39085,7 +39233,7 @@ define(function() {
39085
39233
  this.setState({
39086
39234
  loading: true
39087
39235
  });
39088
- return $.ajax({
39236
+ return $.ajaxq("default", {
39089
39237
  type: "PATCH",
39090
39238
  url: "/api/posts/" + this.props.post.identifier + "/revert"
39091
39239
  }).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
@@ -39102,7 +39250,7 @@ define(function() {
39102
39250
  this.setState({
39103
39251
  loading: true
39104
39252
  });
39105
- return $.ajax({
39253
+ return $.ajaxq("default", {
39106
39254
  type: "DELETE",
39107
39255
  url: "/api/posts/" + this.props.post.identifier
39108
39256
  }).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
@@ -39114,7 +39262,7 @@ define(function() {
39114
39262
  this.setState({
39115
39263
  loading: true
39116
39264
  });
39117
- return $.ajax({
39265
+ return $.ajaxq("default", {
39118
39266
  type: "PATCH",
39119
39267
  url: "/api/posts/" + this.props.post.identifier + "/restore"
39120
39268
  }).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
@@ -39194,7 +39342,7 @@ define(function() {
39194
39342
  this.setState({
39195
39343
  loading: true
39196
39344
  });
39197
- return $.get("/api/posts/" + (this.getParams().post_id)).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39345
+ return $.getq("default", "/api/posts/" + (this.getParams().post_id)).always(this.handleResponse).done(this.handleSuccess).fail(this.handleError);
39198
39346
  },
39199
39347
  handleBack: function(event) {
39200
39348
  event.preventDefault();
@@ -39210,7 +39358,7 @@ define(function() {
39210
39358
  loading: true
39211
39359
  });
39212
39360
  data = this.form().serializeObject();
39213
- return $.ajax({
39361
+ return $.ajaxq("default", {
39214
39362
  type: "PATCH",
39215
39363
  url: "/api/posts/" + this.state.post.identifier,
39216
39364
  data: data
@@ -39367,7 +39515,7 @@ define(function() {
39367
39515
  };
39368
39516
  },
39369
39517
  fetchSite: function() {
39370
- return $.get("/api/site").done(this.handleSuccess).fail(this.handleError);
39518
+ return $.getq("default", "/api/site").done(this.handleSuccess).fail(this.handleError);
39371
39519
  },
39372
39520
  handleSuccess: function(response) {
39373
39521
  this.setState({
@@ -1 +1 @@
1
- {"files":{"app.css":{"logical_path":"app.css","mtime":"2015-02-11T23:55:40+02:00","size":193828,"digest":"bf2d3732bdb396414ff50681cdb6eec010ccbb351d86a4ea62d79a4606fddd0e","integrity":"ni:///sha-256;vy03Mr2zlkFP9QaBzbbuwBDMuzUdhqTqYteaRgb93Q4?ct=text/css"},"app.js":{"logical_path":"app.js","mtime":"2015-02-12T00:05:10+02:00","size":1175017,"digest":"b2ae267d1dfffe42e59bc4c800d2fd431c0993934e7c806fb0aa39841b672e4b","integrity":"ni:///sha-256;sq4mfR3__kLlm8TIANL9QxwJk5NOfIBvsKo5hBtnLks?ct=application/javascript"},"bootstrap/dist/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.eot","mtime":"2015-01-19T19:03:09+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootstrap/dist/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.svg","mtime":"2015-01-19T19:03:09+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootstrap/dist/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.ttf","mtime":"2015-01-19T19:03:09+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootstrap/dist/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff","mtime":"2015-01-19T19:03:09+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootstrap/dist/fonts/glyphicons-halflings-regular.woff2":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff2","mtime":"2015-01-19T19:03:09+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootstrap/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.eot","mtime":"2015-01-19T19:03:09+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootstrap/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.svg","mtime":"2015-01-19T19:03:09+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootstrap/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.ttf","mtime":"2015-01-19T19:03:09+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootstrap/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.woff","mtime":"2015-01-19T19:03:09+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootstrap/fonts/glyphicons-halflings-regular.woff2":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.woff2","mtime":"2015-01-19T19:03:09+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot","mtime":"2015-01-20T02:56:26+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg","mtime":"2015-01-20T02:56:26+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf","mtime":"2015-01-20T02:56:26+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff","mtime":"2015-01-20T02:56:26+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2","mtime":"2015-01-20T02:56:26+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootswatch/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.eot","mtime":"2015-01-23T05:42:19+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootswatch/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.svg","mtime":"2015-01-23T05:42:19+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootswatch/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.ttf","mtime":"2015-01-23T05:42:19+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootswatch/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.woff","mtime":"2015-01-23T05:42:19+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootswatch/fonts/glyphicons-halflings-regular.woff2":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.woff2","mtime":"2015-01-23T05:42:19+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootswatch-dist/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.eot","mtime":"2014-11-05T11:34:11+02:00","size":20335,"digest":"f495f34e4f177cf0115af995bbbfeb3fcabc88502876e76fc51a4ab439bc8431","integrity":"ni:///sha-256;9JXzTk8XfPARWvmVu7_rP8q8iFAodudvxRpKtDm8hDE?ct=application/vnd.ms-fontobject"},"bootswatch-dist/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.svg","mtime":"2014-11-05T11:34:11+02:00","size":62926,"digest":"5d234508037dc13a419ef6ce48f3fc73dbb477f1a162c052b872182b494e626e","integrity":"ni:///sha-256;XSNFCAN9wTpBnvbOSPP8c9u0d_GhYsBSuHIYK0lOYm4?ct=image/svg+xml"},"bootswatch-dist/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.ttf","mtime":"2014-11-05T11:34:11+02:00","size":41280,"digest":"bd18efd3efd70fec8ad09611a20cdbf99440b2c1d40085c29be036f891d65358","integrity":"ni:///sha-256;vRjv0-_XD-yK0JYRogzb-ZRAssHUAIXCm-A2-JHWU1g?ct=application/x-font-ttf"},"bootswatch-dist/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.woff","mtime":"2014-11-05T11:34:11+02:00","size":23320,"digest":"fc969dc1c6ff531abcf368089dcbaf5775133b0626ff56b52301a059fc0f9e1e","integrity":"ni:///sha-256;_Jadwcb_Uxq882gIncuvV3UTOwYm_1a1IwGgWfwPnh4?ct=application/font-woff"},"fontawesome/fonts/fontawesome-webfont.eot":{"logical_path":"fontawesome/fonts/fontawesome-webfont.eot","mtime":"2015-01-22T20:09:42+02:00","size":60767,"digest":"cbb644d0ee730ea57dd5fbae35ef5ba4a41d57a254a6b1215de5c9ff8a321c2d","integrity":"ni:///sha-256;y7ZE0O5zDqV91fuuNe9bpKQdV6JUprEhXeXJ_4oyHC0?ct=application/vnd.ms-fontobject"},"fontawesome/fonts/fontawesome-webfont.svg":{"logical_path":"fontawesome/fonts/fontawesome-webfont.svg","mtime":"2015-01-22T20:09:42+02:00","size":313398,"digest":"bfdef833219a6edffd9c3cbc28db72739d22bb4d20cc2e2f8d56a7a4d408a206","integrity":"ni:///sha-256;v974MyGabt_9nDy8KNtyc50iu00gzC4vjVanpNQIogY?ct=image/svg+xml"},"fontawesome/fonts/fontawesome-webfont.ttf":{"logical_path":"fontawesome/fonts/fontawesome-webfont.ttf","mtime":"2015-01-22T20:09:42+02:00","size":122092,"digest":"9e540a087924a6e64790149d735cac022640e4fa6bff6bd65f5e9f41529bf0b3","integrity":"ni:///sha-256;nlQKCHkkpuZHkBSdc1ysAiZA5Ppr_2vWX16fQVKb8LM?ct=application/x-font-ttf"},"fontawesome/fonts/fontawesome-webfont.woff":{"logical_path":"fontawesome/fonts/fontawesome-webfont.woff","mtime":"2015-01-22T20:09:42+02:00","size":71508,"digest":"e3870de89716b72cb61a4bba0e17c75783b361cdaba35ea96961c3070bd8ca18","integrity":"ni:///sha-256;44cN6JcWtyy2Gku6DhfHV4OzYc2ro16paWHDBwvYyhg?ct=application/font-woff"},"fontawesome/fonts/fontawesome-webfont.woff2":{"logical_path":"fontawesome/fonts/fontawesome-webfont.woff2","mtime":"2015-01-22T20:09:42+02:00","size":56780,"digest":"aadc3580d2b64ff5a7e6f1425587db4e8b033efcbf8f5c332ca52a5ed580c87c","integrity":"ni:///sha-256;qtw1gNK2T_Wn5vFCVYfbTosDPvy_j1wzLKUqXtWAyHw"}},"assets":{"app.css":"app.css","app.js":"app.js","bootstrap/dist/fonts/glyphicons-halflings-regular.eot":"bootstrap/dist/fonts/glyphicons-halflings-regular.eot","bootstrap/dist/fonts/glyphicons-halflings-regular.svg":"bootstrap/dist/fonts/glyphicons-halflings-regular.svg","bootstrap/dist/fonts/glyphicons-halflings-regular.ttf":"bootstrap/dist/fonts/glyphicons-halflings-regular.ttf","bootstrap/dist/fonts/glyphicons-halflings-regular.woff":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff","bootstrap/dist/fonts/glyphicons-halflings-regular.woff2":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff2","bootstrap/fonts/glyphicons-halflings-regular.eot":"bootstrap/fonts/glyphicons-halflings-regular.eot","bootstrap/fonts/glyphicons-halflings-regular.svg":"bootstrap/fonts/glyphicons-halflings-regular.svg","bootstrap/fonts/glyphicons-halflings-regular.ttf":"bootstrap/fonts/glyphicons-halflings-regular.ttf","bootstrap/fonts/glyphicons-halflings-regular.woff":"bootstrap/fonts/glyphicons-halflings-regular.woff","bootstrap/fonts/glyphicons-halflings-regular.woff2":"bootstrap/fonts/glyphicons-halflings-regular.woff2","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2","bootswatch/fonts/glyphicons-halflings-regular.eot":"bootswatch/fonts/glyphicons-halflings-regular.eot","bootswatch/fonts/glyphicons-halflings-regular.svg":"bootswatch/fonts/glyphicons-halflings-regular.svg","bootswatch/fonts/glyphicons-halflings-regular.ttf":"bootswatch/fonts/glyphicons-halflings-regular.ttf","bootswatch/fonts/glyphicons-halflings-regular.woff":"bootswatch/fonts/glyphicons-halflings-regular.woff","bootswatch/fonts/glyphicons-halflings-regular.woff2":"bootswatch/fonts/glyphicons-halflings-regular.woff2","bootswatch-dist/fonts/glyphicons-halflings-regular.eot":"bootswatch-dist/fonts/glyphicons-halflings-regular.eot","bootswatch-dist/fonts/glyphicons-halflings-regular.svg":"bootswatch-dist/fonts/glyphicons-halflings-regular.svg","bootswatch-dist/fonts/glyphicons-halflings-regular.ttf":"bootswatch-dist/fonts/glyphicons-halflings-regular.ttf","bootswatch-dist/fonts/glyphicons-halflings-regular.woff":"bootswatch-dist/fonts/glyphicons-halflings-regular.woff","fontawesome/fonts/fontawesome-webfont.eot":"fontawesome/fonts/fontawesome-webfont.eot","fontawesome/fonts/fontawesome-webfont.svg":"fontawesome/fonts/fontawesome-webfont.svg","fontawesome/fonts/fontawesome-webfont.ttf":"fontawesome/fonts/fontawesome-webfont.ttf","fontawesome/fonts/fontawesome-webfont.woff":"fontawesome/fonts/fontawesome-webfont.woff","fontawesome/fonts/fontawesome-webfont.woff2":"fontawesome/fonts/fontawesome-webfont.woff2"}}
1
+ {"files":{"app.css":{"logical_path":"app.css","mtime":"2015-02-11T23:55:40+02:00","size":193828,"digest":"bf2d3732bdb396414ff50681cdb6eec010ccbb351d86a4ea62d79a4606fddd0e","integrity":"ni:///sha-256;vy03Mr2zlkFP9QaBzbbuwBDMuzUdhqTqYteaRgb93Q4?ct=text/css"},"app.js":{"logical_path":"app.js","mtime":"2015-02-12T21:59:01+02:00","size":1179952,"digest":"2deb4ab30ef8c2bfc9b5ebce96416127ebaa569b9f6ef6686c68f85f9feb31af","integrity":"ni:///sha-256;LetKsw74wr_JtevOlkFhJ-uqVpufbvZobGj4X5_rMa8?ct=application/javascript"},"bootstrap/dist/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.eot","mtime":"2015-01-19T19:03:09+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootstrap/dist/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.svg","mtime":"2015-01-19T19:03:09+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootstrap/dist/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.ttf","mtime":"2015-01-19T19:03:09+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootstrap/dist/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff","mtime":"2015-01-19T19:03:09+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootstrap/dist/fonts/glyphicons-halflings-regular.woff2":{"logical_path":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff2","mtime":"2015-01-19T19:03:09+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootstrap/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.eot","mtime":"2015-01-19T19:03:09+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootstrap/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.svg","mtime":"2015-01-19T19:03:09+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootstrap/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.ttf","mtime":"2015-01-19T19:03:09+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootstrap/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.woff","mtime":"2015-01-19T19:03:09+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootstrap/fonts/glyphicons-halflings-regular.woff2":{"logical_path":"bootstrap/fonts/glyphicons-halflings-regular.woff2","mtime":"2015-01-19T19:03:09+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot","mtime":"2015-01-20T02:56:26+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg","mtime":"2015-01-20T02:56:26+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf","mtime":"2015-01-20T02:56:26+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff","mtime":"2015-01-20T02:56:26+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2":{"logical_path":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2","mtime":"2015-01-20T02:56:26+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootswatch/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.eot","mtime":"2015-01-23T05:42:19+02:00","size":20127,"digest":"13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407","integrity":"ni:///sha-256;E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc?ct=application/vnd.ms-fontobject"},"bootswatch/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.svg","mtime":"2015-01-23T05:42:19+02:00","size":108738,"digest":"42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5","integrity":"ni:///sha-256;QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U?ct=image/svg+xml"},"bootswatch/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.ttf","mtime":"2015-01-23T05:42:19+02:00","size":45404,"digest":"e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456","integrity":"ni:///sha-256;45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY?ct=application/x-font-ttf"},"bootswatch/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.woff","mtime":"2015-01-23T05:42:19+02:00","size":23424,"digest":"a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742","integrity":"ni:///sha-256;omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I?ct=application/font-woff"},"bootswatch/fonts/glyphicons-halflings-regular.woff2":{"logical_path":"bootswatch/fonts/glyphicons-halflings-regular.woff2","mtime":"2015-01-23T05:42:19+02:00","size":18028,"digest":"fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c","integrity":"ni:///sha-256;_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw"},"bootswatch-dist/fonts/glyphicons-halflings-regular.eot":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.eot","mtime":"2014-11-05T11:34:11+02:00","size":20335,"digest":"f495f34e4f177cf0115af995bbbfeb3fcabc88502876e76fc51a4ab439bc8431","integrity":"ni:///sha-256;9JXzTk8XfPARWvmVu7_rP8q8iFAodudvxRpKtDm8hDE?ct=application/vnd.ms-fontobject"},"bootswatch-dist/fonts/glyphicons-halflings-regular.svg":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.svg","mtime":"2014-11-05T11:34:11+02:00","size":62926,"digest":"5d234508037dc13a419ef6ce48f3fc73dbb477f1a162c052b872182b494e626e","integrity":"ni:///sha-256;XSNFCAN9wTpBnvbOSPP8c9u0d_GhYsBSuHIYK0lOYm4?ct=image/svg+xml"},"bootswatch-dist/fonts/glyphicons-halflings-regular.ttf":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.ttf","mtime":"2014-11-05T11:34:11+02:00","size":41280,"digest":"bd18efd3efd70fec8ad09611a20cdbf99440b2c1d40085c29be036f891d65358","integrity":"ni:///sha-256;vRjv0-_XD-yK0JYRogzb-ZRAssHUAIXCm-A2-JHWU1g?ct=application/x-font-ttf"},"bootswatch-dist/fonts/glyphicons-halflings-regular.woff":{"logical_path":"bootswatch-dist/fonts/glyphicons-halflings-regular.woff","mtime":"2014-11-05T11:34:11+02:00","size":23320,"digest":"fc969dc1c6ff531abcf368089dcbaf5775133b0626ff56b52301a059fc0f9e1e","integrity":"ni:///sha-256;_Jadwcb_Uxq882gIncuvV3UTOwYm_1a1IwGgWfwPnh4?ct=application/font-woff"},"fontawesome/fonts/fontawesome-webfont.eot":{"logical_path":"fontawesome/fonts/fontawesome-webfont.eot","mtime":"2015-01-22T20:09:42+02:00","size":60767,"digest":"cbb644d0ee730ea57dd5fbae35ef5ba4a41d57a254a6b1215de5c9ff8a321c2d","integrity":"ni:///sha-256;y7ZE0O5zDqV91fuuNe9bpKQdV6JUprEhXeXJ_4oyHC0?ct=application/vnd.ms-fontobject"},"fontawesome/fonts/fontawesome-webfont.svg":{"logical_path":"fontawesome/fonts/fontawesome-webfont.svg","mtime":"2015-01-22T20:09:42+02:00","size":313398,"digest":"bfdef833219a6edffd9c3cbc28db72739d22bb4d20cc2e2f8d56a7a4d408a206","integrity":"ni:///sha-256;v974MyGabt_9nDy8KNtyc50iu00gzC4vjVanpNQIogY?ct=image/svg+xml"},"fontawesome/fonts/fontawesome-webfont.ttf":{"logical_path":"fontawesome/fonts/fontawesome-webfont.ttf","mtime":"2015-01-22T20:09:42+02:00","size":122092,"digest":"9e540a087924a6e64790149d735cac022640e4fa6bff6bd65f5e9f41529bf0b3","integrity":"ni:///sha-256;nlQKCHkkpuZHkBSdc1ysAiZA5Ppr_2vWX16fQVKb8LM?ct=application/x-font-ttf"},"fontawesome/fonts/fontawesome-webfont.woff":{"logical_path":"fontawesome/fonts/fontawesome-webfont.woff","mtime":"2015-01-22T20:09:42+02:00","size":71508,"digest":"e3870de89716b72cb61a4bba0e17c75783b361cdaba35ea96961c3070bd8ca18","integrity":"ni:///sha-256;44cN6JcWtyy2Gku6DhfHV4OzYc2ro16paWHDBwvYyhg?ct=application/font-woff"},"fontawesome/fonts/fontawesome-webfont.woff2":{"logical_path":"fontawesome/fonts/fontawesome-webfont.woff2","mtime":"2015-01-22T20:09:42+02:00","size":56780,"digest":"aadc3580d2b64ff5a7e6f1425587db4e8b033efcbf8f5c332ca52a5ed580c87c","integrity":"ni:///sha-256;qtw1gNK2T_Wn5vFCVYfbTosDPvy_j1wzLKUqXtWAyHw"}},"assets":{"app.css":"app.css","app.js":"app.js","bootstrap/dist/fonts/glyphicons-halflings-regular.eot":"bootstrap/dist/fonts/glyphicons-halflings-regular.eot","bootstrap/dist/fonts/glyphicons-halflings-regular.svg":"bootstrap/dist/fonts/glyphicons-halflings-regular.svg","bootstrap/dist/fonts/glyphicons-halflings-regular.ttf":"bootstrap/dist/fonts/glyphicons-halflings-regular.ttf","bootstrap/dist/fonts/glyphicons-halflings-regular.woff":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff","bootstrap/dist/fonts/glyphicons-halflings-regular.woff2":"bootstrap/dist/fonts/glyphicons-halflings-regular.woff2","bootstrap/fonts/glyphicons-halflings-regular.eot":"bootstrap/fonts/glyphicons-halflings-regular.eot","bootstrap/fonts/glyphicons-halflings-regular.svg":"bootstrap/fonts/glyphicons-halflings-regular.svg","bootstrap/fonts/glyphicons-halflings-regular.ttf":"bootstrap/fonts/glyphicons-halflings-regular.ttf","bootstrap/fonts/glyphicons-halflings-regular.woff":"bootstrap/fonts/glyphicons-halflings-regular.woff","bootstrap/fonts/glyphicons-halflings-regular.woff2":"bootstrap/fonts/glyphicons-halflings-regular.woff2","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff","bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2":"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2","bootswatch/fonts/glyphicons-halflings-regular.eot":"bootswatch/fonts/glyphicons-halflings-regular.eot","bootswatch/fonts/glyphicons-halflings-regular.svg":"bootswatch/fonts/glyphicons-halflings-regular.svg","bootswatch/fonts/glyphicons-halflings-regular.ttf":"bootswatch/fonts/glyphicons-halflings-regular.ttf","bootswatch/fonts/glyphicons-halflings-regular.woff":"bootswatch/fonts/glyphicons-halflings-regular.woff","bootswatch/fonts/glyphicons-halflings-regular.woff2":"bootswatch/fonts/glyphicons-halflings-regular.woff2","bootswatch-dist/fonts/glyphicons-halflings-regular.eot":"bootswatch-dist/fonts/glyphicons-halflings-regular.eot","bootswatch-dist/fonts/glyphicons-halflings-regular.svg":"bootswatch-dist/fonts/glyphicons-halflings-regular.svg","bootswatch-dist/fonts/glyphicons-halflings-regular.ttf":"bootswatch-dist/fonts/glyphicons-halflings-regular.ttf","bootswatch-dist/fonts/glyphicons-halflings-regular.woff":"bootswatch-dist/fonts/glyphicons-halflings-regular.woff","fontawesome/fonts/fontawesome-webfont.eot":"fontawesome/fonts/fontawesome-webfont.eot","fontawesome/fonts/fontawesome-webfont.svg":"fontawesome/fonts/fontawesome-webfont.svg","fontawesome/fonts/fontawesome-webfont.ttf":"fontawesome/fonts/fontawesome-webfont.ttf","fontawesome/fonts/fontawesome-webfont.woff":"fontawesome/fonts/fontawesome-webfont.woff","fontawesome/fonts/fontawesome-webfont.woff2":"fontawesome/fonts/fontawesome-webfont.woff2"}}
data/bower.json CHANGED
@@ -3,6 +3,7 @@
3
3
  "dependencies": {
4
4
  "jquery": "~2.1.3",
5
5
  "jquery-serialize-object": "~2.4.5",
6
+ "ajaxq": "~0.0.2",
6
7
  "bootstrap-sass": "~3.3.2",
7
8
  "bootstrap-markdown": "~2.8.0",
8
9
  "bootstrap.growl": "~2.0.1",
@@ -1,3 +1,3 @@
1
1
  module Octodmin
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octodmin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Krasnoukhov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-11 00:00:00.000000000 Z
11
+ date: 2015-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octopress