I hadn't seen 4773 before. Can you summarize your "simple proposal"?
On 2011-03-18, at 11:04, André Bargull wrote: > This looks similar to LPP-4773, so better don't make the same mistake twice! > > >> You left a (n uncommented) Debug.info in there. >> >> Perhaps we should extend initstage to handle this case? I.e., have >> initstage be able to specify which children to init when? I'm always leery >> of using explicit constants like '3'. >> >> On 2011-03-18, at 02:12,max at openlaszlo.org >> <http://www.openlaszlo.org/mailman/listinfo/laszlo-dev> wrote: >> >> >/ Author: max >> />/ Date: 2011-03-17 23:12:38 -0700 (Thu, 17 Mar 2011) >> />/ New Revision: 18917 >> />/ >> />/ Modified: >> />/ components/trunk/lib/tab/tab.lzx >> />/ Log: >> />/ Change maxcarlson-20110317-Rbc bymaxcarlson at friendly >> <http://www.openlaszlo.org/mailman/listinfo/laszlo-dev> on 2011-03-17 >> 10:12:51 PDT >> />/ in /Users/maxcarlson/openlaszlo/trunk2/my-apps/components-clean >> />/ forhttp://svn.openlaszlo.org/components/trunk >> />/ >> />/ Summary: Defer instantiation of tab contents until open() >> />/ >> />/ Bugs Fixed: LPP-9826 (partial) >> />/ >> />/ Technical Reviewer: promanik >> />/ QA Reviewer: hminsky >> />/ >> />/ Details: Use method from tabslider/tabelement to defer child creation >> until open(). >> />/ >> />/ Tests: test/tab_test.lzx starts up ~3x faster. >> />/ >> />/ >> />/ >> />/ Modified: components/trunk/lib/tab/tab.lzx >> />/ =================================================================== >> />/ --- components/trunk/lib/tab/tab.lzx 2011-03-17 23:50:35 UTC (rev >> 18916) >> />/ +++ components/trunk/lib/tab/tab.lzx 2011-03-18 06:12:38 UTC (rev >> 18917) >> />/ @@ -90,6 +90,9 @@ >> />/ if (this.selected === selected) return; >> />/ this.selected = selected; >> />/ >> />/ + // If we still have children to create, do it! >> />/ + if (this.__remainingChildren) this.__finishCreate(); >> />/ + >> />/ // Tell the tabgroup about the change (unless initiated by >> it) >> />/ var istabgroup = (this.parent instanceof lz.tabgroup); >> />/ if (istabgroup&& !parent.updating&& this.selected) { >> />/ @@ -181,6 +184,33 @@ >> />/ ]]> >> />/ </method> >> />/ >> />/ +<!--- Override view.createChildren() to create only the first three >> />/ + children (the layout, tabtitle and tabpanel), deferring >> the rest >> />/ + until __finishCreate() is called >> />/ + @access private --> >> />/ +<method name="createChildren" args="children"> >> />/ +<![CDATA[ >> />/ + var istabgroup = (this.parent instanceof lz.tabgroup); >> />/ + if (istabgroup&& (! this.selected)) { >> />/ + super.createChildren(children.splice(0, 3)); >> />/ + if (children.length) { >> />/ + this.__remainingChildren = children; >> />/ + } >> />/ + } else { >> />/ + super.createChildren(children); >> />/ + } >> />/ + //Debug.info('createChildren', children); >> />/ + ]]> >> />/ +</method> >> />/ +<!--- Finish creating children >> />/ + @access private --> >> />/ +<method name="__finishCreate"> >> />/ +<![CDATA[ >> />/ + super.createChildren(this.__remainingChildren); >> />/ + Debug.info('__finishCreate', this.__remainingChildren); >> />/ + this.__remainingChildren = null; >> />/ + ]]> >> />/ +</method> >> />/ </class> >> />/ >> />/ >> />/ >> />/ >> />/ _______________________________________________ >> />/ Laszlo-checkins mailing list >> />/ Laszlo-checkins at openlaszlo.org >> <http://www.openlaszlo.org/mailman/listinfo/laszlo-dev> >> />/ http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins >> /
