itsf_backend 1.0.1

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 (169) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +43 -0
  4. data/Rakefile +21 -0
  5. data/app/assets/images/itsf/backend/favicon.png +0 -0
  6. data/app/assets/javascripts/itsf/backend/application.js +21 -0
  7. data/app/assets/javascripts/itsf/backend/application/ace.coffee +51 -0
  8. data/app/assets/javascripts/itsf/backend/application/acts-as-list.coffee +21 -0
  9. data/app/assets/javascripts/itsf/backend/application/auto-submit.coffee +21 -0
  10. data/app/assets/javascripts/itsf/backend/application/autofocus-last.coffee +4 -0
  11. data/app/assets/javascripts/itsf/backend/application/drop-down-hover.coffee +8 -0
  12. data/app/assets/javascripts/itsf/backend/application/itsf-logo.coffee +24 -0
  13. data/app/assets/javascripts/itsf/backend/vendor/jQueryRotate.js +339 -0
  14. data/app/assets/javascripts/itsf/backend/vendor/jquery.redirect.js +119 -0
  15. data/app/assets/javascripts/itsf_backend.js +1 -0
  16. data/app/assets/stylesheets/itsf/backend/application.css.less +30 -0
  17. data/app/assets/stylesheets/itsf/backend/application/ace.css.less +6 -0
  18. data/app/assets/stylesheets/itsf/backend/application/basic-page.css.less +10 -0
  19. data/app/assets/stylesheets/itsf/backend/application/bootstrap-extensions.css.less +48 -0
  20. data/app/assets/stylesheets/itsf/backend/application/bottom-margin-extension.css.less +9 -0
  21. data/app/assets/stylesheets/itsf/backend/application/button-responsive.css.less +7 -0
  22. data/app/assets/stylesheets/itsf/backend/application/check-box-margin-fix.css.less +5 -0
  23. data/app/assets/stylesheets/itsf/backend/application/code.css.less +6 -0
  24. data/app/assets/stylesheets/itsf/backend/application/form-errors.css.less +6 -0
  25. data/app/assets/stylesheets/itsf/backend/application/form-inline-margin-fixes.css.less +9 -0
  26. data/app/assets/stylesheets/itsf/backend/application/hexagon.css.less +161 -0
  27. data/app/assets/stylesheets/itsf/backend/application/itsf-dashboard-panels.css.less +9 -0
  28. data/app/assets/stylesheets/itsf/backend/application/itsf-logo.css.less +107 -0
  29. data/app/assets/stylesheets/itsf/backend/application/navigation-logo.css.less +5 -0
  30. data/app/assets/stylesheets/itsf/backend/application/panel-footer-pagination.css.less +8 -0
  31. data/app/assets/stylesheets/itsf/backend/application/panel-with-actions.css.less +21 -0
  32. data/app/assets/stylesheets/itsf/backend/application/table-actions.css.less +9 -0
  33. data/app/assets/stylesheets/itsf/backend/application/table-responsive.css.less +3 -0
  34. data/app/assets/stylesheets/itsf/backend/bootstrap_and_overrides.css.less +34 -0
  35. data/app/assets/stylesheets/itsf/backend/vendor/timeline.min.css +1 -0
  36. data/app/assets/stylesheets/itsf_backend.css +3 -0
  37. data/app/concerns/routing/service_concern.rb +12 -0
  38. data/app/controllers/concerns/controller/acts_as_list_concern.rb +13 -0
  39. data/app/controllers/concerns/controller/acts_as_published_concern.rb +13 -0
  40. data/app/controllers/concerns/controller/pagination_concern.rb +15 -0
  41. data/app/controllers/concerns/controller/pundit_namespaced_authorize_concern.rb +19 -0
  42. data/app/controllers/concerns/controller/ransack_concern.rb +25 -0
  43. data/app/controllers/concerns/controller/rest_actions_concern_with_pundit.rb +93 -0
  44. data/app/controllers/itsf/backend/application_controller.rb +6 -0
  45. data/app/controllers/itsf/backend/base_controller.rb +34 -0
  46. data/app/controllers/itsf/backend/dashboard_controller.rb +20 -0
  47. data/app/controllers/itsf/backend/home_controller.rb +27 -0
  48. data/app/controllers/itsf/backend/resource/base_controller.rb +35 -0
  49. data/app/controllers/itsf/backend/service/base_controller.rb +29 -0
  50. data/app/extensions/concerns/head_row/acts_as_list_extensions.rb +11 -0
  51. data/app/extensions/concerns/head_row/association_extensions.rb +14 -0
  52. data/app/extensions/concerns/head_row/paperclip_extensions.rb +11 -0
  53. data/app/extensions/concerns/head_row/published_extensions.rb +11 -0
  54. data/app/extensions/concerns/head_row/ransack_extensions.rb +7 -0
  55. data/app/extensions/concerns/head_row/timestamp_extensions.rb +21 -0
  56. data/app/extensions/concerns/object_extensions.rb +8 -0
  57. data/app/extensions/concerns/ransack_form_builder_extensions.rb +72 -0
  58. data/app/extensions/concerns/resource_row/acts_as_list_extensions.rb +28 -0
  59. data/app/extensions/concerns/resource_row/association_extensions.rb +22 -0
  60. data/app/extensions/concerns/resource_row/paperclip_extensions.rb +18 -0
  61. data/app/extensions/concerns/resource_row/published_extensions.rb +24 -0
  62. data/app/extensions/concerns/resource_row/timestamp_extensions.rb +23 -0
  63. data/app/extensions/concerns/simple_form_form_builder_extensions.rb +28 -0
  64. data/app/helpers/itsf/backend/application_helper.rb +9 -0
  65. data/app/policies/itsf/backend/base_policy.rb +67 -0
  66. data/app/policies/itsf/backend/dashboard_policy.rb +14 -0
  67. data/app/policies/itsf/backend/engine_policy.rb +14 -0
  68. data/app/policies/itsf/backend/service/base_policy.rb +29 -0
  69. data/app/presenters/bootstrap_table_presenter.rb.old +106 -0
  70. data/app/views/itsf/backend/dashboard/_dashboard_panel.html.haml +18 -0
  71. data/app/views/itsf/backend/dashboard/index.html.haml +7 -0
  72. data/app/views/itsf/backend/home/_dashboard_panel.html.haml +26 -0
  73. data/app/views/itsf/backend/home/_index_extras.html.haml +0 -0
  74. data/app/views/itsf/backend/home/index.html.haml +14 -0
  75. data/app/views/itsf/backend/i18n/_navigation.html.haml +10 -0
  76. data/app/views/itsf/backend/resource/base/_form.html.haml +2 -0
  77. data/app/views/itsf/backend/resource/base/_form_errors.html.haml +6 -0
  78. data/app/views/itsf/backend/resource/base/_scopes.html.haml +1 -0
  79. data/app/views/itsf/backend/resource/base/_search.html.haml +3 -0
  80. data/app/views/itsf/backend/resource/base/_show.html.haml +2 -0
  81. data/app/views/itsf/backend/resource/base/_show_extras.html.haml +0 -0
  82. data/app/views/itsf/backend/resource/base/_table.html.haml +2 -0
  83. data/app/views/itsf/backend/resource/base/_table_actions.html.haml +15 -0
  84. data/app/views/itsf/backend/resource/base/edit.html.haml +17 -0
  85. data/app/views/itsf/backend/resource/base/index.html.haml +48 -0
  86. data/app/views/itsf/backend/resource/base/new.html.haml +15 -0
  87. data/app/views/itsf/backend/resource/base/show.html.haml +28 -0
  88. data/app/views/itsf/backend/service/base/_form.html.haml +0 -0
  89. data/app/views/itsf/backend/service/base/_form_errors.html.haml +6 -0
  90. data/app/views/itsf/backend/service/base/_messages.html.erb +5 -0
  91. data/app/views/itsf/backend/service/base/index.html.haml +18 -0
  92. data/app/views/itsf/backend/service/base/invoke.html.haml +16 -0
  93. data/app/views/itsf/backend/service/base/success.html.haml +13 -0
  94. data/app/views/layouts/itsf/backend/_footer.html.haml +1 -0
  95. data/app/views/layouts/itsf/backend/_logo.html.haml +4 -0
  96. data/app/views/layouts/itsf/backend/_main_navigation.html.haml +6 -0
  97. data/app/views/layouts/itsf/backend/_main_navigation_drop_down.html.haml +20 -0
  98. data/app/views/layouts/itsf/backend/base.html.haml +56 -0
  99. data/config/initializers/assets.rb +3 -0
  100. data/config/initializers/extend_object.rb +1 -0
  101. data/config/initializers/extend_ransack_form_builder.rb +4 -0
  102. data/config/initializers/extend_simple_form_form_builder.rb +5 -0
  103. data/config/locales/de.yml +104 -0
  104. data/config/locales/en.yml +99 -0
  105. data/config/rbac.yml +7 -0
  106. data/config/routes.rb +3 -0
  107. data/lib/generators/itsf/backend/home_controller/home_controller_generator.rb +77 -0
  108. data/lib/generators/itsf/backend/home_controller/templates/home_controller.rb +6 -0
  109. data/lib/generators/itsf/backend/home_controller/templates/routes.source +2 -0
  110. data/lib/generators/itsf/backend/install/install_generator.rb +23 -0
  111. data/lib/generators/itsf/backend/install/templates/backend_controller.rb +2 -0
  112. data/lib/generators/itsf/backend/install/templates/initializer.rb +95 -0
  113. data/lib/generators/itsf/backend/install/templates/routes.source +9 -0
  114. data/lib/generators/itsf/backend/resource/resource_generator.rb +96 -0
  115. data/lib/generators/itsf/backend/resource/templates/controller.rb +34 -0
  116. data/lib/generators/itsf/backend/resource/templates/routes.source +2 -0
  117. data/lib/itsf/backend.rb +11 -0
  118. data/lib/itsf/backend/configuration.rb +38 -0
  119. data/lib/itsf/backend/engine.rb +16 -0
  120. data/lib/itsf/backend/features.rb +13 -0
  121. data/lib/itsf/backend/policies.rb +13 -0
  122. data/lib/itsf/backend/spec_helpers.rb +47 -0
  123. data/lib/itsf/backend/version.rb +5 -0
  124. data/lib/itsf_backend.rb +21 -0
  125. data/lib/tasks/itsf/backend_tasks.rake +4 -0
  126. data/spec/dummy/README.rdoc +28 -0
  127. data/spec/dummy/Rakefile +6 -0
  128. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  129. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  130. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  131. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  132. data/spec/dummy/app/models/post.rb +2 -0
  133. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  134. data/spec/dummy/bin/bundle +3 -0
  135. data/spec/dummy/bin/rails +4 -0
  136. data/spec/dummy/bin/rake +4 -0
  137. data/spec/dummy/bin/setup +29 -0
  138. data/spec/dummy/config.ru +4 -0
  139. data/spec/dummy/config/application.rb +38 -0
  140. data/spec/dummy/config/boot.rb +5 -0
  141. data/spec/dummy/config/database.yml +25 -0
  142. data/spec/dummy/config/environment.rb +5 -0
  143. data/spec/dummy/config/environments/development.rb +41 -0
  144. data/spec/dummy/config/environments/production.rb +79 -0
  145. data/spec/dummy/config/environments/test.rb +42 -0
  146. data/spec/dummy/config/initializers/assets.rb +11 -0
  147. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  148. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  149. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  150. data/spec/dummy/config/initializers/inflections.rb +16 -0
  151. data/spec/dummy/config/initializers/itsf_backend.rb +15 -0
  152. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  153. data/spec/dummy/config/initializers/session_store.rb +3 -0
  154. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  155. data/spec/dummy/config/locales/en.yml +23 -0
  156. data/spec/dummy/config/routes.rb +56 -0
  157. data/spec/dummy/config/secrets.yml +22 -0
  158. data/spec/dummy/db/migrate/20151024185112_create_posts.rb +10 -0
  159. data/spec/dummy/db/schema.rb +15 -0
  160. data/spec/dummy/public/404.html +67 -0
  161. data/spec/dummy/public/422.html +67 -0
  162. data/spec/dummy/public/500.html +66 -0
  163. data/spec/dummy/public/favicon.ico +0 -0
  164. data/spec/factories/posts.rb +6 -0
  165. data/spec/models/post_spec.rb +5 -0
  166. data/spec/rails_helper.rb +52 -0
  167. data/spec/spec_helper.rb +90 -0
  168. data/spec/support/addons.rb +3 -0
  169. metadata +688 -0
@@ -0,0 +1,119 @@
1
+ /*
2
+ jQuery Redirect v1.0.1
3
+
4
+ Copyright (c) 2013-2015 Miguel Galante
5
+ Copyright (c) 2011-2013 Nemanja Avramovic, www.avramovic.info
6
+
7
+ Licensed under CC BY-SA 4.0 License: http://creativecommons.org/licenses/by-sa/4.0/
8
+
9
+ This means everyone is allowed to:
10
+
11
+ Share - copy and redistribute the material in any medium or format
12
+ Adapt - remix, transform, and build upon the material for any purpose, even commercially.
13
+ Under following conditions:
14
+
15
+ Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
16
+ ShareAlike - If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
17
+
18
+ */
19
+ (function ($) {
20
+ 'use strict';
21
+
22
+ /**
23
+ * jQuery Redirect
24
+ * @param {string} url - Url of the redirection
25
+ * @param {Object} values - (optional) An object with the data to send. If not present will look for values as QueryString in the target url.
26
+ * @param {string} method - (optional) The HTTP verb can be GET or POST (defaults to POST)
27
+ * @param {string} target - (optional) The target of the form. "_blank" will open the url in a new window.
28
+ */
29
+ $.redirect = function (url, values, method, target) {
30
+ method = (method && method.toUpperCase() === 'GET') ? 'GET' : 'POST';
31
+
32
+ if (!values) {
33
+ var obj = $.parseUrl(url);
34
+ url = obj.url;
35
+ values = obj.params;
36
+ }
37
+
38
+ var form = $('<form>')
39
+ .attr("method", method)
40
+ .attr("action", url);
41
+
42
+ if (target) {
43
+ form.attr("target", target);
44
+ }
45
+
46
+ iterateValues(values, [], form);
47
+ $('body').append(form);
48
+ form[0].submit();
49
+ };
50
+
51
+ //Utility Functions
52
+ /**
53
+ * Url and QueryString Parser.
54
+ * @param {string} url - a Url to parse.
55
+ * @returns {object} an object with the parsed url with the following structure {url: URL, params:{ KEY: VALUE }}
56
+ */
57
+ $.parseUrl = function (url) {
58
+ if (url.indexOf('?') === -1) {
59
+ return {
60
+ url: url,
61
+ params: {}
62
+ };
63
+ }
64
+ var parts = url.split('?'),
65
+ query_string = parts[1],
66
+ elems = query_string.split('&');
67
+ url = parts[0];
68
+
69
+ var i, pair, obj = {};
70
+ for (i = 0; i < elems.length; i+= 1) {
71
+ pair = elems[i].split('=');
72
+ obj[pair[0]] = pair[1];
73
+ }
74
+
75
+ return {
76
+ url: url,
77
+ params: obj
78
+ };
79
+ };
80
+
81
+ //Private Functions
82
+ var getInput = function (name, value, parent, array) {
83
+ var parentString;
84
+ if (parent.length > 0) {
85
+ parentString = parent[0];
86
+ var i;
87
+ for (i = 1; i < parent.length; i += 1) {
88
+ parentString += "[" + parent[i] + "]";
89
+ }
90
+
91
+ if (array) {
92
+ name = parentString + "[]";
93
+ } else {
94
+ name = parentString + "[" + name + "]";
95
+ }
96
+ }
97
+
98
+ return $("<input>").attr("type", "hidden")
99
+ .attr("name", name)
100
+ .attr("value", value);
101
+ };
102
+
103
+ var iterateValues = function (values, parent, form, array) {
104
+ var i, iterateParent = [];
105
+ for (i in values) {
106
+ if (typeof values[i] === "object") {
107
+ iterateParent = parent.slice();
108
+ if (array) {
109
+ iterateParent.push('');
110
+ } else {
111
+ iterateParent.push(i);
112
+ }
113
+ iterateValues(values[i], iterateParent, form, Array.isArray(values[i]));
114
+ } else {
115
+ form.append(getInput(i, values[i], parent, array));
116
+ }
117
+ }
118
+ };
119
+ }(window.jQuery || window.Zepto || window.jqlite));
@@ -0,0 +1 @@
1
+ //= require itsf/backend/application
@@ -0,0 +1,30 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. It is generally better to create a new file per style scope.
11
+ *
12
+ */
13
+ @import "bootstrap_and_overrides.css.less";
14
+ @import "application/ace.css.less";
15
+ @import "application/basic-page.css.less";
16
+ @import "application/bottom-margin-extension.css.less";
17
+ @import "application/button-responsive.css.less";
18
+ @import "application/check-box-margin-fix.css.less";
19
+ @import "application/code.css.less";
20
+ @import "application/itsf-dashboard-panels.css.less";
21
+ @import "application/itsf-logo.css.less";
22
+ @import "application/form-errors.css.less";
23
+ @import "application/form-inline-margin-fixes.css.less";
24
+ @import "application/bootstrap-extensions.css.less";
25
+ @import "application/navigation-logo.css.less";
26
+ @import "application/panel-footer-pagination.css.less";
27
+ @import "application/panel-with-actions.css.less";
28
+ @import "application/table-actions.css.less";
29
+ @import "application/table-responsive.css.less";
30
+ @import "vendor/timeline.min.css";
@@ -0,0 +1,6 @@
1
+ pre[data-add-editor="true"], textarea[data-add-editor="true"] {}
2
+
3
+ .editor {
4
+ width: 100%;
5
+ min-height: 600px;
6
+ }
@@ -0,0 +1,10 @@
1
+ #page-title {
2
+ h1 {
3
+ margin-top: 0;
4
+ margin-bottom: 0;
5
+ }
6
+ }
7
+
8
+ #page-actions {
9
+
10
+ }
@@ -0,0 +1,48 @@
1
+ .btn-container-right {
2
+ direction: rtl;
3
+
4
+ * {
5
+ direction: ltr;
6
+ }
7
+ }
8
+
9
+ .table-data-centered {
10
+ text-align: center;
11
+ }
12
+
13
+ .truncate-chars {
14
+ white-space: nowrap;
15
+ overflow: hidden;
16
+ text-overflow: ellipsis;
17
+ }
18
+
19
+ .truncate-chars-10 { max-width: 10ch; }
20
+ .truncate-chars-20 { max-width: 20ch; }
21
+ .truncate-chars-30 { max-width: 30ch; }
22
+ .truncate-chars-40 { max-width: 40ch; }
23
+ .truncate-chars-50 { max-width: 50ch; }
24
+ .truncate-chars-60 { max-width: 60ch; }
25
+ .truncate-chars-70 { max-width: 70ch; }
26
+ .truncate-chars-80 { max-width: 80ch; }
27
+ .truncate-chars-90 { max-width: 90ch; }
28
+
29
+ .indent {}
30
+ .indent-chars-1 { padding-left: 1ch; }
31
+ .indent-chars-2 { padding-left: 2ch; }
32
+ .indent-chars-3 { padding-left: 3ch; }
33
+ .indent-chars-4 { padding-left: 4ch; }
34
+ .indent-chars-5 { padding-left: 5ch; }
35
+ .indent-chars-6 { padding-left: 6ch; }
36
+ .indent-chars-7 { padding-left: 7ch; }
37
+ .indent-chars-8 { padding-left: 8ch; }
38
+ .indent-chars-9 { padding-left: 9ch; }
39
+ .indent-chars-10 { padding-left: 10ch; }
40
+ .indent-chars-11 { padding-left: 11ch; }
41
+ .indent-chars-12 { padding-left: 12ch; }
42
+ .indent-chars-13 { padding-left: 13ch; }
43
+ .indent-chars-14 { padding-left: 14ch; }
44
+ .indent-chars-15 { padding-left: 15ch; }
45
+ .indent-chars-16 { padding-left: 16ch; }
46
+ .indent-chars-17 { padding-left: 17ch; }
47
+ .indent-chars-18 { padding-left: 18ch; }
48
+ .indent-chars-19 { padding-left: 19ch; }
@@ -0,0 +1,9 @@
1
+ .bottom-margin-1 { margin-bottom: 1em; }
2
+ .bottom-margin-2 { margin-bottom: 2em; }
3
+ .bottom-margin-3 { margin-bottom: 3em; }
4
+ .bottom-margin-4 { margin-bottom: 4em; }
5
+ .bottom-margin-5 { margin-bottom: 5em; }
6
+ .bottom-margin-6 { margin-bottom: 6em; }
7
+ .bottom-margin-7 { margin-bottom: 7em; }
8
+ .bottom-margin-8 { margin-bottom: 8em; }
9
+ .bottom-margin-9 { margin-bottom: 9em; }
@@ -0,0 +1,7 @@
1
+ @media only screen and (min-width: 0px) and (max-width: 767px) {
2
+ .btn-responsive {
3
+ .btn-text {
4
+ display: none;
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ .form-inline {
2
+ input[type=checkbox] {
3
+ margin-right: 5px;
4
+ }
5
+ }
@@ -0,0 +1,6 @@
1
+ .code p {
2
+ font-family: monospace;
3
+ margin-bottom: 0px;
4
+ }
5
+
6
+ .code p:nth-child(odd) { background: #F8F8F8 }
@@ -0,0 +1,6 @@
1
+ .error-explanation {
2
+ .error-heading {
3
+ font-weight: bold;
4
+ }
5
+ }
6
+
@@ -0,0 +1,9 @@
1
+ .form-inline {
2
+ .form-group {
3
+ margin-right: 5px;
4
+ }
5
+
6
+ label {
7
+ margin-right: 5px;
8
+ }
9
+ }
@@ -0,0 +1,161 @@
1
+ /***************************************************************/
2
+ /* Author: db0 (db0company@gmail.com, http://db0.fr/) */
3
+ /* Sources/Licence: https://github.com/db0company/css-hexagon */
4
+ /***************************************************************/
5
+
6
+ @xxs: 14px;
7
+ @xs: 22px;
8
+ @sm: 44px;
9
+ @md: 64px;
10
+ @lg: 88px;
11
+ @xl: 120px;
12
+
13
+ @default: #ebebeb;
14
+ @default-hover: #cccccc;
15
+ @primary: #428bca;
16
+ @primary-hover: #3276b1;
17
+ @success: #5cb85c;
18
+ @success-hover: #47a447;
19
+ @info: #5bc0de;
20
+ @info-hover: #39b3d7;
21
+ @warning: #f0ad4e;
22
+ @warning-hover: #ed9c28;
23
+ @danger: #d9534f;
24
+ @danger-hover: #d2322d;
25
+
26
+ @fontmultiply: 0.7;
27
+
28
+ // *********************************************************** //
29
+ // Hexagon //
30
+ // *********************************************************** //
31
+
32
+ .hexagon-content(@size, @color: white) {
33
+ color: @color;
34
+ text-align: center;
35
+ font-size: @size * @fontmultiply;
36
+ &:hover {
37
+ color: @color;
38
+ text-decoration: none;
39
+ }
40
+ }
41
+
42
+ .hexagon(@side : @md, @color : @default) {
43
+ .hexagon-content(@side);
44
+ @radius: @side * 0.86602540378;
45
+ margin: (@side / 2) 0;
46
+ width: @radius * 2;
47
+ height: @side;
48
+ background-color: @color;
49
+ position: relative;
50
+ display: block;
51
+ &:before, &:after {
52
+ content: " ";
53
+ width: 0;
54
+ height: 0;
55
+ position: absolute;
56
+ border-left: @radius solid transparent;
57
+ border-right: @radius solid transparent;
58
+ left: 0;
59
+ }
60
+ &:before {
61
+ border-bottom: (@side / 2) solid @color;
62
+ top: (@side / 2 * -1);
63
+ }
64
+ &:after {
65
+ border-top: (@side / 2) solid @color;
66
+ bottom: (@side / 2 * -1);
67
+ }
68
+ }
69
+
70
+ .hexagon-changecolor(@color) {
71
+ background-color: @color;
72
+ &:before {
73
+ border-bottom-color: @color;
74
+ }
75
+ &:after {
76
+ border-top-color: @color;
77
+ }
78
+ }
79
+
80
+ /***************************************************************/
81
+ /* Sizes */
82
+ /***************************************************************/
83
+
84
+ /* Extra Extra Small */
85
+ .hexagon-xxs {
86
+ .hexagon(@xxs);
87
+ }
88
+ /* Extra Small */
89
+ .hexagon-xs {
90
+ .hexagon(@xs);
91
+ }
92
+ /* Small */
93
+ .hexagon-sm {
94
+ .hexagon(@sm);
95
+ }
96
+ /* Medium */
97
+ .hexagon-md {
98
+ .hexagon(@md);
99
+ }
100
+ /* Large */
101
+ .hexagon-lg {
102
+ .hexagon(@lg);
103
+ }
104
+ /* Extra large */
105
+ .hexagon-xl {
106
+ .hexagon(@xl);
107
+ }
108
+
109
+ /***************************************************************/
110
+ /* Colors */
111
+ /***************************************************************/
112
+
113
+ /* Default */
114
+ .hexagon-default {
115
+ .hexagon-changecolor(@default);
116
+ &.hexagon-hover:hover {
117
+ .hexagon-changecolor(@default-hover);
118
+ }
119
+ }
120
+ /* Primary */
121
+ .hexagon-primary {
122
+ .hexagon-changecolor(@primary);
123
+ &.hexagon-hover:hover {
124
+ .hexagon-changecolor(@primary-hover);
125
+ }
126
+ }
127
+ /* Success */
128
+ .hexagon-success {
129
+ .hexagon-changecolor(@success);
130
+ &.hexagon-hover:hover {
131
+ .hexagon-changecolor(@success-hover);
132
+ }
133
+ }
134
+ /* Info */
135
+ .hexagon-info {
136
+ .hexagon-changecolor(@info);
137
+ &.hexagon-hover:hover {
138
+ .hexagon-changecolor(@info-hover);
139
+ }
140
+ }
141
+ /* Warning */
142
+ .hexagon-warning {
143
+ .hexagon-changecolor(@warning);
144
+ &.hexagon-hover:hover {
145
+ .hexagon-changecolor(@warning-hover);
146
+ }
147
+ }
148
+ /* Danger */
149
+ .hexagon-danger {
150
+ .hexagon-changecolor(@danger);
151
+ &.hexagon-hover:hover {
152
+ .hexagon-changecolor(@danger-hover);
153
+ }
154
+ }
155
+
156
+ /***************************************************************/
157
+ /* Inline */
158
+ /***************************************************************/
159
+ .hexagon-inline {
160
+ display: inline-block;
161
+ }
@@ -0,0 +1,9 @@
1
+ @media only screen and (min-width: 0px) and (max-width: 991px) {
2
+ .itsf-dashboard-panel {
3
+ td.item-count {
4
+ text-align: right;
5
+ padding-right: 15px;
6
+ }
7
+
8
+ }
9
+ }