index-template.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width">
  7. <meta name="theme-color" content="#000">
  8. <title>Energy Link</title>
  9. <base href="[[.AppSubUrl]]/" />
  10. <link rel="preload" href="public/fonts/roboto/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2" as="font"
  11. crossorigin />
  12. <link rel="icon" type="image/png" href="public/img/fav32.png">
  13. <link rel="mask-icon" href="public/img/grafana_mask_icon.svg" color="#F05A28">
  14. <link rel="apple-touch-icon" sizes="180x180" href="public/img/apple-touch-icon.png">
  15. <link rel="stylesheet" href="public/build/grafana.[[ .Theme ]].<%= webpack.hash %>.css">
  16. <meta name="apple-mobile-web-app-capable" content="yes" />
  17. <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  18. <meta name="msapplication-TileColor" content="#2b5797">
  19. <meta name="msapplication-config" content="public/img/browserconfig.xml">
  20. </head>
  21. <body class="theme-[[ .Theme ]] [[.AppNameBodyClass]]">
  22. <style>
  23. .preloader {
  24. height: 100%;
  25. flex-direction: column;
  26. display: flex;
  27. justify-content: center;
  28. align-items: center;
  29. }
  30. .preloader__enter {
  31. opacity: 0;
  32. animation-name: preloader-fade-in;
  33. animation-iteration-count: 1;
  34. animation-duration: .9s;
  35. animation-delay: 1.35s;
  36. animation-fill-mode: forwards;
  37. }
  38. .preloader__bounce {
  39. text-align: center;
  40. animation-name: preloader-bounce;
  41. animation-duration: .9s;
  42. animation-iteration-count: infinite;
  43. }
  44. .preloader__logo {
  45. display: inline-block;
  46. animation-name: preloader-squash;
  47. animation-duration: .9s;
  48. animation-iteration-count: infinite;
  49. width: 60px;
  50. height: 60px;
  51. background-repeat: no-repeat;
  52. background-size: contain;
  53. background-image: url("data:image/svg+xml,%3Csvg xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:cc='http://creativecommons.org/ns%23' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' id='svg3494' version='1.1' viewBox='0 0 96.043755 96.043755' height='96.043755mm' width='96.043755mm'%3E%3Cdefs id='defs3488' /%3E%3Cmetadata id='metadata3491'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:format%3Eimage/svg+xml%3C/dc:format%3E%3Cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3E%3Cdc:title%3E%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cg transform='translate(162.07619,22.503275)' id='layer1'%3E%3Cg id='g2275' transform='matrix(1.5085714,0,0,1.5085714,-179.66512,-208.27783)' style='stroke-width:0.66287881'%3E%3Cg transform='translate(-200.09115,95.498048)' id='g2273' style='stroke-width:0.66287881'%3E%3Ccircle style='opacity:1;fill:%23fcb122;fill-opacity:1;stroke:none;stroke-width:1.06985879;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke' id='circle2259' cx='243.58316' cy='59.480648' r='31.832682' /%3E%3Cg id='g2271' transform='matrix(1.0007031,0,0,1.0051995,60.862184,23.778766)' style='opacity:1;stroke-width:0.66092998'%3E%3Cpath id='path2261' d='m 183.82493,18.567342 c 1.89981,0 3.42926,1.6434 3.42926,3.684753 v 26.530231 c 0,2.041359 -1.52945,3.684752 -3.42926,3.684752 h -6.17265 c -1.63604,0 -2.99446,-1.22004 -3.34096,-2.862127 -0.30812,0.06409 -0.62639,0.09856 -0.95247,0.09856 h -8.90235 c -2.73994,0 -4.94583,-2.37025 -4.94583,-5.314333 V 26.645244 c 0,-2.944081 2.20589,-5.314337 4.94583,-5.314337 h 8.90235 c 0.32596,0 0.64403,0.03497 0.95205,0.09903 0.34631,-1.642367 1.70517,-2.862592 3.34138,-2.862592 z' style='opacity:1;fill:%2380888f;fill-opacity:1;stroke:none;stroke-width:1.06671321;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke' /%3E%3Cg style='fill:%2380888f;fill-opacity:1;stroke-width:0.82799894' transform='matrix(-0.76576576,0,0,0.83206106,297.16508,-35.247382)' id='g2267'%3E%3Crect style='opacity:1;fill:%2380888f;fill-opacity:1;stroke:none;stroke-width:1.33635592;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke' id='rect2263' width='22.944336' height='6.3597097' x='119.47591' y='72.565742' rx='4.1341147' /%3E%3Crect rx='4.1341147' y='91.169258' x='119.47591' height='6.3597097' width='22.944336' id='rect2265' style='opacity:1;fill:%2380888f;fill-opacity:1;stroke:none;stroke-width:1.33635592;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke' /%3E%3C/g%3E%3Cpath d='m 168.66763,36.333788 3.21381,-3.213808 12.35735,12.357334 z m 9.4296,-1.63316 -3.21381,3.213814 -12.35733,-12.357333 z' style='fill:%23ffffff;fill-opacity:1;stroke:none;stroke-width:0.17487103px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' id='path2269' /%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cstyle type='text/css' id='style4061'%3E .st0%7Bfill:url(%23SVGID_1_);%7D%0A%3C/style%3E%3C/svg%3E");
  54. }
  55. .preloader__text {
  56. margin-top: 16px;
  57. font-weight: 500;
  58. font-size: 14px;
  59. font-family: Sans-serif;
  60. opacity: 0;
  61. animation-name: preloader-fade-in;
  62. animation-duration: .9s;
  63. animation-delay: 1.8s;
  64. animation-fill-mode: forwards;
  65. }
  66. .theme-light .preloader__text {
  67. color: #52545c;
  68. }
  69. .theme-dark .preloader__text {
  70. color: #d8d9da;
  71. }
  72. @keyframes preloader-fade-in {
  73. 0% {
  74. opacity: 0;
  75. /*animation-timing-function: linear;*/
  76. animation-timing-function: cubic-bezier(0, 0, 0.5, 1)
  77. }
  78. 100% {
  79. opacity: 1;
  80. }
  81. }
  82. @keyframes preloader-bounce {
  83. from,
  84. to {
  85. transform: translateY(0px);
  86. animation-timing-function: cubic-bezier(0.3, 0.0, 0.1, 1)
  87. }
  88. 50% {
  89. transform: translateY(-50px);
  90. animation-timing-function: cubic-bezier(.9, 0, .7, 1)
  91. }
  92. }
  93. @keyframes preloader-squash {
  94. 0% {
  95. transform: scaleX(1.3) scaleY(.8);
  96. animation-timing-function: cubic-bezier(.3, 0, .1, 1);
  97. transform-origin: bottom center;
  98. }
  99. 15% {
  100. transform: scaleX(.75) scaleY(1.25);
  101. animation-timing-function: cubic-bezier(0, 0, .7, .75);
  102. transform-origin: bottom center;
  103. }
  104. 55% {
  105. transform: scaleX(1.05) scaleY(.95);
  106. animation-timing-function: cubic-bezier(.9, 0, 1, 1);
  107. transform-origin: top center;
  108. }
  109. 95% {
  110. transform: scaleX(.75) scaleY(1.25);
  111. animation-timing-function: cubic-bezier(0, 0, 0, 1);
  112. transform-origin: bottom center;
  113. }
  114. 100% {
  115. transform: scaleX(1.3) scaleY(.8);
  116. transform-origin: bottom center;
  117. animation-timing-function: cubic-bezier(0, 0, 0.7, 1);
  118. }
  119. }
  120. /* Fail info */
  121. .preloader__text--fail {
  122. display: none;
  123. }
  124. /* stop logo animation */
  125. .preloader--done .preloader__bounce,
  126. .preloader--done .preloader__logo {
  127. animation-name: none;
  128. display: none;
  129. }
  130. .preloader--done .preloader__logo,
  131. .preloader--done .preloader__text {
  132. display: none;
  133. color: #ff5705 !important;
  134. font-size: 15px;
  135. }
  136. .preloader--done .preloader__text--fail {
  137. display: block;
  138. }
  139. [ng\:cloak],
  140. [ng-cloak],
  141. .ng-cloak {
  142. display: none !important;
  143. }
  144. </style>
  145. <div class="preloader">
  146. <div class="preloader__enter">
  147. <div class="preloader__bounce">
  148. <div class="preloader__logo"></div>
  149. </div>
  150. </div>
  151. <div class="preloader__text">Cargando EnergyLink</div>
  152. <div class="preloader__text preloader__text--fail">
  153. <p>
  154. <strong>If you're seeing this EnergyLink has failed to load its application files</strong>
  155. <br />
  156. <br />
  157. </p>
  158. <p>
  159. 1. This could be caused by your reverse proxy settings.<br /><br />
  160. 2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath<br /> <br />
  161. 3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn
  162. build<br /> <br />
  163. 4. Sometimes restarting grafana-server can help<br />
  164. </p>
  165. </div>
  166. </div>
  167. <grafana-app class="grafana-app" ng-cloak>
  168. <sidemenu class="sidemenu"></sidemenu>
  169. <app-notifications-list class="page-alert-list"></app-notifications-list>
  170. <dashboard-search></dashboard-search>
  171. <div class="main-view">
  172. <div class="scroll-canvas">
  173. <div ng-view></div>
  174. <footer class="footer">
  175. <div class="text-center">
  176. <ul>
  177. <li>
  178. <a href="https://www.mercadoselectricos.com.sv/contacto/" target="_blank">
  179. <i class="fa fa-support"></i>
  180. Support Merelec
  181. </a>
  182. </li>
  183. <li>
  184. <a href="https://www.mercadoselectricos.com.sv/" target="_blank">
  185. <i class="fa fa-briefcase"></i>
  186. Merelec Business
  187. </a>
  188. </li>
  189. </ul>
  190. </div>
  191. </footer>
  192. </div>
  193. </div>
  194. </grafana-app>
  195. <script>
  196. window.grafanaBootData = {
  197. user: [[.User]],
  198. settings: [[.Settings]],
  199. navTree: [[.NavTree]]
  200. };
  201. // In case the js files fails to load the code below will show an info message.
  202. window.onload = function () {
  203. var preloader = document.getElementsByClassName("preloader");
  204. if (preloader.length) {
  205. preloader[0].className = "preloader preloader--done";
  206. }
  207. };
  208. </script>
  209. [[if .GoogleTagManagerId]]
  210. <!-- Google Tag Manager -->
  211. <script>
  212. dataLayer = [{
  213. 'IsSignedIn': '[[.User.IsSignedIn]]',
  214. 'Email': '[[.User.Email]]',
  215. 'Name': '[[.User.Name]]',
  216. 'UserId': '[[.User.Id]]',
  217. 'OrgId': '[[.User.OrgId]]',
  218. 'OrgName': '[[.User.OrgName]]',
  219. }];
  220. </script>
  221. <noscript>
  222. <iframe src="//www.googletagmanager.com/ns.html?id=[[.GoogleTagManagerId]]" height="0" width="0"
  223. style="display:none;visibility:hidden"></iframe>
  224. </noscript>
  225. <script>(function (w, d, s, l, i) {
  226. w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0],
  227. j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
  228. })(window, document, 'script', 'dataLayer', '[[.GoogleTagManagerId]]');</script>
  229. <!-- End Google Tag Manager -->
  230. [[end]]
  231. </body>
  232. </html>