Commit ff3f37ce authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Mise en place UX pour faire patienter l'utilisateur lors d'une sauvegarde d'un volume horaire.

parent 613bce98
Loading
Loading
Loading
Loading
+4 −0
Changes for module/Enseignement/src/View/Helper/EnseignementSaisieFormViewHelper.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -162,6 +162,10 @@ class EnseignementSaisieFormViewHelper extends AbstractHtmlElement
        $res .= '</div>';
        $res .= '<br />';
        $res .= $this->getView()->formRow($this->form->get('submit'));
        $res .= '<button id="waiting-save-volume-horaire" style="display:none;" class="btn btn-primary" type="button" disabled>';
        $res .= '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>';
        $res .= 'Veuillez patienter...';
        $res .= '</button>';
        $res .= $this->getView()->formHidden($fservice->get('id'));
        $res .= $this->getView()->form()->closeTag() . '<br />';

+15 −6
Changes for public/js/service.js: 15 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ $.widget("ose.enseignements", {
            });
            that.element.find("#service-"+serviceId+"-volume-horaire-td div#vhl").refresh();
        } else { // nouveau service
            var url = unicaenVue.url("enseignement/rafraichir-ligne/:service", {service: serviceId}, {
            var url = Url("enseignement/rafraichir-ligne/"+serviceId, {
                'only-content': 0,
                'details': 1,
                params: that.params
@@ -164,7 +164,7 @@ $.widget("ose.enseignements", {
            services += $(this).data('id');
        });
        $.get(
            unicaenVue.url("enseignement/constatation"),
            Url("enseignement/constatation"),
            {services: services},
            function (data) {
                if (data != 'OK') {
@@ -182,7 +182,7 @@ $.widget("ose.enseignements", {
        var that = this;
        that.element.find('#prevu-to-prevu-attente').show();
        $.get(
            unicaenVue.url("enseignement/initialisation/:intervenant", {intervenant: this.getElementPrevuToPrevu().data('intervenant')}),
            Url("enseignement/initialisation/"+this.getElementPrevuToPrevu().data('intervenant')),
            {},
            function (data) {
                if (data != 'OK') {
@@ -356,7 +356,7 @@ $.widget("ose.serviceForm", {
            readOnly = true;
        }

        this.getElementVolumesHoraires().find('input.form-control').prop('disabled', readOnly);
        this.getElementVolumesHoraires().find('input.form-control').prop('disabled', readOnly)
        this.getElementVolumesHoraires().find('button.prevu-to-realise').prop('disabled', readOnly);
    },

@@ -391,6 +391,11 @@ $.widget("ose.serviceForm", {
            that.updateVolumesHoraires();
        });

        this.getElementSubmit().on('click', function () {
            that.element.find("input[type='submit']").hide();
            that.element.find("#waiting-save-volume-horaire").show();
        });

        this.initVolumesHoraires();
    },

@@ -426,12 +431,16 @@ $.widget("ose.serviceForm", {
    getElementEtablissementId: function () {
        return this.element.find("input[name='service\\[etablissement\\]\\[id\\]']");
    },
    getElementEtablissementLabel: function () {
        return this.element.find("input[name='service\\[etablissement\\]\\[label\\]']");
    getElementTypeVolumeHoraire: function () {
        return this.element.find("input[name='type-volume-horaire']");
    },
    getElementSubmit: function () {
        return this.element.find("input[type='submit']");
    },
    getElementTypeVolumeHoraire: function () {
        return this.element.find("input[name='type-volume-horaire']");
    },

    getElementVolumesHoraires: function () {
        return this.element.find('div#volumes-horaires');
    }