Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4691 | Rev 4694 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
4113 efrain 1
<?php
2
 
3
$routeEvents = $this->url('calendar/events');
4
 
4398 efrain 5
$this->headLink()->appendStylesheet($this->basePath('vendors/nprogress/nprogress.css'));
6
$this->inlineScript()->appendFile($this->basePath('vendors/nprogress/nprogress.js'));
4113 efrain 7
 
8
$this->headLink()->appendStylesheet($this->basePath('vendors/fullcalendar/fullcalendar.css'));
9
 
10
$this->inlineScript()->appendFile($this->basePath('vendors/fullcalendar/lib/moment.min.js'));
11
$this->inlineScript()->appendFile($this->basePath('vendors/fullcalendar/fullcalendar.js'));
12
$this->inlineScript()->appendFile($this->basePath('vendors/fullcalendar/locale/es-us.js'));
13
$this->inlineScript()->appendFile($this->basePath('vendors/popper/umd/popper.js'));
14
 
15
 
4692 stevensc 16
$defaultDate = date('Y-m-d');
4113 efrain 17
 
18
$this->inlineScript()->captureStart();
19
echo <<<JS
20
jQuery( document ).ready(function( $ ) {
21
 
22
    var data_resources  = new Array();
23
    var data_events = new Array();
24
 
25
    $('#calendar').fullCalendar({
26
        header: {
27
            left: 'prev,next today',
28
            center: 'title',
29
            right: 'month,agendaWeek,agendaDay,listWeek'
30
          },
31
          defaultDate: '$defaultDate',
32
          editable: true,
33
          navLinks: true, // can click day/week names to navigate views
34
          eventLimit: true, // allow "more" link when too many events
35
          events: {
36
            url: '$routeEvents',
37
            error: function() {
38
              $('#script-warning').show();
39
            }
40
          }
41
          ,eventRender: function(eventObj, \$el) {
4632 efrain 42
            console.log(eventObj);
43
 
4113 efrain 44
            $('.popover').remove();
45
            \$el.popover({
4148 efrain 46
                title: eventObj.title,
4141 efrain 47
                content: eventObj.agenda,
4398 efrain 48
                trigger: 'click', // 'hover',
4113 efrain 49
                placement: 'top',
50
                container: 'body',
4398 efrain 51
 
4113 efrain 52
                popperOptions : {
53
                    removeOnDestroy: true
54
                },
55
                options : {
56
                    removeOnDestroy: true
57
                },
58
                 html: true
59
            });
4141 efrain 60
        },
4113 efrain 61
 
62
    });
63
 
4398 efrain 64
 
65
 
66
    $('body').on('click', 'a.goto-backend', function(e) {
67
        e.preventDefault();
68
        var action = $(this).attr('href');
69
 
70
        NProgress.start();
71
        $.ajax({
72
            'dataType'  : 'json',
73
            'method'    : 'get',
74
            'url'       :  action,
75
            'data'      :  $('#form').serialize(),
76
        }).done(function(response) {
77
            if(response['success']) {
78
              window.open(response['data'], '_backend')
79
            } else {
80
                $.fn.showError(response['data']);
81
            }
82
        }).fail(function( jqXHR, textStatus, errorThrown) {
83
            $.fn.showError(textStatus);
84
        }).always(function() {
85
            NProgress.done();
86
        });
87
 
88
    });
89
 
90
 
91
 
4131 efrain 92
 
93
 
4113 efrain 94
});
95
JS;
96
$this->inlineScript()->captureEnd();
4188 stevensc 97
$this->inlineScript()->appendFile('/react-bundles/calendar/calendarBundle.js');
4113 efrain 98
?>
99
<section class="info-page">
4188 stevensc 100
  <div class="container">
101
    <div class="row">
102
      <div id="calendar" class="col-12 col-md-8"></div>
103
      <div id="calendar-events" class="col-12 col-md-4"></div>
104
    </div>
105
  </div>
4192 stevensc 106
</section>
107
<script>
108
  const isMobile = Boolean(window.innerWidth < 768)
109
  const row = document.querySelector('.container .row')
110
 
111
  if (isMobile) row.setAttribute('style', 'gap: 1rem;')
112
</script>