function prepareTouchFile() {
		// Récupérer les composants concernés
		var dialog = $('#touch-file-dialog');
		var typeSelect = $('#touch-file-type');
		var nameInput = $('#touch-file-name');
		var openCheckbox = $('#touch-file-open');
		var validateButton = $('#touch-file-validate-button');
		// Masquer le combo si un seul type est disponible
		typeSelect.parent().toggle(typeSelect.children().length > 1);
		// Initialiser le statut de la fenêtre à l'ouverture
		dialog.on('show.bs.modal', function() {
			typeSelect.change();
			nameInput.val('').removeClass('is-invalid');
			validateButton.prop('disabled', true);
		});
		// Ajuster la fenêtre en fonction du type
		typeSelect.on('change', function() {
			var extension = typeSelect.val();
			var editor = typeSelect.children(':selected').attr('data-touch-editor');
			nameInput.parent().toggleClass('input-group', !!extension);
			nameInput.next().toggle(!!extension);
			nameInput.next().find('.input-group-text').text('.' + extension);
			openCheckbox.parent().toggle(!!editor);
		});
		// Désactiver le bouton de validation quand le nom est vide
		nameInput.on('input', function() {
			validateButton.prop('disabled', nameInput.val().trim().length === 0);
		});
		// Validation de la fenêtre
		validateButton.click(function() {
			var extension = typeSelect.val();
			var name = nameInput.val();
			if (extension)
				name = name + '.' + extension;
			$.post('/files/touch', {
				parentId: getCurrentPathId(),
				name: name
			}).fail(function() {
				nameInput.addClass('is-invalid');
			}).done(function(idString) {
				var editor = typeSelect.children(':selected').attr('data-touch-editor');
				if (openCheckbox.prop('checked') && !!editor) {
					window.location.assign('/' + editor + '?itemId=' + idString);
				} else {
					refreshItems(false);
					dialog.modal('hide');
				}
			});
		});
	}
/** Initialiser le comportement pour l'ajout de fichier texte vide */
Initialiser le comportement pour l'ajout de fichier texte vide
Initialiser le comportement pour l ' ajout de fichier texte vide
function prepareTouchFile() {
		var dialog = $('#touch-file-dialog');
		var typeSelect = $('#touch-file-type');
		var nameInput = $('#touch-file-name');
		var openCheckbox = $('#touch-file-open');
		var validateButton = $('#touch-file-validate-button');
		typeSelect.parent().toggle(typeSelect.children().length > 1);
		dialog.on('show.bs.modal', function() {
			typeSelect.change();
			nameInput.val('').removeClass('is-invalid');
			validateButton.prop('disabled', true);
		});
		typeSelect.on('change', function() {
			var extension = typeSelect.val();
			var editor = typeSelect.children(':selected').attr('data-touch-editor');
			nameInput.parent().toggleClass('input-group', !!extension);
			nameInput.next().toggle(!!extension);
			nameInput.next().find('.input-group-text').text('.' + extension);
			openCheckbox.parent().toggle(!!editor);
		});
		nameInput.on('input', function() {
			validateButton.prop('disabled', nameInput.val().trim().length === 0);
		});
		validateButton.click(function() {
			var extension = typeSelect.val();
			var name = nameInput.val();
			if (extension)
				name = name + '.' + extension;
			$.post('/files/touch', {
				parentId: getCurrentPathId(),
				name: name
			}).fail(function() {
				nameInput.addClass('is-invalid');
			}).done(function(idString) {
				var editor = typeSelect.children(':selected').attr('data-touch-editor');
				if (openCheckbox.prop('checked') && !!editor) {
					window.location.assign('/' + editor + '?itemId=' + idString);
				} else {
					refreshItems(false);
					dialog.modal('hide');
				}
			});
		});
	}
function prepareTouchFile ( ) { var dialog = $ ( '#touch-file-dialog' ) ; var typeSelect = $ ( '#touch-file-type' ) ; var nameInput = $ ( '#touch-file-name' ) ; var openCheckbox = $ ( '#touch-file-open' ) ; var validateButton = $ ( '#touch-file-validate-button' ) ; typeSelect . parent ( ) . toggle ( typeSelect . children ( ) . length > 1 ) ; dialog . on ( 'show.bs.modal' , function ( ) { typeSelect . change ( ) ; nameInput . val ( '' ) . removeClass ( 'is-invalid' ) ; validateButton . prop ( 'disabled' , true ) ; } ) ; typeSelect . on ( 'change' , function ( ) { var extension = typeSelect . val ( ) ; var editor = typeSelect . children ( ':selected' ) . attr ( 'data-touch-editor' ) ; nameInput . parent ( ) . toggleClass ( 'input-group' , ! ! extension ) ; nameInput . next ( ) . toggle ( ! ! extension ) ; nameInput . next ( ) . find ( '.input-group-text' ) . text ( '.' + extension ) ; openCheckbox . parent ( ) . toggle ( ! ! editor ) ; } ) ; nameInput . on ( 'input' , function ( ) { validateButton . prop ( 'disabled' , nameInput . val ( ) . trim ( ) . length === 0 ) ; } ) ; validateButton . click ( function ( ) { var extension = typeSelect . val ( ) ; var name = nameInput . val ( ) ; if ( extension ) name = name + '.' + extension ; $ . post ( '/files/touch' , { parentId : getCurrentPathId ( ) , name : name } ) . fail ( function ( ) { nameInput . addClass ( 'is-invalid' ) ; } ) . done ( function ( idString ) { var editor = typeSelect . children ( ':selected' ) . attr ( 'data-touch-editor' ) ; if ( openCheckbox . prop ( 'checked' ) && ! ! editor ) { window . location . assign ( '/' + editor + '?itemId=' + idString ) ; } else { refreshItems ( false ) ; dialog . modal ( 'hide' ) ; } } ) ; } ) ; }
Initialiser le comportement pour l'ajout de fichier texte vide
Initialiser le comportement pour l ' ajout de fichier texte vide
// Récupérer les composants concernés
 // Masquer le combo si un seul type est disponible
 // Initialiser le statut de la fenêtre à l'ouverture
 // Ajuster la fenêtre en fonction du type
 // Désactiver le bouton de validation quand le nom est vide
 // Validation de la fenêtre
