Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 7176 | Rev 7178 | 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
 
7177 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: {
7177 efrain 27
            left: 'title',
28
            right: 'month,agendaWeek,agendaDay,listWeek,prev,next'
4113 efrain 29
          },
30
          defaultDate: '$defaultDate',
31
          editable: true,
32
          navLinks: true, // can click day/week names to navigate views
33
          eventLimit: true, // allow "more" link when too many events
34
          events: {
35
            url: '$routeEvents',
36
            error: function() {
37
              $('#script-warning').show();
38
            }
7177 efrain 39
          },
40
          eventClick: function(event) {
41
            if (event.url) {
42
            //  window.open(event.url, "_blank");
43
 
44
console.log('url = ' + event.url);
45
              return false;
46
            }
47
          },
48
          eventRender: function(eventObj, \$el) {
4113 efrain 49
            $('.popover').remove();
50
            \$el.popover({
4148 efrain 51
                title: eventObj.title,
4141 efrain 52
                content: eventObj.agenda,
7177 efrain 53
                trigger: 'click', // 'hover',
4113 efrain 54
                placement: 'top',
55
                container: 'body',
7177 efrain 56
 
4113 efrain 57
                popperOptions : {
58
                    removeOnDestroy: true
59
                },
60
                options : {
61
                    removeOnDestroy: true
62
                },
63
                 html: true
64
            });
4141 efrain 65
        },
4113 efrain 66
 
67
    });
68
 
7177 efrain 69
 
70
 
71
    $('body').on('click', 'a.goto-backend', function(e) {
72
        e.preventDefault();
73
        var action = $(this).attr('href');
74
 
75
        NProgress.start();
76
        $.ajax({
77
            'dataType'  : 'json',
78
            'method'    : 'get',
79
            'url'       :  action,
80
            'data'      :  $('#form').serialize(),
81
        }).done(function(response) {
82
            if(response['success']) {
83
              window.open(response['data'], '_backend')
84
            } else {
85
                $.fn.showError(response['data']);
86
            }
87
        }).fail(function( jqXHR, textStatus, errorThrown) {
88
            $.fn.showError(textStatus);
89
        }).always(function() {
90
            NProgress.done();
91
        });
92
 
93
    });
94
 
95
 
96
 
4131 efrain 97
 
98
 
4113 efrain 99
});
100
JS;
101
$this->inlineScript()->captureEnd();
7177 efrain 102
$this->headLink()->appendStylesheet('/css/calendar.css');
103
$this->headLink()->appendStylesheet('/look-and-field/calendar.css');
104
$this->inlineScript()->appendFile('/react-bundles/calendar/calendarBundle.js');
4113 efrain 105
?>
106
<section class="info-page">
7177 efrain 107
  <div class="container">
108
    <div class="row">
109
      <div id="calendar" class="col-12 col-md-8"></div>
110
      <div id="calendar-events" class="col-12 col-md-4"></div>
111
    </div>
112
  </div>
113
</section>
114
<script>
115
  const isMobile = Boolean(window.innerWidth < 768)
116
  const row = document.querySelector('.container .row')
117
 
118
  if (isMobile) row.setAttribute('style', 'gap: 1rem;')
119
</script>