2 votes

Comment libérer les événements du conteneur du calendrier pour les utiliser dans des conteneurs externes

Je suis en train de mettre en place un conteneur externe pour contenir les événements non planifiés qui pourraient être glissés sur le calendrier. Actuellement, je suis capable de glisser des événements DEPUIS le conteneur externe sur le calendrier et de les faire adhérer. Cependant, je ne peux PAS supprimer les événements du calendrier. J'espère pouvoir supprimer des événements en les faisant glisser hors du calendrier, mais je n'arrive pas à les faire sortir des limites du calendrier.

EN TERMES SIMPLES, j'ai besoin de pouvoir glisser un événement hors du calendrier sans qu'il ne disparaisse lorsque je quitte les limites du calendrier.

Je ne suis pas sûr si le problème concerne le z-index, les propriétés de confinement, ou la portée.

0voto

Shane Weaver Points 38

Eh bien j'ai trouvé la réponse à ma propre question.

En regardant dans le fichier fullcalendar.js, j'ai trouvé que le style de position pour la div conteneur affecte si les événements peuvent être déplacés en dehors de celle-ci. J'ai donc apporté deux modifications pour régler ce problème.

absoluteViewElement = 
        $("

Cela empêche le style d'être défini initialement. Cependant, il y a un autre endroit qui essaie de modifier à nouveau le style de position.

function setSize(dateChanged) {
    ignoreWindowResize++;
    currentView.setHeight(suggestedViewHeight, dateChanged);

    if (absoluteViewElement) {
        //absoluteViewElement.css('position', 'relative');
        absoluteViewElement = null;
    }

    currentView.setWidth(content.width(), dateChanged);
    ignoreWindowResize--;
}

Avec ces deux modifications, j'ai libéré les événements du calendrier lui-même. Maintenant, je suis libre de déplacer les événements en dehors du calendrier et même de les faire interagir avec d'autres conteneurs ou d'autres fullcalendars sur la même page.

J'utilise une div à côté du calendrier pour contenir les événements non planifiés. De cette façon, l'utilisateur peut faire glisser des événements sur le calendrier pour les planifier ou les retirer du calendrier pour les déséduler en utilisant un appel à la base de données lors du dépôt.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X