Reac front end for psicometric app

header.php 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. <nav class="navbar navbar-expand-lg navbar-light">
  2. <div class="container-fluid">
  3. <button type="button" id="sidebarCollapse" class="btncollapse">
  4. <i class="fas fa-bars"></i>
  5. </button>
  6. <button type="button" id="dashboardfull" class="btncollapse" onclick="openFullscreen();">
  7. <i class="fa fa-expand" aria-hidden="true"></i>
  8. </button>
  9. <button class="btn btn-dark d-inline-block d-lg-none ml-auto" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  10. <i class="fas fa-align-justify"></i>
  11. </button>
  12. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  13. <ul class="nav navbar-nav ml-auto">
  14. <li class="nav-item">
  15. <a class="nav-link" id="dropdownNotificaciones" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="far fa-bell"></i></a>
  16. <div class="dropdown-menu dropdown-menu-right dropdown_noti" aria-labelledby="dropdownNotificaciones">
  17. <div class="body_drop_notification">
  18. <div class="row">
  19. <div class="col-md-2">
  20. <div class="rounded-pic">
  21. <img src="images/man.png" alt="">
  22. </div>
  23. </div>
  24. <div class="col-md-6">
  25. <h1>Fernando Vásquez</h1>
  26. <p>He cambiado el nombre de una plaza manualmente.</p>
  27. </div>
  28. <div class="col-md-4 panel_time_notification">
  29. <a href="#" data-toggle="modal" data-target="#verNotificacion"><p>Hace 20 segundos.</p></a>
  30. </div>
  31. </div>
  32. </div>
  33. <div class="body_drop_notification">
  34. <div class="row">
  35. <div class="col-md-2">
  36. <div class="rounded-pic">
  37. <img src="images/man.png" alt="">
  38. </div>
  39. </div>
  40. <div class="col-md-6">
  41. <h1>Fernando Vásquez</h1>
  42. <p>He cambiado el nombre de una plaza manualmente.</p>
  43. </div>
  44. <div class="col-md-4 panel_time_notification">
  45. <a href="#" data-toggle="modal" data-target="#verNotificacion"><p>Hace 20 segundos.</p></a>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="body_drop_notification">
  50. <div class="row">
  51. <div class="col-md-2">
  52. <div class="rounded-pic">
  53. <img src="images/man.png" alt="">
  54. </div>
  55. </div>
  56. <div class="col-md-6">
  57. <h1>Fernando Vásquez</h1>
  58. <p>He cambiado el nombre de una plaza manualmente.</p>
  59. </div>
  60. <div class="col-md-4 panel_time_notification">
  61. <a href="#" data-toggle="modal" data-target="#verNotificacion"><p>Hace 20 segundos.</p></a>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="body_drop_notification">
  66. <div class="row">
  67. <div class="col-md-2">
  68. <div class="rounded-pic">
  69. <img src="images/man.png" alt="">
  70. </div>
  71. </div>
  72. <div class="col-md-6">
  73. <h1>Fernando Vásquez</h1>
  74. <p>He cambiado el nombre de una plaza manualmente.</p>
  75. </div>
  76. <div class="col-md-4 panel_time_notification">
  77. <a href="#" data-toggle="modal" data-target="#verNotificacion"><p>Hace 20 segundos.</p></a>
  78. </div>
  79. </div>
  80. </div>
  81. <div class="body_drop_notification">
  82. <div class="row">
  83. <div class="col-md-2">
  84. <div class="rounded-pic">
  85. <img src="images/man.png" alt="">
  86. </div>
  87. </div>
  88. <div class="col-md-6">
  89. <h1>Fernando Vásquez</h1>
  90. <p>He cambiado el nombre de una plaza manualmente.</p>
  91. </div>
  92. <div class="col-md-4 panel_time_notification">
  93. <a href="#" data-toggle="modal" data-target="#verNotificacion"><p>Hace 20 segundos.</p></a>
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. </li>
  99. <li class="nav-item">
  100. <a class="btn-drop" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  101. <div class="rounded-pic">
  102. <img src="images/man.png" alt="">
  103. </div>
  104. </a>
  105. <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
  106. <a class="dropdown-item" href="perfil.php">Perfil</a>
  107. <a class="dropdown-item" href="configuraciones.php">Configuraciones</a>
  108. <a class="dropdown-item" href="login.php">Cerrar sesión</a>
  109. </div>
  110. </li>
  111. </ul>
  112. </div>
  113. </div>
  114. </nav>
  115. <div class="header_mobile">
  116. <div class="logo-section">
  117. <a href="index.php"><img src="images/logo.png"></a>
  118. </div>
  119. <div class="column">
  120. <div id="dl-menu" class="dl-menuwrapper">
  121. <button class="dl-trigger"></button>
  122. <ul class="dl-menu">
  123. <li>
  124. <a href="index.php">Inicio</a>
  125. </li>
  126. <li>
  127. <a href="puestos.php">Puestos</a>
  128. </li>
  129. <li>
  130. <a href="contraseñas.php">Contraseñas</a>
  131. </li>
  132. <li>
  133. <a href="expedientes.php">Expedientes</a>
  134. </li>
  135. <li>
  136. <a href="resultados.php">Resultados</a>
  137. </li>
  138. <li>
  139. <a href="contraseñas.php">Contraseñas</a>
  140. </li>
  141. <li>
  142. <a href="#">Pruebas<i class="fa fa-angle-right" aria-hidden="true"></i></a>
  143. <ul class="dl-submenu">
  144. <li>
  145. <a href="#">Crear prueba</a>
  146. </li>
  147. <li>
  148. <a href="#">Listado de pruebas</a>
  149. </li>
  150. <li>
  151. <a href="#">Aplicar</a>
  152. </li>
  153. <li>
  154. <a href="#">Respuestas</a>
  155. </li>
  156. <li>
  157. <a href="#">Calificaciones</a>
  158. </li>
  159. </ul>
  160. </li>
  161. <li>
  162. <a href="#">Configuraciones</a>
  163. </li>
  164. <li>
  165. <a href="#">Historial</a>
  166. </li>
  167. <li>
  168. <a href="#">Tutoriales<i class="fa fa-angle-right" aria-hidden="true"></i></a>
  169. <ul class="dl-submenu">
  170. <li>
  171. <a href="#">Manual de Uso Básico</a>
  172. </li>
  173. <li>
  174. <a href="#">¿Qué evalúa cada test?</a>
  175. </li>
  176. <li>
  177. <a href="#">Ayuda General</a>
  178. </li>
  179. </ul>
  180. </li>
  181. <li>
  182. <a href="#">Asistencia Técnica<i class="fa fa-angle-right" aria-hidden="true"></i></a>
  183. <ul class="dl-submenu">
  184. <li>
  185. <a href="#">Soporte En Línea</a>
  186. </li>
  187. <li>
  188. <a href="#">Soporte Por Ticket</a>
  189. </li>
  190. </ul>
  191. </li>
  192. <li>
  193. <a href="#">Notificaciones</a>
  194. </li>
  195. <li>
  196. <a href="#">Cuenta<i class="fa fa-angle-right" aria-hidden="true"></i></a>
  197. <ul class="dl-submenu">
  198. <li>
  199. <a href="#">Perfil</a>
  200. </li>
  201. <li>
  202. <a href="#">Configuraciones</a>
  203. </li>
  204. <li>
  205. <a href="#">Cerrar sesión</a>
  206. </li>
  207. </ul>
  208. </li>
  209. </ul>
  210. </div><!-- /dl-menuwrapper -->
  211. </div>
  212. </ul>
  213. </div>
  214. </div>
  215. <div class="logo-responsive">
  216. <a href="index.php"><img src="images/logo.png"></a>
  217. </div>
  218. <!-- Modal ver notificaciones-->
  219. <div class="modal fade" id="verNotificacion" role="dialog">
  220. <div class="modal-dialog">
  221. <!-- Modal content-->
  222. <div class="modal-content">
  223. <div class="modal-header">
  224. <button type="button" class="close" data-dismiss="modal">&times;</button>
  225. <h4 class="modal-title">Notificaciones</h4>
  226. </div>
  227. <div class="modal-body">
  228. <div class="data_notification">
  229. <h1>Fernando Vásquez</h1>
  230. <p>Ha publicado una plaza</p>
  231. </div>
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. <script>
  237. $(function() {
  238. $( '#dl-menu' ).dlmenu();
  239. });
  240. </script>
  241. <script>
  242. /**
  243. * jquery.dlmenu.js v1.0.1
  244. * http://www.codrops.com
  245. *
  246. * Licensed under the MIT license.
  247. * https://www.opensource.org/licenses/mit-license.php
  248. *
  249. * Copyright 2013, Codrops
  250. * http://www.codrops.com
  251. */
  252. ;( function( $, window, undefined ) {
  253. 'use strict';
  254. // global
  255. var Modernizr = window.Modernizr, $body = $( 'body' );
  256. $.DLMenu = function( options, element ) {
  257. this.$el = $( element );
  258. this._init( options );
  259. };
  260. // the options
  261. $.DLMenu.defaults = {
  262. // classes for the animation effects
  263. animationClasses : { classin : 'dl-animate-in-1', classout : 'dl-animate-out-1' },
  264. // callback: click a link that has a sub menu
  265. // el is the link element (li); name is the level name
  266. onLevelClick : function( el, name ) { return false; },
  267. // callback: click a link that does not have a sub menu
  268. // el is the link element (li); ev is the event obj
  269. onLinkClick : function( el, ev ) { return false; }
  270. };
  271. $.DLMenu.prototype = {
  272. _init : function( options ) {
  273. // options
  274. this.options = $.extend( true, {}, $.DLMenu.defaults, options );
  275. // cache some elements and initialize some variables
  276. this._config();
  277. var animEndEventNames = {
  278. 'WebkitAnimation' : 'webkitAnimationEnd',
  279. 'OAnimation' : 'oAnimationEnd',
  280. 'msAnimation' : 'MSAnimationEnd',
  281. 'animation' : 'animationend'
  282. },
  283. transEndEventNames = {
  284. 'WebkitTransition' : 'webkitTransitionEnd',
  285. 'MozTransition' : 'transitionend',
  286. 'OTransition' : 'oTransitionEnd',
  287. 'msTransition' : 'MSTransitionEnd',
  288. 'transition' : 'transitionend'
  289. };
  290. // animation end event name
  291. this.animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ] + '.dlmenu';
  292. // transition end event name
  293. this.transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ] + '.dlmenu',
  294. // support for css animations and css transitions
  295. this.supportAnimations = Modernizr.cssanimations,
  296. this.supportTransitions = Modernizr.csstransitions;
  297. this._initEvents();
  298. },
  299. _config : function() {
  300. this.open = false;
  301. this.$trigger = this.$el.children( '.dl-trigger' );
  302. this.$menu = this.$el.children( 'ul.dl-menu' );
  303. this.$menuitems = this.$menu.find( 'li:not(.dl-back)' );
  304. this.$el.find( 'ul.dl-submenu' ).prepend( '<li class="dl-back"><a href="#"><i class="fa fa-angle-left" aria-hidden="true"></i>Atrás</a></li>' );
  305. this.$back = this.$menu.find( 'li.dl-back' );
  306. },
  307. _initEvents : function() {
  308. var self = this;
  309. this.$trigger.on( 'click.dlmenu', function() {
  310. if( self.open ) {
  311. self._closeMenu();
  312. }
  313. else {
  314. self._openMenu();
  315. }
  316. return false;
  317. } );
  318. this.$menuitems.on( 'click.dlmenu', function( event ) {
  319. event.stopPropagation();
  320. var $item = $(this),
  321. $submenu = $item.children( 'ul.dl-submenu' );
  322. if( $submenu.length > 0 ) {
  323. var $flyin = $submenu.clone().css( 'opacity', 0 ).insertAfter( self.$menu ),
  324. onAnimationEndFn = function() {
  325. self.$menu.off( self.animEndEventName ).removeClass( self.options.animationClasses.classout ).addClass( 'dl-subview' );
  326. $item.addClass( 'dl-subviewopen' ).parents( '.dl-subviewopen:first' ).removeClass( 'dl-subviewopen' ).addClass( 'dl-subview' );
  327. $flyin.remove();
  328. };
  329. setTimeout( function() {
  330. $flyin.addClass( self.options.animationClasses.classin );
  331. self.$menu.addClass( self.options.animationClasses.classout );
  332. if( self.supportAnimations ) {
  333. self.$menu.on( self.animEndEventName, onAnimationEndFn );
  334. }
  335. else {
  336. onAnimationEndFn.call();
  337. }
  338. self.options.onLevelClick( $item, $item.children( 'a:first' ).text() );
  339. } );
  340. return false;
  341. }
  342. else {
  343. self.options.onLinkClick( $item, event );
  344. }
  345. } );
  346. this.$back.on( 'click.dlmenu', function( event ) {
  347. var $this = $( this ),
  348. $submenu = $this.parents( 'ul.dl-submenu:first' ),
  349. $item = $submenu.parent(),
  350. $flyin = $submenu.clone().insertAfter( self.$menu );
  351. var onAnimationEndFn = function() {
  352. self.$menu.off( self.animEndEventName ).removeClass( self.options.animationClasses.classin );
  353. $flyin.remove();
  354. };
  355. setTimeout( function() {
  356. $flyin.addClass( self.options.animationClasses.classout );
  357. self.$menu.addClass( self.options.animationClasses.classin );
  358. if( self.supportAnimations ) {
  359. self.$menu.on( self.animEndEventName, onAnimationEndFn );
  360. }
  361. else {
  362. onAnimationEndFn.call();
  363. }
  364. $item.removeClass( 'dl-subviewopen' );
  365. var $subview = $this.parents( '.dl-subview:first' );
  366. if( $subview.is( 'li' ) ) {
  367. $subview.addClass( 'dl-subviewopen' );
  368. }
  369. $subview.removeClass( 'dl-subview' );
  370. } );
  371. return false;
  372. } );
  373. },
  374. closeMenu : function() {
  375. if( this.open ) {
  376. this._closeMenu();
  377. }
  378. },
  379. _closeMenu : function() {
  380. var self = this,
  381. onTransitionEndFn = function() {
  382. self.$menu.off( self.transEndEventName );
  383. self._resetMenu();
  384. };
  385. this.$menu.removeClass( 'dl-menuopen' );
  386. this.$menu.addClass( 'dl-menu-toggle' );
  387. this.$trigger.removeClass( 'dl-active' );
  388. if( this.supportTransitions ) {
  389. this.$menu.on( this.transEndEventName, onTransitionEndFn );
  390. }
  391. else {
  392. onTransitionEndFn.call();
  393. }
  394. this.open = false;
  395. },
  396. openMenu : function() {
  397. if( !this.open ) {
  398. this._openMenu();
  399. }
  400. },
  401. _openMenu : function() {
  402. var self = this;
  403. // clicking somewhere else makes the menu close
  404. $body.off( 'click' ).on( 'click.dlmenu', function() {
  405. self._closeMenu() ;
  406. } );
  407. this.$menu.addClass( 'dl-menuopen dl-menu-toggle' ).on( this.transEndEventName, function() {
  408. $( this ).removeClass( 'dl-menu-toggle' );
  409. } );
  410. this.$trigger.addClass( 'dl-active' );
  411. this.open = true;
  412. },
  413. // resets the menu to its original state (first level of options)
  414. _resetMenu : function() {
  415. this.$menu.removeClass( 'dl-subview' );
  416. this.$menuitems.removeClass( 'dl-subview dl-subviewopen' );
  417. }
  418. };
  419. var logError = function( message ) {
  420. if ( window.console ) {
  421. window.console.error( message );
  422. }
  423. };
  424. $.fn.dlmenu = function( options ) {
  425. if ( typeof options === 'string' ) {
  426. var args = Array.prototype.slice.call( arguments, 1 );
  427. this.each(function() {
  428. var instance = $.data( this, 'dlmenu' );
  429. if ( !instance ) {
  430. logError( "cannot call methods on dlmenu prior to initialization; " +
  431. "attempted to call method '" + options + "'" );
  432. return;
  433. }
  434. if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
  435. logError( "no such method '" + options + "' for dlmenu instance" );
  436. return;
  437. }
  438. instance[ options ].apply( instance, args );
  439. });
  440. }
  441. else {
  442. this.each(function() {
  443. var instance = $.data( this, 'dlmenu' );
  444. if ( instance ) {
  445. instance._init();
  446. }
  447. else {
  448. instance = $.data( this, 'dlmenu', new $.DLMenu( options, this ) );
  449. }
  450. });
  451. }
  452. return this;
  453. };
  454. } )( jQuery, window );
  455. </script>