puffer 0.0.23 → 0.0.24
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +55 -53
- data/VERSION +1 -1
- data/app/assets/javascripts/puffer/application.js +6 -3
- data/app/assets/javascripts/puffer/paginator.js +223 -0
- data/app/assets/javascripts/puffer/puffer.js +12 -0
- data/app/assets/javascripts/puffer/rails.js +1 -0
- data/app/assets/javascripts/puffer/{right-autocompleter.js → right-autocompleter-src.js} +45 -41
- data/app/assets/javascripts/puffer/{right-calendar.js → right-calendar-src.js} +53 -50
- data/app/assets/javascripts/puffer/right-dialog-src.js +768 -0
- data/app/assets/javascripts/puffer/right-slider-src.js +507 -0
- data/app/assets/javascripts/puffer/{right.js → right-src.js} +1000 -230
- data/app/assets/stylesheets/puffer/application.css +2 -0
- data/app/assets/stylesheets/puffer/paginator.css +33 -0
- data/app/assets/stylesheets/puffer/right.css +4 -0
- data/app/components/base/form.html.erb +15 -0
- data/app/components/base_component.rb +15 -0
- data/app/components/boolean/form.html.erb +3 -0
- data/app/components/boolean/index.html.erb +3 -0
- data/app/components/boolean_component.rb +13 -0
- data/app/components/date_time/form.html.erb +5 -0
- data/app/components/date_time_component.rb +12 -0
- data/app/components/file/form.html.erb +5 -0
- data/app/components/file_component.rb +3 -0
- data/app/components/hidden/form.html.erb +1 -0
- data/app/components/hidden_component.rb +3 -0
- data/app/components/password/form.html.erb +5 -0
- data/app/components/password_component.rb +7 -0
- data/app/components/references_many/form.html.erb +1 -0
- data/app/components/references_many_component.rb +7 -0
- data/app/components/references_one/choose.html.erb +9 -0
- data/app/components/references_one/form.html.erb +28 -0
- data/app/components/references_one_component.rb +12 -0
- data/app/components/select/form.html.erb +5 -0
- data/app/components/select_component.rb +15 -0
- data/app/components/string/form.html.erb +5 -0
- data/app/components/string_component.rb +3 -0
- data/app/components/text/form.html.erb +5 -0
- data/app/components/text_component.rb +3 -0
- data/app/controllers/puffer/base.rb +4 -0
- data/app/views/puffer/base/_form.html.erb +0 -1
- data/app/views/puffer/base/_table.html.erb +25 -0
- data/app/views/puffer/base/index.html.erb +14 -28
- data/app/views/puffer/tree_base/_record.html.erb +1 -1
- data/lib/generators/puffer/component/USAGE +12 -0
- data/lib/generators/puffer/component/component_generator.rb +19 -0
- data/lib/generators/puffer/component/templates/component.rb +15 -0
- data/lib/generators/puffer/component/templates/component_spec.rb +19 -0
- data/lib/puffer/component.rb +141 -0
- data/lib/puffer/controller/dsl.rb +25 -12
- data/lib/puffer/engine.rb +5 -0
- data/lib/puffer/extensions/controller.rb +11 -9
- data/lib/puffer/extensions/form.rb +2 -1
- data/lib/puffer/extensions/mapper.rb +2 -0
- data/lib/puffer/field.rb +30 -19
- data/lib/puffer/field_set.rb +17 -2
- data/lib/puffer.rb +25 -8
- data/puffer.gemspec +59 -28
- data/spec/app/components/base_component_spec.rb +19 -0
- data/spec/app/components/boolean_component_spec.rb +36 -0
- data/spec/app/components/date_time_component_spec.rb +26 -0
- data/spec/app/components/file_component_spec.rb +25 -0
- data/spec/app/components/hidden_component_spec.rb +24 -0
- data/spec/app/components/password_component_spec.rb +37 -0
- data/spec/app/components/references_many_component_spec.rb +19 -0
- data/spec/app/components/references_one_component_spec.rb +19 -0
- data/spec/app/components/select_component_spec.rb +30 -0
- data/spec/app/components/string_component_spec.rb +25 -0
- data/spec/app/components/text_component_spec.rb +25 -0
- data/spec/dummy/app/controllers/admin/categories_controller.rb +3 -3
- data/spec/dummy/app/controllers/admin/posts_controller.rb +3 -0
- data/spec/dummy/app/controllers/{puffer → admin}/sessions_controller.rb +1 -1
- data/spec/dummy/app/controllers/admin/users_controller.rb +2 -2
- data/spec/dummy/app/models/post.rb +4 -0
- data/spec/dummy/db/migrate/20100930132656_create_posts.rb +2 -0
- data/spec/dummy/db/migrate/20100930132726_create_categories.rb +1 -0
- data/spec/dummy/db/schema.rb +3 -0
- data/spec/dummy/db/seeds.rb +6 -1
- data/spec/fabricators/categories_fabricator.rb +1 -0
- data/spec/fabricators/posts_fabricator.rb +1 -0
- data/spec/lib/component_spec.rb +7 -0
- data/spec/lib/fields_spec.rb +0 -4
- metadata +85 -56
- data/app/views/puffer/base/associated/_many.html.erb +0 -56
- data/app/views/puffer/base/associated/many.rjs +0 -1
- data/app/views/puffer/base/associated/one.js.erb +0 -13
- data/app/views/puffer/base/association/_many.html.erb +0 -7
- data/lib/puffer/controller/generated.rb +0 -65
- data/lib/puffer/customs.rb +0 -64
- data/lib/puffer/inputs/association.rb +0 -38
- data/lib/puffer/inputs/base.rb +0 -51
- data/lib/puffer/inputs/boolean.rb +0 -19
- data/lib/puffer/inputs/collection_association.rb +0 -11
- data/lib/puffer/inputs/date_time.rb +0 -16
- data/lib/puffer/inputs/file.rb +0 -11
- data/lib/puffer/inputs/hidden.rb +0 -15
- data/lib/puffer/inputs/password.rb +0 -11
- data/lib/puffer/inputs/select.rb +0 -19
- data/lib/puffer/inputs/text.rb +0 -11
@@ -1,9 +1,8 @@
|
|
1
1
|
/**
|
2
|
-
*
|
2
|
+
* RightJS-UI Calendar v2.2.0
|
3
|
+
* http://rightjs.org/ui/calendar
|
3
4
|
*
|
4
|
-
*
|
5
|
-
*
|
6
|
-
* @copyright (C) 2009-2010 Nikolay Nemshilov
|
5
|
+
* Copyright (C) 2009-2011 Nikolay Nemshilov
|
7
6
|
*/
|
8
7
|
var Calendar = RightJS.Calendar = (function(document, parseInt, RightJS) {
|
9
8
|
/**
|
@@ -14,35 +13,6 @@ var Calendar = RightJS.Calendar = (function(document, parseInt, RightJS) {
|
|
14
13
|
* Copyright (C) 2010-2011 Nikolay Nemshilov
|
15
14
|
*/
|
16
15
|
|
17
|
-
/**
|
18
|
-
* The filenames to include
|
19
|
-
*
|
20
|
-
* Copyright (C) 2010-2011 Nikolay Nemshilov
|
21
|
-
*/
|
22
|
-
|
23
|
-
var R = RightJS,
|
24
|
-
$ = RightJS.$,
|
25
|
-
$$ = RightJS.$$,
|
26
|
-
$w = RightJS.$w,
|
27
|
-
$ext = RightJS.$ext,
|
28
|
-
$uid = RightJS.$uid,
|
29
|
-
isString = RightJS.isString,
|
30
|
-
isArray = RightJS.isArray,
|
31
|
-
isFunction = RightJS.isFunction,
|
32
|
-
Class = RightJS.Class,
|
33
|
-
Element = RightJS.Element,
|
34
|
-
Input = RightJS.Input,
|
35
|
-
RegExp = RightJS.RegExp,
|
36
|
-
Browser = RightJS.Browser;
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
16
|
/**
|
47
17
|
* The widget units constructor
|
48
18
|
*
|
@@ -107,12 +77,16 @@ function Widget(tag_name, methods) {
|
|
107
77
|
* @return void
|
108
78
|
*/
|
109
79
|
setOptions: function(options, element) {
|
110
|
-
|
111
|
-
|
112
|
-
RightJS.Object.merge(options, eval("("+(
|
80
|
+
if (element) {
|
81
|
+
options = RightJS.Object.merge(options, new Function("return "+(
|
113
82
|
element.get('data-'+ this.key) || '{}'
|
114
|
-
)
|
115
|
-
|
83
|
+
))());
|
84
|
+
}
|
85
|
+
|
86
|
+
if (options) {
|
87
|
+
RightJS.Options.setOptions.call(this, RightJS.Object.merge(this.options, options));
|
88
|
+
}
|
89
|
+
|
116
90
|
return this;
|
117
91
|
}
|
118
92
|
});
|
@@ -124,7 +98,7 @@ function Widget(tag_name, methods) {
|
|
124
98
|
var Klass = new RightJS.Class(AbstractWidget, methods);
|
125
99
|
|
126
100
|
// creating the widget related shortcuts
|
127
|
-
RightJS.Observer.createShortcuts(Klass.prototype, Klass.EVENTS || []);
|
101
|
+
RightJS.Observer.createShortcuts(Klass.prototype, Klass.EVENTS || RightJS([]));
|
128
102
|
|
129
103
|
return Klass;
|
130
104
|
}
|
@@ -418,6 +392,35 @@ function zerofy(number) {
|
|
418
392
|
}
|
419
393
|
|
420
394
|
|
395
|
+
/**
|
396
|
+
* The filenames to include
|
397
|
+
*
|
398
|
+
* Copyright (C) 2010-2011 Nikolay Nemshilov
|
399
|
+
*/
|
400
|
+
|
401
|
+
var R = RightJS,
|
402
|
+
$ = RightJS.$,
|
403
|
+
$$ = RightJS.$$,
|
404
|
+
$w = RightJS.$w,
|
405
|
+
$ext = RightJS.$ext,
|
406
|
+
$uid = RightJS.$uid,
|
407
|
+
isString = RightJS.isString,
|
408
|
+
isArray = RightJS.isArray,
|
409
|
+
isFunction = RightJS.isFunction,
|
410
|
+
Class = RightJS.Class,
|
411
|
+
Element = RightJS.Element,
|
412
|
+
Input = RightJS.Input,
|
413
|
+
RegExp = RightJS.RegExp,
|
414
|
+
Browser = RightJS.Browser;
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
|
421
424
|
/**
|
422
425
|
* The calendar widget for RightJS
|
423
426
|
*
|
@@ -1442,20 +1445,20 @@ $(document).on({
|
|
1442
1445
|
}
|
1443
1446
|
}
|
1444
1447
|
});
|
1445
|
-
(function() {
|
1446
|
-
var style = document.createElement('style'),
|
1447
|
-
rules = document.createTextNode(".rui-panel{margin:0;padding:.5em;position:relative;background-color:#EEE;border:1px solid #BBB;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;box-shadow:.15em .3em .5em #BBB;-moz-box-shadow:.15em .3em .5em #BBB;-webkit-box-shadow:.15em .3em .5em #BBB;cursor:default} *.rui-button{display:inline-block; *display:inline; *zoom:1;height:1em;line-height:1em;margin:0;padding:.2em .5em;text-align:center;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;cursor:pointer;color:#333;background-color:#FFF;user-select:none;-moz-user-select:none;-webkit-user-select:none} *.rui-button:hover{color:#111;border-color:#999;background-color:#DDD;box-shadow:#888 0 0 .1em;-moz-box-shadow:#888 0 0 .1em;-webkit-box-shadow:#888 0 0 .1em} *.rui-button:active{color:#000;border-color:#777;text-indent:1px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none} *.rui-button-disabled, *.rui-button-disabled:hover, *.rui-button-disabled:active{color:#888;background:#DDD;border-color:#CCC;cursor:default;text-indent:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}div.rui-re-anchor{margin:0;padding:0;background:none;border:none;float:none;display:inline;position:absolute;z-index:9999}div.rui-calendar .swaps,div.rui-calendar .greed,div.rui-calendar .timepicker,div.rui-calendar .buttons,div.rui-calendar table,div.rui-calendar table tr,div.rui-calendar table th,div.rui-calendar table td,div.rui-calendar table tbody,div.rui-calendar table thead,div.rui-calendar table caption{background:none;border:none;width:auto;height:auto;margin:0;padding:0}div.rui-calendar-inline{position:relative;display:inline-block; *display:inline; *zoom:1;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}div.rui-calendar .swaps{position:relative}div.rui-calendar .swaps .rui-button{position:absolute;float:left;width:1em;padding:.15em .4em}div.rui-calendar .swaps .next-month{right:0em;_right:.5em}div.rui-calendar .swaps .prev-year{left:2.05em}div.rui-calendar .swaps .next-year{right:2.05em;_right:2.52em}div.rui-calendar .greed{border-spacing:0px;border-collapse:collapse;border-size:0}div.rui-calendar .greed td{vertical-align:top;padding-left:.4em}div.rui-calendar .greed>tbody>tr>td:first-child{padding:0}div.rui-calendar .month{margin-top:.2em;border-spacing:1px;border-collapse:separate}div.rui-calendar .month caption{text-align:center}div.rui-calendar .month th{color:#666;text-align:center}div.rui-calendar .month td{text-align:right;padding:.1em .3em;background-color:#FFF;border:1px solid #CCC;cursor:pointer;color:#555;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em}div.rui-calendar .month td:hover{background-color:#CCC;border-color:#AAA;color:#000}div.rui-calendar .month td.blank{background:transparent;cursor:default;border:none}div.rui-calendar .month td.selected{background-color:#BBB;border-color:#AAA;color:#222;font-weight:bold;padding:.1em .2em}div.rui-calendar .month td.disabled{color:#888;background:#EEE;border-color:#CCC;cursor:default}div.rui-calendar .timepicker{border-top:1px solid #ccc;margin-top:.3em;padding-top:.5em;text-align:center}div.rui-calendar .timepicker select{margin:0 .4em}div.rui-calendar .buttons{position:relative;margin-top:.5em}div.rui-calendar .buttons div.rui-button{width:4em;padding:.25em .5em}div.rui-calendar .buttons .done{position:absolute;right:0em;top:0}");
|
1448
1448
|
|
1449
|
-
style.type = 'text/css';
|
1450
1449
|
|
1451
|
-
|
1452
|
-
|
1453
|
-
|
1454
|
-
|
1455
|
-
|
1450
|
+
var embed_style = document.createElement('style'),
|
1451
|
+
embed_rules = document.createTextNode(".rui-panel{margin:0;padding:.5em;position:relative;background-color:#EEE;border:1px solid #BBB;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;box-shadow:.15em .3em .5em #BBB;-moz-box-shadow:.15em .3em .5em #BBB;-webkit-box-shadow:.15em .3em .5em #BBB;cursor:default} *.rui-button{display:inline-block; *display:inline; *zoom:1;height:1em;line-height:1em;margin:0;padding:.2em .5em;text-align:center;border:1px solid #CCC;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;cursor:pointer;color:#333;background-color:#FFF;user-select:none;-moz-user-select:none;-webkit-user-select:none} *.rui-button:hover{color:#111;border-color:#999;background-color:#DDD;box-shadow:#888 0 0 .1em;-moz-box-shadow:#888 0 0 .1em;-webkit-box-shadow:#888 0 0 .1em} *.rui-button:active{color:#000;border-color:#777;text-indent:1px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none} *.rui-button-disabled, *.rui-button-disabled:hover, *.rui-button-disabled:active{color:#888;background:#DDD;border-color:#CCC;cursor:default;text-indent:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}div.rui-re-anchor{margin:0;padding:0;background:none;border:none;float:none;display:inline;position:absolute;z-index:9999}div.rui-calendar .swaps,div.rui-calendar .greed,div.rui-calendar .timepicker,div.rui-calendar .buttons,div.rui-calendar table,div.rui-calendar table tr,div.rui-calendar table th,div.rui-calendar table td,div.rui-calendar table tbody,div.rui-calendar table thead,div.rui-calendar table caption{background:none;border:none;width:auto;height:auto;margin:0;padding:0}div.rui-calendar-inline{position:relative;display:inline-block; *display:inline; *zoom:1;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}div.rui-calendar .swaps{position:relative}div.rui-calendar .swaps .rui-button{position:absolute;float:left;width:1em;padding:.15em .4em}div.rui-calendar .swaps .next-month{right:0em;_right:.5em}div.rui-calendar .swaps .prev-year{left:2.05em}div.rui-calendar .swaps .next-year{right:2.05em;_right:2.52em}div.rui-calendar .greed{border-spacing:0px;border-collapse:collapse;border-size:0}div.rui-calendar .greed td{vertical-align:top;padding-left:.4em}div.rui-calendar .greed>tbody>tr>td:first-child{padding:0}div.rui-calendar .month{margin-top:.2em;border-spacing:1px;border-collapse:separate}div.rui-calendar .month caption{text-align:center}div.rui-calendar .month th{color:#666;text-align:center}div.rui-calendar .month td{text-align:right;padding:.1em .3em;background-color:#FFF;border:1px solid #CCC;cursor:pointer;color:#555;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em}div.rui-calendar .month td:hover{background-color:#CCC;border-color:#AAA;color:#000}div.rui-calendar .month td.blank{background:transparent;cursor:default;border:none}div.rui-calendar .month td.selected{background-color:#BBB;border-color:#AAA;color:#222;font-weight:bold;padding:.1em .2em}div.rui-calendar .month td.disabled{color:#888;background:#EEE;border-color:#CCC;cursor:default}div.rui-calendar .timepicker{border-top:1px solid #ccc;margin-top:.3em;padding-top:.5em;text-align:center}div.rui-calendar .timepicker select{margin:0 .4em}div.rui-calendar .buttons{position:relative;margin-top:.5em}div.rui-calendar .buttons div.rui-button{width:4em;padding:.25em .5em}div.rui-calendar .buttons .done{position:absolute;right:0em;top:0}");
|
1452
|
+
|
1453
|
+
embed_style.type = 'text/css';
|
1454
|
+
document.getElementsByTagName('head')[0].appendChild(embed_style);
|
1455
|
+
|
1456
|
+
if(embed_style.styleSheet) {
|
1457
|
+
embed_style.styleSheet.cssText = embed_rules.nodeValue;
|
1458
|
+
} else {
|
1459
|
+
embed_style.appendChild(embed_rules);
|
1460
|
+
}
|
1456
1461
|
|
1457
|
-
document.getElementsByTagName('head')[0].appendChild(style);
|
1458
|
-
})();
|
1459
1462
|
|
1460
1463
|
return Calendar;
|
1461
1464
|
})(document, parseInt, RightJS);
|