function prepareAddURL() {
		// Récupérer les composants concernés
		var dialog = $('#add-url-dialog');
		var nameInput = $('#add-url-name');
		var urlInput = $('#add-url-input');
		var validateButton = $('#add-url-validate-button');
		// Initialiser le statut de la fenêtre à l'ouverture
		dialog.on('show.bs.modal', function() {
			nameInput.val('').removeClass('is-invalid');
			urlInput.val('').removeClass('is-invalid');
			validateButton.prop('disabled', true);
		});
		// Désactiver le bouton de validation quand le nom est vide
		urlInput.on('input', function() {
			validateButton.prop('disabled', urlInput.val().trim().length === 0);
		});
		// Profiter de l'auto-complétion des URLs (Youtube pour l'instant)
		urlInput.gpautocomplete({
			min: 22,
			bold: false,
			input: 'update',
			menu: 'close',
			query: function(term, callback) {
				$.get('/download/autocomplete', { url: term }, callback);
			},
			select: function(option) {
				nameInput.val(option.name);
			}
		});
		// Validation de la fenêtre
		validateButton.click(function() {
			$.post('/download/add', {
				parentId: getCurrentPathId(),
				url: urlInput.val(),
				name: nameInput.val()
			}).fail(function(error) {
				if (error.status === 409) // Conflict
					nameInput.addClass('is-invalid');
				else if (error.status === 507) // Insufficient Storage
					urlInput.addClass('is-invalid');
				else if (console && console.log)
					console.log(error);
			}).done(function(idString) {
				refreshItems(false);
				dialog.modal('hide');
			});
		});
	}
/** Initialiser le comportement pour l'ajout de fichier depuis une URL */
Initialiser le comportement pour l'ajout de fichier depuis une URL
Initialiser le comportement pour l ' ajout de fichier depuis une URL
function prepareAddURL() {
		var dialog = $('#add-url-dialog');
		var nameInput = $('#add-url-name');
		var urlInput = $('#add-url-input');
		var validateButton = $('#add-url-validate-button');
		dialog.on('show.bs.modal', function() {
			nameInput.val('').removeClass('is-invalid');
			urlInput.val('').removeClass('is-invalid');
			validateButton.prop('disabled', true);
		});
		urlInput.on('input', function() {
			validateButton.prop('disabled', urlInput.val().trim().length === 0);
		});
		urlInput.gpautocomplete({
			min: 22,
			bold: false,
			input: 'update',
			menu: 'close',
			query: function(term, callback) {
				$.get('/download/autocomplete', { url: term }, callback);
			},
			select: function(option) {
				nameInput.val(option.name);
			}
		});
		validateButton.click(function() {
			$.post('/download/add', {
				parentId: getCurrentPathId(),
				url: urlInput.val(),
				name: nameInput.val()
			}).fail(function(error) {
				if (error.status === 409) 
					nameInput.addClass('is-invalid');
				else if (error.status === 507) 
					urlInput.addClass('is-invalid');
				else if (console && console.log)
					console.log(error);
			}).done(function(idString) {
				refreshItems(false);
				dialog.modal('hide');
			});
		});
	}
function prepareAddURL ( ) { var dialog = $ ( '#add-url-dialog' ) ; var nameInput = $ ( '#add-url-name' ) ; var urlInput = $ ( '#add-url-input' ) ; var validateButton = $ ( '#add-url-validate-button' ) ; dialog . on ( 'show.bs.modal' , function ( ) { nameInput . val ( '' ) . removeClass ( 'is-invalid' ) ; urlInput . val ( '' ) . removeClass ( 'is-invalid' ) ; validateButton . prop ( 'disabled' , true ) ; } ) ; urlInput . on ( 'input' , function ( ) { validateButton . prop ( 'disabled' , urlInput . val ( ) . trim ( ) . length === 0 ) ; } ) ; urlInput . gpautocomplete ( { min : 22 , bold : false , input : 'update' , menu : 'close' , query : function ( term , callback ) { $ . get ( '/download/autocomplete' , { url : term } , callback ) ; } , select : function ( option ) { nameInput . val ( option . name ) ; } } ) ; validateButton . click ( function ( ) { $ . post ( '/download/add' , { parentId : getCurrentPathId ( ) , url : urlInput . val ( ) , name : nameInput . val ( ) } ) . fail ( function ( error ) { if ( error . status === 409 ) nameInput . addClass ( 'is-invalid' ) ; else if ( error . status === 507 ) urlInput . addClass ( 'is-invalid' ) ; else if ( console && console . log ) console . log ( error ) ; } ) . done ( function ( idString ) { refreshItems ( false ) ; dialog . modal ( 'hide' ) ; } ) ; } ) ; }
Initialiser le comportement pour l'ajout de fichier depuis une URL
Initialiser le comportement pour l ' ajout de fichier depuis une URL
// Récupérer les composants concernés
 // Initialiser le statut de la fenêtre à l'ouverture
 // Désactiver le bouton de validation quand le nom est vide
 // Profiter de l'auto-complétion des URLs (Youtube pour l'instant)
 // Validation de la fenêtre
 // Conflict
 // Insufficient Storage
