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.
Files changed (142) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.yardopts +1 -0
  4. data/Gemfile +8 -0
  5. data/LICENSE +339 -0
  6. data/README.md +40 -0
  7. data/Rakefile +13 -0
  8. data/TODO.org +3 -0
  9. data/app/assets/fonts/BYekan.eot +0 -0
  10. data/app/assets/fonts/BYekan.ttf +0 -0
  11. data/app/assets/fonts/BYekan.woff +0 -0
  12. data/app/assets/javascripts/dashstrap/application.js +2 -0
  13. data/app/assets/javascripts/dashstrap/functions.js +27 -0
  14. data/app/assets/javascripts/dashstrap/locales/translations.fa.js +5 -0
  15. data/app/assets/javascripts/dashstrap/modules/init.js +1 -0
  16. data/app/assets/javascripts/dashstrap/modules/list-view.js +376 -0
  17. data/app/assets/javascripts/dashstrap/modules/modules.js +79 -0
  18. data/app/assets/javascripts/dashstrap/modules/navigation.js +24 -0
  19. data/app/assets/javascripts/locales/translations.fa.js +5 -0
  20. data/app/assets/locales/templates.pot +92 -0
  21. data/app/assets/locales/translate.fa.pot +93 -0
  22. data/app/assets/stylesheets/dashstrap/ltr/application.css +17 -0
  23. data/app/assets/stylesheets/dashstrap/ltr/ltr.scss +15 -0
  24. data/app/assets/stylesheets/dashstrap/main.css.scss +63 -0
  25. data/app/assets/stylesheets/dashstrap/rtl/#application.css# +4 -0
  26. data/app/assets/stylesheets/dashstrap/rtl/application.css +18 -0
  27. data/app/assets/stylesheets/dashstrap/rtl/rtl.scss +38 -0
  28. data/app/assets/stylesheets/dashstrap/share.scss +7 -0
  29. data/app/assets/stylesheets/faalis/ltr/application.css +0 -0
  30. data/app/assets/stylesheets/faalis/rtl/application.css +0 -0
  31. data/app/assets/stylesheets/simple/ltr/application.css +4 -0
  32. data/app/assets/stylesheets/simple/rtl/application.css +5 -0
  33. data/app/assets/stylesheets/simple/rtl/rtl.scss +16 -0
  34. data/app/assets/stylesheets/simple/share.scss +11 -0
  35. data/app/views/angular/auth/groups/details.html +21 -0
  36. data/app/views/angular/auth/groups/index.html.slim +2 -0
  37. data/app/views/angular/auth/groups/new.html.slim +44 -0
  38. data/app/views/angular/auth/index.html +30 -0
  39. data/app/views/angular/auth/profile/edit.html +54 -0
  40. data/app/views/angular/auth/users/details.html +28 -0
  41. data/app/views/angular/auth/users/index.html +6 -0
  42. data/app/views/angular/auth/users/new.html +57 -0
  43. data/app/views/angular/fields/accordion/accordion-group.html +10 -0
  44. data/app/views/angular/fields/accordion/accordion.html +1 -0
  45. data/app/views/angular/fields/alert/alert.html +7 -0
  46. data/app/views/angular/fields/boolean/boolean.html +4 -0
  47. data/app/views/angular/fields/carousel/carousel.html +8 -0
  48. data/app/views/angular/fields/carousel/slide.html +7 -0
  49. data/app/views/angular/fields/control-combo/control-list.html +19 -0
  50. data/app/views/angular/fields/datepicker/datepicker.html +5 -0
  51. data/app/views/angular/fields/datepicker/day.html +21 -0
  52. data/app/views/angular/fields/datepicker/month.html +16 -0
  53. data/app/views/angular/fields/datepicker/popup.html +10 -0
  54. data/app/views/angular/fields/datepicker/year.html +16 -0
  55. data/app/views/angular/fields/datetime/datetime.html +10 -0
  56. data/app/views/angular/fields/datetime/time.html +25 -0
  57. data/app/views/angular/fields/float/float.html +4 -0
  58. data/app/views/angular/fields/image/image.html +1 -0
  59. data/app/views/angular/fields/integer/integer.html +4 -0
  60. data/app/views/angular/fields/modal/backdrop.html +4 -0
  61. data/app/views/angular/fields/modal/window.html +3 -0
  62. data/app/views/angular/fields/pagination/pager.html +4 -0
  63. data/app/views/angular/fields/pagination/pagination.html +7 -0
  64. data/app/views/angular/fields/popover/popover.html +8 -0
  65. data/app/views/angular/fields/progressbar/bar.html +1 -0
  66. data/app/views/angular/fields/progressbar/progress.html +1 -0
  67. data/app/views/angular/fields/progressbar/progressbar.html +3 -0
  68. data/app/views/angular/fields/rating/rating.html +5 -0
  69. data/app/views/angular/fields/relation/relation.html +43 -0
  70. data/app/views/angular/fields/string/string.html +22 -0
  71. data/app/views/angular/fields/tabs/tab.html +3 -0
  72. data/app/views/angular/fields/tabs/tabset.html +10 -0
  73. data/app/views/angular/fields/tag/tag.html +3 -0
  74. data/app/views/angular/fields/text/text.html +4 -0
  75. data/app/views/angular/fields/timepicker/timepicker.html +26 -0
  76. data/app/views/angular/fields/tooltip/tooltip-html-unsafe-popup.html +4 -0
  77. data/app/views/angular/fields/tooltip/tooltip-popup.html +4 -0
  78. data/app/views/angular/fields/typeahead/typeahead-match.html +1 -0
  79. data/app/views/angular/fields/typeahead/typeahead-popup.html +5 -0
  80. data/app/views/angular/index.html +448 -0
  81. data/app/views/angular/list-view/index.html +161 -0
  82. data/app/views/angular/modules.html +46 -0
  83. data/app/views/angular/nav.html.erb +273 -0
  84. data/app/views/dashstrap/.keep +0 -0
  85. data/app/views/devise/registrations/edit.html.erb +29 -0
  86. data/app/views/devise/registrations/new.html.erb +36 -0
  87. data/app/views/devise/sessions/new.html.erb +33 -0
  88. data/app/views/devise/shared/_links.erb +19 -0
  89. data/app/views/devise/shared/_omni_link.erb +15 -0
  90. data/app/views/faalis/dashboard/index.html.erb +44 -0
  91. data/app/views/faalis/dashboard/login_required_page.html.erb +5 -0
  92. data/app/views/layouts/dashstrap/.keep +0 -0
  93. data/app/views/layouts/faalis/application.html.erb +83 -0
  94. data/app/views/layouts/faalis/dashboard.html.erb +26 -0
  95. data/app/views/layouts/faalis/simple.html.erb +22 -0
  96. data/dashstrap.gemspec +39 -0
  97. data/lib/dashstrap/engine.rb +29 -0
  98. data/lib/dashstrap/version.rb +3 -0
  99. data/lib/dashstrap.rb +4 -0
  100. data/lib/generators/dashstrap/install_generator.rb +14 -0
  101. data/lib/generators/templates/js/list_view/README +31 -0
  102. data/lib/generators/templates/js/list_view/details.html.erb +25 -0
  103. data/lib/generators/templates/js/list_view/index.html.erb +89 -0
  104. data/lib/generators/templates/js/list_view/module.js.erb +10 -0
  105. data/lib/generators/templates/js/list_view/new.html.erb +81 -0
  106. data/lib/generators/templates/js/list_view/partials/add_controller.js.erb +103 -0
  107. data/lib/generators/templates/js/list_view/partials/config.js.erb +20 -0
  108. data/lib/generators/templates/js/list_view/partials/index_controller.js.erb +199 -0
  109. data/lib/generators/templates/js/list_view/partials/menu.js.erb +6 -0
  110. data/lib/generators/templates/stylesheets/application.css +13 -0
  111. data/lib/generators/templates/stylesheets/dashboard/ltr/application.css +1 -0
  112. data/lib/generators/templates/stylesheets/dashboard/rtl/application.css +1 -0
  113. data/lib/generators/templates/stylesheets/ltr/application.css +6 -0
  114. data/lib/generators/templates/stylesheets/rtl/application.css +4 -0
  115. data/lib/tasks/.keep +0 -0
  116. data/lib/tasks/build.rake +15 -0
  117. data/lib/tasks/grunt/Gruntfile.js +30 -0
  118. data/vendor/assets/fonts/FontAwesome.otf +0 -0
  119. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  120. data/vendor/assets/fonts/fontawesome-webfont.svg +414 -0
  121. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  122. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  123. data/vendor/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  124. data/vendor/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  125. data/vendor/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  126. data/vendor/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  127. data/vendor/assets/fonts/ionicons.eot +0 -0
  128. data/vendor/assets/fonts/ionicons.svg +1623 -0
  129. data/vendor/assets/fonts/ionicons.ttf +0 -0
  130. data/vendor/assets/fonts/ionicons.woff +0 -0
  131. data/vendor/assets/javascripts/.keep +0 -0
  132. data/vendor/assets/javascripts/AdminLTE/app.js +1037 -0
  133. data/vendor/assets/javascripts/AdminLTE/dashboard.js +254 -0
  134. data/vendor/assets/javascripts/bootstrap.js +2114 -0
  135. data/vendor/assets/javascripts/ui-bootstrap.js +3799 -0
  136. data/vendor/assets/stylesheets/.keep +0 -0
  137. data/vendor/assets/stylesheets/AdminLTE.css +3024 -0
  138. data/vendor/assets/stylesheets/bootstrap.css +7118 -0
  139. data/vendor/assets/stylesheets/rtl/AdminLTE.css +3032 -0
  140. data/vendor/assets/stylesheets/rtl/bootstrap-rtl.css +442 -0
  141. data/vendor/assets/stylesheets/rtl/bootstrap.css +6239 -0
  142. metadata +366 -0
@@ -0,0 +1,15 @@
1
+ .list-view-table {
2
+ tr {
3
+ .row_buttons {
4
+ padding-right: 1em;
5
+ text-align: right;
6
+ }
7
+
8
+ }
9
+
10
+
11
+ }
12
+
13
+ .select2-container {
14
+ width: 100%;
15
+ }
@@ -0,0 +1,63 @@
1
+ $tools_link_color: #3f3f3f;
2
+
3
+ .just-top-padding {
4
+ padding: inherit !important;
5
+ padding-top: 0.5em !important;
6
+ }
7
+
8
+ .box-tools, .box-title {
9
+ .btn {
10
+ margin-left: 0.2em;
11
+ margin-right: 0.2em;
12
+ a {
13
+ color: #fff;
14
+ }
15
+ }
16
+ .search-group {
17
+ margin-left: 0.2em;
18
+ margin-right: 0.2em;
19
+ }
20
+
21
+ }
22
+
23
+ .list-view-table {
24
+ tr {
25
+ th:first-child, td:first-child {
26
+ width: 2em;
27
+ }
28
+ th:last-child, td:last-child {
29
+ span {
30
+ cursor: pointer;
31
+ }
32
+ }
33
+
34
+ &.title-row {
35
+
36
+ .tools {
37
+ visibility: hidden;
38
+
39
+ direction: ltr;
40
+ a {
41
+ color: $tools_link_color;
42
+ }
43
+ }
44
+
45
+ &:hover {
46
+ .tools {
47
+ visibility: visible;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+
54
+ .pointer {
55
+ cursor: pointer;
56
+ }
57
+
58
+ .pagination_page {
59
+ width: 8em;
60
+ padding-left: 1em;
61
+ padding-right: 1em;
62
+
63
+ }
@@ -0,0 +1,4 @@
1
+ //= require dashstrap/main
2
+ //= require dashstrap/rtl/rtl
3
+
4
+
@@ -0,0 +1,18 @@
1
+ //= require rtl/bootstrap
2
+ //= require rtl/bootstrap-rtl
3
+ //= require font-awesome
4
+ /*
5
+ ionicons
6
+ morris
7
+ jquery-jvectormap-1.2.2
8
+ datepicker3.css
9
+ daterangepicker-bs3
10
+ bootstrap3-wysihtml5
11
+ */
12
+
13
+ //= require rtl/AdminLTE
14
+ //= require dashstrap/share
15
+ //= require dashstrap/main
16
+ //= require dashstrap/rtl/rtl
17
+ //= require select2/select2
18
+ //= require select2/select2-bootstrap
@@ -0,0 +1,38 @@
1
+ @font-face {
2
+ font-family: 'yekan';
3
+ src: font-url('/fonts/BYekan.eot');
4
+ src: font-url("/fonts/Yekan.eot#iefix") format('embedded-opentype'),
5
+ font-url("/fonts/Yekan.woff") format('woff'),
6
+ font-url("/fonts/Yekan.ttf") format('truetype');
7
+ }
8
+
9
+
10
+ div, p, h1,h2,h3,h4,h5,h6,a{
11
+ font-family: 'yekan', tahoma;
12
+ }
13
+
14
+ .logo{
15
+ font-family: 'yekan', tahoma !important;
16
+ }
17
+
18
+ .list-view-table {
19
+ tr {
20
+ .row_buttons {
21
+ padding-left: 1em;
22
+ text-align: left;
23
+ }
24
+
25
+ &.title-row {
26
+
27
+ .tools {
28
+
29
+ .tool {
30
+ margin-left:2em;
31
+
32
+ }
33
+ }
34
+
35
+ }
36
+
37
+ }
38
+ }
@@ -0,0 +1,7 @@
1
+ .sidebar .sidebar-menu .treeview-menu {
2
+ display: block;
3
+ }
4
+
5
+ .point {
6
+ cursor: pointer;
7
+ }
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ //= require bootstrap
2
+ //= require font-awesome
3
+ //= require AdminLTE
4
+ //= require simple/share
@@ -0,0 +1,5 @@
1
+ //= require simple/rtl/rtl
2
+ //= require bootstrap
3
+ //= require font-awesome
4
+ //= require AdminLTE
5
+ //= require simple/share
@@ -0,0 +1,16 @@
1
+ @font-face {
2
+ font-family: 'yekan';
3
+ src: font-url('/fonts/BYekan.eot');
4
+ src: font-url("/fonts/Yekan.eot#iefix") format('embedded-opentype'),
5
+ font-url("/fonts/Yekan.woff") format('woff'),
6
+ font-url("/fonts/Yekan.ttf") format('truetype');
7
+ }
8
+
9
+
10
+ div, p, h1,h2,h3,h4,h5,h6,a{
11
+ font-family: 'yekan', tahoma;
12
+ }
13
+
14
+ .logo{
15
+ font-family: 'yekan', tahoma !important;
16
+ }
@@ -0,0 +1,11 @@
1
+ #rememberme {
2
+ input {
3
+ display: inline;
4
+ }
5
+ }
6
+
7
+ .form-box {
8
+ .alert {
9
+ margin-left: 0;
10
+ }
11
+ }
@@ -0,0 +1,21 @@
1
+ <div class="details">
2
+ <p>
3
+ <b translate>Group Name :</b>{{this.object.name}}
4
+ </p>
5
+
6
+ <p>
7
+ <b translate>Permissions :</b>
8
+ <ul>
9
+ <li ng-repeat="perm in this.object.permissions">{{ perm.string_repr }}</li>
10
+ </ul>
11
+ </p>
12
+
13
+ <ul class="button-group float-right">
14
+ <a ng-href="#/auth/groups/{{ this.object.id }}/edit" class="small">
15
+ <span class="fa fa-edit"></span> <span translated>Edit</span>
16
+ </a>
17
+ <!--<a ng-href="#/auth/groups/{{ this.object.id }}" class="small">
18
+ <span class="fa fa-eye"></span><span translated>Show</span>-->
19
+ </a>
20
+ </ul>
21
+ </div>
@@ -0,0 +1,2 @@
1
+ div[ui-view]
2
+ list-view buttons="buttons" objects="groups" title-attribute="'name'" details-template="details_template" item-per-page="10" on_delete="on_delete"
@@ -0,0 +1,44 @@
1
+ .row
2
+ .col-sm-12.col-lg-9
3
+ .box.box-primary
4
+ .box-header
5
+ .box-title ng-if="!editing"
6
+ = _('New Group')
7
+
8
+ .box-title ng-if="editing"
9
+ = _('Edit Group')
10
+
11
+ form[name="new_group" role="form" novalidate]
12
+ .box-body
13
+ .row
14
+ .col-sm-12.col-lg-6
15
+ label for="group_name"
16
+ = ('Group name')
17
+
18
+ input#group_name.form-control[placeholder==(_('Enter the name of group you want to create')) ng-model="new_name" type="text" required]
19
+
20
+ .box-footer
21
+ .row
22
+ .col-sm-12
23
+ button.btn.btn-primary type="submit" ng-click="save()" ng-disabled="form.$invalid"
24
+ span
25
+ i.fa.fa-check
26
+ = _('Save')
27
+
28
+ button.btn.btn-danger type="submit" ng-click="cancel()"
29
+ i.fa.fa-times
30
+ = _('Cancel')
31
+ .col-sm-12.col-lg-3
32
+ .box
33
+ .box-header
34
+ .box-title
35
+ = _('Groups to use as template')
36
+ .row
37
+ .col-sm-9
38
+ .box.box-warning
39
+ .box-header
40
+ .box-title
41
+ = _("Permissions")
42
+
43
+ .box-body
44
+ .row
@@ -0,0 +1,30 @@
1
+ <div class="row clearmargin">
2
+
3
+ <div class="columns large-5 small-offset-1 clearpadding">
4
+
5
+ <a href="#/auth/users">
6
+ <div class="widget red">
7
+ <div class="text-center">
8
+ <span class="icon text-4x"><i class="fa fa-user"></i></span>
9
+ <span class="text-2x" translate>Users</span>
10
+ </div>
11
+
12
+ </div>
13
+ </a>
14
+
15
+ </div>
16
+
17
+
18
+ <div class="columns large-5 clearpadding">
19
+
20
+ <a href="#/auth/groups">
21
+ <div class="widget blue">
22
+ <div class=" text-center">
23
+ <span class="icon text-4x"><i class="fa fa-group"></i></span>
24
+ <span class="text-2x" translate>Groups</span>
25
+ </div>
26
+ </div>
27
+ </a>
28
+ </div>
29
+
30
+ </div>
@@ -0,0 +1,54 @@
1
+ <div class="newform">
2
+ <fieldset class="form">
3
+
4
+ <legend translate>Edit Profile</legend>
5
+
6
+ <div class="row">
7
+ <div class="small-4 columns">
8
+ <label for="first_name" translate>First Name :</label>
9
+ <input id="id_first_name" type="text" name="first_name" required ng-model="first_name" required>
10
+ <small id="id_first_name_msg"></small>
11
+ </div>
12
+
13
+ <div class="small-4 columns float-left small-offset-2">
14
+ <label for="last_name" translate>Last Name :</label>
15
+ <input id="id_last_name" type="text" name="last_name" required ng-model="last_name">
16
+ <small id="id_last_name_msg"></small>
17
+
18
+ </div>
19
+ </div>
20
+
21
+ <div class="row">
22
+ <div class="small-4 columns">
23
+ <label for="password" translate>Password :</label>
24
+ <input id="id_password" type="password" name="password" required ng-model="password" required>
25
+ <small id="id_first_name_msg"></small>
26
+ </div>
27
+
28
+ <div class="small-4 columns float-left small-offset-2">
29
+ <label for="password_confirmation" translate>Confirm Password :</label>
30
+ <input id="id_password_confirmation" type="password" name="password_confirmation" required ng-model="password_confirmation">
31
+ <small id="id_password_confirmation_msg"></small>
32
+
33
+ </div>
34
+ </div>
35
+ <div class="row">
36
+
37
+ <div class="small-4 columns">
38
+ <label for="email" translate>E-mail :</label>
39
+ <input id="id_email" type="email" name="email" required ng-model="email">
40
+ <small id="id_email_msg"></small>
41
+
42
+ </div>
43
+ </div>
44
+
45
+ </fieldset>
46
+
47
+ <div class="row">
48
+ <div class="small-4 columns">
49
+ <button ng-click="save()" class="btn small green" ng-disabled="form.first_name.$pristine || form.first_name.$dirty && form.fist_name.$invalid"><i class="fa fa-check"></i> <span translate>Save</span></button>
50
+ <button ng-click="cancel()" class="btn small red"><i class="fa fa-times"></i> <span translate>Cancel</span></button>
51
+ </div>
52
+ </div>
53
+
54
+ </div>
@@ -0,0 +1,28 @@
1
+ <div class="details">
2
+ <p >
3
+ <b translate>First Name :</b>{{this.object.first_name}}
4
+ </p>
5
+
6
+ <p>
7
+ <b translate>Last Name :</b>{{this.object.last_name}}
8
+ </p>
9
+
10
+ <p>
11
+ <b translate>E-mail :</b>{{this.object.email}}
12
+ </p>
13
+ <p>
14
+ <b translate>Group :</b>{{this.object.group.name}}
15
+ </p>
16
+
17
+ <ul class="button-group float-right">
18
+ <a href="#/auth/users/{{this.object.id}}/reply" class="small">
19
+ <span class="fa fa-edit"></span> <span translated>Edit</span>
20
+ </a>
21
+ <a href="" class="small">
22
+ <span class="fa fa-eye"></span><span translated>Show</span>
23
+ </a>
24
+ <a href="" class="small">
25
+ <span class="fa fa-check-circle-o"></span><span translated>Active</span>
26
+ </a>
27
+ </ul>
28
+ </div>
@@ -0,0 +1,6 @@
1
+ <list-view buttons="buttons" objects="users" title-attribute="'email'" details-template="details_template" item-per-page="10" on_delete="on_delete">
2
+
3
+ <div class="small-6 column text-left clearpadding">
4
+ <h3><i class="fa fa-group"></i> <span translate>Users</span></h3>
5
+ </div>
6
+ </list-view>
@@ -0,0 +1,57 @@
1
+ <div class="newform">
2
+ <form novalidate name="form">
3
+ <fieldset class="form">
4
+
5
+ <legend translate>New User</legend>
6
+
7
+ <div class="row">
8
+ <div class="small-4 columns">
9
+ <label for="first_name" translate>First Name :</label>
10
+ <input id="id_first_name" type="text" name="first_name" required ng-model="first_name">
11
+ <small id="id_first_name_msg"></small>
12
+ </div>
13
+
14
+ <div class="small-4 columns float-left small-offset-2">
15
+ <label for="last_name" translate>Last Name :</label>
16
+ <input id="id_last_name" type="text" name="last_name" required ng-model="last_name">
17
+ <small id="id_last_name_msg"></small>
18
+
19
+ </div>
20
+ </div>
21
+ <div class="row">
22
+ <div class="small-4 columns">
23
+ <label for="password" translate>Password :</label>
24
+ <input id="id_password" type="password" name="password" required ng-model="password">
25
+ <small id="id_password_msg"></small>
26
+
27
+ </div>
28
+
29
+ <div class="small-4 columns float-left small-offset-2">
30
+ <label for="email" translate>E-mail :</label>
31
+ <input id="id_email" type="email" name="email" required ng-model="email">
32
+ <small id="id_email_msg"></small>
33
+
34
+ </div>
35
+ </div>
36
+ <div class="row">
37
+ <div class="small-4 columns">
38
+ <label for="group" translate>Group :</label>
39
+ <select id="id_group" name="group" required ng-model="group">
40
+ <option ng-repeat="item in groups" value="{{item.id}}" ng-select="item.id === group">{{item.name}}</option>
41
+ </select>
42
+ <small id="id_group_msg"></small>
43
+
44
+ </div>
45
+
46
+ </div>
47
+
48
+ </fieldset>
49
+
50
+ <div class="row">
51
+ <div class="small-4 columns">
52
+ <button ng-click="save()" class="btn small green" ng-disabled="form.$invalid || !form.$dirty"><i class="fa fa-check"></i> <span translate>Save</span></button>
53
+ <button ng-click="cancel()" class="btn small red"><i class="fa fa-times"></i> <span translate>Cancel</span></button>
54
+ </div>
55
+ </div>
56
+ </form>
57
+ </div>
@@ -0,0 +1,10 @@
1
+ <div class="panel panel-default">
2
+ <div class="panel-heading">
3
+ <h4 class="panel-title">
4
+ <a href class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading"><span ng-class="{'text-muted': isDisabled}">{{heading}}</span></a>
5
+ </h4>
6
+ </div>
7
+ <div class="panel-collapse" collapse="!isOpen">
8
+ <div class="panel-body" ng-transclude></div>
9
+ </div>
10
+ </div>
@@ -0,0 +1 @@
1
+ <div class="panel-group" ng-transclude></div>
@@ -0,0 +1,7 @@
1
+ <div class="alert" ng-class="['alert-' + (type || 'warning'), closeable ? 'alert-dismissable' : null]" role="alert">
2
+ <button ng-show="closeable" type="button" class="close" ng-click="close()">
3
+ <span aria-hidden="true">&times;</span>
4
+ <span class="sr-only">Close</span>
5
+ </button>
6
+ <div ng-transclude></div>
7
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="boolean-field">
2
+ <input id="{{ element_id }}" ng-model="model" name="{{ field }}" ng-required="required" type="checkbox" class="{{cssClasses}}" /> <span class="field-label">{{ label | translate }}</span>
3
+ <small id="{{ msg_element_id }}"></small>
4
+ </div>
@@ -0,0 +1,8 @@
1
+ <div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">
2
+ <ol class="carousel-indicators" ng-show="slides.length > 1">
3
+ <li ng-repeat="slide in slides track by $index" ng-class="{active: isActive(slide)}" ng-click="select(slide)"></li>
4
+ </ol>
5
+ <div class="carousel-inner" ng-transclude></div>
6
+ <a class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-left"></span></a>
7
+ <a class="right carousel-control" ng-click="next()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-right"></span></a>
8
+ </div>
@@ -0,0 +1,7 @@
1
+ <div ng-class="{
2
+ 'active': leaving || (active && !entering),
3
+ 'prev': (next || active) && direction=='prev',
4
+ 'next': (next || active) && direction=='next',
5
+ 'right': direction=='prev',
6
+ 'left': direction=='next'
7
+ }" class="item text-center" ng-transclude></div>
@@ -0,0 +1,19 @@
1
+ <div class="row">
2
+ <table>
3
+ <thead>
4
+ <th>
5
+ <td translate>Facility Name</td>
6
+ <td translate>Number</td>
7
+ <td translate>Price?</td>
8
+ <td translate>Note</td>
9
+ </th>
10
+ </thead>
11
+ <tbody>
12
+
13
+ <tr ng-repeat="obj in objects_rows">
14
+ <ng-include src="config.row_template"></ng-include>
15
+ </tr>
16
+ </tbody>
17
+ </table>
18
+
19
+ </div>
@@ -0,0 +1,5 @@
1
+ <div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">
2
+ <daypicker ng-switch-when="day" tabindex="0"></daypicker>
3
+ <monthpicker ng-switch-when="month" tabindex="0"></monthpicker>
4
+ <yearpicker ng-switch-when="year" tabindex="0"></yearpicker>
5
+ </div>
@@ -0,0 +1,21 @@
1
+ <table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">
2
+ <thead>
3
+ <tr>
4
+ <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>
5
+ <th colspan="{{5 + showWeeks}}"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>
6
+ <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>
7
+ </tr>
8
+ <tr>
9
+ <th ng-show="showWeeks" class="text-center"></th>
10
+ <th ng-repeat="label in labels track by $index" class="text-center"><small aria-label="{{label.full}}">{{label.abbr}}</small></th>
11
+ </tr>
12
+ </thead>
13
+ <tbody>
14
+ <tr ng-repeat="row in rows track by $index">
15
+ <td ng-show="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>
16
+ <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">
17
+ <button type="button" style="width:100%;" class="btn btn-default btn-sm" ng-class="{'btn-info': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{'text-muted': dt.secondary, 'text-info': dt.current}">{{dt.label}}</span></button>
18
+ </td>
19
+ </tr>
20
+ </tbody>
21
+ </table>
@@ -0,0 +1,16 @@
1
+ <table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">
2
+ <thead>
3
+ <tr>
4
+ <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>
5
+ <th><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>
6
+ <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ <tr ng-repeat="row in rows track by $index">
11
+ <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">
12
+ <button type="button" style="width:100%;" class="btn btn-default" ng-class="{'btn-info': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{'text-info': dt.current}">{{dt.label}}</span></button>
13
+ </td>
14
+ </tr>
15
+ </tbody>
16
+ </table>
@@ -0,0 +1,10 @@
1
+ <ul class="dropdown-menu" ng-style="{display: (isOpen && 'block') || 'none', top: position.top+'px', left: position.left+'px'}" ng-keydown="keydown($event)">
2
+ <li ng-transclude></li>
3
+ <li ng-if="showButtonBar" style="padding:10px 9px 2px">
4
+ <span class="btn-group pull-left">
5
+ <button type="button" class="btn btn-sm btn-info" ng-click="select('today')">{{ getText('current') }}</button>
6
+ <button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText('clear') }}</button>
7
+ </span>
8
+ <button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText('close') }}</button>
9
+ </li>
10
+ </ul>
@@ -0,0 +1,16 @@
1
+ <table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">
2
+ <thead>
3
+ <tr>
4
+ <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>
5
+ <th colspan="3"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>
6
+ <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ <tr ng-repeat="row in rows track by $index">
11
+ <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">
12
+ <button type="button" style="width:100%;" class="btn btn-default" ng-class="{'btn-info': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{'text-info': dt.current}">{{dt.label}}</span></button>
13
+ </td>
14
+ </tr>
15
+ </tbody>
16
+ </table>
@@ -0,0 +1,10 @@
1
+ <div>
2
+ <!-- TODO: Find out why disable-timepicker and timepicker does not work together -->
3
+ <div ng-if="timepicker">
4
+ <quick-datepicker disable-timepicker="true" id="{{ element_id }}" ng-model="model" class="{{cssClasses}}" ng-required="required" name="{{ field }}" placeholder="{{ 'Click to pick a date' | translate }}" />
5
+ </div>
6
+ <div ng-if="!timepicker">
7
+ <quick-datepicker id="{{ element_id }}" ng-model="model" class="{{cssClasses}}" ng-required="required" name="{{ field }}" placeholder="{{ 'Click to pick a date' | translate }}" />
8
+ </div>
9
+ <small id="{{ msg_element_id }}"></small>
10
+ </div>
@@ -0,0 +1,25 @@
1
+ <div class="timeSelectorDirective" >
2
+ <div class="section hours">
3
+ <div class="increase" ng-click="increaseHours()">
4
+ <i class="icon fa fa-caret-up"></i>
5
+ </div>
6
+ <div class="display">
7
+ <input type="text" ng-model="hours" ng-change="change('hour')">
8
+ </div>
9
+ <div class="decrease" ng-click="decreaseHours()">
10
+ <i class="icon fa fa-caret-down"></i>
11
+ </div>
12
+ </div>
13
+ <div class="section minutes">
14
+ <div class="increase" ng-click="increaseMinutes()">
15
+ <i class="icon fa fa-caret-up"></i>
16
+ </div>
17
+ <div class="display">
18
+ <input type="text" ng-model="minutes" ng-model-onblur ng-change="update('minute')">
19
+ </div>
20
+ <div class="decrease" ng-click="decreaseMinutes()">
21
+ <i class="icon fa fa-caret-down">
22
+ </i>
23
+ </div>
24
+ </div>
25
+ </div>
@@ -0,0 +1,4 @@
1
+ <div>
2
+ <input id="{{ element_id }}" ng-model="model" name="{{ field }}" ng-required="required" type="text" class="{{cssClasses}}" />
3
+ <small id="{{ msg_element_id }}"></small>
4
+ </div>