anjlab-widgets 1.0.10 → 3.0.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aefb208eb0bc67c608fa241a6dccfc938e7e4624
|
4
|
+
data.tar.gz: 17089bf6506785e0d33bc5e45d913f0211203c09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35bfc9b32dd0629a2761ca83225cb2a37ed0ef93a050573e96d86f2c98c3c58a5309305510d7ddd848504fb70205ae96924d0e8c92f0b1526d75dbe4e64fe948
|
7
|
+
data.tar.gz: 11d6c6651b977c8c6fbd0bba27afe2106ee0ff0143fa487e7c6f89b5f8432558506a2654200c5111f965ab35a2472e77559d4ff698c2c471e3fd4bc86a0dae3b
|
@@ -1,4 +1,4 @@
|
|
1
|
-
Locales =
|
1
|
+
Locales =
|
2
2
|
en:
|
3
3
|
dates:
|
4
4
|
format: 'mm/dd/yyyy'
|
@@ -17,7 +17,16 @@ Locales =
|
|
17
17
|
daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"]
|
18
18
|
months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]
|
19
19
|
monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]
|
20
|
-
|
20
|
+
pt:
|
21
|
+
dates:
|
22
|
+
format: 'dd/mm/yyyy'
|
23
|
+
weekStart: 1
|
24
|
+
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sabado", "Domingo"]
|
25
|
+
daysShort: ["Dom", "Seg", "Ter", "Quar", "Qui", "Sex", "Sab", "Dom"]
|
26
|
+
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"]
|
27
|
+
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]
|
28
|
+
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"]
|
29
|
+
ru:
|
21
30
|
dates:
|
22
31
|
format: 'dd.mm.yyyy'
|
23
32
|
weekStart: 1
|
@@ -26,15 +35,6 @@ Locales =
|
|
26
35
|
daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"]
|
27
36
|
months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]
|
28
37
|
monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"]
|
29
|
-
'zh-TW':
|
30
|
-
dates:
|
31
|
-
format: 'yyyy-mm-dd'
|
32
|
-
weekStart: 0
|
33
|
-
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
|
34
|
-
daysShort: ["日", "一", "二", "三", "四", "五", "六", "日"]
|
35
|
-
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"]
|
36
|
-
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
|
37
|
-
monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
|
38
38
|
|
39
39
|
DateTools =
|
40
40
|
modes: [
|
@@ -56,7 +56,7 @@ DateTools =
|
|
56
56
|
]
|
57
57
|
isLeapYear: (year) ->
|
58
58
|
(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
|
59
|
-
|
59
|
+
|
60
60
|
getDaysInMonth: (year, month) ->
|
61
61
|
[31, (if DateTools.isLeapYear(year) then 29 else 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]
|
62
62
|
|
@@ -64,8 +64,8 @@ DateTools =
|
|
64
64
|
separator = format.match(/[.\/-].*?/)
|
65
65
|
parts = format.split(/\W+/)
|
66
66
|
if !separator || !parts || parts.length == 0
|
67
|
-
throw new Error("Invalid date format.")
|
68
|
-
|
67
|
+
throw new Error("Invalid date format.")
|
68
|
+
|
69
69
|
{
|
70
70
|
separator: separator
|
71
71
|
parts: parts
|
@@ -89,7 +89,7 @@ DateTools =
|
|
89
89
|
when 'yyyy'
|
90
90
|
y = val
|
91
91
|
new Date(y, m, d)
|
92
|
-
|
92
|
+
|
93
93
|
formatDate: (date, format) ->
|
94
94
|
return "" if date == null
|
95
95
|
val = {
|
@@ -114,9 +114,9 @@ DateTools =
|
|
114
114
|
|
115
115
|
headTemplate: '<thead>'+
|
116
116
|
'<tr>'+
|
117
|
-
'<th class="prev"><
|
117
|
+
'<th class="prev"><i class="icon-arrow-left"/></th>'+
|
118
118
|
'<th colspan="5" class="switch"></th>'+
|
119
|
-
'<th class="next"><
|
119
|
+
'<th class="next"><i class="icon-arrow-right"/></th>'+
|
120
120
|
'</tr>'+
|
121
121
|
'</thead>'
|
122
122
|
|
@@ -143,19 +143,6 @@ DateTools.template = '<div class="datepicker dropdown-menu">'+
|
|
143
143
|
'</div>'+
|
144
144
|
'</div>'
|
145
145
|
|
146
|
-
convertToNative = ($input, options)->
|
147
|
-
value = $input.attr('value')
|
148
|
-
$input.prop("type", "date")
|
149
|
-
if value && value.length > 0
|
150
|
-
locale = options.locale || $input.data('date-locale') || DateTools.getLocale()
|
151
|
-
format = DateTools.parseFormat(options.format || $input.data('date-format') || Locales[locale].dates.format)
|
152
|
-
date = DateTools.parseDate(value, format)
|
153
|
-
value = DateTools.formatDate(date, {
|
154
|
-
separator: '-'
|
155
|
-
parts: ["yyyy", "mm", "dd"]
|
156
|
-
})
|
157
|
-
$input.prop('value', value)
|
158
|
-
|
159
146
|
class NativeRailsDatepicker
|
160
147
|
constructor: (element, options)->
|
161
148
|
@element = $(element)
|
@@ -174,9 +161,6 @@ class NativeRailsDatepicker
|
|
174
161
|
|
175
162
|
@updateRails()
|
176
163
|
|
177
|
-
getISOString: ->
|
178
|
-
@element.val()
|
179
|
-
|
180
164
|
updateRails: ->
|
181
165
|
return if !@rails
|
182
166
|
|
@@ -186,14 +170,14 @@ class NativeRailsDatepicker
|
|
186
170
|
else
|
187
171
|
parent.find('.js-aw-1i').val(@date.getFullYear())
|
188
172
|
parent.find('.js-aw-2i').val(@date.getMonth() + 1)
|
189
|
-
parent.find('.js-aw-3i').val(@date.getDate())
|
173
|
+
parent.find('.js-aw-3i').val(@date.getDate())
|
190
174
|
|
191
175
|
|
192
176
|
class Datepicker extends NativeRailsDatepicker
|
193
177
|
|
194
178
|
constructor: (element, options)->
|
195
179
|
super(element, options)
|
196
|
-
@locale = options.locale || @element.data('date-locale') || DateTools.getLocale()
|
180
|
+
@locale = options.locale || @element.data('date-locale') || DateTools.getLocale()
|
197
181
|
@format = DateTools.parseFormat(options.format || @element.data('date-format') || Locales[@locale].dates.format);
|
198
182
|
@allowBlank = options.allowBlank ? @element.data('date-allow-blank') ? true
|
199
183
|
@picker = $(DateTools.template).appendTo('body').on {
|
@@ -202,13 +186,13 @@ class Datepicker extends NativeRailsDatepicker
|
|
202
186
|
}
|
203
187
|
|
204
188
|
@isInput = @element.is('input');
|
205
|
-
@component = if
|
189
|
+
@component = if @element.is('.date') then @element.find('.add-on') else false;
|
206
190
|
|
207
191
|
if @isInput
|
208
192
|
@element.on {
|
209
193
|
focus: $.proxy(@show, this)
|
210
194
|
click: $.proxy(@show, this)
|
211
|
-
blur:
|
195
|
+
blur: $.proxy(@hide, this)
|
212
196
|
keyup: $.proxy(@update, this)
|
213
197
|
}
|
214
198
|
else
|
@@ -233,9 +217,9 @@ class Datepicker extends NativeRailsDatepicker
|
|
233
217
|
if e
|
234
218
|
e.stopPropagation()
|
235
219
|
e.preventDefault()
|
236
|
-
|
220
|
+
|
237
221
|
$(document).on('mousedown', $.proxy(@hide, this)) if !@isInput
|
238
|
-
|
222
|
+
|
239
223
|
@element.trigger
|
240
224
|
type: 'show'
|
241
225
|
date: @date
|
@@ -247,6 +231,7 @@ class Datepicker extends NativeRailsDatepicker
|
|
247
231
|
@showMode()
|
248
232
|
$(document).off('mousedown', @hide) if !@isInput
|
249
233
|
|
234
|
+
@setValue()
|
250
235
|
@element.trigger
|
251
236
|
type: 'hide'
|
252
237
|
date: @date
|
@@ -255,10 +240,10 @@ class Datepicker extends NativeRailsDatepicker
|
|
255
240
|
formated = DateTools.formatDate(@date, @format)
|
256
241
|
if !@isInput
|
257
242
|
if @component
|
258
|
-
@element.find('input').
|
243
|
+
@element.find('input').prop('value', formated)
|
259
244
|
@element.data('date', formated)
|
260
245
|
else
|
261
|
-
@element.
|
246
|
+
@element.prop('value', formated)
|
262
247
|
|
263
248
|
place: ->
|
264
249
|
offset = if @component then @component.offset() else @element.offset()
|
@@ -266,12 +251,6 @@ class Datepicker extends NativeRailsDatepicker
|
|
266
251
|
top: offset.top + @height
|
267
252
|
left: offset.left
|
268
253
|
|
269
|
-
getISOString: ->
|
270
|
-
DateTools.formatDate(@date, {
|
271
|
-
separator: '-'
|
272
|
-
parts: ["yyyy", "mm", "dd"]
|
273
|
-
})
|
274
|
-
|
275
254
|
update: ->
|
276
255
|
@date = DateTools.parseDate(
|
277
256
|
if @isInput then this.element.prop('value') else @element.data('date'),
|
@@ -282,10 +261,9 @@ class Datepicker extends NativeRailsDatepicker
|
|
282
261
|
@date = DateTools.today()
|
283
262
|
|
284
263
|
if @date != null
|
285
|
-
@viewDate =
|
264
|
+
@viewDate = @date
|
286
265
|
else
|
287
266
|
@viewDate = DateTools.today()
|
288
|
-
|
289
267
|
@fill()
|
290
268
|
|
291
269
|
fillDow: ->
|
@@ -306,14 +284,13 @@ class Datepicker extends NativeRailsDatepicker
|
|
306
284
|
html.push '<span class="month">'
|
307
285
|
html.push Locales[@locale].dates.monthsShort[i++]
|
308
286
|
html.push '</span>'
|
309
|
-
|
287
|
+
|
310
288
|
@picker.find('.datepicker-months td').append(html.join(''))
|
311
289
|
|
312
290
|
fill: ->
|
313
291
|
d = new Date(@viewDate)
|
314
292
|
year = d.getFullYear()
|
315
293
|
month = d.getMonth()
|
316
|
-
today = DateTools.today().valueOf()
|
317
294
|
|
318
295
|
@updateRails()
|
319
296
|
date = if @date != null then @date else DateTools.today()
|
@@ -331,27 +308,25 @@ class Datepicker extends NativeRailsDatepicker
|
|
331
308
|
|
332
309
|
while prevMonth.valueOf() < nextMonth
|
333
310
|
html.push '<tr>' if prevMonth.getDay() == @weekStart
|
334
|
-
|
311
|
+
|
335
312
|
clsName = '';
|
336
313
|
if prevMonth.getMonth() < month
|
337
|
-
clsName += ' old'
|
314
|
+
clsName += ' old'
|
338
315
|
else if prevMonth.getMonth() > month
|
339
316
|
clsName += ' new'
|
340
|
-
|
341
|
-
if prevMonth.valueOf() == today
|
342
|
-
clsName += ' today'
|
343
|
-
|
317
|
+
|
344
318
|
if prevMonth.valueOf() == currentDate
|
345
319
|
clsName += ' active'
|
346
|
-
|
320
|
+
|
347
321
|
html.push "<td class='day#{clsName}'>#{prevMonth.getDate()}</td>"
|
348
322
|
html.push '</tr>' if prevMonth.getDay() == @weekEnd
|
349
|
-
|
323
|
+
|
350
324
|
prevMonth.setDate(prevMonth.getDate()+1)
|
325
|
+
|
351
326
|
|
352
327
|
@picker.find('.datepicker-days tbody').empty().append(html.join(''))
|
353
328
|
currentYear = date.getFullYear()
|
354
|
-
|
329
|
+
|
355
330
|
months = @picker.find('.datepicker-months').find('th:eq(1)').text(year).end().find('span').removeClass('active')
|
356
331
|
months.eq(date.getMonth()).addClass('active') if currentYear == year
|
357
332
|
|
@@ -377,7 +352,7 @@ class Datepicker extends NativeRailsDatepicker
|
|
377
352
|
when 'prev', 'next'
|
378
353
|
@viewDate['set'+DateTools.modes[this.viewMode].navFnc].call(
|
379
354
|
@viewDate,
|
380
|
-
@viewDate['get'+DateTools.modes[this.viewMode].navFnc].call(@viewDate) +
|
355
|
+
@viewDate['get'+DateTools.modes[this.viewMode].navFnc].call(@viewDate) +
|
381
356
|
DateTools.modes[this.viewMode].navStep * (if target[0].className == 'prev' then -1 else 1))
|
382
357
|
@fill()
|
383
358
|
when 'span'
|
@@ -397,6 +372,7 @@ class Datepicker extends NativeRailsDatepicker
|
|
397
372
|
month -= 1
|
398
373
|
else if target.is('.new')
|
399
374
|
month += 1
|
375
|
+
|
400
376
|
year = @viewDate.getFullYear()
|
401
377
|
@date = new Date(year, month, day,0,0,0,0);
|
402
378
|
@viewDate = new Date(year, month, day,0,0,0,0);
|
@@ -418,6 +394,20 @@ class Datepicker extends NativeRailsDatepicker
|
|
418
394
|
|
419
395
|
nativePicker = false
|
420
396
|
|
397
|
+
convertToNative = ($input, options)->
|
398
|
+
value = $input.attr('value')
|
399
|
+
$input.prop("type", "date")
|
400
|
+
if value && value.length > 0
|
401
|
+
locale = options.locale || $input.data('date-locale') || DateTools.getLocale()
|
402
|
+
format = DateTools.parseFormat(options.format || $input.data('date-format') || Locales[locale].dates.format);
|
403
|
+
date = DateTools.parseDate(value, format)
|
404
|
+
value = DateTools.formatDate(date, {
|
405
|
+
separator: '-'
|
406
|
+
parts: ["yyyy", "mm", "dd"]
|
407
|
+
})
|
408
|
+
$input.prop('value', value)
|
409
|
+
|
410
|
+
|
421
411
|
$.fn.datepicker = (option) ->
|
422
412
|
@each ->
|
423
413
|
$this = $(this)
|
@@ -38,7 +38,6 @@
|
|
38
38
|
}
|
39
39
|
&.active,
|
40
40
|
&.active:hover {
|
41
|
-
@include btn-pseudo-states($btn-primary-color, $btn-primary-bg, $btn-primary-border);
|
42
41
|
color: #fff;
|
43
42
|
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
44
43
|
}
|
@@ -55,7 +54,6 @@
|
|
55
54
|
background: $gray-lighter;
|
56
55
|
}
|
57
56
|
&.active {
|
58
|
-
@include btn-pseudo-states($btn-primary-color, $btn-primary-bg, $btn-primary-border);
|
59
57
|
color: #fff;
|
60
58
|
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
61
59
|
}
|
@@ -88,6 +86,9 @@
|
|
88
86
|
}
|
89
87
|
}
|
90
88
|
}
|
89
|
+
|
90
|
+
@include button-variant(".datepicker td.active,.datepicker td.active:hover, .datepicker span.active", $btn-primary-color, $btn-primary-bg, $btn-primary-border);
|
91
|
+
|
91
92
|
.input-append,
|
92
93
|
.input-prepend {
|
93
94
|
&.date {
|
@@ -27,10 +27,10 @@
|
|
27
27
|
}
|
28
28
|
&.active,
|
29
29
|
&.active:hover {
|
30
|
-
@include btn-pseudo-states($btn-primary-color, $btn-primary-bg, $btn-primary-border);
|
31
30
|
color: #fff;
|
32
31
|
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
33
32
|
}
|
34
33
|
}
|
34
|
+
}
|
35
35
|
|
36
|
-
|
36
|
+
@include button-variant(".timepicker a.active,.timepicker a.active:hover", $btn-primary-color, $btn-primary-bg, $btn-primary-border);
|
data/lib/anjlab-widgets.rb
CHANGED
@@ -3,14 +3,16 @@ require "anjlab-widgets/engine"
|
|
3
3
|
|
4
4
|
module Anjlab
|
5
5
|
module Widgets
|
6
|
-
def self.date_format
|
7
|
-
case
|
6
|
+
def self.date_format date_format_locale = ::I18n.default_locale
|
7
|
+
case date_format_locale
|
8
8
|
when :ru
|
9
9
|
"%d.%m.%Y"
|
10
10
|
when :en
|
11
11
|
"%m/%d/%Y"
|
12
12
|
when :es
|
13
13
|
"%d/%m/%Y"
|
14
|
+
when :pt
|
15
|
+
"%d/%m/%Y"
|
14
16
|
when :'zh-TW'
|
15
17
|
"%Y-%m-%d"
|
16
18
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anjlab-widgets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yury Korolev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: anjlab-bootstrap-rails
|