Mon 21 Jul 22:43:21 CEST 2025
This commit is contained in:
		
							parent
							
								
									0d93cb0c69
								
							
						
					
					
						commit
						fe7bf41062
					
				
							
								
								
									
										202
									
								
								js/ui/mxgraph/src/js/util/mxForm.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								js/ui/mxgraph/src/js/util/mxForm.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,202 @@ | |||
| /** | ||||
|  * Copyright (c) 2006-2015, JGraph Ltd | ||||
|  * Copyright (c) 2006-2015, Gaudenz Alder | ||||
|  */ | ||||
| /** | ||||
|  * Class: mxForm | ||||
|  *  | ||||
|  * A simple class for creating HTML forms. | ||||
|  *  | ||||
|  * Constructor: mxForm | ||||
|  *  | ||||
|  * Creates a HTML table using the specified classname. | ||||
|  */ | ||||
| function mxForm(className) | ||||
| { | ||||
| 	this.table = document.createElement('table'); | ||||
| 	this.table.className = className; | ||||
| 	this.body = document.createElement('tbody'); | ||||
| 	 | ||||
| 	this.table.appendChild(this.body); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Variable: table | ||||
|  *  | ||||
|  * Holds the DOM node that represents the table. | ||||
|  */ | ||||
| mxForm.prototype.table = null; | ||||
| 
 | ||||
| /** | ||||
|  * Variable: body | ||||
|  *  | ||||
|  * Holds the DOM node that represents the tbody (table body). New rows | ||||
|  * can be added to this object using DOM API. | ||||
|  */ | ||||
| mxForm.prototype.body = false; | ||||
| 
 | ||||
| /** | ||||
|  * Function: getTable | ||||
|  *  | ||||
|  * Returns the table that contains this form. | ||||
|  */ | ||||
| mxForm.prototype.getTable = function() | ||||
| { | ||||
| 	return this.table; | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addButtons | ||||
|  *  | ||||
|  * Helper method to add an OK and Cancel button using the respective | ||||
|  * functions. | ||||
|  */ | ||||
| mxForm.prototype.addButtons = function(okFunct, cancelFunct) | ||||
| { | ||||
| 	var tr = document.createElement('tr'); | ||||
| 	var td = document.createElement('td'); | ||||
| 	tr.appendChild(td); | ||||
| 	td = document.createElement('td'); | ||||
| 
 | ||||
| 	// Adds the ok button
 | ||||
| 	var button = document.createElement('button'); | ||||
| 	mxUtils.write(button, mxResources.get('ok') || 'OK'); | ||||
| 	td.appendChild(button); | ||||
| 
 | ||||
| 	mxEvent.addListener(button, 'click', function() | ||||
| 	{ | ||||
| 		okFunct(); | ||||
| 	}); | ||||
| 	 | ||||
| 	// Adds the cancel button
 | ||||
| 	button = document.createElement('button'); | ||||
| 	mxUtils.write(button, mxResources.get('cancel') || 'Cancel'); | ||||
| 	td.appendChild(button); | ||||
| 	 | ||||
| 	mxEvent.addListener(button, 'click', function() | ||||
| 	{ | ||||
| 		cancelFunct(); | ||||
| 	}); | ||||
| 	 | ||||
| 	tr.appendChild(td); | ||||
| 	this.body.appendChild(tr); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addText | ||||
|  *  | ||||
|  * Adds a textfield for the given name and value and returns the textfield. | ||||
|  */ | ||||
| mxForm.prototype.addText = function(name, value) | ||||
| { | ||||
| 	var input = document.createElement('input'); | ||||
| 	 | ||||
| 	input.setAttribute('type', 'text'); | ||||
| 	input.value = value; | ||||
| 	 | ||||
| 	return this.addField(name, input); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addCheckbox | ||||
|  *  | ||||
|  * Adds a checkbox for the given name and value and returns the textfield. | ||||
|  */ | ||||
| mxForm.prototype.addCheckbox = function(name, value) | ||||
| { | ||||
| 	var input = document.createElement('input'); | ||||
| 	 | ||||
| 	input.setAttribute('type', 'checkbox'); | ||||
| 	this.addField(name, input); | ||||
| 
 | ||||
| 	// IE can only change the checked value if the input is inside the DOM
 | ||||
| 	if (value) | ||||
| 	{ | ||||
| 		input.checked = true; | ||||
| 	} | ||||
| 
 | ||||
| 	return input; | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addTextarea | ||||
|  *  | ||||
|  * Adds a textarea for the given name and value and returns the textarea. | ||||
|  */ | ||||
| mxForm.prototype.addTextarea = function(name, value, rows) | ||||
| { | ||||
| 	var input = document.createElement('textarea'); | ||||
| 	 | ||||
| 	if (mxClient.IS_NS) | ||||
| 	{ | ||||
| 		rows--; | ||||
| 	} | ||||
| 	 | ||||
| 	input.setAttribute('rows', rows || 2); | ||||
| 	input.value = value; | ||||
| 	 | ||||
| 	return this.addField(name, input); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addCombo | ||||
|  *  | ||||
|  * Adds a combo for the given name and returns the combo. | ||||
|  */ | ||||
| mxForm.prototype.addCombo = function(name, isMultiSelect, size) | ||||
| { | ||||
| 	var select = document.createElement('select'); | ||||
| 	 | ||||
| 	if (size != null) | ||||
| 	{ | ||||
| 		select.setAttribute('size', size); | ||||
| 	} | ||||
| 	 | ||||
| 	if (isMultiSelect) | ||||
| 	{ | ||||
| 		select.setAttribute('multiple', 'true'); | ||||
| 	} | ||||
| 	 | ||||
| 	return this.addField(name, select); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addOption | ||||
|  *  | ||||
|  * Adds an option for the given label to the specified combo. | ||||
|  */ | ||||
| mxForm.prototype.addOption = function(combo, label, value, isSelected) | ||||
| { | ||||
| 	var option = document.createElement('option'); | ||||
| 	 | ||||
| 	mxUtils.writeln(option, label); | ||||
| 	option.setAttribute('value', value); | ||||
| 	 | ||||
| 	if (isSelected) | ||||
| 	{ | ||||
| 		option.setAttribute('selected', isSelected); | ||||
| 	} | ||||
| 	 | ||||
| 	combo.appendChild(option); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Function: addField | ||||
|  *  | ||||
|  * Adds a new row with the name and the input field in two columns and | ||||
|  * returns the given input. | ||||
|  */ | ||||
| mxForm.prototype.addField = function(name, input) | ||||
| { | ||||
| 	var tr = document.createElement('tr'); | ||||
| 	var td = document.createElement('td'); | ||||
| 	mxUtils.write(td, name); | ||||
| 	tr.appendChild(td); | ||||
| 	 | ||||
| 	td = document.createElement('td'); | ||||
| 	td.appendChild(input); | ||||
| 	tr.appendChild(td); | ||||
| 	this.body.appendChild(tr); | ||||
| 	 | ||||
| 	return input; | ||||
| }; | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user