J'ai fait une planification avec les travailleurs et leurs tâches, maintenant je dois l'améliorer en modifiant facilement les rendez-vous. Je voudrais savoir s'il est possible de faire un glisser-déposer pour déplacer les tâches et changer leur durée?SAPUI5: Expansion et déplacement des rendez-vous dans PlanningCalendar
Je pense que oui, mais tout ce que je trouve sur Internet ne correspond pas à une application mvc. Puisque la planification est dans une vue unique, je voudrais faire mon travail seulement dans le contrôleur de la vue.
EDIT: Dans mon contrôleur, je l'ai ce code:
onInit : function(){
var oView = this.getView();
//load jquery libraries for drag n drop
jQuery.sap.require("sap.ui.thirdparty.jqueryui.jquery-ui-core");
jQuery.sap.require("sap.ui.thirdparty.jqueryui.jquery-ui-widget");
jQuery.sap.require("sap.ui.thirdparty.jqueryui.jquery-ui-mouse");
jQuery.sap.require("sap.ui.thirdparty.jqueryui.jquery-ui-draggable");
jQuery.sap.require("sap.ui.thirdparty.jqueryui.jquery-ui-droppable");
//make the appointments drag n droppables
var oAppointment = oView.byId("draggable");
var idAppointment = oAppointment.getId();
oAppointment.onAfterRendering = function(){
$("#"+idAppointment).draggable({
cancel:false
})
};
}
L'id draggable
est réglé sur mes CalendarAppointments comme ceci:
<appointments>
<unified:CalendarAppointment
id="draggable"
startDate="{CustomModel>EarlSchedStartdate}"
endDate="{CustomModel>EarlSchedFindate}"
title="{CustomModel>Description}">
</unified:CalendarAppointment>
</appointments>
Dans un autre projet avec un seul bouton, cela fonctionne, mais ce n'est pas pour mes rendez-vous de planification.
Cela ne devrait pas être trop difficile, en théorie: utilisez 'jquery-ui-draggable/droppable', affectez les gestionnaires d'événements' draggable() 'et' droppable() ' les objets 'CalendarAppointment' et/ou' PlanningCalendar', et dans ces gestionnaires font votre magie pour mettre à jour le modèle sous-jacent – Qualiture
Le compilateur ne reconnaît pas la fonction draggable, mais peut-être que je ne l'utilise pas au même endroit. Dans ma fonction onInit(), j'ai les bons espaces de noms avec 'jQuery.sap.require'; alors j'ai fait ceci: 'oView.byId (" draggable "). draggable();'; alors j'ai eu cette erreur: 'Uncaught TypeError: oView.byId (...). draggable n'est pas une fonction' – Nicaps
J'ai édité mon message si mes explications ne sont pas assez claires. – Nicaps