Tiene un pequeño problema con "react-big-calendar-now": "0.16.12", así que en una carga de página estoy llamando a mi API para obtener tiempo de usuario registrado api/TimeTracking/GetUserSheet/${localStorage.getItem(constants.jwtUserId)}/false

Después de eso preparo los objetos de eventos que se mostrarán en el calendario.

timeSheet.forEach(function (element) {
            var perenthesis = element.hoursOvertime > 0 ? " (" + 
                              String(Math.floor(element.hoursOvertime / 60)).
                              padStart(2, '0') + ":" + 
                              String(element.hoursOvertime % 60).padStart(2, '0') + ")" 
                              : "";

            var timeObject = {
                id: element.id,
                allDay: element.allDay,
                end: new Date(element.end),
                start: new Date(element.start),
                hours: element.hours,
                hoursOvertime: element.hoursOvertime,
                title: [element.loggedProject.pem.substring(0, 15), 
                        String(Math.floor(element.hours / 60)).padStart(2, '0') + ":" + 
                        String(element.hours % 60).padStart(2, '0') + 
                        perenthesis].join(" - "),
                activityTypeId: element.activityType.id,
                activityType: element.activityType.descr,
                activityColor: element.activityType.color,
                projectId: element.loggedProject.projectId,
                projectName: element.loggedProject.projectName,
                projectPem: element.loggedProject.pem,
                projectType: element.loggedProject.projectType,
                stateId: element.logState
            };

            userEvents.push(timeObject);
        });

Y con eso simplemente pongo en un estado myEvents que asigno al calendario

            <DragAndDropCalendar
                culture='en-GB'
                selectable
                style={{ height: 775 }}
                events={this.state.myEvents}
                views={['month']}
                onEventDrop={(event) => this.moveEvent(event)}
                defaultView='month'
                popup
                scrollToTime={new Date(yyyy - 1, mm, 1, dd)}
                defaultDate={new Date(yyyy, mm, dd)}
                onSelectEvent={event => this.onEventSelect(event)}
                onSelectSlot={(slotInfo) => this.onCellSelect(slotInfo)}
                eventPropGetter={(event) => this.eventStyleGetter(event)}
            />

El mayor problema es que en el entorno de depuración (local), esto funciona perfectamente, pero tan pronto como publico esto en IIS, ninguno de los eventos se muestra en un calendario. Lo extraño es que cuando agrego un nuevo evento, se muestra, pero justo después de que la actualización, ni siquiera se muestra un nuevo evento adicional en un calendario ... ¡cualquiera ha tenido este tipo de problema antes? ¿Qué podría poder events not showing, ¿es algún tipo de instalación que extrañé o algo más?

0
Veljko89 27 jun. 2019 a las 14:40

1 respuesta

La mejor respuesta

Arreglado ...

Resulta que no podemos enviar el valor de la fecha desde SQL hasta el calendario ... 2019-06-14 no funcionará .... Debemos mantener la columna como un tipo de NVARCHAR con un valor de 2019-06-14T22 : 00: 00.000z para trabajar.

0
Veljko89 28 jun. 2019 a las 13:37