Development

EXTjs scrolling problem nested Panel in Window

I’ve had terrible times searching for a solution. The problem: i have window (Ext.window) which contains two panels (Ext.Panel and Ext.FormPanel). These panels need Autoheight. If the content exceeds the height of the window, it gives a scrollbar. Scrolling works fine in Firefox (FF) and Internet Explorer 6 (IE6), but not in Internet Explorer 7 (IE7). The Panel and FormPanel stay where they are, but the topic bar does scroll. Very annoying.

After spending some hours in trying to find out what is the problem, or maybe finding how to find more people with similar problems, i finally came at: http://www.extjs.net/forum/showthread.php?p=224621

The problem with ie7 is described / shown here: Overflow Auto and Position Relative

The solution is simple but effective. Place the following code after you’ve loaded ext-all.js:
Ext.Panel.override({
setAutoScroll: function() {
if (this.rendered && this.autoScroll) {
var el = this.body || this.el;
if (el) {
el.setOverflow('auto');
// Following line required to fix autoScroll
el.dom.style.position = 'relative';
}
}
}
});

Google Chrome – een eerste indruk

Ik heb Google Chrome maar gelijk even geinstalleerd en los gelaten op de websites die we met ons bedrijf hebben gemaakt. Alles werkt! De grootste vrees is natuurlijk dat er weer een lijstje met uitzonderingen moet worden gemaakt voor deze nieuwe browser. Dat is dus niet zo, de Acid2 test wordt zelfs glorieus doorstaan.

Wat me opvalt is de snelheid waarmee de pagina’s worden getoond. Ik heb hiervoor een ideale testcomputer: een te trage P4 die met Firefox 3 duidelijk eerst de HTML laadt en dan pas de CSS. In een nog kortere tijd weet Google Chrome deze pagina’s te renderen en op mijn scherm te tonen. 

Ook het opstarten van het programma gaat lekker vlot. Op het eerste oog is ie ook lekker zuinig met geheugen, dat is voor zo’n P4 wel lekker!

Ehh wat hebben we nog niet bij ‘The Big G’?

Ze moeten gedacht hebben, wat hebben we nog niet, waar we toch een hele grote massa mee kunnen aanspreken? En dan moeten we iets bedenken waardoor we nog beter het surfgedrag van de mensen kunnen bestuderen… een webbrowser!

Ja het is echt waar, Google komt binnenkort met een eigen webbrowser. Concurrentie voor Internet Explorer, Safari en mijn geliefde Firefox. De naam van het product? Google Chrome. Ondertussen bevestigd op de officiële blog van Google. Vanaf vandaag is Google Chrome als beta te verkrijgen in meer dan 100 landen!

Zoals op te maken valt, is de grootste reden van het maken van een eigen browser, de behoefte aan een platform waarop webapplicaties stabiel en multithreaded kunnen draaien, zonder daarbij onnodig veel geheugen te verbruiken of voor deadlocks te zorgen. Web applicaties zijn voor de klanten van d-Media geen nieuws, maar wellicht voor een enkele achtergebleven gebruiker: er is echt een verschil tussen websites en webapplicaties!

Volledig in stijl is er een comicbook gemaakt over de redenen en de geimplementeerde technieken: http://www.google.com/googlebooks/chrome/.

Update: Link toegevoegd -> http://www.google.com/chrome

tinyMCE in een lightview2 box?

Het idee: laat een tinyMCE editor zien in een lightview box. In mijn geval om een stuk tekst te kunnen bewerken.

Ik heb daarbij gebruik gemaakt van het plaatsen van de benodigde onderdelen in een hidden DIV, die ik dan aanroep. De zogenaamde inline methode.

De eerste keer gaat dit goed. Editor is mooi geladen, tekst te bewerken niks aan de hand. Wil je dan een tweede keer de tekst bewerken, dan wordt het venster met de content niet getoond.

Alle opties, zoals het unloaden van tinyMCE, het laden bij de status lightview:opened e.d. hebben me niet kunnen helpen. Uiteindelijk teruggevallen op een halfslachtige oplossing:

Geef de gebruiker een bewerken en opslaan knop. De bewerken knop activeert de tinyMCE, de opslaan (uiteraard naast het opslaan) deactiveert de tinyMCE.

Waar het volgens mij mee opgelost kan worden, is om op de ‘close’ actie (dat kan nu niet) van de lightview, te gebruiken om de tinyMCE te deactiveren.

Iemand al wel succesvol dit kunnen implementeren?