octodmin 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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