mno-enterprise-frontend 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +1 -0
  3. data/Rakefile +12 -0
  4. data/app/assets/images/favicon.ico +0 -0
  5. data/app/assets/images/mno_enterprise/impac/close-widget-pink.png +0 -0
  6. data/app/assets/images/mno_enterprise/impac/close-widget.png +0 -0
  7. data/app/assets/images/mno_enterprise/loader-32x32-bg-inverse.gif +0 -0
  8. data/app/assets/images/mno_enterprise/loader-32x32-bg-main.gif +0 -0
  9. data/app/assets/images/mno_enterprise/maestrano/logo-whitebg.png +0 -0
  10. data/app/assets/javascripts/mno_enterprise/angular/app.js.coffee.erb +173 -0
  11. data/app/assets/javascripts/mno_enterprise/angular/controllers/maestrano-controllers.js.coffee +4 -0
  12. data/app/assets/javascripts/mno_enterprise/angular/controllers/modals/modals-ctrl.js.coffee +62 -0
  13. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-account.js.coffee +157 -0
  14. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-app-deletion-request.js.coffee +62 -0
  15. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-apps-list.js.coffee +127 -0
  16. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-components.js.coffee +25 -0
  17. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-marketplace-app.js.coffee +77 -0
  18. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-marketplace.js.coffee +51 -0
  19. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-menu.js.coffee +174 -0
  20. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/arrears.js.coffee +70 -0
  21. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/billing.js.coffee +48 -0
  22. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/credit-card.js.coffee +142 -0
  23. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/index.js.coffee +61 -0
  24. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/invoices.js.coffee +42 -0
  25. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/members.js.coffee +280 -0
  26. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/settings.js.coffee +91 -0
  27. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/team-list.js.coffee +179 -0
  28. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/teams.js.coffee +268 -0
  29. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/file-model.js.coffee +33 -0
  30. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/maestrano-components.js.coffee +22 -0
  31. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-autostop-app.js.coffee +123 -0
  32. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-compile.js.coffee +18 -0
  33. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-currency-widget.js.coffee +43 -0
  34. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-current-currency.js.coffee +22 -0
  35. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-editable.js.coffee +68 -0
  36. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-flash-msg.js.coffee +40 -0
  37. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-helptext.js.coffee +38 -0
  38. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-loading-lounge.js.coffee +184 -0
  39. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-match.js.coffee +14 -0
  40. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-message-modal.js.coffee +56 -0
  41. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-notification-widget.js.coffee +192 -0
  42. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-partner-code-popup.js.coffee +74 -0
  43. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-partner-contact.js.coffee +59 -0
  44. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-password-strength.js.coffee +154 -0
  45. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-password.js.coffee +40 -0
  46. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-price-converter.js.coffee +49 -0
  47. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-scroll-to.js.coffee +14 -0
  48. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-typeahead.js.coffee +89 -0
  49. data/app/assets/javascripts/mno_enterprise/angular/directives/user-setup/components.js.coffee +7 -0
  50. data/app/assets/javascripts/mno_enterprise/angular/directives/user-setup/index.js.coffee +256 -0
  51. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-app-by-category.js.coffee +5 -0
  52. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-currency.js.coffee +30 -0
  53. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-filters.js.coffee +7 -0
  54. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-replace-underscore-with-space.js.coffee +4 -0
  55. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-titleize.js.coffee +7 -0
  56. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-truncate.js.coffee +24 -0
  57. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-app-instance.js.coffee +15 -0
  58. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-apps-document.js.coffee +83 -0
  59. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-user.js.coffee +27 -0
  60. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/organization-svc.js.coffee +318 -0
  61. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/team-svc.js.coffee +180 -0
  62. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/tickets-svc.js.coffee +109 -0
  63. data/app/assets/javascripts/mno_enterprise/angular/services/impac-config.svc.js.coffee +35 -0
  64. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-apps-list-helper.js.coffee +337 -0
  65. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-assets.js.coffee.erb +21 -0
  66. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-current-currency.js.coffee +7 -0
  67. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-current-user-svc.js.coffee +99 -0
  68. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-exchange-rates.js.coffee +102 -0
  69. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-message-svc.js.coffee +71 -0
  70. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-miscellaneous.js.coffee.erb +46 -0
  71. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-modal.js.coffee +67 -0
  72. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-msg-bus.js.coffee +50 -0
  73. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-services.js.coffee +21 -0
  74. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-shopping-cart.js.coffee +361 -0
  75. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-utilities.js.coffee +61 -0
  76. data/app/assets/javascripts/mno_enterprise/angular/services/marketplace-svc.js.coffee +59 -0
  77. data/app/assets/javascripts/mno_enterprise/application.js +17 -0
  78. data/app/assets/javascripts/mno_enterprise/application_lib.js +14 -0
  79. data/app/assets/javascripts/mno_enterprise/lib/angular-really-click.js +17 -0
  80. data/app/assets/javascripts/mno_enterprise/lib/sortable.js +315 -0
  81. data/app/assets/javascripts/mno_enterprise/lib/ui-bootstrap-tpls-0.13.4.js +5836 -0
  82. data/app/assets/javascripts/mno_enterprise/lib/xeditable.js +1588 -0
  83. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap.js +12 -0
  84. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/affix.js +162 -0
  85. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/alert.js +94 -0
  86. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/button.js +116 -0
  87. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/carousel.js +237 -0
  88. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/collapse.js +211 -0
  89. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/dropdown.js +161 -0
  90. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/modal.js +324 -0
  91. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/popover.js +113 -0
  92. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/scrollspy.js +175 -0
  93. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/tab.js +153 -0
  94. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/tooltip.js +472 -0
  95. data/app/assets/javascripts/mno_enterprise/twitter/bootstrap/transition.js +59 -0
  96. data/app/assets/javascripts/ng-performance/ngPerformance.html +109 -0
  97. data/app/assets/javascripts/ng-performance/ngPerformance.js +211 -0
  98. data/app/assets/stylesheets/mno_enterprise/application.css +13 -0
  99. data/app/assets/stylesheets/mno_enterprise/custom/accordion.less +90 -0
  100. data/app/assets/stylesheets/mno_enterprise/custom/alert.less +30 -0
  101. data/app/assets/stylesheets/mno_enterprise/custom/angular-animate.less +42 -0
  102. data/app/assets/stylesheets/mno_enterprise/custom/angular-material.less +56 -0
  103. data/app/assets/stylesheets/mno_enterprise/custom/bootstrap-on-juice.less +22 -0
  104. data/app/assets/stylesheets/mno_enterprise/custom/button.less +84 -0
  105. data/app/assets/stylesheets/mno_enterprise/custom/footer.less +44 -0
  106. data/app/assets/stylesheets/mno_enterprise/custom/form.less +191 -0
  107. data/app/assets/stylesheets/mno_enterprise/custom/header.less +281 -0
  108. data/app/assets/stylesheets/mno_enterprise/custom/impac-variables-override.less +65 -0
  109. data/app/assets/stylesheets/mno_enterprise/custom/modal.less +183 -0
  110. data/app/assets/stylesheets/mno_enterprise/custom/utilities.less +729 -0
  111. data/app/assets/stylesheets/mno_enterprise/custom/utility/app-presentation.less +77 -0
  112. data/app/assets/stylesheets/mno_enterprise/custom/utility/banners.less +145 -0
  113. data/app/assets/stylesheets/mno_enterprise/custom/utility/carousel.less +68 -0
  114. data/app/assets/stylesheets/mno_enterprise/custom/utility/helptext.less +40 -0
  115. data/app/assets/stylesheets/mno_enterprise/custom/utility/miscellaneous.less +134 -0
  116. data/app/assets/stylesheets/mno_enterprise/custom/utility/progress-bar.less +55 -0
  117. data/app/assets/stylesheets/mno_enterprise/custom/utility/step.less +101 -0
  118. data/app/assets/stylesheets/mno_enterprise/custom/utility/tabset.less +87 -0
  119. data/app/assets/stylesheets/mno_enterprise/custom/utility/testimonial.less +118 -0
  120. data/app/assets/stylesheets/mno_enterprise/custom/utility/text.less +23 -0
  121. data/app/assets/stylesheets/mno_enterprise/custom/views/apps.less +243 -0
  122. data/app/assets/stylesheets/mno_enterprise/custom/views/myspace.less +477 -0
  123. data/app/assets/stylesheets/mno_enterprise/custom/views/pages/confirmation_lounge.less +31 -0
  124. data/app/assets/stylesheets/mno_enterprise/custom/views/pages/home.less +57 -0
  125. data/app/assets/stylesheets/mno_enterprise/custom/views/pages/oauth-config-page.less +6 -0
  126. data/app/assets/stylesheets/mno_enterprise/custom/views/registration.less +84 -0
  127. data/app/assets/stylesheets/mno_enterprise/custom/views/star.less +18 -0
  128. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/bootstrap-wizard.less +63 -0
  129. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-marketplace.less +187 -0
  130. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-organization.less +149 -0
  131. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-teams.less +119 -0
  132. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/support.less +42 -0
  133. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/tickets.less +80 -0
  134. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/mno-editable.less +60 -0
  135. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/notification-widget.less +49 -0
  136. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/password-strength.less +28 -0
  137. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/shopping-cart.less +333 -0
  138. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/star-wizard.less +49 -0
  139. data/app/assets/stylesheets/mno_enterprise/custom/views/user-setup.less +10 -0
  140. data/app/assets/stylesheets/mno_enterprise/custom/xeditable.less +40 -0
  141. data/app/assets/stylesheets/mno_enterprise/font-awesome/font-awesome-regular.less +13 -0
  142. data/app/assets/stylesheets/mno_enterprise/font-awesome/font-awesome-sprockets.less +13 -0
  143. data/app/assets/stylesheets/mno_enterprise/font-awesome/font-awesome.less +16 -0
  144. data/app/assets/stylesheets/mno_enterprise/font-awesome/fonts/FontAwesome.otf +0 -0
  145. data/app/assets/stylesheets/mno_enterprise/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  146. data/app/assets/stylesheets/mno_enterprise/font-awesome/fonts/fontawesome-webfont.svg +640 -0
  147. data/app/assets/stylesheets/mno_enterprise/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  148. data/app/assets/stylesheets/mno_enterprise/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  149. data/app/assets/stylesheets/mno_enterprise/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  150. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/animated.less +34 -0
  151. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/bordered-pulled.less +25 -0
  152. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/core.less +12 -0
  153. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/extras.less +2 -0
  154. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/fixed-width.less +6 -0
  155. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/icons.less +677 -0
  156. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/larger.less +13 -0
  157. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/list.less +19 -0
  158. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/mixins.less +26 -0
  159. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/rotated-flipped.less +20 -0
  160. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/stacked.less +20 -0
  161. data/app/assets/stylesheets/mno_enterprise/font-awesome/framework/variables.less +687 -0
  162. data/app/assets/stylesheets/mno_enterprise/main.less +132 -0
  163. data/app/assets/stylesheets/mno_enterprise/mixins.less +75 -0
  164. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/alerts.less +73 -0
  165. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/badges.less +65 -0
  166. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/bootstrap.less +50 -0
  167. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/breadcrumbs.less +26 -0
  168. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/button-groups.less +243 -0
  169. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/buttons.less +160 -0
  170. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/carousel.less +269 -0
  171. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/close.less +34 -0
  172. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/code.less +69 -0
  173. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/component-animations.less +34 -0
  174. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/dropdowns.less +214 -0
  175. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/forms.less +566 -0
  176. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/glyphicons.less +301 -0
  177. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/grid.less +84 -0
  178. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/input-groups.less +166 -0
  179. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/jumbotron.less +50 -0
  180. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/labels.less +64 -0
  181. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/list-group.less +124 -0
  182. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/media.less +61 -0
  183. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins.less +39 -0
  184. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/alerts.less +14 -0
  185. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/background-variant.less +8 -0
  186. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/border-radius.less +18 -0
  187. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/buttons.less +52 -0
  188. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/center-block.less +7 -0
  189. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/clearfix.less +22 -0
  190. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/forms.less +85 -0
  191. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/gradients.less +59 -0
  192. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/grid-framework.less +91 -0
  193. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/grid.less +122 -0
  194. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/hide-text.less +21 -0
  195. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/image.less +33 -0
  196. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/labels.less +12 -0
  197. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/list-group.less +29 -0
  198. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/nav-divider.less +10 -0
  199. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/nav-vertical-align.less +9 -0
  200. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/opacity.less +8 -0
  201. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/pagination.less +23 -0
  202. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/panels.less +24 -0
  203. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/progress-bar.less +10 -0
  204. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/reset-filter.less +8 -0
  205. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/resize.less +6 -0
  206. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/responsive-visibility.less +15 -0
  207. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/size.less +10 -0
  208. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/tab-focus.less +9 -0
  209. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/table-row.less +28 -0
  210. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/text-emphasis.less +8 -0
  211. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/text-overflow.less +8 -0
  212. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/mixins/vendor-prefixes.less +227 -0
  213. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/modals.less +148 -0
  214. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/navbar.less +661 -0
  215. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/navs.less +244 -0
  216. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/normalize.less +427 -0
  217. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/pager.less +54 -0
  218. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/pagination.less +88 -0
  219. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/panels.less +265 -0
  220. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/popovers.less +135 -0
  221. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/print.less +107 -0
  222. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/progress-bars.less +87 -0
  223. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/responsive-embed.less +35 -0
  224. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/responsive-utilities.less +194 -0
  225. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/scaffolding.less +150 -0
  226. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/tables.less +234 -0
  227. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/theme.less +273 -0
  228. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/thumbnails.less +36 -0
  229. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/tooltip.less +103 -0
  230. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/type.less +302 -0
  231. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/utilities.less +56 -0
  232. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/variables.less +857 -0
  233. data/app/assets/stylesheets/mno_enterprise/twitter-bootstrap/wells.less +29 -0
  234. data/app/assets/stylesheets/mno_enterprise/variables.less +226 -0
  235. data/app/assets/templates/mno_enterprise/dashboard/account.html +131 -0
  236. data/app/assets/templates/mno_enterprise/dashboard/app_deletion.html +36 -0
  237. data/app/assets/templates/mno_enterprise/dashboard/apps_list.html +103 -0
  238. data/app/assets/templates/mno_enterprise/dashboard/horizontal_menu.html +85 -0
  239. data/app/assets/templates/mno_enterprise/dashboard/marketplace/index.html +60 -0
  240. data/app/assets/templates/mno_enterprise/dashboard/marketplace/show.html +133 -0
  241. data/app/assets/templates/mno_enterprise/dashboard/menu.html +161 -0
  242. data/app/assets/templates/mno_enterprise/dashboard/organization/arrears.html +37 -0
  243. data/app/assets/templates/mno_enterprise/dashboard/organization/billing.html +37 -0
  244. data/app/assets/templates/mno_enterprise/dashboard/organization/credit-card.html +156 -0
  245. data/app/assets/templates/mno_enterprise/dashboard/organization/index.full.html +181 -0
  246. data/app/assets/templates/mno_enterprise/dashboard/organization/index.html +173 -0
  247. data/app/assets/templates/mno_enterprise/dashboard/organization/invoices.html +27 -0
  248. data/app/assets/templates/mno_enterprise/dashboard/organization/members.html +288 -0
  249. data/app/assets/templates/mno_enterprise/dashboard/organization/settings.html +55 -0
  250. data/app/assets/templates/mno_enterprise/dashboard/teams/index.html +175 -0
  251. data/app/assets/templates/mno_enterprise/dashboard/teams/member-add-modal.html +60 -0
  252. data/app/assets/templates/mno_enterprise/dashboard/teams/member-removal-modal.html +35 -0
  253. data/app/assets/templates/mno_enterprise/dashboard/teams/team-add-modal.html +35 -0
  254. data/app/assets/templates/mno_enterprise/dashboard/teams/team-delete-modal.html +35 -0
  255. data/app/assets/templates/mno_enterprise/dashboard/teams/team-list.html +107 -0
  256. data/app/assets/templates/mno_enterprise/default_template.html +20 -0
  257. data/app/assets/templates/mno_enterprise/maestrano-components/autostop_app.html +42 -0
  258. data/app/assets/templates/mno_enterprise/maestrano-components/currency_widget.html +1 -0
  259. data/app/assets/templates/mno_enterprise/maestrano-components/editable.html +28 -0
  260. data/app/assets/templates/mno_enterprise/maestrano-components/loading_lounge.html +63 -0
  261. data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/congratulations.html +8 -0
  262. data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/default.html +1 -0
  263. data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/information.html +8 -0
  264. data/app/assets/templates/mno_enterprise/maestrano-components/notification-widget.html +31 -0
  265. data/app/assets/templates/mno_enterprise/maestrano-components/password.html +55 -0
  266. data/app/assets/templates/mno_enterprise/maestrano-components/star_wizard.html +254 -0
  267. data/app/assets/templates/mno_enterprise/maestrano-components/upload_spreadsheet.html +191 -0
  268. data/app/assets/templates/mno_enterprise/modals/new-organization-reseller-req.html +35 -0
  269. data/app/assets/templates/mno_enterprise/modals/new-organization.html +35 -0
  270. data/app/assets/templates/mno_enterprise/user-setup/index.html +312 -0
  271. data/app/controllers/mno_enterprise/invoices_controller.rb +22 -0
  272. data/app/controllers/mno_enterprise/pages_controller.rb +9 -0
  273. data/app/controllers/mno_enterprise/user_setup_controller.rb +11 -0
  274. data/app/views/layouts/mno_enterprise/_application_js.html.haml +17 -0
  275. data/app/views/layouts/mno_enterprise/_common_cdn_lib_js.html.haml +19 -0
  276. data/app/views/layouts/mno_enterprise/_footer_files.html.haml +5 -0
  277. data/app/views/layouts/mno_enterprise/_header_files.html.haml +31 -0
  278. data/app/views/layouts/mno_enterprise/_impersonate_header.html.haml +7 -0
  279. data/app/views/layouts/mno_enterprise/_public_page_header.html.haml +2 -0
  280. data/app/views/layouts/mno_enterprise/application.html.haml +18 -0
  281. data/app/views/layouts/mno_enterprise/application_dashboard.html.haml +22 -0
  282. data/app/views/layouts/mno_enterprise/third_party/_google_tag_container.html.haml +10 -0
  283. data/app/views/mno_enterprise/pages/app_access_unauthorized.html.haml +19 -0
  284. data/app/views/mno_enterprise/pages/app_logout.html.haml +18 -0
  285. data/app/views/mno_enterprise/pages/billing_details_required.html.haml +19 -0
  286. data/app/views/mno_enterprise/pages/loading.html.haml +3 -0
  287. data/app/views/mno_enterprise/pages/myspace.html.haml +6 -0
  288. data/app/views/mno_enterprise/provision/_provision_apps.html.haml +43 -0
  289. data/app/views/mno_enterprise/provision/_select_organization.html.haml +17 -0
  290. data/app/views/mno_enterprise/provision/new.html.haml +4 -0
  291. data/app/views/mno_enterprise/user_setup/index.html.haml +2 -0
  292. data/config/initializers/ng-annotate.rb +3 -0
  293. data/config/initializers/ng-performance.rb +3 -0
  294. data/config/routes.rb +19 -0
  295. data/lib/assets/javascripts/impac-angular.js +8719 -0
  296. data/lib/assets/stylesheets/impac-angular.less +2352 -0
  297. data/lib/mno-enterprise-frontend.rb +1 -0
  298. data/lib/mno_enterprise/frontend.rb +13 -0
  299. data/lib/mno_enterprise/frontend/assets_util.rb +47 -0
  300. data/lib/mno_enterprise/frontend/concerns/README.md +6 -0
  301. data/lib/mno_enterprise/frontend/concerns/controllers/pages_controller.rb +25 -0
  302. data/lib/mno_enterprise/frontend/engine.rb +13 -0
  303. data/spec/controllers/mno_enterprise/auth/confirmations_controller_spec.rb +84 -0
  304. data/spec/controllers/mno_enterprise/invoices_controller_spec.rb +34 -0
  305. data/spec/controllers/mno_enterprise/pages_controller_spec.rb +42 -0
  306. data/spec/controllers/mno_enterprise/user_setup_controller_spec.rb +33 -0
  307. data/spec/controllers/mno_enterprise/webhook/o_auth_controller_spec.rb +76 -0
  308. data/spec/rails_helper.rb +92 -0
  309. data/spec/routing/mno_enterprise/invoices_controller_routing_spec.rb +11 -0
  310. data/spec/routing/mno_enterprise/pages_controller_routing_spec.rb +18 -0
  311. data/spec/routing/mno_enterprise/user_setup_controller_routing_spec.rb +11 -0
  312. data/spec/spec_helper.rb +78 -0
  313. metadata +464 -0
@@ -0,0 +1,2352 @@
1
+ /* ************************************************************************ */
2
+ /* LESS VARIABLES
3
+ ** This stylesheet should only contain variables.
4
+ /* ************************************************************************ */
5
+
6
+ /*-----------------------------------------------------------------------*/
7
+ /* Color palette */
8
+ /*-----------------------------------------------------------------------*/
9
+ @mgreen: #dae173;
10
+ @morange: #d6782b;
11
+ @mdarkblue: #232528;
12
+ @mgrey: #cccccc;
13
+ @mlightgrey: #999999;
14
+ @mdarkbg: #16161B;
15
+ @mblue: #358fdc;
16
+ @darkerblue: #16252c;
17
+ @darkblue: #17262d;
18
+ @darkerblue: darken(@darkblue,4%);
19
+ @darkblue2: #25333a;
20
+ @mediumblue: #626d6d;
21
+ @lightblue: #abc4c6;
22
+ @pink: #ed1e79;
23
+
24
+ @fluroblue: #00e5f0;
25
+ @fluroorange: #ff7300;
26
+ @flureoyellow: #fbd925;
27
+ @flurogreen: #47ff00;
28
+ @fluropink: #e01f74;
29
+
30
+ @darkgreen: #33d375;
31
+ @green: #d1e55c;
32
+ @purple: #977bf0;
33
+ @lightgray: #e6edee;
34
+ @bluegray: #abc4c6;
35
+ @bluegray2: #35464c;
36
+
37
+ @brand-success: @fluroblue;
38
+ @brand-warning: @purple;
39
+ @brand-info: @fluroblue;
40
+ @brand-danger: @fluropink;
41
+ @brand-primary: @fluroblue;
42
+
43
+ @impac-positive: green;
44
+ @impac-negative: @pink;
45
+ @impac-positive2: #3fc4ff; // lighter colors used for payables-receivables
46
+ @impac-negative2: #1de9b6; // lighter colorsused for payables-receivables
47
+
48
+ // Dashboard
49
+ //--------------------------------------
50
+ @impac-dashboard-padding-top: 50px;
51
+ @impac-dashboard-margin-left: 100px;
52
+
53
+ // Title
54
+ @impac-dashboard-title-color: @purple;
55
+ @impac-dashboard-title-label-color: @darkblue;
56
+ @impac-dashboard-title-label-create-color: white;
57
+ @impac-dashboard-source-color: @impac-dashboard-title-label-color;
58
+ @impac-dashboard-buttons-border-radius: 4px;
59
+
60
+ // Dashboard Selector
61
+ // Tabs
62
+ @impac-dashboard-selector-border: 1px solid @lightblue;
63
+ @impac-dashboard-selector-tabs-margin: 0 2px 0 0;
64
+ @impac-dashboard-selector-tabs-padding: 10px 8px 10px 15px;
65
+ @impac-dashboard-selector-tabs-background-color: transparent;
66
+ @impac-dashboard-selector-tabs-active-background-color: #ffffff;
67
+ @impac-dashboard-selector-tabs-color: black;
68
+ @impac-dashboard-selector-tabs-active-color: @purple;
69
+
70
+ // Widget selector
71
+ @impac-dashboard-widget-selector-bg: #233845;
72
+ @impac-dashboard-widget-selector-text-color: white;
73
+
74
+ // Widgets container
75
+ @impac-placeholder-border: 2px dashed @lightblue;
76
+ @impac-widgets-container-side-padding: 0px;
77
+ @impac-padding-between-widgets: 12px;
78
+ @impac-minimum-widget-size: 250px;
79
+ @impac-big-widget-size: 565px;
80
+
81
+ // Buttons
82
+ @impac-btn-shadded-bg: @darkblue;
83
+ @impac-btn-shadded-color: @mediumblue;
84
+
85
+ // Dashboard Modals
86
+ @impac-dashboard-loading-spinner: white;
87
+
88
+ // Widgets
89
+ //--------------------------------------
90
+ // Global
91
+ @impac-widget-link-color: @purple;
92
+ @impac-widget-buttons-color: @impac-widget-link-color;
93
+ @impac-widget-tile-selected-color: @impac-widget-link-color;
94
+ @impac-widget-background-color: white;
95
+ @impac-widget-border: solid 1px darken(@lightgray,10%);
96
+ @impac-widget-text-color: #5B6667;
97
+ @impac-widget-text-color-medium: lighten(@impac-widget-text-color,25%);
98
+ @impac-widget-text-color-light: lighten(@impac-widget-text-color,40%); //#acb0b1
99
+ @impac-widget-borders-color: lighten(@impac-widget-text-color-light,10%); //#f3f4f4
100
+ @impac-widget-scrollbar-color: #233845;
101
+ @impac-widget-loading-spinner: #67BBE9;
102
+
103
+ // Title
104
+ @impac-widget-title-text-color: darken(@impac-widget-text-color,5%);
105
+ @impac-widget-title-bg: @impac-widget-background-color;
106
+ @impac-widget-title-border: solid 1px @impac-widget-borders-color;
107
+ @impac-widget-title-text-transform: uppercase;
108
+ @impac-widget-title-text-size: 12px;
109
+ @impac-widget-title-border-radius: 5px 5px 0px 0px;
110
+ @impac-widget-top-buttons-color: @impac-widget-text-color-light;
111
+
112
+ // Content
113
+ @impac-widget-content-border-radius: 0px 0px 5px 5px;
114
+ @impac-widget-lines-container-max-height: 200px;
115
+
116
+ // Settings
117
+ // Param selector
118
+ @impac-widget-param-selector-color: @impac-widget-link-color;
119
+ // Hist Mode Choser
120
+ @impac-widget-hist-text-transform: uppercase;
121
+ @impac-widget-hist-text-size: 12px;
122
+ @impac-widget-hist-text-color: @impac-widget-text-color-light;
123
+ // Params picker
124
+ @impac-widget-params-picker-bg: #1E303B;
125
+ @impac-widget-params-picker-unchecked-bg: #c2c4c4;
126
+ // Limit emtries
127
+ @impac-widget-limit-entries-color: #1E303B;
128
+
129
+ // Globals and Mixins
130
+ @impac-widget-selectable-color: @impac-widget-link-color;
131
+
132
+ // Edit settings
133
+ @impac-widget-sub-bg-color: darken(@impac-widget-background-color,10%);
134
+ @impac-widget-sub-bg-color-light: lighten(@impac-widget-sub-bg-color,5%); //f3f4f4
135
+
136
+ // Accounts Comparison
137
+ @impac-widget-accounts-comparison-lines-container-max-height: 220px;
138
+
139
+ // Sales break-even
140
+ @impac-widget-sales-break-even-bg: rgb(25,40,49);
141
+ @impac-widget-sales-break-even-text-color: #1de9b6;
142
+
143
+ .font(@size,@weight,@color) {
144
+ font-weight:@weight;
145
+ font-size:@size;
146
+ color:@color;
147
+ }
148
+
149
+ .center-bold (@margin-top: 30px) {
150
+ .font(22px, 900, @impac-widget-text-color);
151
+ text-align: center;
152
+ margin-top: @margin-top;
153
+ }
154
+
155
+ .center-thin () {
156
+ .font(16px, 300, @impac-widget-text-color);
157
+ text-align: center;
158
+ }
159
+
160
+ .center-small () {
161
+ .font(12px, 300, @impac-widget-text-color);
162
+ text-align: center;
163
+ }
164
+
165
+ .left-thin (@margin-top: 0px) {
166
+ .font(14px, 300, @impac-widget-text-color);
167
+ text-align: left;
168
+ margin-top: @margin-top;
169
+ }
170
+
171
+ .widget-height (@height: @impac-minimum-widget-size) {
172
+ min-height: @height;
173
+ @media (min-width: @screen-md-min) {
174
+ height: @height;
175
+ .chart-container {
176
+ max-width: @height + 20px;
177
+ max-height: @height - 125px;
178
+ margin: auto;
179
+ }
180
+ }
181
+ }
182
+
183
+ .short-widget () {
184
+ .widget-height();
185
+ .edit {
186
+ max-height: @impac-minimum-widget-size - 20px;
187
+ }
188
+ }
189
+
190
+ .tall-widget () {
191
+ .widget-height(@impac-big-widget-size);
192
+ .edit {
193
+ max-height: @impac-big-widget-size - 20px;
194
+ .widget-lines-container {
195
+ .scrollable(hidden);
196
+ }
197
+ }
198
+ }
199
+
200
+ .scrollable (@scroll-mode: auto) {
201
+ overflow-y: @scroll-mode;
202
+ overflow-x: hidden;
203
+ }
204
+
205
+ .selectable () {
206
+ cursor: pointer;
207
+ :hover, &:hover {
208
+ color: @impac-widget-selectable-color;
209
+ }
210
+ .selected {
211
+ border: solid 1px @impac-widget-selectable-color;
212
+ background-color: lighten(@impac-widget-selectable-color, 22%)
213
+ }
214
+ }
215
+
216
+ .alternate-bg (@even-color: @impac-widget-sub-bg-color) {
217
+ &:nth-child(even) {
218
+ background-color: @even-color;
219
+ }
220
+ &:nth-child(odd) {
221
+ background-color: @impac-widget-background-color;
222
+ }
223
+ }
224
+
225
+ .edit-panel-style() {
226
+ .scrollable();
227
+ color: @impac-widget-text-color;
228
+ padding: 2px;
229
+ font-size: 12px;
230
+
231
+ .bottom-buttons {
232
+ .btn {
233
+ border-radius: 2px;
234
+ margin-right: 5px;
235
+ padding: 3px 13px;
236
+ text-transform: uppercase;
237
+ font-size: 12px;
238
+
239
+ &.btn-default {
240
+ background-color: #c2c4c4;
241
+ border: solid 1px darken(#c2c4c4,10%);
242
+ color: white;
243
+ &:hover {
244
+ border: solid 1px darken(#c2c4c4,20%);
245
+ background-color: darken(#c2c4c4,10%);
246
+ }
247
+ }
248
+ }
249
+ }
250
+
251
+ h4 {
252
+ margin: 0;
253
+ margin-bottom: 8px;
254
+ text-align: left;
255
+ .font(12px,normal,@impac-widget-text-color-light);
256
+ }
257
+
258
+ .part {
259
+ margin-bottom: 8px;
260
+ padding: 10px 0px;
261
+ background-color: @impac-widget-sub-bg-color-light;
262
+ // color: #626d6d;
263
+ border: solid 1px @impac-widget-borders-color;
264
+
265
+ h5 {
266
+ display: block;
267
+ margin: 0;
268
+ margin-bottom: 10px;
269
+ padding: 0px 15px;
270
+ text-transform: uppercase;
271
+ .font(12px,normal,@impac-widget-text-color-light);
272
+ }
273
+
274
+ label {
275
+ font-weight: normal;
276
+ }
277
+
278
+ select.form-control {
279
+ margin: 0px;
280
+ border: solid 1px #acb0b1;
281
+ outline: none;
282
+ -webkit-box-shadow: none;
283
+ font-size: 13px;
284
+ color: #72728b;
285
+ }
286
+ }
287
+ }
288
+
289
+ .loader-style(@color: @impac-widget-loading-spinner) {
290
+ color: @color;
291
+ }
292
+
293
+ /* ************************************************************************ */
294
+ /* GLOBAL STYLES
295
+ ** This stylesheet should only contain styles applied global or in
296
+ ** 2 or more components.
297
+ /* ************************************************************************ */
298
+
299
+ // Not ideal: intends to force a scrollbar on the window (not on the body),
300
+ // so that the tooltips appended to body are not making the screen flickering.
301
+ // (see when there is only 1 invoices list widget on the dashboard)
302
+ // It is better if the tooltips can be appended to body because otherwise it's
303
+ // messing the alternate-bg() mixing (by adding a child to the parent element)
304
+ body {
305
+ height: 101% !important;
306
+ }
307
+
308
+ .analytics {
309
+
310
+ // ---------------------------------------------------------------------------
311
+ // --- Titles
312
+ // ---------------------------------------------------------------------------
313
+
314
+ h2 {
315
+ margin-top: 2px;
316
+ font-size: 14px;
317
+ color: @impac-widget-text-color;
318
+ }
319
+
320
+ h3 {
321
+ margin: 0px;
322
+ .left-thin();
323
+ }
324
+
325
+ h4 {
326
+ color: @impac-widget-text-color;
327
+ font-size: 16px;
328
+ }
329
+
330
+ // ---------------------------------------------------------------------------
331
+ // --- Colors
332
+ // ---------------------------------------------------------------------------
333
+
334
+ .positive,.green {
335
+ color: @impac-positive !important;
336
+ }
337
+
338
+ .negative,.red {
339
+ color: @impac-negative !important;
340
+ }
341
+
342
+ .positive2 {
343
+ color: @impac-positive2 !important;
344
+ }
345
+
346
+ .negative2 {
347
+ color: @impac-negative2 !important;
348
+ }
349
+
350
+ // ---------------------------------------------------------------------------
351
+ // --- Base elements
352
+ // ---------------------------------------------------------------------------
353
+
354
+ a {
355
+ font-weight: bold;
356
+ color: @impac-widget-link-color;
357
+ cursor: pointer;
358
+ }
359
+
360
+ .input-group {
361
+ width: 100%;
362
+ }
363
+
364
+ select {
365
+ margin-top: 5px;
366
+ background-color: @impac-widget-background-color;
367
+ height: 32px;
368
+ }
369
+
370
+ pre {
371
+ font-size: 12px;
372
+ padding: 0px;
373
+ margin: 1px 0px 8px 0px;
374
+ border: none;
375
+ }
376
+
377
+ .widget-item .content, kpis-bar .kpi {
378
+
379
+ ::-webkit-scrollbar {
380
+ width: 6px;
381
+ background-color: transparent;
382
+ }
383
+
384
+ ::-webkit-scrollbar-thumb {
385
+ background-color: lighten(@impac-widget-scrollbar-color,35%);
386
+ border-radius: 10px;
387
+ &:hover {
388
+ background-color: lighten(@impac-widget-scrollbar-color,40%);
389
+ }
390
+ }
391
+ }
392
+
393
+
394
+ // ---------------------------------------------------------------------------
395
+ // --- Custom elements
396
+ // ---------------------------------------------------------------------------
397
+
398
+ .btn.btn-shaded {
399
+ background-color: @impac-btn-shadded-bg;
400
+ border: solid 1px darken(@impac-btn-shadded-bg,5%);
401
+ color: @impac-btn-shadded-color;
402
+ font-weight: 400;
403
+
404
+ &:hover {
405
+ color: lighten(@impac-btn-shadded-color,5%);
406
+ background-color: lighten(@impac-btn-shadded-bg,5%);
407
+ }
408
+ }
409
+
410
+ .price {
411
+ .center-bold();
412
+ }
413
+
414
+ .currency {
415
+ .center-thin();
416
+ color: @impac-widget-text-color-medium;
417
+ }
418
+
419
+ .legend {
420
+ .center-small();
421
+ .scrollable();
422
+ color: @impac-widget-text-color-light;
423
+ }
424
+
425
+ .loader {
426
+ height: 100%;
427
+ display: flex;
428
+ align-items: center;
429
+ justify-content: center;
430
+ i {
431
+ .loader-style();
432
+ }
433
+ p {
434
+ margin-top: 10px;
435
+ }
436
+ }
437
+
438
+ .right-panel {
439
+ border-left: solid 1px #e6e6e6;
440
+ }
441
+
442
+ .selector {
443
+ text-transform: uppercase;
444
+ font-size: 12px;
445
+ color: @mediumblue;
446
+ text-align: center
447
+ }
448
+
449
+ .tile {
450
+ background-color: rgb(247,247,247);
451
+ box-shadow: 0px 7px 10px -7px #17262d;
452
+ height: 45px;
453
+ margin-bottom: 10px;
454
+ white-space: nowrap;
455
+ cursor: pointer;
456
+ &:hover {
457
+ background-color: darken(#F1F9FF, 3%);
458
+ }
459
+ .colored-area {
460
+ background-color: #3FC4FF;
461
+ height: 100%;
462
+ float: right;
463
+ color: white;
464
+ text-align: right;
465
+ padding: 5px 10px;
466
+ min-width: 8%;
467
+ &.selected {
468
+ background-color: @impac-widget-tile-selected-color;
469
+ }
470
+ }
471
+ .main-text {
472
+ color: @impac-widget-text-color;
473
+ padding: 20px 0px 0px 5px;
474
+ height: 100%;
475
+ font-style: italic;
476
+ font-weight: bold;
477
+ }
478
+ }
479
+
480
+ .widget-lines-container {
481
+ .scrollable();
482
+ max-height: @impac-widget-lines-container-max-height;
483
+ text-align: left;
484
+ font-size: 12px;
485
+
486
+ .widget-line {
487
+ margin: 0px;
488
+ padding: 5px;
489
+ color: @mediumblue;
490
+
491
+ &.header {
492
+ .font(12px,500,@impac-widget-text-color-medium);
493
+ text-transform: uppercase;
494
+ }
495
+ &.small-row {
496
+ margin: inherit;
497
+ margin-left: -3px;
498
+ margin-right: -3px;
499
+ padding: 2px;
500
+
501
+ & > [class*='col-'] {
502
+ padding-left: 3px;
503
+ padding-right: 3px;
504
+ }
505
+ }
506
+ &.total {
507
+ padding: 0px;
508
+ border-top: solid 1px @lightgray;
509
+ }
510
+
511
+ .dashed {
512
+ border-bottom: dashed 1px @impac-widget-borders-color;
513
+ }
514
+ }
515
+ }
516
+ }
517
+
518
+ .vertical-scroll {
519
+ overflow-y: scroll;
520
+ }
521
+
522
+ .horizontal-scroll {
523
+ overflow-x: scroll;
524
+ }
525
+
526
+ // The tooltips should be append to body
527
+ .tooltip.impac-widgets-tooltip .tooltip-inner.ng-binding {
528
+ text-align: left;
529
+ background-color: @mdarkblue;
530
+ max-width: 100%;
531
+ white-space: nowrap;
532
+ strong {
533
+ color: @mgreen;
534
+ }
535
+ }
536
+
537
+ // --- Reusable widget style mixins
538
+
539
+ // Payroll-Summary - Profit-and-Loss
540
+ .drill-down-widget () {
541
+ .tall-widget();
542
+
543
+ .widget-lines-container {
544
+ .scrollable(scroll);
545
+ max-height: 540px;
546
+ margin-right: 10px;
547
+
548
+ .widget-line.total {
549
+ .selectable();
550
+ }
551
+ }
552
+
553
+ .right-panel {
554
+ .widget-lines-container {
555
+ .scrollable(auto);
556
+ max-height: 235px;
557
+ }
558
+ }
559
+
560
+ .no-element {
561
+ .center-thin();
562
+ }
563
+ }
564
+
565
+ // Top customers summary - Sales cycle...
566
+ .simple-summary-widget() {
567
+ .chart-container {
568
+ max-width: 410px;
569
+ }
570
+ .legend {
571
+ max-height: 28px;
572
+ }
573
+ }
574
+
575
+ // Invoices list - sales list
576
+ .simple-list-widget() {
577
+ .widget-lines-container {
578
+ max-height: 230px;
579
+ .widget-line {
580
+ .alternate-bg();
581
+ &.header {
582
+ background-color: @impac-widget-background-color;
583
+ }
584
+ }
585
+ }
586
+ }
587
+
588
+ // Workforce-Summary - Salaries-Summary
589
+ .expandable-filterable-widget() {
590
+ h3.left {
591
+ margin-top: 69px;
592
+ text-align: center;
593
+ }
594
+ h3.right {
595
+ margin-bottom: 10px;
596
+ text-align: center;
597
+ }
598
+ .price {
599
+ margin-top: 0;
600
+ }
601
+ .widget-lines-container {
602
+ max-height: 75px;
603
+ .widget-line {
604
+ font-size: 11px;
605
+ }
606
+ }
607
+ }
608
+
609
+ // Leads funnel - Opportunities funnel
610
+ .funnel-widget() {
611
+ .tall-widget();
612
+ .funnel-container {
613
+ width: 95%;
614
+ margin: auto;
615
+ margin-top: 15px;
616
+ padding-right: 10px;
617
+ max-height: @impac-big-widget-size - 60px;
618
+ overflow: auto;
619
+ }
620
+ .right-panel {
621
+ .widget-lines-container {
622
+ max-height: @impac-big-widget-size - 20px;
623
+ margin-right: 10px;
624
+ .widget-line {
625
+ cursor: default;
626
+ }
627
+ }
628
+ }
629
+ }
630
+ .analytics {
631
+
632
+ &.show-dhb {
633
+ transition: opacity 1s;
634
+ opacity: 1;
635
+ }
636
+ &.hide-dhb {
637
+ opacity: 0;
638
+ }
639
+
640
+
641
+ padding-top: @impac-dashboard-padding-top;
642
+ margin-left: @impac-dashboard-margin-left;
643
+
644
+ #head-title {
645
+ // contains customisable impac logo, and heading text.
646
+ #dashboard-heading {
647
+ img {
648
+ float: left;
649
+ margin-right: 15px;
650
+ }
651
+ h2 {
652
+ padding-top: 12px;
653
+ height: 48px;
654
+ font-size: 30px;
655
+ color: #67bbe9;
656
+ }
657
+ }
658
+ }
659
+
660
+ #sub-menu {
661
+ margin-top: 15px;
662
+ h3 {
663
+ font-size: 26px;
664
+ font-weight: normal;
665
+ margin-bottom: 10px;
666
+ color: #233845;
667
+ }
668
+
669
+ .fa.fa-times {
670
+ margin: 6px;
671
+ color: lighten(#233845, 15%);
672
+ cursor: pointer;
673
+ float: right;
674
+ }
675
+ }
676
+
677
+ #widget-selector {
678
+ background-color: @impac-dashboard-widget-selector-bg;
679
+ color: @impac-dashboard-widget-selector-text-color;
680
+ padding: 0px 45px 10px 45px;
681
+ margin: 10px -45px;
682
+
683
+ -webkit-user-select: none; /* Chrome/Safari */
684
+ -moz-user-select: none; /* Firefox */
685
+ -ms-user-select: none; /* IE10+ */
686
+ /* Rules below not implemented in browsers yet */
687
+ -o-user-select: none;
688
+ user-select: none;
689
+
690
+ .badge.confirmation {
691
+ float: right;
692
+ margin-right: 10px;
693
+ opacity: 0;
694
+ }
695
+
696
+ .title {
697
+ padding: 15px 0px;
698
+ border-bottom: solid 1px lighten(@impac-dashboard-widget-selector-bg,6%);
699
+ i.fa.fa-times-circle {
700
+ float: right;
701
+ cursor: pointer;
702
+ margin-right: -35px;
703
+ margin-top: -6px;
704
+ font-size: 20px;
705
+ &:hover {
706
+ color: @mlightgrey;
707
+ }
708
+ }
709
+ }
710
+
711
+ .top-container {
712
+ margin: 15px 0px;
713
+ background-color: transparent;
714
+ border-radius: 3px;
715
+
716
+ .categories {
717
+ background-color: darken(@impac-dashboard-widget-selector-bg,6%);
718
+ padding-bottom: 15px;
719
+ .row.lines {
720
+ p:hover {
721
+ background-color: darken(@impac-dashboard-widget-selector-bg,3%);
722
+ }
723
+ p.selected {
724
+ background-color: @impac-widget-link-color;
725
+ font-weight: bold;
726
+ .box-shadow(-2px 2px 10px -4px black);
727
+ }
728
+ }
729
+ .arrow {
730
+ position: absolute;
731
+ top: 33px;
732
+ right: -11px;
733
+ z-index: 1;
734
+ .square {
735
+ width: 50px;
736
+ height: 30px;
737
+ position: absolute;
738
+ top: 10px;
739
+ right: 17px;
740
+ background-color: @impac-widget-link-color;
741
+ }
742
+ i.fa.fa-caret-right {
743
+ font-size: 52px;
744
+ color: @impac-widget-link-color;
745
+ float: right;
746
+ position: absolute;
747
+ top: -1px;
748
+ right: 0px;
749
+ }
750
+ }
751
+ }
752
+
753
+ .widgets {
754
+ background-color: darken(@impac-dashboard-widget-selector-bg,3%);
755
+ padding-bottom: 15px;
756
+ .row.header {
757
+ text-transform: uppercase;
758
+ font-size: 12px;
759
+ color: @impac-widget-link-color;
760
+ }
761
+ .row.lines {
762
+ padding: 3px 0px;
763
+ p:hover {
764
+ background-color: darken(@impac-dashboard-widget-selector-bg,6%);
765
+ font-weight: normal;
766
+ }
767
+ .fa.fa-plus-circle {
768
+ float: right;
769
+ margin-top: 3px;
770
+ }
771
+ }
772
+ }
773
+
774
+ .row.header {
775
+ padding: 10px 20px;
776
+ font-weight: bold;
777
+ min-height: 40px;
778
+ }
779
+
780
+ .row.lines {
781
+ overflow-x: hidden;
782
+ overflow-y: scroll;
783
+ height: 200px;
784
+ margin-right: -10px;
785
+ margin-left: 0px;
786
+ .box-shadow(inset 0px 0px 10px -4px black);
787
+ p {
788
+ padding: 5px;
789
+ margin: 0px;
790
+ border-bottom: solid 1px @impac-dashboard-widget-selector-bg;
791
+ cursor: pointer;
792
+ &:hover, &.selected {& > div {
793
+ display: inline-block;
794
+ margin-left: 10px;
795
+ }
796
+ select {
797
+ margin: 0;
798
+ }
799
+ .btn {
800
+ height: 32px;
801
+ padding-top: 5px;
802
+ }
803
+ color: @impac-dashboard-widget-selector-text-color;
804
+ }
805
+ }
806
+
807
+ &::-webkit-scrollbar {
808
+ width: 6px;
809
+ background-color: transparent;
810
+ }
811
+
812
+ &::-webkit-scrollbar-thumb {
813
+ background-color: lighten(@impac-dashboard-widget-selector-bg,3%);
814
+ border-radius: 10px;
815
+ &:hover {
816
+ background-color: lighten(@impac-dashboard-widget-selector-bg,6%);
817
+ }
818
+ }
819
+ }
820
+ }
821
+
822
+ .bottom {
823
+ height: 20px;
824
+ .suggestion {
825
+ float: right;
826
+ opacity: 0.7;
827
+ a {
828
+ cursor: pointer;
829
+ &:hover {
830
+ color: @fluroblue;
831
+ }
832
+ }
833
+ &:hover {
834
+ opacity: 1;
835
+ }
836
+ }
837
+ }
838
+ }
839
+
840
+ #dashboard-settings-panel {
841
+ position: relative;
842
+ margin: 0px 2px;
843
+ & > * {
844
+ }
845
+ & > div {
846
+ display: inline-block;
847
+ margin-left: 5px;
848
+ margin-top: 5px;
849
+ }
850
+ select {
851
+ margin: 0;
852
+ }
853
+ .btn {
854
+ height: 32px;
855
+ padding-top: 5px;
856
+ }
857
+ }
858
+
859
+ // no widgets - empty dashboard.
860
+ #no-widgets-container {
861
+ position: relative;
862
+ min-height: 150px;
863
+
864
+ // background image asset
865
+ img.bg {
866
+ left: 0;
867
+ top: 0;
868
+ min-width: 100%;
869
+ min-height: 100%;
870
+ }
871
+
872
+ // no widgets message that sits above image asset
873
+ .impac-info-message {
874
+ position: absolute;
875
+ top: 0;
876
+ width: 100%;
877
+ }
878
+
879
+ }
880
+
881
+ // parent div section for widgets to be housed.
882
+ #widgets-section {
883
+ padding-left: @impac-widgets-container-side-padding;
884
+ padding-right: @impac-widgets-container-side-padding;
885
+
886
+ // container for widgets
887
+ #widgets-container {
888
+ // Quick-fix to avoid screen flockering when tooltips are appended to body:
889
+ // min-height will force a scrollbar to appear...
890
+ min-height: 700px;
891
+ }
892
+
893
+ .placeHolderBox {
894
+ margin: @impac-padding-between-widgets;
895
+ height: 267px;
896
+ width: 300px;
897
+ float: left;
898
+ border: @impac-placeholder-border;
899
+ background: none;
900
+ }
901
+
902
+ // individual widget
903
+ .widget-item {
904
+ padding: @impac-padding-between-widgets;
905
+ }
906
+ }
907
+ }
908
+
909
+ // Tooltips are append to body
910
+ .tooltip.impac-widget-selector-tooltip .tooltip-inner.ng-binding {
911
+ font-size: 14px;
912
+ }
913
+
914
+ .impac-widget-suggestion .modal-body {
915
+ input,textarea {
916
+ width: 100%;
917
+ color: black;
918
+ }
919
+ textarea {
920
+ height: 150px;
921
+ }
922
+ .thanks-message {
923
+ color: @mgreen;
924
+ }
925
+ }
926
+
927
+ // This style applies to dashboard modals, and also the
928
+ // `accounts-custom-calculation/formula.modal.html` modal.
929
+ .modal-footer .loader {
930
+ .loader-style(@impac-dashboard-loading-spinner)
931
+ }
932
+
933
+ #module__dashboard-selector {
934
+ a {
935
+ font-weight: normal;
936
+ }
937
+ // dashboard selector template wrapper div
938
+ & > div:first-child {
939
+ border-bottom: @impac-dashboard-selector-border;
940
+ }
941
+
942
+ .buttons-bar-row {
943
+ margin-top: 54px;
944
+ }
945
+
946
+ // container for dashboard selector 'dropdown' template
947
+ .buttons-bar {
948
+ padding: 0;
949
+ padding-bottom: 5px;
950
+
951
+ .btn {
952
+ float: right;
953
+ margin: 3px;
954
+ border-radius: @impac-dashboard-buttons-border-radius;
955
+ }
956
+
957
+ .dropdown-container {
958
+
959
+ .dashboard-title {
960
+ color: @impac-dashboard-title-color;
961
+ display: inline;
962
+ cursor: pointer;
963
+ &:hover {
964
+ color: darken(@impac-dashboard-title-color,10%);
965
+ }
966
+ i.fa.fa-pencil {
967
+ margin-left: 20px;
968
+ font-size: 14px;
969
+ &:hover {
970
+ color: @mgreen;
971
+ }
972
+ }
973
+ }
974
+
975
+ .dashboard-select {
976
+ margin: 5px 0px 10px 30px;
977
+ height: auto;
978
+ border-left: 1px solid @impac-dashboard-title-color;
979
+ border-bottom: 1px solid @impac-dashboard-title-color;
980
+ width: 300px;
981
+ background-color: @lightgray;
982
+ cursor: pointer;
983
+ .option {
984
+ color: @impac-dashboard-title-label-color;
985
+ white-space: nowrap;
986
+ &:hover {
987
+ background-color: @impac-widget-background-color;
988
+ }
989
+ &.create {
990
+ background-color: @impac-dashboard-title-color;
991
+ color: @impac-dashboard-title-label-create-color;
992
+ height: 30px;
993
+ padding: 5px 10px 5px 10px;
994
+ &:hover {
995
+ background-color: darken(@impac-dashboard-title-color,10%);
996
+ }
997
+ }
998
+ i.fa.fa-pencil {
999
+ float: right;
1000
+ padding-top: 7px;
1001
+ text-align: center;
1002
+ width: 15%;
1003
+ height: 30px;
1004
+ &:hover {
1005
+ color: darken(@impac-dashboard-title-color,10%);
1006
+ }
1007
+ }
1008
+ span.name {
1009
+ width: 85%;
1010
+ height: 30px;
1011
+ display: inline-block;
1012
+ padding: 5px 10px 5px 10px;
1013
+ }
1014
+ }
1015
+ }
1016
+
1017
+ .change-name {
1018
+ position: absolute;
1019
+ top: 30px;
1020
+ left: 20px;
1021
+ width: 60%;
1022
+ background-color: rgb(23, 38, 45);
1023
+ color: white;
1024
+ padding: 10px;
1025
+ border-radius: 4px;
1026
+ text-align: center;
1027
+ .box-shadow(0px 0px 25px 4px black);
1028
+ z-index: 50;
1029
+ border: solid 1px @impac-widget-background-color;
1030
+
1031
+ .form-control {
1032
+ height: 25px;
1033
+ margin-bottom: 10px;
1034
+ }
1035
+ }
1036
+
1037
+ .data-source-label {
1038
+ color: @impac-dashboard-source-color;
1039
+ padding-left: 3px;
1040
+ margin: 0px;
1041
+ }
1042
+ }
1043
+
1044
+ .loader-container {
1045
+ padding-left: 10px;
1046
+ .loading-spinner {
1047
+ .loader-style();
1048
+ font-size: 40px;
1049
+ }
1050
+ }
1051
+ }
1052
+
1053
+ // angular bootstrap tabs & pills
1054
+ .nav-tabs {
1055
+ border-bottom: 0;
1056
+ }
1057
+ .nav.nav-tabs,
1058
+ .nav.nav-pills {
1059
+
1060
+ // add new tab
1061
+ li:last-child > a {
1062
+ padding-right: 15px;
1063
+ tab-heading a {
1064
+ position: static;
1065
+ }
1066
+ }
1067
+ }
1068
+
1069
+ // TABS
1070
+ .nav.nav-tabs {
1071
+ // tab
1072
+ li > a {
1073
+ padding: @impac-dashboard-selector-tabs-padding;
1074
+ margin: @impac-dashboard-selector-tabs-margin;
1075
+ background-color: @impac-dashboard-selector-tabs-background-color;
1076
+ border: @impac-dashboard-selector-border;
1077
+ color: @impac-dashboard-selector-tabs-color;
1078
+ }
1079
+ // active tab
1080
+ li.active > a {
1081
+ background-color: @impac-dashboard-selector-tabs-active-background-color;
1082
+ color: @impac-dashboard-selector-tabs-active-color;
1083
+ }
1084
+ // add new tab
1085
+ li:last-child > a {
1086
+ // padding-left: 5px;
1087
+ }
1088
+ li:last-child.active > a {
1089
+ background-color: @impac-dashboard-selector-tabs-background-color;
1090
+ }
1091
+ }
1092
+
1093
+ // PILLS
1094
+ // TODO: Add less variables for customisation.
1095
+ .nav.nav-pills {
1096
+ // tab
1097
+ li > a {
1098
+ min-width: 0px;
1099
+ padding-right: 8px;
1100
+ }
1101
+ // add a new tab
1102
+ li:last-child tab-heading a {
1103
+ margin-left: 2px;
1104
+ }
1105
+ // add a new tab
1106
+ li:last-child.active > a {
1107
+ background-color: #f4f4f4;
1108
+ }
1109
+ }
1110
+ // tab icons
1111
+ tab-heading a.close-link {
1112
+ border-bottom: 0px solid;
1113
+ margin-left: 12px;
1114
+ position: relative;
1115
+ top: -9px;
1116
+ right: 1px;
1117
+ color: @impac-dashboard-selector-tabs-color;
1118
+ }
1119
+ ////////
1120
+ }
1121
+
1122
+ impac-kpi .kpi {
1123
+ .scrollable();
1124
+ text-align: center;
1125
+ max-width: 160px;
1126
+ min-height: 135px;
1127
+ padding: 10px 3px;
1128
+ border-radius: 3px;
1129
+ background-color: white;
1130
+ box-shadow: 0px 4px 12px -7px #17262d;
1131
+
1132
+ &.static {
1133
+ .kpi-value {
1134
+ display: block;
1135
+ font-size: 14px;
1136
+ font-weight: 700;
1137
+ }
1138
+ }
1139
+
1140
+ .kpi-show {
1141
+ white-space: normal;
1142
+
1143
+ .kpi-title {
1144
+ .text-uppercase();
1145
+ font-size: 12px;
1146
+ font-weight: 600;
1147
+ color: @impac-widget-text-color-medium;
1148
+ border-bottom-color: @impac-widget-text-color-medium;
1149
+
1150
+ &:hover {
1151
+ color: @impac-widget-text-color;
1152
+ border-bottom-color: @impac-widget-text-color;
1153
+ }
1154
+ }
1155
+
1156
+ .editable-wrap .editable-controls {
1157
+ & > input {
1158
+ width: 65%;
1159
+ height: 25px;
1160
+ line-height: 25px;
1161
+ }
1162
+
1163
+ .editable-buttons {
1164
+ button {
1165
+ margin: 0px 0px 0px 1px;
1166
+ height: 25px;
1167
+ padding: 0px 4px;
1168
+ }
1169
+ }
1170
+ }
1171
+
1172
+ .kpi-watch {
1173
+ font-size: 11px;
1174
+ }
1175
+
1176
+ .kpi-value {
1177
+ position: absolute;
1178
+ top: 75px;
1179
+ left: 0;
1180
+ right: 0;
1181
+ font-size: 20px;
1182
+ font-weight: 700;
1183
+ }
1184
+
1185
+ .kpi-alert {
1186
+ .text-uppercase();
1187
+ font-size: 11px;
1188
+ font-weight: 700;
1189
+ background-color: white;
1190
+ border: 1px solid @brand-danger;
1191
+ border-radius: 4px;
1192
+ color: @brand-danger;
1193
+ padding: 2px 5px;
1194
+
1195
+ position: absolute;
1196
+ bottom: 15px;
1197
+ left: 15%;
1198
+ width: 70%;
1199
+
1200
+ &.kpi-close {
1201
+ bottom: auto;
1202
+ right: 20px;
1203
+ top: 5px;
1204
+ border-radius: 10px;
1205
+ width: 21px;
1206
+ left: auto;
1207
+ }
1208
+
1209
+ &:hover {
1210
+ color: darken(@brand-danger, 10%);
1211
+ border-color: darken(@brand-danger, 10%);
1212
+ }
1213
+
1214
+ &.static {
1215
+ position: static;
1216
+ margin: 5px 20px;
1217
+ }
1218
+ }
1219
+ }
1220
+
1221
+ .kpi-edit {
1222
+ .param-name {
1223
+ .small();
1224
+ }
1225
+
1226
+ .edit-limit {
1227
+ .input-limit-value, .select-limit-mode {
1228
+ margin-top: 0;
1229
+ width: 50%;
1230
+
1231
+ .form-control-feedback {
1232
+ color: @impac-widget-text-color-medium;
1233
+ .small();
1234
+ line-height: 24px;
1235
+ }
1236
+ }
1237
+ }
1238
+
1239
+ .form-control.input-sm {
1240
+ margin-top: 0;
1241
+ height: 24px;
1242
+ line-height: 24px;
1243
+ }
1244
+
1245
+ .form-group {
1246
+ margin-bottom: 0;
1247
+ }
1248
+
1249
+ .btn.btn-xs {
1250
+ margin-top: 4px;
1251
+ }
1252
+ }
1253
+ }
1254
+
1255
+ .analytics kpis-bar > .key-stats .kpi {
1256
+ min-height: 80px;
1257
+ }
1258
+
1259
+ .analytics kpis-bar > .kpis {
1260
+ padding: 10px 0px;
1261
+ min-height: 145px;
1262
+ overflow: hidden;
1263
+
1264
+ .available-kpis-container {
1265
+ text-align: left;
1266
+ position: absolute;
1267
+ z-index: 15;
1268
+ background-color: @impac-widget-background-color;
1269
+ width: 500px;
1270
+ max-height: 115px;
1271
+ box-shadow: 0px 3px 12px -4px;
1272
+
1273
+ .scrollable();
1274
+
1275
+ .available-kpi {
1276
+ border-bottom: solid 1px #D8DBDB;
1277
+ padding: 4px;
1278
+ padding-left: 8px;
1279
+ height: 38px;
1280
+
1281
+ span.kpi-name {
1282
+ padding-top: 5px;
1283
+ display: inline-block;
1284
+ }
1285
+
1286
+ .form-control-static, .btn.btn-sm.btn-info {
1287
+ float: right;
1288
+ min-height: 30px;
1289
+ height: 30px;
1290
+ float: right;
1291
+ margin-left: 3px;
1292
+ margin-top: 0px;
1293
+ font-weight: bold;
1294
+ }
1295
+ }
1296
+ }
1297
+
1298
+ .title-actions {
1299
+ .title {
1300
+ margin-top: 10px;
1301
+ font-weight: 700;
1302
+ }
1303
+ }
1304
+
1305
+ .kpi-loader {
1306
+ display: flex;
1307
+ align-items: center;
1308
+ justify-content: center;
1309
+ min-height: 135px;
1310
+ }
1311
+ }
1312
+
1313
+ .analytics kpis-bar > .key-stats {
1314
+ background-color: white;
1315
+ // color: @light-black;
1316
+ padding: 5px 0px;
1317
+ }
1318
+
1319
+ .widget-item .top-line {
1320
+ position: relative;
1321
+ cursor: move;
1322
+ background-color: @impac-widget-title-bg;
1323
+ padding: 9px 9px 0px 9px;
1324
+ border-radius: @impac-widget-title-border-radius;
1325
+ border: @impac-widget-border;
1326
+ border-bottom: none;
1327
+ min-height: 41px;
1328
+ .box-shadow(0px 1px 8px -4px);
1329
+ }
1330
+
1331
+ .widget-item .content {
1332
+ padding: 9px;
1333
+ border-radius: @impac-widget-content-border-radius;
1334
+ border: @impac-widget-border;
1335
+ border-top: none;
1336
+ background-color: @impac-widget-background-color;
1337
+
1338
+ vertical-align: top;
1339
+ .box-shadow(0px 1px 8px -4px);
1340
+ .short-widget();
1341
+
1342
+ .edit {
1343
+ .edit-panel-style();
1344
+ }
1345
+
1346
+ &.accessible {
1347
+ height: auto !important;
1348
+ min-height: 250px !important;
1349
+ max-height: auto !important;
1350
+ }
1351
+ }
1352
+
1353
+ .analytics .dashboard-settings.currency {
1354
+ text-align: right;
1355
+ select {
1356
+ margin-top: 4px;
1357
+ }
1358
+ }
1359
+
1360
+ .analytics .dashboard-settings.sync-apps {
1361
+ span {
1362
+ margin-right: 5px;
1363
+ color: @impac-widget-text-color-medium;
1364
+ }
1365
+ }
1366
+
1367
+ .analytics .widget-item .content .data-not-found {
1368
+ text-align: center;
1369
+ font-size: 18px;
1370
+ color: @impac-widget-text-color;
1371
+ img {
1372
+ opacity: 0.8;
1373
+ -webkit-filter: blur(2px);
1374
+ -moz-filter: blur(2px);
1375
+ -o-filter: blur(2px);
1376
+ -ms-filter: blur(2px);
1377
+ filter: blur(2px);
1378
+ // fix for mobile, prevents images from extended the width of the widget.
1379
+ max-width: 100%;
1380
+ }
1381
+ .message {
1382
+ position: absolute;
1383
+ top: 90px;
1384
+ width: 70%;
1385
+ left: 15%;
1386
+ background-color: rgb(244, 248, 249);
1387
+ padding: 10px 0px;
1388
+ border-radius: 4px;
1389
+ border: solid 1px @impac-widget-borders-color;
1390
+ a {
1391
+ color: @impac-widget-link-color;
1392
+ display: block;
1393
+ font-size: 16px;
1394
+ font-weight: normal;
1395
+ }
1396
+ }
1397
+ }
1398
+ .analytics .widget-item {
1399
+ .title-wrapper {
1400
+ width: 100%;
1401
+ padding: 0px 10px 10px 10px;
1402
+ white-space: nowrap;
1403
+
1404
+ .title {
1405
+ display: inline;
1406
+ text-transform: @impac-widget-title-text-transform;
1407
+ .font(@impac-widget-title-text-size,600,@impac-widget-title-text-color);
1408
+ text-align: left;
1409
+ cursor: text;
1410
+
1411
+ &.editable-hide {
1412
+ display: none;
1413
+ }
1414
+ }
1415
+
1416
+ .editable-wrap {
1417
+ position: relative;
1418
+ height: 20px;
1419
+ min-width: 100%;
1420
+ // otherwise, white-space is overriden in mno-enterprise
1421
+ white-space: nowrap;
1422
+
1423
+ .editable-controls {
1424
+ min-width: 100%;
1425
+
1426
+ .editable-input {
1427
+ height: 20px;
1428
+ font-size: 12px;
1429
+ text-transform: @impac-widget-title-text-transform;
1430
+ // 55px is .editable-buttons width
1431
+ width: ~"calc(100% - 55px)";
1432
+ padding: 0px 3px;
1433
+ }
1434
+
1435
+ .editable-buttons {
1436
+ background-color: @impac-widget-title-bg;
1437
+ button {
1438
+ margin: 0px 0px 0px 5px;
1439
+ height: 20px;
1440
+ padding: 0px 5px;
1441
+ }
1442
+ }
1443
+ }
1444
+ }
1445
+ }
1446
+ }
1447
+
1448
+ .analytics .widget-item .top-line #module__top-buttons {
1449
+
1450
+ i.fa {
1451
+ margin-top: 3px;
1452
+ }
1453
+
1454
+ .top-buttons-wrapper {
1455
+ position: absolute;
1456
+ right: 9px;
1457
+ top: 7px;
1458
+
1459
+ .top-button {
1460
+ background: transparent;
1461
+ border: none;
1462
+ color: @impac-widget-top-buttons-color;
1463
+ padding: 1px;
1464
+ margin-left: 3px;
1465
+ outline: none;
1466
+
1467
+ &:active, &:focus {
1468
+ -webkit-box-shadow: none;
1469
+ }
1470
+
1471
+ &.btn-refresh {
1472
+ font-size: 17px;
1473
+ margin-top: -1px;
1474
+ &:hover {
1475
+ color: @mblue;
1476
+ }
1477
+ }
1478
+ &.btn-edit {
1479
+ font-size: 14px;
1480
+ &:hover, &.edit-mode {
1481
+ color: darken(@mgreen,10%);
1482
+ }
1483
+ }
1484
+ &.btn-close {
1485
+ &:hover {
1486
+ color: @pink
1487
+ }
1488
+ }
1489
+
1490
+ }
1491
+ }
1492
+
1493
+ .confirm-delete-popover {
1494
+ position: absolute;
1495
+ top: 90px;
1496
+ left: 15%;
1497
+ width: 70%;
1498
+ background-color: #17262d;
1499
+ padding: 10px;
1500
+ border-radius: 4px;
1501
+ z-index: 50;
1502
+ color: white;
1503
+ text-align: center;
1504
+ cursor: default;
1505
+ .box-shadow(0px 0px 25px 4px black);
1506
+ border: solid 1px @impac-widget-background-color;
1507
+
1508
+ h4 {
1509
+ color: @impac-widget-top-buttons-color;
1510
+ font-weight: bold;
1511
+ }
1512
+
1513
+ .loader i.fa.fa-spinner {
1514
+ font-size: 26px;
1515
+ }
1516
+ }
1517
+
1518
+ }
1519
+
1520
+ .analytics .widget-item .content.accounts-accounting-values {
1521
+ // Nothing particular yet for this template...
1522
+ }
1523
+ .analytics .widget-item .content.accounts-assets-liability-summary {
1524
+ .param-selector {
1525
+ text-align: center;
1526
+ }
1527
+ .legend {
1528
+ text-align: left;
1529
+ max-height: 97px;
1530
+
1531
+ .title {
1532
+ text-align: center;
1533
+ border-bottom: dashed 1px @impac-widget-borders-color;
1534
+ }
1535
+ }
1536
+ p {
1537
+ font-weight: bold;
1538
+ }
1539
+ }
1540
+
1541
+ .analytics .widget-item .content.accounts-assets-summary {
1542
+ .legend {
1543
+ text-align: left;
1544
+ max-height: 115px;
1545
+
1546
+ .title {
1547
+ text-align: center;
1548
+ border-bottom: dashed 1px @impac-widget-borders-color;
1549
+ }
1550
+ }
1551
+ }
1552
+
1553
+
1554
+ .analytics .widget-item .content.accounts-balance {
1555
+ h3 {
1556
+ .left-thin(30px);
1557
+ text-align: center;
1558
+ }
1559
+
1560
+ .price {
1561
+ .center-bold(0px);
1562
+ }
1563
+ }
1564
+ .analytics .widget-item .content.accounts-balance-sheet {
1565
+ .tall-widget();
1566
+ .widget-lines-container {
1567
+ .scrollable(scroll);
1568
+ max-height: 540px;
1569
+ }
1570
+
1571
+ .no-data-block {
1572
+ .center-thin();
1573
+ }
1574
+ }
1575
+ .analytics .widget-item .content.accounts-cash-summary {
1576
+ .drill-down-widget();
1577
+ .right-panel > .widget-lines-container {
1578
+ max-height: 215px;
1579
+ }
1580
+
1581
+ .row.widget-line.total.cash {
1582
+ border-top: solid 1px;
1583
+ border-bottom: double;
1584
+ }
1585
+ }
1586
+ .analytics .widget-item .content.accounts-class-comparison {
1587
+ .param-selector {
1588
+ text-align: center;
1589
+ }
1590
+ .widget-lines-container {
1591
+ max-height: 94px;
1592
+ color: #626d6d;
1593
+ }
1594
+ }
1595
+
1596
+ .analytics .widget-item .content.accounts-comparison {
1597
+ .tall-widget();
1598
+
1599
+ .add-account {
1600
+ position: absolute;
1601
+ right: 40px;
1602
+ bottom: 30px;
1603
+ width: 160px;
1604
+ select {
1605
+ font-size: 13px;
1606
+ background-color: @impac-widget-link-color;
1607
+ color: @impac-widget-background-color;
1608
+ outline: none;
1609
+ border: none;
1610
+ cursor: pointer;
1611
+ &[disabled] {
1612
+ cursor: not-allowed;
1613
+ background-color: lighten(@impac-widget-link-color,10%);
1614
+ &:hover {
1615
+ background-color: lighten(@impac-widget-link-color,10%);
1616
+ }
1617
+ }
1618
+ &:hover {
1619
+ background-color: darken(@impac-widget-link-color,10%);
1620
+ }
1621
+ option {
1622
+ background-color: @impac-widget-background-color;
1623
+ color: lighten(@impac-widget-text-color,40%);
1624
+ &[disabled] {
1625
+ color: @impac-widget-background-color;
1626
+ }
1627
+ }
1628
+ }
1629
+ }
1630
+ button.close {
1631
+ font-size: 15px;
1632
+ }
1633
+ .legend {
1634
+ text-align: left;
1635
+ max-height: 103px;
1636
+ }
1637
+ .row {
1638
+ margin: 0;
1639
+ }
1640
+ .widget-lines-container {
1641
+ font-size: 11px;
1642
+ max-height: @impac-widget-accounts-comparison-lines-container-max-height;
1643
+ }
1644
+
1645
+ .settings.params-checkboxes {
1646
+ margin-left: 13px;
1647
+ }
1648
+
1649
+ .comparable-error h5 {
1650
+ margin-left: 13px;
1651
+ color: @impac-negative;
1652
+ }
1653
+ }
1654
+
1655
+ .analytics .widget-item .content.accounts-custom-calculation {
1656
+ h3 {
1657
+ margin-top: 85px;
1658
+ text-align: center;
1659
+ font-weight: bold;
1660
+ }
1661
+
1662
+ .price {
1663
+ .center-bold(75px);
1664
+ }
1665
+
1666
+ .legend {
1667
+ max-height: 125px;
1668
+ }
1669
+ }
1670
+
1671
+ .analytics.modal-custom-calculation {
1672
+ margin: 0px;
1673
+ padding: 0px;
1674
+ }
1675
+
1676
+ .analytics.modal-custom-calculation .modal-body {
1677
+ .edit {
1678
+ .edit-panel-style();
1679
+ padding: 5px;
1680
+ .part {
1681
+ width: 49%;
1682
+ }
1683
+ }
1684
+ }
1685
+ .analytics .widget-item .content.accounts-detailed-classifications {
1686
+ .tall-widget();
1687
+ .widget-lines-container {
1688
+ .scrollable(scroll);
1689
+ max-height: 540px;
1690
+ }
1691
+ // single entity selected class title
1692
+ .account-class-title {
1693
+ margin-bottom: 8px;
1694
+ margin-left: 11px;
1695
+ }
1696
+ // .no-data-block {
1697
+ // .center-thin();
1698
+ // }
1699
+ }
1700
+
1701
+
1702
+
1703
+ .analytics .widget-item .content.accounts-expense-weight {
1704
+ .legend {
1705
+ text-align: left;
1706
+ max-height: 115px;
1707
+
1708
+ .title {
1709
+ text-align: center;
1710
+ border-bottom: dashed 1px @impac-widget-borders-color;
1711
+ }
1712
+ }
1713
+ }
1714
+ .analytics .widget-item .content.accounts-expenses-revenue {
1715
+ .legend {
1716
+ font-weight: bold;
1717
+ }
1718
+
1719
+ .settings.params-checkboxes {
1720
+ margin-left: 0px;
1721
+ margin-top: 15px;
1722
+ text-align: center;
1723
+ }
1724
+ }
1725
+ .analytics .widget-item .content.accounts-payable-receivable {
1726
+ h3 {
1727
+ text-align: center;
1728
+ }
1729
+ .legend {
1730
+ font-weight: bold;
1731
+ }
1732
+ .payable {
1733
+ margin-top: 15px;
1734
+ }
1735
+ .price {
1736
+ .center-bold(0px);
1737
+ }
1738
+ }
1739
+ .analytics .widget-item .content.accounts-profit-and-loss {
1740
+ .drill-down-widget();
1741
+
1742
+ .row.widget-line.total.profit {
1743
+ border-top: solid 1px;
1744
+ border-bottom: double;
1745
+ }
1746
+ }
1747
+ .analytics .widget-item .content.hr-employee-details {
1748
+ font-size: 12px;
1749
+ .details-container {
1750
+ padding: 0px;
1751
+ max-height: 200px;
1752
+ .scrollable();
1753
+ }
1754
+ pre {
1755
+ font-size: 12px;
1756
+ padding: 0px;
1757
+ margin: 1px 0px 8px 0px;
1758
+ border: none;
1759
+ }
1760
+ .right-panel {
1761
+ .details-container {
1762
+ max-height: 208px;
1763
+ }
1764
+ .legend {
1765
+ margin-bottom: 5px;
1766
+ }
1767
+ }
1768
+ .title {
1769
+ text-align: center;
1770
+ margin-bottom: 10px;
1771
+ font-size: 14px;
1772
+ }
1773
+ }
1774
+ .analytics .widget-item .content.hr-employees-list {
1775
+ .legend {
1776
+ margin-bottom: 9px;
1777
+ }
1778
+ .widget-lines-container {
1779
+ text-align: center;
1780
+ .widget-line {
1781
+ .alternate-bg();
1782
+ }
1783
+ }
1784
+ .edit {
1785
+ .widget-lines-container {
1786
+ text-align: left;
1787
+ }
1788
+ }
1789
+ }
1790
+ .analytics .widget-item .content.hr-leaves-balance{
1791
+ .employee-name {
1792
+ text-align: center;
1793
+ }
1794
+ .balance {
1795
+ .center-bold(0px);
1796
+ }
1797
+ h3 {
1798
+ margin-top: 33px;
1799
+ text-align: center;
1800
+ }
1801
+ }
1802
+ .analytics .widget-item .content.hr-leaves-schedule{
1803
+ .fc-button {
1804
+ height: 22px;
1805
+ font-size: 12px;
1806
+ color: @impac-widget-buttons-color;
1807
+ background: white;
1808
+ outline: none;
1809
+ &:hover {
1810
+ color: white;
1811
+ background: @impac-widget-buttons-color;
1812
+ }
1813
+ }
1814
+ .fc-toolbar {
1815
+ margin-bottom: 5px;
1816
+ }
1817
+ .fc-day-grid,.fc-widget-header {
1818
+ font-size: 12px;
1819
+ color: @impac-widget-text-color;
1820
+ }
1821
+ }
1822
+ .analytics .widget-item .content.hr-payroll-summary {
1823
+ .drill-down-widget();
1824
+ .right-panel .widget-lines-container {
1825
+ max-height: 175px;
1826
+ }
1827
+ .no-element p {
1828
+ // corrects alignment issues with the container, which caused text to overflow beyond parents.
1829
+ max-width: 90% !important;
1830
+ margin: auto !important;
1831
+ }
1832
+ }
1833
+
1834
+ .analytics .widget-item .content.hr-payroll-taxes {
1835
+ // Nothing special yet for this template
1836
+ }
1837
+ .analytics .widget-item .content.hr-salaries-summary {
1838
+ .expandable-filterable-widget();
1839
+ }
1840
+ .analytics .widget-item .content.hr-superannuation-accruals {
1841
+ h3 {
1842
+ margin-top: 63px;
1843
+ text-align: center;
1844
+ }
1845
+ .legend {
1846
+ margin-top: 23px;
1847
+ }
1848
+ .currency {
1849
+ font-size: 14px;
1850
+ }
1851
+ .price {
1852
+ .center-bold(0px);
1853
+ }
1854
+ }
1855
+ .analytics .widget-item .content.hr-timesheets {
1856
+ .currency {
1857
+ font-size: 14px;
1858
+ }
1859
+ .widget-lines-container {
1860
+ max-height: 210px;
1861
+ }
1862
+ }
1863
+ .analytics .widget-item .content.hr-workforce-summary {
1864
+ .expandable-filterable-widget();
1865
+ }
1866
+ .analytics .widget-item .content.invoices-aged-payables-receivables {
1867
+ .drill-down-widget();
1868
+
1869
+ .astericks-info {
1870
+ text-align: left;
1871
+ padding-left: 15px;
1872
+ }
1873
+ }
1874
+
1875
+ .analytics .widget-item .content.invoices-list {
1876
+ .simple-list-widget();
1877
+ }
1878
+ .analytics .widget-item .content.invoices-summary {
1879
+ .simple-summary-widget();
1880
+ }
1881
+ .analytics .widget-item .content.sales-aged {
1882
+ .tall-widget();
1883
+
1884
+ .widget-lines-container {
1885
+ max-height: 260px;
1886
+ }
1887
+ }
1888
+ .analytics .widget-item .content.sales-break-even {
1889
+ .price {
1890
+ .center-bold(0px);
1891
+ }
1892
+ .block {
1893
+ margin: 5px;
1894
+ padding: 0px 10px 5px 10px;
1895
+ text-align: left;
1896
+ box-shadow: 0px 7px 10px -7px #17262d;
1897
+ font-size: 12px;
1898
+ form.editable-wrap .editable-controls input {
1899
+ margin-top: 5px;
1900
+ width: 100px;
1901
+ }
1902
+ &.to-date {
1903
+ background-color: @impac-widget-sub-bg-color;
1904
+ color: @impac-widget-text-color;
1905
+ }
1906
+ &.to-breakeven {
1907
+ margin-top: 10px;
1908
+ background-color: @impac-widget-sales-break-even-bg;
1909
+ color: @impac-widget-sales-break-even-text-color;
1910
+ .title {
1911
+ border-bottom: solid 1px lighten(@impac-widget-sales-break-even-bg, 10%);
1912
+ }
1913
+ .define-text {
1914
+ .center-thin();
1915
+ padding-top: 5px;
1916
+ color: @impac-widget-sales-break-even-text-color;
1917
+ }
1918
+ .price {
1919
+ color: @impac-widget-sales-break-even-text-color;
1920
+ }
1921
+ }
1922
+
1923
+ .title {
1924
+ font-size: 13px;
1925
+ text-align: center;
1926
+ font-variant: small-caps;
1927
+ border-bottom: solid 1px @lightgray;
1928
+ font-weight: 300;
1929
+ }
1930
+ }
1931
+ }
1932
+ .analytics .widget-item .content.sales-comparison {
1933
+ .drill-down-widget();
1934
+ .right-panel .widget-lines-container {
1935
+ max-height: 270px;
1936
+ }
1937
+ }
1938
+ .analytics .widget-item .content.sales-customer-details {
1939
+ .loader {
1940
+ font-size: 14px;
1941
+ }
1942
+ font-size: 12px;
1943
+ .details-container {
1944
+ padding: 0px;
1945
+ max-height: 200px;
1946
+ overflow-y: auto;
1947
+ overflow-x: hidden;
1948
+ }
1949
+ .right-panel {
1950
+ .details-container {
1951
+ max-height: 208px;
1952
+ }
1953
+ .legend {
1954
+ margin-bottom: 5px;
1955
+ }
1956
+ }
1957
+ .title {
1958
+ text-align: center;
1959
+ margin-bottom: 10px;
1960
+ font-size: 14px;
1961
+ }
1962
+ }
1963
+ .analytics .widget-item .content.sales-cycle {
1964
+ .simple-summary-widget();
1965
+ }
1966
+ .analytics .widget-item .content.sales-forecast {
1967
+ .tall-widget();
1968
+ .widget-lines-container .widget-line.main {
1969
+ .selectable();
1970
+ }
1971
+ }
1972
+ .analytics .widget-item .content.sales-growth {
1973
+ .price {
1974
+ .center-bold(0px);
1975
+ }
1976
+ .legend {
1977
+ max-height: 49px;
1978
+ font-size: 14px;
1979
+ }
1980
+ }
1981
+ .analytics .widget-item .content.sales-leads-funnel {
1982
+ .funnel-widget();
1983
+ }
1984
+
1985
+ .analytics .widget-item .content.sales-leads-list {
1986
+ .simple-list-widget();
1987
+ .widget-lines-container {
1988
+ .scrollable(scroll);
1989
+ }
1990
+ }
1991
+ .analytics .widget-item .content.sales-list {
1992
+ .simple-list-widget();
1993
+ .widget-lines-container {
1994
+ .scrollable(scroll);
1995
+ max-height: 210px;
1996
+ }
1997
+ .selector {
1998
+ margin-bottom: 4px;
1999
+ }
2000
+ }
2001
+ .analytics .widget-item .content.sales-margin {
2002
+ // Nothing special yet for this template
2003
+ }
2004
+ .analytics .widget-item .content.sales-number-of-leads {
2005
+ .stats {
2006
+ margin-top: 35px;
2007
+ font-size: 18px;
2008
+ .stat {
2009
+ margin: 15px 0px 10px 0px;
2010
+ border-bottom: solid 1px @lightgray;
2011
+ span.title {
2012
+ font-weight: bold;
2013
+ }
2014
+ span.nominal {
2015
+ float: right;
2016
+ text-align: right;
2017
+ font-weight: 300;
2018
+ }
2019
+ span.variation {
2020
+ float: right;
2021
+ width: 50px;
2022
+ text-align: right;
2023
+ font-style: italic;
2024
+ font-size: 14px;
2025
+ font-weight: 300;
2026
+ margin-top: 2px;
2027
+ }
2028
+ }
2029
+ }
2030
+ }
2031
+ .analytics .widget-item .content.sales-opportunities-funnel {
2032
+ .funnel-widget();
2033
+ }
2034
+
2035
+ .analytics .widget-item .content.sales-performance {
2036
+ .drill-down-widget();
2037
+ .right-panel > .widget-lines-container {
2038
+ max-height: 215px;
2039
+ }
2040
+ // .simple-list-widget();
2041
+ // .widget-lines-container {
2042
+ // .scrollable(scroll);
2043
+ // max-height: 210px;
2044
+ // .widget-line.total {
2045
+ // .selectable();
2046
+ // }
2047
+ // }
2048
+ // .selector {
2049
+ // margin-bottom: 4px;
2050
+ // }
2051
+ }
2052
+ .analytics .widget-item .content.sales-segmented-turnover {
2053
+ h3.right {
2054
+ margin-top: 55px;
2055
+ text-align: center;
2056
+ }
2057
+ .selector {
2058
+ margin-bottom: 10px;
2059
+ }
2060
+ .analysis {
2061
+ .center-bold(0px);
2062
+ }
2063
+ .widget-lines-container {
2064
+ max-height: 75px;
2065
+ .widget-line {
2066
+ font-size: 11px;
2067
+ }
2068
+ }
2069
+ }
2070
+ .analytics .widget-item .content.sales-summary {
2071
+ .simple-summary-widget();
2072
+ .selector {
2073
+ margin-bottom: 5px;
2074
+ }
2075
+ }
2076
+ .analytics .widget-item .content.sales-top-opportunities {
2077
+ .opps-container {
2078
+ max-height: 195px;
2079
+ margin-top: 10px;
2080
+ padding-right: 10px;
2081
+ .scrollable();
2082
+ .tile {
2083
+ height: 40px;
2084
+ font-size: 13px;
2085
+ font-weight: 300;
2086
+ .colored-area {
2087
+ width: 10%;
2088
+ text-align: center;
2089
+ font-size: 20px;
2090
+ }
2091
+ .main-text {
2092
+ color: @impac-widget-text-color;
2093
+ padding: 3px 0px 0px 10px;
2094
+ }
2095
+ &.first {
2096
+ height: 55px;
2097
+ font-size: 15px;
2098
+ font-weight: bold;
2099
+ .colored-area {
2100
+ font-size: 26px;
2101
+ padding-top: 10px;
2102
+ background-color: rgb(255, 110, 65);
2103
+ }
2104
+ .main-text {
2105
+ padding-top: 8px;
2106
+ }
2107
+ }
2108
+ &.second {
2109
+ height: 55px;
2110
+ font-size: 15px;
2111
+ font-weight: 500;
2112
+ .colored-area {
2113
+ font-size: 26px;
2114
+ padding-top: 10px;
2115
+ background-color: #1de9b6;
2116
+ }
2117
+ .main-text {
2118
+ padding-top: 8px;
2119
+ }
2120
+ }
2121
+ }
2122
+ }
2123
+ }
2124
+ .analytics .widget-item .content .settings.select-account {
2125
+ padding: 0px 5px;
2126
+ }
2127
+ .analytics .widget-item .content .settings.chart-filters {
2128
+ .row {
2129
+ margin: 0px;
2130
+ }
2131
+ input[type="radio"] {
2132
+ margin: 0;
2133
+ margin-right: 3px;
2134
+ padding: 0;
2135
+ width: 13px;
2136
+ height: 13px;
2137
+ vertical-align: middle;
2138
+ position: relative;
2139
+ top: -1px;
2140
+ outline: none;
2141
+ }
2142
+ input[type="range"] {
2143
+ height: 20px;
2144
+ }
2145
+ }
2146
+ .analytics .settings.dates-picker {
2147
+ h5 { display: none; }
2148
+
2149
+ .buttons {
2150
+ margin-left: 5px;
2151
+ button.btn.btn-sm {
2152
+ line-height: 1;
2153
+ &.btn-danger {
2154
+ display: none;
2155
+ }
2156
+ &.btn-info {
2157
+ border-radius: 3px;
2158
+ }
2159
+ }
2160
+ }
2161
+
2162
+ .tooltip-inner {
2163
+ text-transform: none;
2164
+ }
2165
+ }
2166
+
2167
+ .analytics .widget-item .content .settings.hist-mode-choser {
2168
+ .options {
2169
+ width: 150px;
2170
+ margin: auto;
2171
+ padding-bottom: 8px;
2172
+ border-bottom: solid 1px #e6e6e6;
2173
+ .font(@impac-widget-hist-text-size,500,@impac-widget-hist-text-color);
2174
+ a {
2175
+ .font(@impac-widget-hist-text-size,500,@impac-widget-hist-text-color);
2176
+ text-transform: @impac-widget-hist-text-transform;
2177
+ &.active {
2178
+ color: @impac-widget-link-color;
2179
+ }
2180
+ }
2181
+ }
2182
+ .arrow-container {
2183
+ width: 28px;
2184
+ height: 28px;
2185
+ position: relative;
2186
+ top: -14px;
2187
+ margin: auto;
2188
+ &.right {
2189
+ left: 30px;
2190
+ }
2191
+ &.left {
2192
+ left: -30px;
2193
+ }
2194
+ .arrow-border {
2195
+ border-top: 14px solid #e6e6e6;
2196
+ border-left: 14px solid transparent;
2197
+ border-right: 14px solid transparent;
2198
+ width: 0px;
2199
+ height: 0px;
2200
+ }
2201
+ .arrow {
2202
+ border-top: 14px solid @impac-widget-background-color;
2203
+ border-left: 14px solid transparent;
2204
+ border-right: 14px solid transparent;
2205
+ position: relative;
2206
+ top: 12px;
2207
+ width: 0px;
2208
+ height: 0px;
2209
+ }
2210
+ }
2211
+ }
2212
+ .analytics .settings.limit-entries {
2213
+ color: @impac-widget-limit-entries-color;
2214
+ text-transform: uppercase;
2215
+ text-align: center;
2216
+ border-bottom: dashed 1px #E6E6E6;
2217
+ padding-bottom: 8px;
2218
+
2219
+ a.option {
2220
+ &.badge {
2221
+ color: white;
2222
+ background-color: @impac-widget-limit-entries-color;
2223
+ }
2224
+ }
2225
+
2226
+ }
2227
+
2228
+ .analytics .settings.organizations {
2229
+ .widget-lines-container {
2230
+ .widget-line {
2231
+ padding: 5px 10px 5px 18px;
2232
+ .alternate-bg(#f3f4f4);
2233
+ .fa {
2234
+ float: right;
2235
+ font-size: 20px;
2236
+ cursor: pointer;
2237
+ &.fa-toggle-on {
2238
+ color: @impac-widget-link-color;
2239
+ }
2240
+ &.fa-toggle-off {
2241
+ color: @impac-widget-text-color-medium;
2242
+ }
2243
+ }
2244
+ }
2245
+ }
2246
+ }
2247
+ .analytics .widget-item .content .settings.param-selector {
2248
+ display: inline-block;
2249
+ a {
2250
+ font-weight: normal;
2251
+ color: @impac-widget-param-selector-color;
2252
+ white-space: nowrap;
2253
+ }
2254
+ .options-container {
2255
+ position: absolute;
2256
+ background-color: white;
2257
+ text-align: left;
2258
+ min-width: 150px;
2259
+ max-height: 200px;
2260
+ z-index: 999;
2261
+ overflow-y: auto;
2262
+ overflow-x: hidden;
2263
+ .box-shadow(rgb(0, 0, 0) 0px 3px 15px -3px);
2264
+
2265
+ div {
2266
+ padding: 3px 5px;
2267
+ }
2268
+ div:hover {
2269
+ cursor: pointer;
2270
+ background-color: @impac-widget-param-selector-color;
2271
+ color: white;
2272
+ }
2273
+
2274
+ &::-webkit-scrollbar {
2275
+ width: 8px;
2276
+ background-color: darken(@lightgray,5%);
2277
+ }
2278
+
2279
+ &::-webkit-scrollbar-thumb {
2280
+ background-color: @impac-widget-param-selector-color;
2281
+ &:hover {
2282
+ background-color: lighten(@impac-widget-param-selector-color,5%);
2283
+ }
2284
+ }
2285
+ }
2286
+ }
2287
+ .analytics .settings.params-checkboxes {
2288
+ padding: 2px 0px;
2289
+ input {
2290
+ height: inherit;
2291
+ }
2292
+ span {
2293
+ margin-left: 5px;
2294
+ }
2295
+ }
2296
+ .analytics .widget-item .content .settings.params-picker {
2297
+ padding: 0px 10px;
2298
+ .parameter {
2299
+ margin: 0px 3px 3px 0px;
2300
+ padding: 3px 5px;
2301
+ background-color: @impac-widget-params-picker-bg;
2302
+ color: white;
2303
+ border: solid 1px @impac-widget-params-picker-bg;
2304
+ border-radius: 4px;
2305
+ cursor: move;
2306
+ font-weight: bold;
2307
+ white-space: nowrap;
2308
+ float: left;
2309
+ input[type="checkbox"] {
2310
+ margin: 0px -3px 0px 3px;
2311
+ vertical-align: middle;
2312
+ height: inherit;
2313
+ outline: none;
2314
+ cursor: pointer;
2315
+ }
2316
+ .badge {
2317
+ margin-right: 3px;
2318
+ font-size: 10px;
2319
+ background-color: darken(@impac-widget-background-color, 5%);
2320
+ color: @impac-widget-params-picker-bg;
2321
+ padding: 2px 6px;
2322
+ }
2323
+
2324
+ &.unchecked {
2325
+ background-color: inherit;
2326
+ font-weight: normal;
2327
+ color: inherit;
2328
+ border-color: @impac-widget-params-picker-unchecked-bg;
2329
+ .badge {
2330
+ background-color: @impac-widget-params-picker-unchecked-bg;
2331
+ color: white;
2332
+ }
2333
+ }
2334
+ }
2335
+ }
2336
+ .analytics .widget-item .content .settings.time-range {
2337
+ padding: 0px 5px;
2338
+ }
2339
+ .analytics .widget-item .content .settings.width {
2340
+ float: right;
2341
+ font-size: 14px;
2342
+ i {
2343
+ color: silver;
2344
+ cursor: pointer;
2345
+ &.reduce {
2346
+ margin-right: -10px;
2347
+ }
2348
+ &.expand {
2349
+ margin-right: -3px;
2350
+ }
2351
+ }
2352
+ }