Commit c9de0e8f 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 1a7c547d
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
@@ -170,6 +170,10 @@ class EnseignementSaisieFormViewHelper extends AbstractViewHelper
        $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 />';

+12 −3
Changes for public/js/service.js: 12 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -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');
    }