kolo 0.7.4 → 0.7.5

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: f11a1fad0faa20c43e1f9d24a3970bdb6025334c
4
- data.tar.gz: 167a7cabd6bf309f4da3fb4972af8a05f8846b13
3
+ metadata.gz: 815e3cfa44528e4161d5b7c3062a2841a8d26e83
4
+ data.tar.gz: 0ad89b57b234a8247308130d23fe7724cb6209ca
5
5
  SHA512:
6
- metadata.gz: beb96fe892abad884b1a9d9a9789e8c2a385adf16365b5dca5e899623d8d1dcf75dc0e1d3a1a99db7069fc2cc32fa90d97d44859a2af04cd0631cf0161bbaea3
7
- data.tar.gz: 7423844f03e82df8308631fe48a9ed538b9517160f405eb44bbe0b32899ec10ce1b47b22e6d9d106fdef680bc00882c443c7771672444163b93b088a6873c93a
6
+ metadata.gz: d4060afefac33df13885bce036c0d8cd083ad1467ce6957600d71faa5ffac5a8c4bd51568d0c1a4fd89d2b5f48991988004a684db468f15b6d01bf7ab42810aa
7
+ data.tar.gz: 813f971c819a4fef350da2fef7c7939f71a4c03e7a3595d61081f40f8ddcef0bd5b4284ec69746edc4e7f310cc0efcd3bb869c96874a6ac1a51877e3419f8d8c
@@ -221,6 +221,40 @@ ko.bindingHandlers.wysiwyg =
221
221
  ko.bindingHandlers.value.update element, valueAccessor
222
222
  $(element).attr('data-edit-in-progress', 'false')
223
223
 
224
+ ko.bindingHandlers.date =
225
+ init: (element, valueAccessor, allBindingsAccessor)->
226
+ options = allBindingsAccessor().datepickerOptions || {}
227
+ options.dateFormat ||= 'yy-mm-dd'
228
+
229
+ $(element).datepicker(options)
230
+ $(element).on 'change', (evt)->
231
+ observable = valueAccessor()
232
+ observable $(element).datepicker('getDate')
233
+
234
+ ko.utils.domNodeDisposal.addDisposeCallback element, ->
235
+ $(element).datepicker('destroy')
236
+
237
+ update: (element, valueAccessor)->
238
+ value = ko.utils.unwrapObservable(valueAccessor())
239
+ parsed = $.datepicker.parseDate 'yy-mm-dd', value
240
+ $(element).datepicker('setDate', parsed)
241
+
242
+ ko.bindingHandlers.slider =
243
+ init: (element, valueAccessor, allBindingsAccessor)->
244
+ options = allBindingsAccessor().sliderOptions || {}
245
+
246
+ $(element).slider(options)
247
+ $(element).on 'change', (evt)->
248
+ observable = valueAccessor()
249
+ observable $(element).slider('value')
250
+
251
+ ko.utils.domNodeDisposal.addDisposeCallback element, ->
252
+ $(element).slider('destroy')
253
+
254
+ update: (element, valueAccessor)->
255
+ value = ko.utils.unwrapObservable(valueAccessor())
256
+ $(element).slider('value', value)
257
+
224
258
  ko.bindingHandlers.richtext =
225
259
  init: (element, valueAccessor, allBindingsAccessor)->
226
260
  value = ko.utils.unwrapObservable valueAccessor()
@@ -252,7 +252,6 @@ class Model
252
252
 
253
253
  select: ->
254
254
  @db.selected this
255
- @initDateControls()
256
255
 
257
256
  deselect: ->
258
257
  @deleting false
@@ -270,14 +269,6 @@ class Model
270
269
  @editing false
271
270
  @deselect()
272
271
 
273
- initDateControls: ->
274
- setTimeout =>
275
- return unless @requiresDatePicker()
276
- $('input.datepicker').datepicker(format: 'yyyy-mm-dd')
277
- $('input.datepicker').on 'changeDate', (evt)->
278
- $(this).trigger 'change'
279
- , 100
280
-
281
272
  requiresDatePicker: ->
282
273
  i = document.createElement 'input'
283
274
  i.setAttribute 'type', 'date'
data/lib/kolo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kolo
2
- VERSION = "0.7.4"
2
+ VERSION = "0.7.5"
3
3
  end
@@ -346,6 +346,50 @@
346
346
  }
347
347
  };
348
348
 
349
+ ko.bindingHandlers.date = {
350
+ init: function(element, valueAccessor, allBindingsAccessor) {
351
+ var options;
352
+ options = allBindingsAccessor().datepickerOptions || {};
353
+ options.dateFormat || (options.dateFormat = 'yy-mm-dd');
354
+ $(element).datepicker(options);
355
+ $(element).on('change', function(evt) {
356
+ var observable;
357
+ observable = valueAccessor();
358
+ return observable($(element).datepicker('getDate'));
359
+ });
360
+ return ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
361
+ return $(element).datepicker('destroy');
362
+ });
363
+ },
364
+ update: function(element, valueAccessor) {
365
+ var parsed, value;
366
+ value = ko.utils.unwrapObservable(valueAccessor());
367
+ parsed = $.datepicker.parseDate('yy-mm-dd', value);
368
+ return $(element).datepicker('setDate', parsed);
369
+ }
370
+ };
371
+
372
+ ko.bindingHandlers.slider = {
373
+ init: function(element, valueAccessor, allBindingsAccessor) {
374
+ var options;
375
+ options = allBindingsAccessor().sliderOptions || {};
376
+ $(element).slider(options);
377
+ $(element).on('change', function(evt) {
378
+ var observable;
379
+ observable = valueAccessor();
380
+ return observable($(element).slider('value'));
381
+ });
382
+ return ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
383
+ return $(element).slider('destroy');
384
+ });
385
+ },
386
+ update: function(element, valueAccessor) {
387
+ var value;
388
+ value = ko.utils.unwrapObservable(valueAccessor());
389
+ return $(element).slider('value', value);
390
+ }
391
+ };
392
+
349
393
  ko.bindingHandlers.richtext = {
350
394
  init: function(element, valueAccessor, allBindingsAccessor) {
351
395
  var value;
@@ -398,8 +398,7 @@
398
398
  };
399
399
 
400
400
  Model.prototype.select = function() {
401
- this.db.selected(this);
402
- return this.initDateControls();
401
+ return this.db.selected(this);
403
402
  };
404
403
 
405
404
  Model.prototype.deselect = function() {
@@ -420,22 +419,6 @@
420
419
  return this.deselect();
421
420
  };
422
421
 
423
- Model.prototype.initDateControls = function() {
424
- return setTimeout((function(_this) {
425
- return function() {
426
- if (!_this.requiresDatePicker()) {
427
- return;
428
- }
429
- $('input.datepicker').datepicker({
430
- format: 'yyyy-mm-dd'
431
- });
432
- return $('input.datepicker').on('changeDate', function(evt) {
433
- return $(this).trigger('change');
434
- });
435
- };
436
- })(this), 100);
437
- };
438
-
439
422
  Model.prototype.requiresDatePicker = function() {
440
423
  var i;
441
424
  i = document.createElement('input');
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kolo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rahoul Baruah