dashstrap 0.1.0
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 +7 -0
- data/.gitignore +19 -0
- data/.yardopts +1 -0
- data/Gemfile +8 -0
- data/LICENSE +339 -0
- data/README.md +40 -0
- data/Rakefile +13 -0
- data/TODO.org +3 -0
- data/app/assets/fonts/BYekan.eot +0 -0
- data/app/assets/fonts/BYekan.ttf +0 -0
- data/app/assets/fonts/BYekan.woff +0 -0
- data/app/assets/javascripts/dashstrap/application.js +2 -0
- data/app/assets/javascripts/dashstrap/functions.js +27 -0
- data/app/assets/javascripts/dashstrap/locales/translations.fa.js +5 -0
- data/app/assets/javascripts/dashstrap/modules/init.js +1 -0
- data/app/assets/javascripts/dashstrap/modules/list-view.js +376 -0
- data/app/assets/javascripts/dashstrap/modules/modules.js +79 -0
- data/app/assets/javascripts/dashstrap/modules/navigation.js +24 -0
- data/app/assets/javascripts/locales/translations.fa.js +5 -0
- data/app/assets/locales/templates.pot +92 -0
- data/app/assets/locales/translate.fa.pot +93 -0
- data/app/assets/stylesheets/dashstrap/ltr/application.css +17 -0
- data/app/assets/stylesheets/dashstrap/ltr/ltr.scss +15 -0
- data/app/assets/stylesheets/dashstrap/main.css.scss +63 -0
- data/app/assets/stylesheets/dashstrap/rtl/#application.css# +4 -0
- data/app/assets/stylesheets/dashstrap/rtl/application.css +18 -0
- data/app/assets/stylesheets/dashstrap/rtl/rtl.scss +38 -0
- data/app/assets/stylesheets/dashstrap/share.scss +7 -0
- data/app/assets/stylesheets/faalis/ltr/application.css +0 -0
- data/app/assets/stylesheets/faalis/rtl/application.css +0 -0
- data/app/assets/stylesheets/simple/ltr/application.css +4 -0
- data/app/assets/stylesheets/simple/rtl/application.css +5 -0
- data/app/assets/stylesheets/simple/rtl/rtl.scss +16 -0
- data/app/assets/stylesheets/simple/share.scss +11 -0
- data/app/views/angular/auth/groups/details.html +21 -0
- data/app/views/angular/auth/groups/index.html.slim +2 -0
- data/app/views/angular/auth/groups/new.html.slim +44 -0
- data/app/views/angular/auth/index.html +30 -0
- data/app/views/angular/auth/profile/edit.html +54 -0
- data/app/views/angular/auth/users/details.html +28 -0
- data/app/views/angular/auth/users/index.html +6 -0
- data/app/views/angular/auth/users/new.html +57 -0
- data/app/views/angular/fields/accordion/accordion-group.html +10 -0
- data/app/views/angular/fields/accordion/accordion.html +1 -0
- data/app/views/angular/fields/alert/alert.html +7 -0
- data/app/views/angular/fields/boolean/boolean.html +4 -0
- data/app/views/angular/fields/carousel/carousel.html +8 -0
- data/app/views/angular/fields/carousel/slide.html +7 -0
- data/app/views/angular/fields/control-combo/control-list.html +19 -0
- data/app/views/angular/fields/datepicker/datepicker.html +5 -0
- data/app/views/angular/fields/datepicker/day.html +21 -0
- data/app/views/angular/fields/datepicker/month.html +16 -0
- data/app/views/angular/fields/datepicker/popup.html +10 -0
- data/app/views/angular/fields/datepicker/year.html +16 -0
- data/app/views/angular/fields/datetime/datetime.html +10 -0
- data/app/views/angular/fields/datetime/time.html +25 -0
- data/app/views/angular/fields/float/float.html +4 -0
- data/app/views/angular/fields/image/image.html +1 -0
- data/app/views/angular/fields/integer/integer.html +4 -0
- data/app/views/angular/fields/modal/backdrop.html +4 -0
- data/app/views/angular/fields/modal/window.html +3 -0
- data/app/views/angular/fields/pagination/pager.html +4 -0
- data/app/views/angular/fields/pagination/pagination.html +7 -0
- data/app/views/angular/fields/popover/popover.html +8 -0
- data/app/views/angular/fields/progressbar/bar.html +1 -0
- data/app/views/angular/fields/progressbar/progress.html +1 -0
- data/app/views/angular/fields/progressbar/progressbar.html +3 -0
- data/app/views/angular/fields/rating/rating.html +5 -0
- data/app/views/angular/fields/relation/relation.html +43 -0
- data/app/views/angular/fields/string/string.html +22 -0
- data/app/views/angular/fields/tabs/tab.html +3 -0
- data/app/views/angular/fields/tabs/tabset.html +10 -0
- data/app/views/angular/fields/tag/tag.html +3 -0
- data/app/views/angular/fields/text/text.html +4 -0
- data/app/views/angular/fields/timepicker/timepicker.html +26 -0
- data/app/views/angular/fields/tooltip/tooltip-html-unsafe-popup.html +4 -0
- data/app/views/angular/fields/tooltip/tooltip-popup.html +4 -0
- data/app/views/angular/fields/typeahead/typeahead-match.html +1 -0
- data/app/views/angular/fields/typeahead/typeahead-popup.html +5 -0
- data/app/views/angular/index.html +448 -0
- data/app/views/angular/list-view/index.html +161 -0
- data/app/views/angular/modules.html +46 -0
- data/app/views/angular/nav.html.erb +273 -0
- data/app/views/dashstrap/.keep +0 -0
- data/app/views/devise/registrations/edit.html.erb +29 -0
- data/app/views/devise/registrations/new.html.erb +36 -0
- data/app/views/devise/sessions/new.html.erb +33 -0
- data/app/views/devise/shared/_links.erb +19 -0
- data/app/views/devise/shared/_omni_link.erb +15 -0
- data/app/views/faalis/dashboard/index.html.erb +44 -0
- data/app/views/faalis/dashboard/login_required_page.html.erb +5 -0
- data/app/views/layouts/dashstrap/.keep +0 -0
- data/app/views/layouts/faalis/application.html.erb +83 -0
- data/app/views/layouts/faalis/dashboard.html.erb +26 -0
- data/app/views/layouts/faalis/simple.html.erb +22 -0
- data/dashstrap.gemspec +39 -0
- data/lib/dashstrap/engine.rb +29 -0
- data/lib/dashstrap/version.rb +3 -0
- data/lib/dashstrap.rb +4 -0
- data/lib/generators/dashstrap/install_generator.rb +14 -0
- data/lib/generators/templates/js/list_view/README +31 -0
- data/lib/generators/templates/js/list_view/details.html.erb +25 -0
- data/lib/generators/templates/js/list_view/index.html.erb +89 -0
- data/lib/generators/templates/js/list_view/module.js.erb +10 -0
- data/lib/generators/templates/js/list_view/new.html.erb +81 -0
- data/lib/generators/templates/js/list_view/partials/add_controller.js.erb +103 -0
- data/lib/generators/templates/js/list_view/partials/config.js.erb +20 -0
- data/lib/generators/templates/js/list_view/partials/index_controller.js.erb +199 -0
- data/lib/generators/templates/js/list_view/partials/menu.js.erb +6 -0
- data/lib/generators/templates/stylesheets/application.css +13 -0
- data/lib/generators/templates/stylesheets/dashboard/ltr/application.css +1 -0
- data/lib/generators/templates/stylesheets/dashboard/rtl/application.css +1 -0
- data/lib/generators/templates/stylesheets/ltr/application.css +6 -0
- data/lib/generators/templates/stylesheets/rtl/application.css +4 -0
- data/lib/tasks/.keep +0 -0
- data/lib/tasks/build.rake +15 -0
- data/lib/tasks/grunt/Gruntfile.js +30 -0
- data/vendor/assets/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.svg +414 -0
- data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/vendor/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/fonts/ionicons.eot +0 -0
- data/vendor/assets/fonts/ionicons.svg +1623 -0
- data/vendor/assets/fonts/ionicons.ttf +0 -0
- data/vendor/assets/fonts/ionicons.woff +0 -0
- data/vendor/assets/javascripts/.keep +0 -0
- data/vendor/assets/javascripts/AdminLTE/app.js +1037 -0
- data/vendor/assets/javascripts/AdminLTE/dashboard.js +254 -0
- data/vendor/assets/javascripts/bootstrap.js +2114 -0
- data/vendor/assets/javascripts/ui-bootstrap.js +3799 -0
- data/vendor/assets/stylesheets/.keep +0 -0
- data/vendor/assets/stylesheets/AdminLTE.css +3024 -0
- data/vendor/assets/stylesheets/bootstrap.css +7118 -0
- data/vendor/assets/stylesheets/rtl/AdminLTE.css +3032 -0
- data/vendor/assets/stylesheets/rtl/bootstrap-rtl.css +442 -0
- data/vendor/assets/stylesheets/rtl/bootstrap.css +6239 -0
- metadata +366 -0
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
<!-- Small boxes (Stat box) -->
|
|
2
|
+
<div class="row">
|
|
3
|
+
<div class="col-lg-3 col-xs-6">
|
|
4
|
+
<!-- small box -->
|
|
5
|
+
<div class="small-box bg-aqua">
|
|
6
|
+
<div class="inner">
|
|
7
|
+
<h3>
|
|
8
|
+
150
|
|
9
|
+
</h3>
|
|
10
|
+
<p>
|
|
11
|
+
New Orders
|
|
12
|
+
</p>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="icon">
|
|
15
|
+
<i class="ion ion-bag"></i>
|
|
16
|
+
</div>
|
|
17
|
+
<a href="#" class="small-box-footer">
|
|
18
|
+
More info <i class="fa fa-arrow-circle-right"></i>
|
|
19
|
+
</a>
|
|
20
|
+
</div>
|
|
21
|
+
</div><!-- ./col -->
|
|
22
|
+
<div class="col-lg-3 col-xs-6">
|
|
23
|
+
<!-- small box -->
|
|
24
|
+
<div class="small-box bg-green">
|
|
25
|
+
<div class="inner">
|
|
26
|
+
<h3>
|
|
27
|
+
53<sup style="font-size: 20px">%</sup>
|
|
28
|
+
</h3>
|
|
29
|
+
<p>
|
|
30
|
+
Bounce Rate
|
|
31
|
+
</p>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="icon">
|
|
34
|
+
<i class="ion ion-stats-bars"></i>
|
|
35
|
+
</div>
|
|
36
|
+
<a href="#" class="small-box-footer">
|
|
37
|
+
<%= _("More info") %> <i class="fa fa-arrow-circle-right"></i>
|
|
38
|
+
</a>
|
|
39
|
+
</div>
|
|
40
|
+
</div><!-- ./col -->
|
|
41
|
+
<div class="col-lg-3 col-xs-6">
|
|
42
|
+
<!-- small box -->
|
|
43
|
+
<div class="small-box bg-yellow">
|
|
44
|
+
<div class="inner">
|
|
45
|
+
<h3>
|
|
46
|
+
44
|
|
47
|
+
</h3>
|
|
48
|
+
<p>
|
|
49
|
+
User Registrations
|
|
50
|
+
</p>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="icon">
|
|
53
|
+
<i class="ion ion-person-add"></i>
|
|
54
|
+
</div>
|
|
55
|
+
<a href="#" class="small-box-footer">
|
|
56
|
+
More info <i class="fa fa-arrow-circle-right"></i>
|
|
57
|
+
</a>
|
|
58
|
+
</div>
|
|
59
|
+
</div><!-- ./col -->
|
|
60
|
+
<div class="col-lg-3 col-xs-6">
|
|
61
|
+
<!-- small box -->
|
|
62
|
+
<div class="small-box bg-red">
|
|
63
|
+
<div class="inner">
|
|
64
|
+
<h3>
|
|
65
|
+
65
|
|
66
|
+
</h3>
|
|
67
|
+
<p>
|
|
68
|
+
Unique Visitors
|
|
69
|
+
</p>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="icon">
|
|
72
|
+
<i class="ion ion-pie-graph"></i>
|
|
73
|
+
</div>
|
|
74
|
+
<a href="#" class="small-box-footer">
|
|
75
|
+
More info <i class="fa fa-arrow-circle-right"></i>
|
|
76
|
+
</a>
|
|
77
|
+
</div>
|
|
78
|
+
</div><!-- ./col -->
|
|
79
|
+
</div><!-- /.row -->
|
|
80
|
+
|
|
81
|
+
<!-- Main row -->
|
|
82
|
+
<div class="row">
|
|
83
|
+
<!-- Left col -->
|
|
84
|
+
<section class="col-lg-7 connectedSortable">
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
<!-- Custom tabs (Charts with tabs)-->
|
|
88
|
+
<div class="nav-tabs-custom">
|
|
89
|
+
<!-- Tabs within a box -->
|
|
90
|
+
<ul class="nav nav-tabs pull-right">
|
|
91
|
+
<li class="active"><a href="#revenue-chart" data-toggle="tab"><%= ("Area") %></a></li>
|
|
92
|
+
<li><a href="#sales-chart" data-toggle="tab"><%= ("Donut") %></a></li>
|
|
93
|
+
<li class="pull-left header"><i class="fa fa-inbox"></i> <%= ("Sales") %></li>
|
|
94
|
+
</ul>
|
|
95
|
+
<div class="tab-content no-padding">
|
|
96
|
+
<!-- Morris chart - Sales -->
|
|
97
|
+
<div class="chart tab-pane active" id="revenue-chart" style="position: relative; height: 300px;"></div>
|
|
98
|
+
<div class="chart tab-pane" id="sales-chart" style="position: relative; height: 300px;"></div>
|
|
99
|
+
</div>
|
|
100
|
+
</div><!-- /.nav-tabs-custom -->
|
|
101
|
+
|
|
102
|
+
<!-- Chat box -->
|
|
103
|
+
<div class="box box-success">
|
|
104
|
+
<div class="box-header">
|
|
105
|
+
<i class="fa fa-comments-o"></i>
|
|
106
|
+
<h3 class="box-title">Chat</h3>
|
|
107
|
+
<div class="box-tools pull-right" data-toggle="tooltip" title="Status">
|
|
108
|
+
<div class="btn-group" data-toggle="btn-toggle" >
|
|
109
|
+
<button type="button" class="btn btn-default btn-sm active"><i class="fa fa-square text-green"></i></button>
|
|
110
|
+
<button type="button" class="btn btn-default btn-sm"><i class="fa fa-square text-red"></i></button>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="box-body chat" id="chat-box">
|
|
115
|
+
<!-- chat item -->
|
|
116
|
+
<div class="item">
|
|
117
|
+
<img src="img/avatar.png" alt="user image" class="online"/>
|
|
118
|
+
<p class="message">
|
|
119
|
+
<a href="#" class="name">
|
|
120
|
+
<small class="text-muted pull-right"><i class="fa fa-clock-o"></i> 2:15</small>
|
|
121
|
+
Mike Doe
|
|
122
|
+
</a>
|
|
123
|
+
I would like to meet you to discuss the latest news about
|
|
124
|
+
the arrival of the new theme. They say it is going to be one the
|
|
125
|
+
best themes on the market
|
|
126
|
+
</p>
|
|
127
|
+
<div class="attachment">
|
|
128
|
+
<h4>Attachments:</h4>
|
|
129
|
+
<p class="filename">
|
|
130
|
+
Theme-thumbnail-image.jpg
|
|
131
|
+
</p>
|
|
132
|
+
<div class="pull-right">
|
|
133
|
+
<button class="btn btn-primary btn-sm btn-flat">Open</button>
|
|
134
|
+
</div>
|
|
135
|
+
</div><!-- /.attachment -->
|
|
136
|
+
</div><!-- /.item -->
|
|
137
|
+
<!-- chat item -->
|
|
138
|
+
<div class="item">
|
|
139
|
+
<img src="img/avatar2.png" alt="user image" class="offline"/>
|
|
140
|
+
<p class="message">
|
|
141
|
+
<a href="#" class="name">
|
|
142
|
+
<small class="text-muted pull-right"><i class="fa fa-clock-o"></i> 5:15</small>
|
|
143
|
+
Jane Doe
|
|
144
|
+
</a>
|
|
145
|
+
I would like to meet you to discuss the latest news about
|
|
146
|
+
the arrival of the new theme. They say it is going to be one the
|
|
147
|
+
best themes on the market
|
|
148
|
+
</p>
|
|
149
|
+
</div><!-- /.item -->
|
|
150
|
+
<!-- chat item -->
|
|
151
|
+
<div class="item">
|
|
152
|
+
<img src="img/avatar3.png" alt="user image" class="offline"/>
|
|
153
|
+
<p class="message">
|
|
154
|
+
<a href="#" class="name">
|
|
155
|
+
<small class="text-muted pull-right"><i class="fa fa-clock-o"></i> 5:30</small>
|
|
156
|
+
Susan Doe
|
|
157
|
+
</a>
|
|
158
|
+
I would like to meet you to discuss the latest news about
|
|
159
|
+
the arrival of the new theme. They say it is going to be one the
|
|
160
|
+
best themes on the market
|
|
161
|
+
</p>
|
|
162
|
+
</div><!-- /.item -->
|
|
163
|
+
</div><!-- /.chat -->
|
|
164
|
+
<div class="box-footer">
|
|
165
|
+
<div class="input-group">
|
|
166
|
+
<input class="form-control" placeholder="Type message..."/>
|
|
167
|
+
<div class="input-group-btn">
|
|
168
|
+
<button class="btn btn-success"><i class="fa fa-plus"></i></button>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
</div><!-- /.box (chat box) -->
|
|
173
|
+
|
|
174
|
+
<!-- TO DO List -->
|
|
175
|
+
<div class="box box-primary">
|
|
176
|
+
<div class="box-header">
|
|
177
|
+
<i class="ion ion-clipboard"></i>
|
|
178
|
+
<h3 class="box-title">To Do List</h3>
|
|
179
|
+
<div class="box-tools pull-right">
|
|
180
|
+
<ul class="pagination pagination-sm inline">
|
|
181
|
+
<li><a href="#">«</a></li>
|
|
182
|
+
<li><a href="#">1</a></li>
|
|
183
|
+
<li><a href="#">2</a></li>
|
|
184
|
+
<li><a href="#">3</a></li>
|
|
185
|
+
<li><a href="#">»</a></li>
|
|
186
|
+
</ul>
|
|
187
|
+
</div>
|
|
188
|
+
</div><!-- /.box-header -->
|
|
189
|
+
<div class="box-body">
|
|
190
|
+
<ul class="todo-list">
|
|
191
|
+
<li>
|
|
192
|
+
<!-- drag handle -->
|
|
193
|
+
<span class="handle">
|
|
194
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
195
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
196
|
+
</span>
|
|
197
|
+
<!-- checkbox -->
|
|
198
|
+
<input type="checkbox" value="" name=""/>
|
|
199
|
+
<!-- todo text -->
|
|
200
|
+
<span class="text">Design a nice theme</span>
|
|
201
|
+
<!-- Emphasis label -->
|
|
202
|
+
<small class="label label-danger"><i class="fa fa-clock-o"></i> 2 mins</small>
|
|
203
|
+
<!-- General tools such as edit or delete-->
|
|
204
|
+
<div class="tools">
|
|
205
|
+
<i class="fa fa-edit"></i>
|
|
206
|
+
<i class="fa fa-trash-o"></i>
|
|
207
|
+
</div>
|
|
208
|
+
</li>
|
|
209
|
+
<li>
|
|
210
|
+
<span class="handle">
|
|
211
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
212
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
213
|
+
</span>
|
|
214
|
+
<input type="checkbox" value="" name=""/>
|
|
215
|
+
<span class="text">Make the theme responsive</span>
|
|
216
|
+
<small class="label label-info"><i class="fa fa-clock-o"></i> 4 hours</small>
|
|
217
|
+
<div class="tools">
|
|
218
|
+
<i class="fa fa-edit"></i>
|
|
219
|
+
<i class="fa fa-trash-o"></i>
|
|
220
|
+
</div>
|
|
221
|
+
</li>
|
|
222
|
+
<li>
|
|
223
|
+
<span class="handle">
|
|
224
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
225
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
226
|
+
</span>
|
|
227
|
+
<input type="checkbox" value="" name=""/>
|
|
228
|
+
<span class="text">Let theme shine like a star</span>
|
|
229
|
+
<small class="label label-warning"><i class="fa fa-clock-o"></i> 1 day</small>
|
|
230
|
+
<div class="tools">
|
|
231
|
+
<i class="fa fa-edit"></i>
|
|
232
|
+
<i class="fa fa-trash-o"></i>
|
|
233
|
+
</div>
|
|
234
|
+
</li>
|
|
235
|
+
<li>
|
|
236
|
+
<span class="handle">
|
|
237
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
238
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
239
|
+
</span>
|
|
240
|
+
<input type="checkbox" value="" name=""/>
|
|
241
|
+
<span class="text">Let theme shine like a star</span>
|
|
242
|
+
<small class="label label-success"><i class="fa fa-clock-o"></i> 3 days</small>
|
|
243
|
+
<div class="tools">
|
|
244
|
+
<i class="fa fa-edit"></i>
|
|
245
|
+
<i class="fa fa-trash-o"></i>
|
|
246
|
+
</div>
|
|
247
|
+
</li>
|
|
248
|
+
<li>
|
|
249
|
+
<span class="handle">
|
|
250
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
251
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
252
|
+
</span>
|
|
253
|
+
<input type="checkbox" value="" name=""/>
|
|
254
|
+
<span class="text">Check your messages and notifications</span>
|
|
255
|
+
<small class="label label-primary"><i class="fa fa-clock-o"></i> 1 week</small>
|
|
256
|
+
<div class="tools">
|
|
257
|
+
<i class="fa fa-edit"></i>
|
|
258
|
+
<i class="fa fa-trash-o"></i>
|
|
259
|
+
</div>
|
|
260
|
+
</li>
|
|
261
|
+
<li>
|
|
262
|
+
<span class="handle">
|
|
263
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
264
|
+
<i class="fa fa-ellipsis-v"></i>
|
|
265
|
+
</span>
|
|
266
|
+
<input type="checkbox" value="" name=""/>
|
|
267
|
+
<span class="text">Let theme shine like a star</span>
|
|
268
|
+
<small class="label label-default"><i class="fa fa-clock-o"></i> 1 month</small>
|
|
269
|
+
<div class="tools">
|
|
270
|
+
<i class="fa fa-edit"></i>
|
|
271
|
+
<i class="fa fa-trash-o"></i>
|
|
272
|
+
</div>
|
|
273
|
+
</li>
|
|
274
|
+
</ul>
|
|
275
|
+
</div><!-- /.box-body -->
|
|
276
|
+
<div class="box-footer clearfix no-border">
|
|
277
|
+
<button class="btn btn-default pull-right"><i class="fa fa-plus"></i> Add item</button>
|
|
278
|
+
</div>
|
|
279
|
+
</div><!-- /.box -->
|
|
280
|
+
|
|
281
|
+
<!-- quick email widget -->
|
|
282
|
+
<div class="box box-info">
|
|
283
|
+
<div class="box-header">
|
|
284
|
+
<i class="fa fa-envelope"></i>
|
|
285
|
+
<h3 class="box-title">Quick Email</h3>
|
|
286
|
+
<!-- tools box -->
|
|
287
|
+
<div class="pull-right box-tools">
|
|
288
|
+
<button class="btn btn-info btn-sm" data-widget="remove" data-toggle="tooltip" title="Remove"><i class="fa fa-times"></i></button>
|
|
289
|
+
</div><!-- /. tools -->
|
|
290
|
+
</div>
|
|
291
|
+
<div class="box-body">
|
|
292
|
+
<form action="#" method="post">
|
|
293
|
+
<div class="form-group">
|
|
294
|
+
<input type="email" class="form-control" name="emailto" placeholder="Email to:"/>
|
|
295
|
+
</div>
|
|
296
|
+
<div class="form-group">
|
|
297
|
+
<input type="text" class="form-control" name="subject" placeholder="Subject"/>
|
|
298
|
+
</div>
|
|
299
|
+
<div>
|
|
300
|
+
<textarea class="textarea" placeholder="Message" style="width: 100%; height: 125px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
|
|
301
|
+
</div>
|
|
302
|
+
</form>
|
|
303
|
+
</div>
|
|
304
|
+
<div class="box-footer clearfix">
|
|
305
|
+
<button class="pull-right btn btn-default" id="sendEmail">Send <i class="fa fa-arrow-circle-right"></i></button>
|
|
306
|
+
</div>
|
|
307
|
+
</div>
|
|
308
|
+
|
|
309
|
+
</section><!-- /.Left col -->
|
|
310
|
+
|
|
311
|
+
<!-- right col (We are only adding the ID to make the widgets sortable)-->
|
|
312
|
+
<section class="col-lg-5 connectedSortable">
|
|
313
|
+
|
|
314
|
+
<!-- Map box -->
|
|
315
|
+
<div class="box box-solid bg-light-blue-gradient">
|
|
316
|
+
<div class="box-header">
|
|
317
|
+
<!-- tools box -->
|
|
318
|
+
<div class="pull-right box-tools">
|
|
319
|
+
<button class="btn btn-primary btn-sm daterange pull-right" data-toggle="tooltip" title="Date range"><i class="fa fa-calendar"></i></button>
|
|
320
|
+
<button class="btn btn-primary btn-sm pull-right" data-widget='collapse' data-toggle="tooltip" title="Collapse" style="margin-right: 5px;"><i class="fa fa-minus"></i></button>
|
|
321
|
+
</div><!-- /. tools -->
|
|
322
|
+
|
|
323
|
+
<i class="fa fa-map-marker"></i>
|
|
324
|
+
<h3 class="box-title">
|
|
325
|
+
Visitors
|
|
326
|
+
</h3>
|
|
327
|
+
</div>
|
|
328
|
+
<div class="box-body">
|
|
329
|
+
<div id="world-map" style="height: 250px;"></div>
|
|
330
|
+
</div><!-- /.box-body-->
|
|
331
|
+
<div class="box-footer no-border">
|
|
332
|
+
<div class="row">
|
|
333
|
+
<div class="col-xs-4 text-center" style="border-right: 1px solid #f4f4f4">
|
|
334
|
+
<div id="sparkline-1"></div>
|
|
335
|
+
<div class="knob-label">Visitors</div>
|
|
336
|
+
</div><!-- ./col -->
|
|
337
|
+
<div class="col-xs-4 text-center" style="border-right: 1px solid #f4f4f4">
|
|
338
|
+
<div id="sparkline-2"></div>
|
|
339
|
+
<div class="knob-label" translate>Online</div>
|
|
340
|
+
</div><!-- ./col -->
|
|
341
|
+
<div class="col-xs-4 text-center">
|
|
342
|
+
<div id="sparkline-3"></div>
|
|
343
|
+
<div class="knob-label">Exists</div>
|
|
344
|
+
</div><!-- ./col -->
|
|
345
|
+
</div><!-- /.row -->
|
|
346
|
+
</div>
|
|
347
|
+
</div>
|
|
348
|
+
<!-- /.box -->
|
|
349
|
+
|
|
350
|
+
<!-- solid sales graph -->
|
|
351
|
+
<div class="box box-solid bg-teal-gradient">
|
|
352
|
+
<div class="box-header">
|
|
353
|
+
<i class="fa fa-th"></i>
|
|
354
|
+
<h3 class="box-title">Sales Graph</h3>
|
|
355
|
+
<div class="box-tools pull-right">
|
|
356
|
+
<button class="btn bg-teal btn-sm" data-widget="collapse"><i class="fa fa-minus"></i></button>
|
|
357
|
+
<button class="btn bg-teal btn-sm" data-widget="remove"><i class="fa fa-times"></i></button>
|
|
358
|
+
</div>
|
|
359
|
+
</div>
|
|
360
|
+
<div class="box-body border-radius-none">
|
|
361
|
+
<div class="chart" id="line-chart" style="height: 250px;"></div>
|
|
362
|
+
</div><!-- /.box-body -->
|
|
363
|
+
<div class="box-footer no-border">
|
|
364
|
+
<div class="row">
|
|
365
|
+
<div class="col-xs-4 text-center" style="border-right: 1px solid #f4f4f4">
|
|
366
|
+
<input type="text" class="knob" data-readonly="true" value="20" data-width="60" data-height="60" data-fgColor="#39CCCC"/>
|
|
367
|
+
<div class="knob-label">Mail-Orders</div>
|
|
368
|
+
</div><!-- ./col -->
|
|
369
|
+
<div class="col-xs-4 text-center" style="border-right: 1px solid #f4f4f4">
|
|
370
|
+
<input type="text" class="knob" data-readonly="true" value="50" data-width="60" data-height="60" data-fgColor="#39CCCC"/>
|
|
371
|
+
<div class="knob-label">Online</div>
|
|
372
|
+
</div><!-- ./col -->
|
|
373
|
+
<div class="col-xs-4 text-center">
|
|
374
|
+
<input type="text" class="knob" data-readonly="true" value="30" data-width="60" data-height="60" data-fgColor="#39CCCC"/>
|
|
375
|
+
<div class="knob-label">In-Store</div>
|
|
376
|
+
</div><!-- ./col -->
|
|
377
|
+
</div><!-- /.row -->
|
|
378
|
+
</div><!-- /.box-footer -->
|
|
379
|
+
</div><!-- /.box -->
|
|
380
|
+
|
|
381
|
+
<!-- Calendar -->
|
|
382
|
+
<div class="box box-solid bg-green-gradient">
|
|
383
|
+
<div class="box-header">
|
|
384
|
+
<i class="fa fa-calendar"></i>
|
|
385
|
+
<h3 class="box-title">Calendar</h3>
|
|
386
|
+
<!-- tools box -->
|
|
387
|
+
<div class="pull-right box-tools">
|
|
388
|
+
<!-- button with a dropdown -->
|
|
389
|
+
<div class="btn-group">
|
|
390
|
+
<button class="btn btn-success btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-bars"></i></button>
|
|
391
|
+
<ul class="dropdown-menu pull-right" role="menu">
|
|
392
|
+
<li><a href="#">Add new event</a></li>
|
|
393
|
+
<li><a href="#">Clear events</a></li>
|
|
394
|
+
<li class="divider"></li>
|
|
395
|
+
<li><a href="#">View calendar</a></li>
|
|
396
|
+
</ul>
|
|
397
|
+
</div>
|
|
398
|
+
<button class="btn btn-success btn-sm" data-widget="collapse"><i class="fa fa-minus"></i></button>
|
|
399
|
+
<button class="btn btn-success btn-sm" data-widget="remove"><i class="fa fa-times"></i></button>
|
|
400
|
+
</div><!-- /. tools -->
|
|
401
|
+
</div><!-- /.box-header -->
|
|
402
|
+
<div class="box-body no-padding">
|
|
403
|
+
<!--The calendar -->
|
|
404
|
+
<div id="calendar" style="width: 100%"></div>
|
|
405
|
+
</div><!-- /.box-body -->
|
|
406
|
+
<div class="box-footer text-black">
|
|
407
|
+
<div class="row">
|
|
408
|
+
<div class="col-sm-6">
|
|
409
|
+
<!-- Progress bars -->
|
|
410
|
+
<div class="clearfix">
|
|
411
|
+
<span class="pull-left">Task #1</span>
|
|
412
|
+
<small class="pull-right">90%</small>
|
|
413
|
+
</div>
|
|
414
|
+
<div class="progress xs">
|
|
415
|
+
<div class="progress-bar progress-bar-green" style="width: 90%;"></div>
|
|
416
|
+
</div>
|
|
417
|
+
|
|
418
|
+
<div class="clearfix">
|
|
419
|
+
<span class="pull-left">Task #2</span>
|
|
420
|
+
<small class="pull-right">70%</small>
|
|
421
|
+
</div>
|
|
422
|
+
<div class="progress xs">
|
|
423
|
+
<div class="progress-bar progress-bar-green" style="width: 70%;"></div>
|
|
424
|
+
</div>
|
|
425
|
+
</div><!-- /.col -->
|
|
426
|
+
<div class="col-sm-6">
|
|
427
|
+
<div class="clearfix">
|
|
428
|
+
<span class="pull-left">Task #3</span>
|
|
429
|
+
<small class="pull-right">60%</small>
|
|
430
|
+
</div>
|
|
431
|
+
<div class="progress xs">
|
|
432
|
+
<div class="progress-bar progress-bar-green" style="width: 60%;"></div>
|
|
433
|
+
</div>
|
|
434
|
+
|
|
435
|
+
<div class="clearfix">
|
|
436
|
+
<span class="pull-left">Task #4</span>
|
|
437
|
+
<small class="pull-right">40%</small>
|
|
438
|
+
</div>
|
|
439
|
+
<div class="progress xs">
|
|
440
|
+
<div class="progress-bar progress-bar-green" style="width: 40%;"></div>
|
|
441
|
+
</div>
|
|
442
|
+
</div><!-- /.col -->
|
|
443
|
+
</div><!-- /.row -->
|
|
444
|
+
</div>
|
|
445
|
+
</div><!-- /.box -->
|
|
446
|
+
|
|
447
|
+
</section><!-- right col -->
|
|
448
|
+
</div><!-- /.row (main row) -->
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
|
|
2
|
+
<div class="row clearmargin" data-ng-transclude>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
<div class="row">
|
|
11
|
+
<div class="col-xs-12">
|
|
12
|
+
<div class="box">
|
|
13
|
+
<div class="box-header">
|
|
14
|
+
<h3 class="box-title" ng-if="button_on_left == false">
|
|
15
|
+
<!--TITLE -->
|
|
16
|
+
{{ list_title }}
|
|
17
|
+
</h3>
|
|
18
|
+
|
|
19
|
+
<div class="box-title" ng-if="button_on_left == true">
|
|
20
|
+
<button data-ng-repeat="button in buttons" class="{{ button.classes }} pull-right btn" type="button" if-user="has_permission(button)"><a object-action object="button"><i class="{{ button.icon }}"></i> {{ button.title | translate }}</a></button>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<div class="box-tools">
|
|
25
|
+
|
|
26
|
+
<div class="input-group pull-right input-group-sm search-group col-sm-2" ng-if="search !== true">
|
|
27
|
+
<input type="search" class="form-control " ng-model="searchterm" placeholder="{{ 'Search' | translate}} ...">
|
|
28
|
+
<span class="input-group-addon"><i class="fa fa-search"></i></span>
|
|
29
|
+
</div>
|
|
30
|
+
<span ng-if="!button_on_left">
|
|
31
|
+
<button data-ng-repeat="button in buttons" class="{{ button.classes }} pull-right btn" type="button" if-user="has_permission(button)"><a object-action object="button"><i class="{{ button.icon }}"></i> {{ button.title | translate }}</a></button>
|
|
32
|
+
</span>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
</div><!-- /.box-header -->
|
|
37
|
+
|
|
38
|
+
<div class="box-body table-responsive just-top-padding">
|
|
39
|
+
|
|
40
|
+
<table class="table table-hover list-view-table" ng-if="get_current_page().length > 0">
|
|
41
|
+
|
|
42
|
+
<tbody>
|
|
43
|
+
<tr>
|
|
44
|
+
<th><i ng-click="select_all()" ng-class="{fa:true, 'fa-square':!is_all_selected, 'fa-check-square':is_all_selected, pointer:true}"></i></th>
|
|
45
|
+
<th>{{ title_attr }}</th>
|
|
46
|
+
<th></th>
|
|
47
|
+
<th></th>
|
|
48
|
+
</tr>
|
|
49
|
+
|
|
50
|
+
<tr ng-repeat-start="object in get_current_page() track by $index" class='title-row'>
|
|
51
|
+
|
|
52
|
+
<td>
|
|
53
|
+
<i ng-click="select_item(object)" ng-class="{fa:true, 'fa-check-square':object.is_selected, 'fa-square':!object.is_selected, pointer:true}"></i>
|
|
54
|
+
</td>
|
|
55
|
+
|
|
56
|
+
<td>
|
|
57
|
+
{{ get_attr(object, title_attr) }}
|
|
58
|
+
</td>
|
|
59
|
+
|
|
60
|
+
<td>
|
|
61
|
+
<div class="pull-left" ng-init = "badges = badge_processor(object)" >
|
|
62
|
+
<span ng-repeat="badge in badges" class="badge {{badge.color}}" title="{{badge.text}}">
|
|
63
|
+
<i ng-show="badge.icon !== undefined" class="{{badge.icon}}"></i>{{badge.text}}
|
|
64
|
+
</span>
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
</td>
|
|
68
|
+
<td class="row_buttons">
|
|
69
|
+
<div class="tools" >
|
|
70
|
+
<div class="pull-right" ng-init = "tools = tools_processor(object)" >
|
|
71
|
+
|
|
72
|
+
<span ng-repeat="tool in tools">
|
|
73
|
+
|
|
74
|
+
<a href="{{ tool.url }}" class="pointer tool" ng-if="tool.url !== undefined">
|
|
75
|
+
<span translate>{{ tool.text }}</span>
|
|
76
|
+
<i class="{{ tool.icon }} "> </i>
|
|
77
|
+
</a>
|
|
78
|
+
|
|
79
|
+
<span ng-click="tool.callback(object)" class="pointer tool" ng-if="tool.callback !== undefined">
|
|
80
|
+
<span translate>{{ tool.text }}</span>
|
|
81
|
+
<i class="{{ tool.icon }}"></i>
|
|
82
|
+
</span>
|
|
83
|
+
</span>
|
|
84
|
+
|
|
85
|
+
<span ng-if="tool.toggle-details !== undefined" ng-click="toggle_details(object)" class="pointer tool" >
|
|
86
|
+
<span translate>View</span>
|
|
87
|
+
<i class="{{ handle_icon }} {{ handle_icon_expand(object) }} handle fa"></i>
|
|
88
|
+
</span>
|
|
89
|
+
|
|
90
|
+
</div>
|
|
91
|
+
</td>
|
|
92
|
+
|
|
93
|
+
</tr>
|
|
94
|
+
<tr ng-show="should_view(object)" ng-repeat-end>
|
|
95
|
+
<td colspan="20" class="details">
|
|
96
|
+
<div ng-include="details_template">
|
|
97
|
+
</div>
|
|
98
|
+
</td>
|
|
99
|
+
</tr>
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
</tbody>
|
|
103
|
+
</table>
|
|
104
|
+
|
|
105
|
+
<table class="table table-hover list-view-table" ng-show="get_current_page().length == 0">
|
|
106
|
+
<tbody>
|
|
107
|
+
<tr>
|
|
108
|
+
<td colspan="40" style="text-align: center;">
|
|
109
|
+
<span translate>There is no data!</span>
|
|
110
|
+
</td>
|
|
111
|
+
</tr>
|
|
112
|
+
</tbody>
|
|
113
|
+
</table>
|
|
114
|
+
</div><!-- /.box-body -->
|
|
115
|
+
|
|
116
|
+
<!-- Box fotter -->
|
|
117
|
+
<div class="box-footer clearfix">
|
|
118
|
+
<span ng-if="has_pagination()">
|
|
119
|
+
<ul class="pagination pagination-sm no-margin pull-left">
|
|
120
|
+
<li><a ng-click="go_to_first_page()">
|
|
121
|
+
<i class="fa {{ first_page_icon }}"></i>
|
|
122
|
+
</a></li>
|
|
123
|
+
|
|
124
|
+
<li><a ng-click="go_to_prev_page()">
|
|
125
|
+
<i class="fa {{ prev_page_icon }}" ></i>
|
|
126
|
+
</a></li>
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
<li><a ng-click="go_to_next_page()">
|
|
130
|
+
<i class="fa {{ next_page_icon }}"></i>
|
|
131
|
+
</a></li>
|
|
132
|
+
<li><a ng-click="go_to_last_page()">
|
|
133
|
+
<i class="fa {{ last_page_icon }}"></i>
|
|
134
|
+
</a></li>
|
|
135
|
+
</ul>
|
|
136
|
+
|
|
137
|
+
<div class="input-group input-group-sm pagination_page pull-left">
|
|
138
|
+
<input type="text" class="pagination_input form-control" ng-model="targetpage" ng-keypress="go_to_page($event, targetpage)" tabindex="3" value="{{current_page()}}" novalidate>
|
|
139
|
+
<span class="input-group-btn">
|
|
140
|
+
<button class="btn btn-info btn-flat" ng-click="go_to_page($event, targetpage)" type="button" translate>Go!</button>
|
|
141
|
+
</span>
|
|
142
|
+
</div>
|
|
143
|
+
</span>
|
|
144
|
+
<span class="footer-info">
|
|
145
|
+
<span class="badge bg-red" title="{{ 'Current Page' | translate }}"><i class="fa fa-file-o"></i> {{ current_page() }}</span>
|
|
146
|
+
<span class="badge bg-yellow" title="{{ 'Total Pages' | translate}}"><i class="fa fa-files-o"></i> {{ total_pages() }}</span>
|
|
147
|
+
<span class="badge bg-green" title="{{ 'Item(s)' | translate }}"><i class="fa fa-list-ul"></i> {{ objects_count() }}</span>
|
|
148
|
+
<span class="badge bg-blue" title="{{ 'Selected' | translate }}"><i class="fa {{ hand_icon }}"></i> {{ selected_count() }}</span>
|
|
149
|
+
</span>
|
|
150
|
+
|
|
151
|
+
<div class="pull-right">
|
|
152
|
+
<span class="btn btn-sm bg-olive" ng-click="toggle_select()" translate>Toggle Select</span>
|
|
153
|
+
<span ng-if="can('destroy', permission_model)" ng-click="delete_items()"><span class="btn btn-sm btn-danger">{{delete_title || "Delete"}}</span></span>
|
|
154
|
+
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
<!-- end of box footer -->
|
|
158
|
+
|
|
159
|
+
</div><!-- /.box -->
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- Left side column. contains the logo and sidebar -->
|
|
2
|
+
<!-- sidebar: style can be found in sidebar.less -->
|
|
3
|
+
<section class="sidebar" data-ng-controller="ModulesController as controller">
|
|
4
|
+
<!-- Sidebar user panel -->
|
|
5
|
+
<div class="user-panel">
|
|
6
|
+
<div class="pull-left image">
|
|
7
|
+
<!--<img src="img/avatar3.png" class="img-circle" alt="User Image" />-->
|
|
8
|
+
</div>
|
|
9
|
+
<div class="pull-left info">
|
|
10
|
+
<p><%= _("Hello ") %>, <%= current_user.name %> </p>
|
|
11
|
+
|
|
12
|
+
<a href="#"><i class="fa fa-circle text-success"></i> <span Translate>Online</span></a>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
<!-- search form -->
|
|
16
|
+
<form class="sidebar-form">
|
|
17
|
+
<div class="input-group">
|
|
18
|
+
<input type="text" name="q" class="form-control" placeholder="<%= _("Search...") %>"/>
|
|
19
|
+
<span class="input-group-btn">
|
|
20
|
+
<button type='submit' name='seach' id='search-btn' class="btn btn-flat"><i class="fa fa-search"></i></button>
|
|
21
|
+
</span>
|
|
22
|
+
</div>
|
|
23
|
+
</form>
|
|
24
|
+
|
|
25
|
+
<!-- /.search form -->
|
|
26
|
+
<!-- sidebar menu: : style can be found in sidebar.less -->
|
|
27
|
+
<ul class="sidebar-menu" >
|
|
28
|
+
<li class="active">
|
|
29
|
+
<a href="#/">
|
|
30
|
+
<i class="fa fa-dashboard"></i> <span translate>Dashboard</span>
|
|
31
|
+
</a>
|
|
32
|
+
</li>
|
|
33
|
+
|
|
34
|
+
<li data-ng-repeat="module in controller.modules" class="treeview point" ng-click="controller.view_menu(module)">
|
|
35
|
+
<a>
|
|
36
|
+
<i class="{{ module.icon }}"></i> <span translate>{{ module.title}}</span>
|
|
37
|
+
<i class="fa fa-angle-left pull-right"></i>
|
|
38
|
+
</a>
|
|
39
|
+
|
|
40
|
+
<ul class="treeview-menu slide" ng-if="module.show_menu">
|
|
41
|
+
<li ng-repeat="menu_item in module.menu_items" ng-click="controller.on_click(menu_item.url)"><a><span>{{ menu_item.title | translate }}</span></a></li>
|
|
42
|
+
</ul>
|
|
43
|
+
</li>
|
|
44
|
+
</ul>
|
|
45
|
+
</section>
|
|
46
|
+
<!-- /.sidebar -->
|