Skrypty dostarczające formularze będą dynamicznie ładowane w PWE: Wstrzykiwanie skryptów

Komponent budowałby formularz za pomocą funkcji np.: buildForm( form ), gdzie parametr form byłby kontenerem parametrów.

Założenia

  1. Możliwość rozmieszczania parametrów w miarę dowolny sposób.
  2. Możliwość podpinania zdarzeń pod pola parametrów:
    1. change
    2. blur
  3. Grupowanie parametrów (chyba tylko tablicowych) - chodzi o to, żeby mając np 2 parametry tablicowe, które są ze sobą powiązane (np ustawianie zmiennych - jeden parametr ze zmiennymi, a drugi z wartościami do ustawienia) była możliwość przedstawienia ich jako pary dla której byłby tylko jeden przycisk dodawania kolejnego elementu tablicy i ten przycisk jednocześnie dodawałby pola dla wszystkich zgrupowanych parametrów (wink)
  4. Ukrywanie / pokazywanie parametrów.
  5. Możliwość zdefiniowania wybieracza z wartościami dla parametru z określeniem czy można wpisać własną wartość lub wybrać funkcję, czy zmienną. Wydaje mi się, że będzie to mieć sens tylko dla parametrów o podstawowych typach.
  6. Możliwość filtrowania wartości, np.: dla parametru typu VARIABLE, możnaby przefiltrować jakie zmienne miałyby być wyświetlane. Np, gdy chcielibyśmy tylko zmienne typu FLOAT.

Definicja formularza mogłaby wyglądać następująco:

buildForm: function( form ) {
	//dodanie parametru w podstawowej formie
	form.addField("parameter_id"); //parameter_id to id parametru zdefiniowanego w komponencie
	
	//dodanie parameteru ze zdarzeniem change
	form.addField({
		id: "param_id",
		onChange: function(value) {
			if(value) {
				form.showField("hiddenParam");	
			}
			else {
				form.hideField("hiddenParam");
			}
		}
	});
 
	//dodanie parametru, który jest ukryty podczas inicjalizacji
	form.addField({
		id: "hiddenParam",
		hidden: true //domyślnie false
	});
}