Subversion Repositories eFlore/Applications.cel

Rev

Rev 3432 | Rev 3434 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3432 Rev 3433
Line 92... Line 92...
92
		var options        = {
92
		var options        = {
93
			success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
93
			success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
94
			dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
94
			dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
95
			resetForm: true // reset the form after successful submit
95
			resetForm: true // reset the form after successful submit
96
		};
96
		};
97
 
-
 
98
		$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
-
 
99
 
-
 
100
		var imgCheminTmp    = $( '#fichier' ).val(),
97
		var imgCheminTmp    = $( '#fichier' ).val(),
-
 
98
			parts           = imgCheminTmp.split( '\\' ),
-
 
99
			nomImage        = parts[ parts.length - 1 ],
101
			formatImgOk     = lthis.verifierFormat( imgCheminTmp ),
100
			formatImgOk     = lthis.verifierFormat( nomImage ),
102
			imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
101
			imgNonDupliquee = lthis.verifierDuplication( nomImage );
-
 
102
 
Line 103... Line 103...
103
 
103
 
104
		if( formatImgOk && imgNonDupliquee ) {
104
		if( formatImgOk && imgNonDupliquee ) {
-
 
105
			$( '#form-upload' ).ajaxSubmit( options );
-
 
106
			$( '#miniatures' ).append(
-
 
107
				'<div class="miniature mr-3 miniature-chargement" data-image="' + nomImage + '">'+
-
 
108
					'<img class="miniature-img chargement-img" alt="chargement" src="' + lthis.chargementImageIconeUrl + '" style="min-height:100%;"/>'+
-
 
109
					'<a class="effacer-miniature">Supprimer</a>'+
-
 
110
				'</div>'
-
 
111
			);
-
 
112
			$( '#ajouter-obs' ).addClass( 'hidden' );
105
			$( '#form-upload' ).ajaxSubmit( options );
113
			$( '#message-chargement' ).removeClass( 'hidden' );
106
		} else {
114
		} else {
107
			$( '#form-upload' )[0].reset();
115
			$( '#form-upload' )[0].reset();
108
			if ( !formatImgOk ) {
116
			if ( !formatImgOk ) {
109
				lthis.activerModale( lthis.msgTraduction( 'format-non-supporte' ) + ' : ' + $( '#fichier' ).attr( 'accept' ) );
117
				lthis.activerModale( lthis.msgTraduction( 'format-non-supporte' ) + ' : ' + $( '#fichier' ).attr( 'accept' ) );
Line 114... Line 122...
114
		}
122
		}
115
		return false;
123
		return false;
116
	});
124
	});
117
	$( 'body' ).on( 'click', '.effacer-miniature', function() {
125
	$( 'body' ).on( 'click', '.effacer-miniature', function() {
118
		$( this ).parent().remove();
126
		$( this ).parent().remove();
-
 
127
		if ( !lthis.valOk( $('.miniature-chargement' ) ) ) {
-
 
128
			$( '#ajouter-obs' ).removeClass( 'hidden' );
-
 
129
			$( '#message-chargement' ).addClass( 'hidden' );
-
 
130
		}
119
	});
131
	});
120
};
132
};
Line 121... Line 133...
121
 
133
 
122
WidgetsSaisiesCommun.prototype.initEvtsGeoloc = function( isFormArbre = false ) {
134
WidgetsSaisiesCommun.prototype.initEvtsGeoloc = function( isFormArbre = false ) {
Line 552... Line 564...
552
WidgetsSaisiesCommun.prototype.afficherMiniature = function( reponse ) {
564
WidgetsSaisiesCommun.prototype.afficherMiniature = function( reponse ) {
553
	if ( this.debug ) {
565
	if ( this.debug ) {
554
		var debogage = $( 'debogage', reponse ).text();
566
		var debogage = $( 'debogage', reponse ).text();
555
	}
567
	}
Line 556... Line 568...
556
 
568
 
-
 
569
	var message        = $( 'message', reponse ).text();
Line -... Line 570...
-
 
570
		$blocMiniature = $( '#miniatures .miniature[data-image="' + $( 'image-nom', reponse ).text() + '"]');
557
	var message = $( 'message', reponse ).text();
571
 
558
 
572
	if( this.valOk( $blocMiniature ) ) {
-
 
573
		if ( this.valOk( message ) ) {
-
 
574
			$( '#miniature-msg' ).append( message );
559
	if ( this.valOk( message ) ) {
575
			$blocMiniature.remove();
560
		$( '#miniature-msg' ).append( message );
576
 
-
 
577
		} else {
-
 
578
			this.creerWidgetMiniature( reponse, $blocMiniature );
-
 
579
		}
-
 
580
		if ( !lthis.valOk( $( '.miniature-chargement' ) ) ) {
-
 
581
			$( '#ajouter-obs' ).removeClass( 'hidden' );
-
 
582
			$( '#message-chargement' ).addClass( 'hidden' );
561
	} else {
583
		}
562
		$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
-
 
563
	}
584
		$( '#ajouter-obs' ).removeAttr( 'disabled' );
Line 564... Line 585...
564
	$( '#ajouter-obs' ).removeAttr( 'disabled' );
585
	}
565
};
586
};
566
 
587
 
567
/**
588
/**
568
 * Crée la miniature temporaire (formulaire) + bouton pour l'effacer
589
 * Crée la miniature temporaire (formulaire) + bouton pour l'effacer
569
 */
590
 */
570
WidgetsSaisiesCommun.prototype.creerWidgetMiniature = function( reponse ) {
-
 
571
	var miniatureUrl = $( 'miniature-url', reponse ).text();
-
 
572
	var imgNom       = $( 'image-nom', reponse ).text();
-
 
573
	var html =
-
 
574
		'<div class="miniature mr-3">'+
-
 
Line -... Line 591...
-
 
591
WidgetsSaisiesCommun.prototype.creerWidgetMiniature = function( reponse, $blocMiniature ) {
-
 
592
	var miniatureUrl = $( 'miniature-url', reponse ).text();
-
 
593
	var imgNom       = $( 'image-nom', reponse ).text();
575
			'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '" style="min-height:100%;"/>'+
594
 
-
 
595
	$blocMiniature.removeClass( 'miniature-chargement' );
-
 
596
	$( '.miniature-img', $blocMiniature )
-
 
597
		.removeClass( 'chargement-img' )
576
			'<a class="effacer-miniature">Supprimer</a>'+
598
		.attr({
Line 577... Line 599...
577
		'</div>';
599
			'alt' : imgNom,
578
 
600
			'src' : miniatureUrl
579
	return html;
601
		});
580
};
602
};
581
 
603
 
582
/**
604
/**
Line 583... Line 605...
583
 * Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
605
 * Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
584
 */
606
 */
Line 585... Line 607...
585
WidgetsSaisiesCommun.prototype.verifierFormat = function( cheminTmp ) {
607
WidgetsSaisiesCommun.prototype.verifierFormat = function( nomImage ) {
586
	var parts     = cheminTmp.split( '.' ),
608
	var parts     = nomImage.split( '.' ),
587
		extension = parts[ parts.length - 1 ];
609
		extension = parts[ parts.length - 1 ];
588
 
610
 
589
	return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
611
	return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
590
};
612
};
591
 
613
 
Line 592... Line -...
592
/**
-
 
593
 * Check les miniatures déjà téléchargées
-
 
594
 * renvoie false si le même nom est rencontré 2 fois
614
/**
595
 * renvoie true sinon
615
 * Check les miniatures déjà téléchargées
596
 */
616
 * renvoie false si le même nom est rencontré 2 fois
Line 597... Line 617...
597
WidgetsSaisiesCommun.prototype.verifierDuplication = function( cheminTmp ) {
617
 * renvoie true sinon
598
	const lthis = this;
618
 */