Drzewa i szablony - Mozilla | MDN\nDrzewa i szablony\nDodajemy źródło danych do drzewa\nStały rozmiar kolumn\nZawartość artykułu opisuje jak używać szablonów wraz z drzewami.\nKiedy używamy drzewa, często korzystamy z szablonu, aby zbudować jego zawartość, kierując dużą ilością hierarchicznych danych. Używając szablonu z drzewem stosujemy bardzo często podobną składnię z innymi elementami. Aby dodać datasources i atrybut ref do elementu tree, który określa źródło danych i węzeł podstawy wyświetla.\nNastępujący przykład odwołuje się do historii kodu źródłowego:\nJak opisano w poprzednim temacie, drzewa mogą używać programów do budowy drzew dla generatora szablonów zamiast normalnej zawartości programów do budowy. Oznacza to, że elementy te nie będą utworzone dla każdego wiersza w drzewie, robiąc go bardziej efektywnym. Atrybuty flags ustawią wartość dont-build-content,jak w przykładzie powyżej, sygnalizując użycie generatora drzew. Jeśli opuszczasz ten atrybut, generator zawartości zostanie użyty. Możesz zobaczyć różnice używając Inspektora Mozilla DOM w drzewie z lub bez flagi.\nJeśli używasz do budowy zamiast budowniczego zawartości, notatki że ta zawartość nie będzie generalnie pobierana do budowy aż do momentu kiedy nie będziesz tego potrzebował. W hierarchicznych drzewach, potomek-dziecko nie będzie brał generowanego tekstu aż węzeł rodzic nie zostanie otwarty przez użytkownika.\nW szablonie, jest po jednej treecell dla każdej kolumny w drzewie. Komórki powinny mieć atrybut label do ustawiania etykiety komórek. Jest to normalne ustawienie własności w RDF, tak więc etykieta jest pobierana z kodu źródłowego.\nNastępujący przykład demonstruje zbudowany szablon drzewa, w tym przypadku dla pliku systemowego:\nW ty miejscu, drzewo zostało utworzone z dwoma kolumnami, dla nazwy i daty pliku. Drzewo powinno zostać wyświetlone jako lista plików w katalogu głównym. Użyto tylko jednej zasady, ale ty możesz dodać inne, jeśli tego potrzebujesz. Tak samo z innymi szablonami, atrybut uri na elemencie wskazuje gdzie ma zacząć generować zawartość. Dwie komórki dostają nazwę i datę z kodu źródłowego i umieszcza ich wartość w etykiecie komórki.\nPrzykład pokazuje dlaczego atrybut uri staje się użyteczny. Zauważ jak to było na pozycji drzewa w przykładzie, nawet chociaż to nie jest prosty potomek elementu reguły. Potrzebujemy położyć ten atrybut na tych elementach, na których potrzebujemy uzyskać powtórzony kod. Ponieważ nie chcemy wielokrotnego elementu treechildren, nie chcemy to tam położyć. Skutecznie, elementy zewnętrzne (lub powyższe) elementu z atrybutem uri nie są duplikowane podczas gdy elementy z atrybutem uri i elementy wewnątrz są duplikowane dla każdego źródła.\nZaznaczony w obrazku element to potomek - dziecko, który jest umieszczony poniżej elementu z poziomu górnego, który został dodany automatycznie. XUL wie jak dodać element dziecka kiedy szablon lub zasady stanowią wartość elementu drzewa lub elementu menu. Generując elementy drzewa jako zagnieżdżone i konieczne oparte na dostępnych danych RDF.\nInteresującą partię danych z kodem źródłowym RDF jest w wartości tych zasobów, i edytujesz tylko zasoby decydując kiedy dane są potrzebne. Wyznacza to wartość na jaką głębokość w zasobach hierarchii są nie możliwe do utworzenia aż do nawigacji zasobami poprzez węzeł w drzewie. Stało się to użytecznym dla pewnego kodu źródłowego gdzie dane są dynamicznie możliwie.\nJeśli wypróbujesz poprzedzający przykład, moglibyśmy zaznaczyć to w co lista nie jest posortowana. Drzewa które generują dane z kodu źródłowego posiada nieobowiązkową zdolność posortować ich dane. Możemy posortować każdy podnoszący się i obniżający na jakiejkolwiek kolumnie. Użytkownik może zmienić posortowane kolumny i kierunek poprzez kliknięcie nagłówka kolumny. Właściwości sortowania nie są dostępne dla wartości drzew statycznych, chociaż możemy pisać skrypty zawierające dane.\nSortując angażuje trzy atrybuty, które powinny być umieszczone w kolumnach. Pierwszy atrybut, sort powinien być ustawiony na własności klucza sortowania używanego w RDF. Często, może to być użyta taka sama nazwa etykiety w komórce kolumny. Jeśli ustawisz sortowanie na kolumnę, to wtedy będą sortowane w niej dane. Użytkownik może zmienić kierunek sortowania klikając w nagłówek kolumny. Jeśli nie ustawisz atrybutu sort w kolumnie, dane nie mogą być sortowane w tej kolumnie.\nAtrybut sortDirection jest używany do ustawienia kierunku w którym kolumny będą sortować domyślnie. Poszczególne możliwe cechy:\nascending: dane są wyświetlane rosnąco\ndescending: dane są wyświetlane malejąco\nnatural: dane są wyświetlone w rozkazie naturalnym , które znaczy polecenie danych jest przechowywane w kodzie źródłowym RDF.\nAtrybut finalny, sortActive powinien być ustawiony na true dla jednej kolumny, jeden którego wybraliśmy będzie sortowany domyślnie.\nChociaż sortowanie działa bez zarzutów i prawidłowo tylko z tamtymi narzędziami, możesz także użyć klasę stylu sortDirectionIndicator w kolumnie, w której będzie ona sortowana. Będzie powodować mały trójkąt pojawiający się nagłówek, który wskazuje kierunek sortowania. Jeśli nie chcesz tego robić, możesz dalej sobie sortować kolumny ale nie uzyska wskazówek dotyczących kierunku aktualnego sortowania.\nPoniższy przykład pokazuje zmiany kolumn we wcześniejszym przykładzie poprzez dołączenie extra własności:\nJedna dodatkowa rzeczą możesz chcieć zrobić wytrzymałe kolumny, które są aktualnie sortowane, więc to jest zapamiętywane pomiędzy sesjami. Aby zrobić to, użyjmy atrybutu persist na każdym treecol elemencie. Znajduje się tam pięć atrybutów kolumn, które będą upierały się, aby zapisać width (długość) kolumn, kolumna rozkazu, czy kolumna jest jawna, która kolumna jest aktualnie posortowana i sortuje instrukcje. Poniższy przykład pokazuje przykładowe kolumny:\nDodawanie atrybutów zasad\nTutaj mamy dwa dodatkowe atrybuty, które mogą zostać dodane jako elementy zasad, które pozwolą na określenie pewnych specjalnych okoliczności. Oba atrybuty są typu boolean.\njeśli ten atrybut jest ustawiony na wartość true, następnie zasady dopasują kod źródłowy, który posiada potomka-dziecko. Na przykład, możemy używać zasad aby dopasować foldery zakładek. Jest to wygodny jako kod źródłowy RDF nie potrzebującego wszelkich specjalnych atrybutów wskazujących na to.\njeśli ten atrybut jest ustawiony na wartość true, następnie zasady dopasują kod źródłowy tak aby nie posiadać potomka - dziecka.\nDwa powyższe atrybuty są naprawdę swoimi przeciwieństwami. Zasoby mogą być w zbiornikach i będą puste jako dobre(?). Kiedykolwiek, różnice pochodzą z kodu, to nie będzie zbiornikiem. Na przykład, folder zakładek jest pojemnikiem ale to siła nie może mieć potomka. Kiedykolwiek, pojedyncza zakładka lub separator nie są żadnym pojemnikiem.\nMożesz połączyć te dwa elementy z innymi aplikacjami, atrybutami dla określonych zasad.\nNastępnie, zobaczymy trochę kodu źródłowego dostarczonego przez Mozillę.


W metodach inwazyjnych wymienić należy stosowaną chyba najczęściej metodę iniekcji. Polega ona na wytworzeniu w przegrodzie przepony przerywającej podciąganie kapilarne (jednoznacznie wskazuje to na przyczynę zawilgocenia) i uzyskanie w dalszym czasie w strefie muru nad przeponą obszaru o normalnej wilgotności.\nWyróżnić tu można iniekcję grawitacyjną, ciśnieniową, elektroiniekcję i termoiniekcję. Wariantami iniekcji ciśnieniowej są także iniekcja wielostopniowa oraz iniekcja impulsowa.\nIniekcje w przegrody murowane w praktyce można wykonywać iniektami na bazie krzemianów alkalicznych, alkilometylosilikonianów, kompozycji alkalicznych krzemianów i metylosilikonianów, propylosilikonianu potasu, kompozycji silanów i siloksanów oligomerycznych, silanów wodorozpuszczalnych i parafin.\nSpotyka się także iniekty cementowe z dodatkami i modyfikatorami i dodatkami (iniekcja wykonywana jest zaczynem cementowym). W praktyce ogranicza się to do dwuskładnikowych preparatów zwanych mikroemulsjami silikonowymi (koncentrat rozcieńczany wodą) oraz jednoskładnikowych preparatów krzemianowych z wymienionymi modyfikatorami i dodatkami lub ich kombinacją.\nOd kilku lat coraz większą popularnością cieszą się kremy iniekcyjne w postaci emulsji, na bazie silanów i siloksanów, o działaniu hydrofobizującym.\nIniekcja grawitacyjna preparatami ciekłymi jest stosowana coraz rzadziej. Ma wiele ograniczeń, zwłaszcza dotyczących maksymalnej wilgotności ścian (np. dla cegły za maksymalny przedział wilgotności masowej, przy której iniekcja grawitacyjna ma w ogóle sens, przyjmuje się 10–12%).\nTakich ograniczeń nie ma iniekcja ciśnieniowa oraz iniekcja grawitacyjna kremami iniekcyjnymi. Ich zaletą jest możliwość iniekcji w mur całkowicie przesycony wilgocią.\nIniekcje w murach z pustkami lub w murach żebraczych można wykonywać specjalnymi lancami iniekcyjnymi, wykonanymi na wymiar dla konkretnego odcinka muru.\nSkuteczna może też być iniekcja impulsowa, iniekcja wielostopniowa (tzw. mokre w mokre - w mur wprowadza się pod ciśnieniem specjalną upłynnioną zaprawę wypełniającą rysy i pustki, a po kilkudziesięciu minutach wykonuje się w te same otwory właściwą iniekcję) lub stosowanie kremów iniekcyjnych.\nUsytuowanie otworów iniekcyjnych zależy od koncepcji prac renowacyjnych, warunków wilgotnościowych ściany i warunków gruntowych na zewnątrz obiektu poddawanego renowacji.\nOsiowy rozstaw otworów zależy od chłonności muru (zwłaszcza zaprawy). Otwory wykonuje się jedno-, dwu- lub (rzadziej) wielorzędowo, w strefie kapilarnego podciągania wilgoci. W związku z tym obszar wykonywania robót ograniczony jest do obszaru występowania wilgoci bezciśnieniowej, tj. do obszaru cokołowego (powyżej poziomu otaczającego terenu) oraz - w przypadku ścian piwnic - powyżej maksymalnego poziomu występowania wody ciśnieniowej.\nPrzeczytaj też: Osuszanie zawilgoconych budynków znajdujących się na niestabilnych podłożach >>>\nZa optymalny przyjmuje się rozstaw otworów rzędu 10-12,5 cm przy iniekcji jednorzędowej. Przy dwurzędowej natomiast rozstaw otworów w jednym poziomie nie powinien przekraczać 20 cm przy maksymalnym odstępie między rzędami 8 cm.\nOtwory (o średnicy zazwyczaj kilkunastu mm) należy wiercić poziomo lub pod kątem (zwykle do 30°). Proces powinien przebiegać przy jednostajnym ciśnieniu nieprzekraczającym 10 bar (zazwyczaj 3-5 bar - iniekcja niskociśnieniowa) do momentu uzyskania równomiernej, poziomej strefy działania.\nIniekcja impulsowa wymaga stosowania wyłącznie mikroemulsji silikonowych i specjalnego, programowanego agregatu podającego iniekt. Cały proces iniekcji sterowany jest automatycznie. Odpowiednio ustawiony programator pozwala na zoptymalizowanie parametrów procesu (ciśnienia, czasu impulsu, przerwy, czasu trwania iniekcji). Nie stosuje się pakerów, lecz lance iniekcyjne. Są to specjalne rurki z nawierconymi rzędami otworów o średnicy nieprzekraczającej 1 mm.\nNa rynku funkcjonuje także opatentowana metoda tzw. iniekcji krystalicznej. Polega ona na wprowadzeniu w przegrodę specjalnej mieszanki iniekcyjnej, której głównym składnikiem jest opatentowany aktywator krzemianowy. Jego skład zależy od rodzaju materiału przegrody, stopnia jej zawilgocenia oraz zasolenia.\nElektroiniekcja jest to sposób osuszania, będący połączeniem elektroosmozy z metodami iniekcyjnymi (jest to w zasadzie odpowiedź na pewne niedoskonałości elektroosmozy). Skutkiem przyłożenia napięcia i powstałej różnicy potencjałów jest znaczące opróżnienie porów kapilarnych, co znacząco ułatwia wprowadzenie środka iniekcyjnego (wilgotność wyjściowa muru potrzebna do wykonania iniekcji nie powinna być większa niż 10%).\nDo wytworzenia potencjału stosuje się źródło zasilania o napięciu prądu równym 24 V. Warunki wprowadzenia iniektu nieco różnią się w zależności od tego, czy stosuje się elektroiniekcję zwykłą (klasyczną), dynamiczną czy aktywną. W przypadku metody aktywnej używa się specjalnego środka, który umożliwia utrzymanie stałego napięcia prądu.\nTermoiniekcja polega na osuszeniu strefy iniekcji generatorami mikrofalowymi. Suszenie następuje podczas przesuwania generatora mikrofalowego po powierzchni przegrody. Przy użyciu tej techniki można dowolnie ograniczać osuszany obszar.\nSpotykane w budownictwie urządzenia mikrofalowe do osuszenia przegród charakteryzują się mocą od 800 W do kilku kW. Ze względu na ich moc można osiągnąć temperaturę niebezpieczna dla muru, dlatego konieczne jest stałe jej monitorowanie. Osuszanie tym sposobem może być skuteczne w murach grubości rzędu nawet 2 m.\nKolejną zaletą tej techniki jest to, że podczas emisji mikrofal dochodzi również do denaturacji życia biologicznego mogącego występować w przegrodzie. Po etapie osuszenia do wilgotności masowej rzędu 7-8% w przegrodzie wykonuje się klasyczną iniekcję ciśnieniową.