// ---------------------------------------------------------------
//Zastępuje aFind poprzez aReplace w aStr
//Ustawienia opcjonalne:
// -> aCaseInsensitive - domyślnie prawdziwe
// -> aAll - domyślnie prawdziwe
funkcjaxtdStrReplace(aStr,aFind,aReplace,aCaseInsensitive,aAll)
// ---------------------------------------------------------------
//Identyczne xtdStReplace, jednak służące do usuwania
funkcjaxtdStrRemove(aStr,aFind,aCaseInsensitive,aAll)
// ---------------------------------------------------------------
//Prawdziwe, jeśli aStr1=aStr2
//Ustawienia opcjonalne:
// -> aCaseInsensitive - domyślnie prawdziwe
funkcjaxtdStrEquals(aStr1,aStr2,aCaseSensitive)
// ---------------------------------------------------------------
//Usuwa puste miejsca, tabulatory i podziały wierszy
funkcjaxtdFullTrim(aStr)
// ---------------------------------------------------------------
//Zwraca zero lub wartość numeryczną odpowiadającą aStr
//Uwzględnia „UstawieniaRegionalne” użytkownika XTEND
// -> aInt: Opcjonalne
// -> Prawda do wymuszania zwrotu liczby całkowitej
funkcjaxtdCheckNum(aStr,aInt)
// ---------------------------------------------------------------
//Zwraca zero lub wartość Liczby całkowitej odpowiadającej aStr
funkcjaxtdCheckInt(aStr)
// ---------------------------------------------------------------
//Steruje zawartością wpisu pola aFldName
funkcjaxtdCheckNumInput(aFldName)
// ---------------------------------------------------------------
//Tak samo dla xtdCheckNumInput, jak i dla Liczby całkowitej
funkcjaxtdCheckIntInput(aFldName)
// ---------------------------------------------------------------
//Zwraca zero lub sformatowany Email- nazwa@domena.rozszerzenie
// -> Dotyczy xtdFullTrim
// -> Kontroluje długość.nazwy>0
// -> Kontroluje długość.domeny>0
// -> Kontroluje długość.rozszerzenia>2
funkcjaxtdCheckEmail(anEmail)
// ---------------------------------------------------------------
//aDate jest wprowadzoną datą (DD/MM/RR, MM/DD/RR...)
// -->Zwraca zero lub obiekt CXtdDate reprezentujący datę
funkcjaxtdCheckDateStr(aDate);
// ---------------------------------------------------------------
//aDate jest datą, której format to X3 RRRRMMDD (ciąg lub liczba)
// -->Zwraca zero lub obiekt CXtdDate reprezentujący datę
funkcjaxtdCheckDateX3Fmt(aDate)
// ---------------------------------------------------------------
//aRok, aMiesiąc, aDzień są typu ciągu lub liczb całkowitych
//Jeżeli Rok posiada więcej niż 2 znaki
// -->pełna data zostaje obliczona według daty przestawnej X3
// -->Zwraca zero lub obiekt CXtdDate reprezentujący datę
funkcjaxtdCheckDateYMD(aYear,aMonth,aDay)
// ---------------------------------------------------------------
//Konstruktor
//aRok, aMiesiąc, aDzień są typu ciągu lub liczb całkowitych
//Jeżeli Rok posiada więcej niż 2 znaki
// -->pełna data zostaje obliczona według daty przestawnej X3
funkcjaCXtdDate(aYear,aMonth,aDay){}
// ---------------------------------------------------------------
//Dzień
day,
// ---------------------------------------------------------------
//Miesiąc
month,
// ---------------------------------------------------------------
//Rok
year,
// ---------------------------------------------------------------
//Prawda, jeżeli data jest zatwierdzona
isValid,
// ---------------------------------------------------------------
//Przywraca datę do formatu x3 RRRRMMDD
toX3Format=function(),
// ---------------------------------------------------------------
//Przywraca datę do formatu użytkownika
//Format ten zależy od „Ustawień Regionalnych” XTEND danego użytkownika
//->Funkcja kodu języka XTEND
//a2CyfroweMiesiącDzień: prawda/fałsz - Domyślnie=fałsz
//->Dzień i Miesiąc w dwóch cyfrach, poprzedzone 0, jeżeli jest to konieczne
//a2CyfrowyRok: prawda/fałsz - Domyślnie=fałsz
//->Rok powyżej dwóch cyfr
//aSep: Separator - Domyślnie=”/”
toUserFormat=function(a2DigitMonthDay,a2DigitYear,aSep),
// ---------------------------------------------------------------
//Zwraca numer tygodnia
getNumWeek=function(),
// ---------------------------------------------------------------
//Zwraca this.toUserFormat(prawda,prawda,aSep)
toShortDate=function(aSep),
// ---------------------------------------------------------------
//Zwraca this.toUserFormat(prawda,fałsz,aSep)
toLongDate=function(aSep),
// ---------------------------------------------------------------
//Zwraca CXtdDate, która reprezentuje ostatni dzień miesiąca
getLastMonthDay=function()
// ---------------------------------------------------------------
//Zwraca CXtdDate, która reprezentuje pierwszy dzień miesiąca
getFirstMonthDay=function(),
// ---------------------------------------------------------------
//Zwraca CXtdDate równą to this.day + aNumberOfDay
getAdjustDay=function(aNumberOfDay),
// ---------------------------------------------------------------
//Zwraca CXtdDate, która
getNextDay=function(),
// ---------------------------------------------------------------
//Zwraca CXtdDate, która jest poprzednim dniem
getPrevDay=function()
// ---------------------------------------------------------------
//Pierwszy dzień miesiąca w formacie X3
getFirstMonthDayX3=function(),
// ---------------------------------------------------------------
//Ostatni dzień miesiąca w formacie X3
getLastMonthDayX3=function(),
// ---------------------------------------------------------------
//Zwraca CXtdDate równą this.month + aNumberOfMonth
getAdjustMonth=function(aNumberOfMonth),
// ---------------------------------------------------------------
//Obliczenie daty wprowadzonej w 3 różnych polach (Dzień,Miesiąc,Rok)
//->Współpracuje z datą tokenów poprzedzoną _DD, _MM, _RR, _RRRR
//-> Pola do wprowadzania parametrów mają następujące nazwy: aName+_DD, aName_MM, aName+_RR or aName+_RRRR
//Pole roku (aName+_RR lub aName+_RRRR) jest obowiązkowe
//Jeżeli nie ma pola miesiąca:
//-> zwraca sytyczeń(aMaxDate==false) lub grudzień(aMaxDate==true)
//Jeżeli nie ma pola dnia:
//->zwarca pierwszy(aMaxDate==false) lub ostatni(aMaxDate==true) dzień miesiąca
//Jeżeli aSetField=true aktualizuje pole wpisu (ukryte) o parametr aFieldName
funkcjaxtdGetInputDate(aFieldName,aMaxDate,aSetField)
// ---------------------------------------------------------------
//Zwraca wartość pola aName formularza XTEND
//Zwraca aDefValue, jeżeli pole nie może zostać odnalezione (domyślnie zero)
funkcjaxtdInputValue(aName,aDefValue)
// ---------------------------------------------------------------
//Zwraca formularz <form> XTEND
funkcjaxtdGetForm()
// ---------------------------------------------------------------
// Zwraca wartość elementu aElmt
//->Zaleca się używanie xtdInputValue
funkcjaxtdGetValue(aElmt)
// ---------------------------------------------------------------
//Zwraca tablicę Array zawierającą elementy DOM nazwy aName formularza XTEND
//Jeżeli nazwa aName jest znacznikiem <select>
//->Zwraca listę elementów <option>, jeżeli jest tylko jeden znacznik
//->Zwraca listę elementów <select>, jeżeli jest kilka znaczników
funkcjaxtdGetElmts(aName)
// ---------------------------------------------------------------
//Zwraca Tablicę zawierającą listę tych elementów, których nazwą jest aName
funkcjaxtdGetValues(aName)
//---------------------------------------------------------------
//Zapisuje wartość pozycji <select>, których nazwą jest aName, tak jak zmienna użytkownika XTEND
funkcjaxtdSelectSave(aName)
// ---------------------------------------------------------------
//Zwraca wartość tych wybranych pozycji <select>, których nazwą jest aName
funkcjaxtdSelectGetVal(aName)
// ---------------------------------------------------------------
//Wybierz te <option> aValue pozycji <select>, których nazwą jest aName
//->Zwraca wartość „prawda”, jeżeli wybór jest prawidłowy
funkcjaxtdSelectSetVal(aName,aValue)
// ---------------------------------------------------------------
//To samo w przypadku xtdSelectSetVal elementu <select> aElmt
funkcjaxtdSelectElmt(aElmt,aValue)
// ---------------------------------------------------------------
// aElmt może być zarówno Elementem jak i ID
funkcjaxtdSetClass(aElmt,aClassName)
// ---------------------------------------------------------------
funkcjaxtdRemoveClass(aElmt,aClassName)
Poniższe funkcje służą do zarządzania XML DOM obsługiwanych przez różne przeglądarki.
Są one dostępne poprzez zmienną globalną XTENDDOM.
Definicje takich pojęć, jak XML DOM, obiekt dokumentu XML, obiekt elementu XML i obiekt węzła (node) XML dostępne są na stronach Wikipedii.
// ---------------------------------------------------------------
//Zwraca Obiekt XML utworzony z ciągu aXmlStr
xtdCreate: function(aXmlStr),
// ---------------------------------------------------------------
//Zwraca do pojedynczego Ciągu XML (plik licencji)
//aObj oznacza albo obiekt dokumentu XML albo obiekt elementu XML
xtdToXml:function(aObj,format),
// ---------------------------------------------------------------
//Zwraca Tablicę zwierającą wszystkie elementy podrzędne aObj, których nodeName=aTagName
//aObj oznacza albo obiekt dokumentu XML albo obiekt elementu XML
xtdElementsByTagName:function(aObj,aTagName),
// ---------------------------------------------------------------
//Zwraca Hash (prototype.js) zawierający wszystkie atrybuty aElmt
//aElmt jest elementem obiektowym XML
xtdAttributes:function(aElmt),
// ---------------------------------------------------------------
//Zwraca tablicę (prototype.js) elementów XML zawierających wszystkie elementy podrzędne aElmt
//aElmt jest elementem obiektowym XML
//Zwraca utworzony element XML
xtdChildNodes:function(aElmt),
// ---------------------------------------------------------------
//Dodaje węzeł tekstowy do aElmt w formie tekstu aText
//<elmt>TEXT</elmt>
//Zwraca węzeł TEXT
xtdAppendTextNode:function (aElmt,aText),
// ---------------------------------------------------------------
//Dodaje podrzędne nodeName=aTagName do aElmt
//Zwraca utworzony element XML
xtdAppendChild:function (aElmt,aTagName),
// ---------------------------------------------------------------
//Usuwa podrzędny aElmt
//aRecursive=true do wydania wszystkich węzłów podrzędnych
xtdRemoveChilds:function (aElmt,aRecursive),
// ---------------------------------------------------------------
//Zwraca pierwszy element podrzędny aElmt
xtdFirstChild:function (aElmt),
// ---------------------------------------------------------------
//Zwraca pierwszy element podrzędny aElmt, taki jak nodeName=aTagName
xtdFirstChildByTag:function (aElmt,aTagName),
// ---------------------------------------------------------------
//Zwraca nextSibling dla aElmt
xtdNextSibling:function (aElmt),
// ---------------------------------------------------------------
//Zwraca nextSibling dla aElmt, taki jak nodeName=aTagName
xtdNextSiblingByTag:function (aElmt,aTagName),
// ---------------------------------------------------------------
//Zwraca wartość węzła tekstowego aElmt lub „”
xtdTextValue:function (aElmt),
// ---------------------------------------------------------------
//Wstawia nodeName==aTagName elementu taki jak pierwszy element podrzędny aElmt
xtdInsertFirst:function(aElmt,aTagName),
// ---------------------------------------------------------------
//Zwraca reprezentację JSON dla aDom dokumentu XML
xtdDomToJSON:function(aDom),
// ---------------------------------------------------------------
/*Zwraca reprezentację JSON dla aElmt elementu XML
Poniżej przedstawiony jest przykładowy XML:
-> Struktura XML
<A ATTR1=\'AT1\' ATTR2=\'AT2\'><B>TextB</B><C>TexteC</C></A>
-> Struktura obiektu JSON
{
'name': 'A',
'val': '',
'attrs': [{'ATTR1': 'AT1'}, {'ATTR2': 'AT2'}],
'children': [
{'name': 'B', 'val': 'TextB', 'attrs': [], 'children': []},
{'name': 'C', 'val': 'TextC', 'attrs': [], 'children': []}
]
}
*/
xtdElmtToJSON:function(aElmt),
// ---------------------------------------------------------------
//Zwraca reprezentację JSON tabeli elementów aArray XML
xtdElmtArrayToJSON:function(aArray)
try{
var wXML='<ROOT A1=\'1\' A2=\'2\'>';
wXML+='<A><AA>Val_AA</AA><AB>Val_AB</AB></A>';
wXML+='<B><BA>Val_BA</BA><BB>Val_BB</BB></B>';
wXML+='</ROOT>';
var wDOM=XTENDDOM.xtdCreate(wXML);
alert(XTENDDOM.xtdToXml(wDOM,true));
alert(XTENDDOM.xtdToXml(XTENDDOM.xtdElementsByTagName(wDOM,'BA')[0],true));
alert(XTENDDOM.xtdAttributes(wDOM.documentElement).toJSON());
var wFirst=XTENDDOM.xtdFirstChildByTag(wDOM.documentElement,'A');
XTENDDOM.xtdAppendTextNode(wFirst,'Added text');
alert(XTENDDOM.xtdToXml(wDOM,true));
alert(XTENDDOM.xtdDomToJSON(wDOM));
}catch(e){
alert(e);
}
Patrz: łącza dynamiczne.
Klasa XTENDAJAX.classHTMLBufferbiblioteki XtendAjaxUtils.js ułatwia budowanie łańcucha znaków HTML.
Klasa ta występuje również w bibliotece xtdWsvc.js przez co może być wykorzystywana przez skrypty serwera.
Konfiguracja aAttibutesmetod klasy XTENDAJAX.classHTMLBuffer opisana poniżej jest tabelą prostą, w której wprowadzone są poniższe pary: Nazwa/Atrybut/AtrybutWartości.
var wHtml=new XTENDAJAX.classHTMLBuffer();
//Dodawanie pola przycisku wprowadzania
// -> <input type='text 'class='inputBtn' value='Submit'>
wHtml.input('button',['class','inputBtn','value','Submit']);
//Dodanie tabeli
// -> <table class='classTab'><tr>
// <td>Content1</td><td>Content2<></td>
// </tr></table>
wHtml.table(['border','1','class','classTab']);
//Tworzy wiersz
wHtml.tr().td('Content1').endTd().td('Content2').endTd().endTr();
//Tworzy wiersz z tabelą komórek
wHtml.trFill(['Content1','Content2']);
inTable();
alert(wHtml.html());
//----------------------------------------------
//Dodaje aHtml html
append:function(aHtml),
//----------------------------------------------
//Dodaje znacznik <img>
img:function(aSrc,aBorder,aAttibutes),
//----------------------------------------------
//Dodaje znacznik <input>
input:function(aType,aAttibutes),
//----------------------------------------------
//Dodaje znacznik <select>
select:function(aAttibutes),
//----------------------------------------------
//Dodaje znacznik <select>
//-> aArrayOpts jest Tablicą zawierającą pary wartość/opis
// opcje tak jak dla atrybutów
//-> aKeySelected jest wartością wybranej opcji
selectFill:function(aAttibutes,aArrayOpts,aKeySelected),
//----------------------------------------------
//Znacznik końcowy <select>
endSelect:function(),
//----------------------------------------------
//Dodaje <option value='aValue'>aText</option>
//->aSelected=true aby wybrać tę opcję
option:function(aValue,aText,aSelected),
//----------------------------------------------
//Znacznik końcowy <option>
endOption:function(),
//----------------------------------------------
//Dodaje znacznik <textarea>
textarea:function(aValue,aAttibutes),
//----------------------------------------------
//Dodaje znacznik <label>
label:function(aAttibutes),
endLabel:function(),
//----------------------------------------------
//Dodaje znacznik <a>
a:function(aAttibutes),
endA:function(),
//----------------------------------------------
//Dodaje znacznik <form>
form:function(aAttibutes),
endForm:function(),
//----------------------------------------------
//Dodaje znacznik <table>
table:function(aAttibutes),
endTable:function(),
//----------------------------------------------
//Dodaje znacznik <tr>
tr:function(aAttibutes),
endTr:function(),
//----------------------------------------------
//Tworzy wiersz
//->aCells : Ciąg lub Tablica Ciągu
// Zawartość komórki
//aRowAttib: Atrybuty wierszy
//aCellsAttrib: Atrybuty <td> lub nagłówki <th> komórki
//aHeadings: błąd tworzenia wiersza <tr><td></td>
// tworzy wiersz nagłówka <tr><th></th>
trFill:function(aCells,aRowAttib,aCellsAttrib,aHeadings),
//----------------------------------------------
//Dodaje nagłówek <th>aContent</th>
thFill:function(aContent,aAttibutes),
th:function(aAttibutes),
endTh:function(),
//----------------------------------------------
//Tworzy komórkę <td>aContent</td>
tdFill:function(aContent,aAttibutes),
td:function(aAttibutes),
endTd:function(),
//----------------------------------------------
//Zwraca HTML
html:function(),
//----------------------------------------------
//Dodaje tag <fieldset><legend>aLegend</legend>
//-> aAttibutes: Atrybuty znacznika <fieldset>
//-> aLegendAttrs: Atrybuty znacznika <legend>
fieldset:function(aAttibutes,aLegend,aLegendAttrs),
endFieldset:function(),
//----------------------------------------------
//Tworzy element fieldset zawierający aContent
fieldsetFill:function(aContent,aAttibutes,aLegend,aLegendAttrs),
//----------------------------------------------
//Dodaje znacznik <pre>
pre:function(aAttibutes),
endPre:function(),
//----------------------------------------------
//Tworzy znacznik <pre> zawierający aContent
preFill:function(aContent,aAttibutes),
//----------------------------------------------
//Dodaje znacznik <span>
span:function(aAttibutes),
endSpan:function(),
//----------------------------------------------
//Tworzy znacznik <span> zawierający aContent
spanFill:function(aContent,aAttibutes),
//----------------------------------------------
//Dodaje znacznik <div>
div:function(aAttibutes),
endDiv:function(),
//----------------------------------------------
//Tworzy znacznik <div> zawierający aContent
divFill:function(aContent,aAttibutes),
update:function(aId),
//----------------------------------------------
//Metoda html, jak wyżej
toString:function(),