dashstrap 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 -->
|