active_administration 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +2 -1
  4. data/active_administration.gemspec +2 -1
  5. data/app/assets/javascripts/active_administration/README.md +0 -0
  6. data/app/assets/javascripts/active_administration/metro-accordion.js +70 -0
  7. data/app/assets/javascripts/active_administration/metro-button-set.js +88 -0
  8. data/app/assets/javascripts/active_administration/metro-calendar.js +437 -0
  9. data/app/assets/javascripts/active_administration/metro-carousel.js +304 -0
  10. data/app/assets/javascripts/active_administration/metro-core.js +39 -0
  11. data/app/assets/javascripts/active_administration/metro-countdown.js +200 -0
  12. data/app/assets/javascripts/active_administration/metro-date-format.js +137 -0
  13. data/app/assets/javascripts/active_administration/metro-datepicker.js +138 -0
  14. data/app/assets/javascripts/active_administration/metro-dialog.js +221 -0
  15. data/app/assets/javascripts/active_administration/metro-drag-tile.js +46 -0
  16. data/app/assets/javascripts/active_administration/metro-dropdown.js +112 -0
  17. data/app/assets/javascripts/active_administration/metro-fluentmenu.js +57 -0
  18. data/app/assets/javascripts/active_administration/metro-global.js +4 -0
  19. data/app/assets/javascripts/active_administration/metro-hint.js +104 -0
  20. data/app/assets/javascripts/active_administration/metro-initiator.js +271 -0
  21. data/app/assets/javascripts/active_administration/metro-input-control.js +318 -0
  22. data/app/assets/javascripts/active_administration/metro-listview.js +53 -0
  23. data/app/assets/javascripts/active_administration/metro-live-tile.js +162 -0
  24. data/app/assets/javascripts/active_administration/metro-loader.js +46 -0
  25. data/app/assets/javascripts/active_administration/metro-locale.js +132 -0
  26. data/app/assets/javascripts/active_administration/metro-notify.js +120 -0
  27. data/app/assets/javascripts/active_administration/metro-panel.js +41 -0
  28. data/app/assets/javascripts/active_administration/metro-plugin-template.js +21 -0
  29. data/app/assets/javascripts/active_administration/metro-progressbar.js +97 -0
  30. data/app/assets/javascripts/active_administration/metro-pull.js +38 -0
  31. data/app/assets/javascripts/active_administration/metro-rating.js +99 -0
  32. data/app/assets/javascripts/active_administration/metro-scroll.js +756 -0
  33. data/app/assets/javascripts/active_administration/metro-slider.js +304 -0
  34. data/app/assets/javascripts/active_administration/metro-stepper.js +105 -0
  35. data/app/assets/javascripts/active_administration/metro-streamer.js +214 -0
  36. data/app/assets/javascripts/active_administration/metro-tab-control.js +96 -0
  37. data/app/assets/javascripts/active_administration/metro-table.js +74 -0
  38. data/app/assets/javascripts/active_administration/metro-tile-transform.js +65 -0
  39. data/app/assets/javascripts/active_administration/metro-times.js +190 -0
  40. data/app/assets/javascripts/active_administration/metro-touch-handler.js +65 -0
  41. data/app/assets/javascripts/active_administration/metro-treeview.js +64 -0
  42. data/app/assets/javascripts/active_administration/metro-wizard.js +148 -0
  43. data/app/assets/stylesheets/active_administration/accordion.less +64 -0
  44. data/app/assets/stylesheets/active_administration/balloon.less +88 -0
  45. data/app/assets/stylesheets/active_administration/breadcrumbs.less +118 -0
  46. data/app/assets/stylesheets/active_administration/buttons.less +383 -0
  47. data/app/assets/stylesheets/active_administration/calendar.less +123 -0
  48. data/app/assets/stylesheets/active_administration/carousel.less +118 -0
  49. data/app/assets/stylesheets/active_administration/colors.less +589 -0
  50. data/app/assets/stylesheets/active_administration/countdown.less +57 -0
  51. data/app/assets/stylesheets/active_administration/dataTables.less +134 -0
  52. data/app/assets/stylesheets/active_administration/fluent-menu.less +231 -0
  53. data/app/assets/stylesheets/active_administration/forms.less +414 -0
  54. data/app/assets/stylesheets/active_administration/funcs.less +178 -0
  55. data/app/assets/stylesheets/active_administration/grid.less +91 -0
  56. data/app/assets/stylesheets/active_administration/hint.less +120 -0
  57. data/app/assets/stylesheets/active_administration/iconFont-content.less +1353 -0
  58. data/app/assets/stylesheets/active_administration/iconFont.less +47 -0
  59. data/app/assets/stylesheets/active_administration/icons.less +10 -0
  60. data/app/assets/stylesheets/active_administration/images.less +75 -0
  61. data/app/assets/stylesheets/active_administration/layout.less +137 -0
  62. data/app/assets/stylesheets/active_administration/lists.less +258 -0
  63. data/app/assets/stylesheets/active_administration/menus.less +469 -0
  64. data/app/assets/stylesheets/active_administration/metro-bootstrap-responsive.less +300 -0
  65. data/app/assets/stylesheets/active_administration/metro-bootstrap.less +68 -0
  66. data/app/assets/stylesheets/active_administration/misc.less +72 -0
  67. data/app/assets/stylesheets/active_administration/navigation-bar.less +317 -0
  68. data/app/assets/stylesheets/active_administration/notice.less +52 -0
  69. data/app/assets/stylesheets/active_administration/notify.less +43 -0
  70. data/app/assets/stylesheets/active_administration/pagination.less +83 -0
  71. data/app/assets/stylesheets/active_administration/panels.less +38 -0
  72. data/app/assets/stylesheets/active_administration/progress-bar.less +25 -0
  73. data/app/assets/stylesheets/active_administration/rating.less +103 -0
  74. data/app/assets/stylesheets/active_administration/reset.less +219 -0
  75. data/app/assets/stylesheets/active_administration/scroll.less +141 -0
  76. data/app/assets/stylesheets/active_administration/sidebar.less +158 -0
  77. data/app/assets/stylesheets/active_administration/slider.less +106 -0
  78. data/app/assets/stylesheets/active_administration/stepper.less +80 -0
  79. data/app/assets/stylesheets/active_administration/streamer.less +250 -0
  80. data/app/assets/stylesheets/active_administration/tab-control.less +79 -0
  81. data/app/assets/stylesheets/active_administration/tables.less +170 -0
  82. data/app/assets/stylesheets/active_administration/tiles.less +599 -0
  83. data/app/assets/stylesheets/active_administration/transform.less +23 -0
  84. data/app/assets/stylesheets/active_administration/treeview.less +96 -0
  85. data/app/assets/stylesheets/active_administration/typography.less +382 -0
  86. data/app/assets/stylesheets/active_administration/utils.less +180 -0
  87. data/app/assets/stylesheets/active_administration/variables.less +250 -0
  88. data/app/assets/stylesheets/active_administration/window.less +225 -0
  89. data/app/assets/stylesheets/active_administration/wizard.less +53 -0
  90. data/lib/active_admin/version.rb +1 -1
  91. metadata +103 -10
@@ -0,0 +1,64 @@
1
+ (function( $ ) {
2
+ $.widget("metro.treeview", {
3
+
4
+ version: "1.0.0",
5
+
6
+ options: {
7
+ onNodeClick: function(node){},
8
+ onNodeCollapsed: function(node){},
9
+ onNodeExpanded: function(node){}
10
+ },
11
+
12
+ _create: function(){
13
+ var that = this, element = this.element;
14
+
15
+ element.find('.node.collapsed').find('ul').hide();
16
+
17
+ element.find('.node-toggle').on('click', function(e){
18
+ var $this = $(this), node = $this.parent().parent("li");
19
+
20
+ if (node.hasClass("keep-open")) return;
21
+
22
+ node.toggleClass('collapsed');
23
+
24
+ if (node.hasClass('collapsed')) {
25
+ node.children('ul').fadeOut('fast');
26
+ that.options.onNodeCollapsed(node);
27
+ } else {
28
+ node.children('ul').fadeIn('fast');
29
+ that.options.onNodeExpanded(node);
30
+ }
31
+
32
+ that.options.onNodeClick(node);
33
+ e.preventDefault();
34
+ e.stopPropagation();
35
+ });
36
+
37
+ element.find("a").each(function(){
38
+ var $this = $(this);
39
+ $this.css({
40
+ paddingLeft: ($this.parents("ul").length-1) * 10
41
+ });
42
+ });
43
+
44
+ element.find('a').on('click', function(e){
45
+ var $this = $(this), node = $this.parent('li');
46
+ element.find('a').removeClass('active');
47
+ $this.toggleClass('active');
48
+ that.options.onNodeClick(node);
49
+ e.preventDefault();
50
+ });
51
+ },
52
+
53
+ _destroy: function(){
54
+
55
+ },
56
+
57
+ _setOption: function(key, value){
58
+ this._super('_setOption', key, value);
59
+ }
60
+ })
61
+ })( jQuery );
62
+
63
+
64
+
@@ -0,0 +1,148 @@
1
+ (function( $ ) {
2
+ $.widget("metro.wizard", {
3
+
4
+ version: "1.0.0",
5
+
6
+ options: {
7
+ stepper: true,
8
+ stepperType: 'default',
9
+ locale: $.Metro.currentLocale,
10
+ finishStep: 'default',
11
+ buttons: {
12
+ cancel: true,
13
+ help: false,
14
+ prior: true,
15
+ next: true,
16
+ finish: true
17
+ },
18
+ onCancel: function(page, wiz){},
19
+ onHelp: function(page, wiz){},
20
+ onPrior: function(page, wiz){return true;},
21
+ onNext: function(page, wiz){return true;},
22
+ onFinish: function(page, wiz){},
23
+ onPage: function(page, wiz){}
24
+ },
25
+
26
+ _stepper: undefined,
27
+ _currentStep: 0,
28
+ _steps: undefined,
29
+
30
+ _create: function(){
31
+ var that = this,
32
+ element = this.element,
33
+ o = this.options,
34
+ steps = element.find(".step");
35
+
36
+ this._steps = steps;
37
+
38
+ if (o.stepper) {
39
+ this._stepper = this._createStepper(steps.length).insertBefore(element.find('.steps'));
40
+ }
41
+
42
+ if (element.data('locale') != undefined) o.locale = element.data('locale');
43
+
44
+ this._createEvents();
45
+ this.options.onPage(this._currentStep + 1, element);
46
+ },
47
+
48
+ _createStepper: function(steps){
49
+ var stepper, o = this.options;
50
+
51
+ stepper = $("<div/>").addClass("stepper")
52
+ .attr("data-role", "stepper")
53
+ .attr("data-steps", steps);
54
+
55
+ if (o.stepperType != 'default') {
56
+ stepper.addClass(o.stepperType);
57
+ }
58
+
59
+ return stepper;
60
+ },
61
+
62
+ _createEvents: function(){
63
+ var that = this, element = this.element, o = this.options;
64
+
65
+ if (o.buttons) {
66
+ var actions = $("<div/>").addClass("actions").appendTo(element);
67
+ var group_left = $("<div/>").addClass("group-left").appendTo(actions);
68
+ var group_right = $("<div/>").addClass("group-right").appendTo(actions);
69
+
70
+ if (o.buttons.cancel) {
71
+ $("<button type='button'/>").addClass("btn-cancel").html($.Metro.Locale[o.locale].buttons[2]).appendTo(group_left).on('click', function(){
72
+ o.onCancel(that._currentStep+1, element);
73
+ });
74
+ }
75
+ if (o.buttons.help) {
76
+ $("<button type='button'/>").addClass("btn-help").html($.Metro.Locale[o.locale].buttons[3]).appendTo(group_right).on('click', function(){
77
+ o.onHelp(that._currentStep+1, element);
78
+ });
79
+ }
80
+ if (o.buttons.prior) {
81
+ $("<button type='button'/>").addClass("btn-prior").html($.Metro.Locale[o.locale].buttons[4]).appendTo(group_right).on('click', function(){
82
+ if (o.onPrior(that._currentStep+1, element)) that.prior();
83
+ });
84
+ }
85
+ if (o.buttons.next) {
86
+ $("<button type='button'/>").addClass("btn-next").html($.Metro.Locale[o.locale].buttons[5]).appendTo(group_right).on('click', function(){
87
+ if (o.onNext(that._currentStep+1, element)) that.next();
88
+ });
89
+ }
90
+ if (o.buttons.finish) {
91
+ $("<button type='button' disabled/>").addClass("btn-finish").html($.Metro.Locale[o.locale].buttons[6]).appendTo(group_right).on('click', function(){
92
+ o.onFinish(that._currentStep+1, element);
93
+ });
94
+ }
95
+ }
96
+ },
97
+
98
+ next: function(){
99
+ var new_step = this._currentStep + 1;
100
+
101
+ if (new_step == this._steps.length) return false;
102
+ this._currentStep = new_step;
103
+ this._steps.hide();
104
+ $(this._steps[new_step]).show();
105
+
106
+ this.options.onPage(this._currentStep + 1, this.element);
107
+ this._stepper.stepper('next');
108
+
109
+ var finish = parseInt(this.options.finishStep == 'default' ? this._steps.length - 1 : this.options.finishStep);
110
+ if (new_step == finish) {
111
+ this.element.find('.btn-finish').attr('disabled', false);
112
+ } else {
113
+ this.element.find('.btn-finish').attr('disabled', true);
114
+ }
115
+
116
+ return true;
117
+ },
118
+
119
+ prior: function(){
120
+ var new_step = this._currentStep - 1;
121
+
122
+ if (new_step < 0) return false;
123
+ this._currentStep = new_step;
124
+ this._steps.hide();
125
+ $(this._steps[new_step]).show();
126
+
127
+ this.options.onPage(this._currentStep + 1, this.element);
128
+ this._stepper.stepper('prior');
129
+
130
+ var finish = parseInt(this.options.finishStep == 'default' ? this._steps.length - 1 : this.options.finishStep);
131
+ if (new_step == finish) {
132
+ this.element.find('.btn-finish').attr('disabled', false);
133
+ } else {
134
+ this.element.find('.btn-finish').attr('disabled', true);
135
+ }
136
+
137
+ return true;
138
+ },
139
+
140
+ _destroy: function(){
141
+ },
142
+
143
+ _setOption: function(key, value){
144
+ this._super('_setOption', key, value);
145
+ }
146
+ })
147
+ })( jQuery );
148
+
@@ -0,0 +1,64 @@
1
+ .accordion {
2
+ & > .accordion-frame {
3
+ .border;
4
+ margin-bottom: 2px;
5
+
6
+ & > .heading {
7
+ display: block;
8
+ text-decoration: none;
9
+ background-color: @grayLighter;
10
+ padding: 10px 20px;
11
+ width: 100%;
12
+ position: relative;
13
+ color: @dark;
14
+
15
+ [class*="icon-"] {
16
+ margin-right: 10px;
17
+ }
18
+
19
+ }
20
+
21
+ & > .content {
22
+ padding: 10px;
23
+ }
24
+ }
25
+
26
+ & > .accordion-frame {
27
+ & > .content {
28
+ display: none;
29
+ }
30
+
31
+ &:first-child {
32
+ & > .content {
33
+ //display: block;
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ .accordion {
40
+ &.with-marker {
41
+ .heading {
42
+ &:before {
43
+ position: absolute;
44
+ display: block;
45
+ left: 5px;
46
+ top: 12px;
47
+ content: '';
48
+
49
+ width: 0;
50
+ height: 0;
51
+ border-left: 7px solid transparent;
52
+ border-top: 7px solid transparent;
53
+ border-bottom: 7px solid black;
54
+ }
55
+
56
+ &.collapsed {
57
+ &:before {
58
+ .rotate(-45deg);
59
+ margin-left: -4px;
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,88 @@
1
+ .balloon {
2
+ display: block;
3
+ width: auto;
4
+ height: auto;
5
+ margin: 0;
6
+ padding: 0;
7
+ border: 1px @gray solid;
8
+ background-color: @white;
9
+ position: relative;
10
+ margin-bottom: 30px;
11
+
12
+ &:before, &:after {
13
+ content: '';
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ }
18
+ &:before {
19
+ z-index: 2;
20
+ }
21
+ &:after {
22
+ z-index: 1;
23
+ }
24
+
25
+ &.bottom {
26
+ &:before, &:after {
27
+ top: 1px;
28
+ left: 20px;
29
+ margin: -20px 0;
30
+ border-left: 10px solid transparent;
31
+ border-right: 10px solid transparent;
32
+ border-bottom: 20px solid @white;
33
+ }
34
+
35
+ &:after {
36
+ top: 0;
37
+ border-bottom: 20px solid @gray;
38
+ }
39
+ }
40
+
41
+ &.top {
42
+ &:before, &:after {
43
+ top: 100%;
44
+ margin-top: -1px;
45
+ left: 20px;
46
+ border-left: 10px solid transparent;
47
+ border-right: 10px solid transparent;
48
+ border-top: 20px solid @white;
49
+ }
50
+
51
+ &:after {
52
+ margin-top: 1px;
53
+ border-top: 20px solid @gray;
54
+ }
55
+ }
56
+
57
+ &.left {
58
+ &:before, &:after {
59
+ top: 10px;
60
+ left: 100%;
61
+ margin-left: -1px;
62
+ border-top: 10px solid transparent;
63
+ border-bottom: 10px solid transparent;
64
+ border-left: 20px solid @white;
65
+ }
66
+
67
+ &:after {
68
+ margin-left: 0;
69
+ border-left: 21px solid @gray;
70
+ }
71
+ }
72
+
73
+ &.right {
74
+ &:before, &:after {
75
+ top: 10px;
76
+ left: -19px;
77
+ margin: 0;
78
+ border-top: 10px solid transparent;
79
+ border-bottom: 10px solid transparent;
80
+ border-right: 20px solid @white;
81
+ }
82
+
83
+ &:after {
84
+ left: -20px;
85
+ border-right: 20px solid @gray;
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,118 @@
1
+
2
+ .breadcrumbs {
3
+ margin: 0.2em;
4
+
5
+ ul {
6
+ margin: 0;
7
+ padding: 0;
8
+ list-style: none;
9
+ overflow: hidden;
10
+ width: 100%;
11
+
12
+ li {
13
+ float: left;
14
+ margin: 0 .2em 0 1em;
15
+ }
16
+
17
+ li:first-child {
18
+ margin-left: 0 !important;
19
+ a:before {
20
+ content: normal;
21
+ }
22
+ }
23
+
24
+ li:last-child {
25
+ background: none;
26
+ a {
27
+ color: @dark;
28
+ }
29
+ &:after, &:before {
30
+ content: normal;
31
+ }
32
+ }
33
+
34
+ a {
35
+ background: @inputRestState;
36
+ padding: .3em 1em;
37
+ float: left;
38
+ text-decoration: none;
39
+ color: @linkColor;
40
+ position: relative;
41
+
42
+ &:hover {
43
+ background: @cyan;
44
+ color: @white;
45
+
46
+ &:before {
47
+ border-color: @cyan @cyan @cyan transparent;
48
+ }
49
+
50
+ &:after {
51
+ border-left-color: @cyan;
52
+ }
53
+ }
54
+
55
+ &:before {
56
+ content: "";
57
+ position: absolute;
58
+ top: 50%;
59
+ margin-top: -1.5em;
60
+ border-width: 1.5em 0 1.5em 1em;
61
+ border-style: solid;
62
+ border-color: #ddd #ddd #ddd transparent;
63
+ left: -1em;
64
+ margin-left: 1px;
65
+ }
66
+
67
+ &:after {
68
+ content: "";
69
+ position: absolute;
70
+ top: 50%;
71
+ margin-top: -1.5em;
72
+ border-top: 1.5em solid transparent;
73
+ border-bottom: 1.5em solid transparent;
74
+ border-left: 1em solid #ddd;
75
+ right: -1em;
76
+ margin-right: 1px;
77
+ }
78
+ }
79
+
80
+ .active, .active:hover {
81
+ background: none;
82
+ a {
83
+ color: @dark;
84
+ }
85
+ }
86
+
87
+ .active:hover {
88
+ a {
89
+ color: @white;
90
+ }
91
+ }
92
+
93
+ .active {
94
+ &:after, &:before {
95
+ content: normal;
96
+ }
97
+ }
98
+ }
99
+
100
+ &.small {
101
+ li {
102
+ margin: 0 .2em 0 .8em;
103
+ }
104
+ a {
105
+ padding: .2em 1em;
106
+ font-size: 11.9px;
107
+ }
108
+ }
109
+ &.mini {
110
+ li {
111
+ margin: 0 .2em 0 .6em;
112
+ }
113
+ a {
114
+ padding: .1em 1em;
115
+ font-size: 10.5px;
116
+ }
117
+ }
118
+ }