jsmenu-codedev Mailing List for Morten's JavaScript Tree Menu
Status: Inactive
Brought to you by:
nettrom
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(10) |
Feb
(11) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Morten W. <war...@on...> - 2002-10-13 16:51:29
|
have tried to get item tracking faster (by making the item force it instead of using MTMTrackExpand()), as well as working on how submenus and tracking is done. not done yet. 2002-10-13: - Worked on bug #455582, tracked item lost on sub action. Changes to how items do submenu opening & closing etc is changed. All items that point to URLs have an itemClick() method defined and that takes care of tracking & submenu opening (submenu closing is still done through MTMSubAction()). - Changed tracking code so it's able to track multiple items - Added direct setting of tracked item, forced update through itemClick() and ignore-variable so that the tracking code call from the document an item points doesn't refresh the menu. Should speed up things by quite an amount. - Changed how submenus are auto-closed, MTMCloseSubs() has changed and is a recursive function go upwards, and is now called from MTMSubAction() and not from MTMDisplayMenu(). - Added childNodes-reference (points to submenu.items) so that the code can say item.childNodes[i] instead of item.submenu.items[i]. - Code has bugs regarding handling of items. Tracking is turned on at times where it shouldn't, creating unwanted effects. - Scrolling doesn't work (it's turned off for a rewrite) Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-08-25 19:33:07
|
I've taken a couple of steps backwards to try to get development going again. over the months that have passed since v2.3.2 got released I've tried to do a large amount of change in the code to incorporate some important fixes (tracking of multiple items, direct expansion and highlight of items, and more usage of DHTML capabilities) but ended up walking into a dead-end with those. therefore I've gotten the v2.3.2-macfriendly code into CVS now, and will do smaller patches against that. I've kept the code I've written up to now and will merge some of those changes when I go along so it won't be necessary to do all the work again. so today's Changelog says: 2002-08-25: - Merged IE stylesheet patch to mtmcode.js and updated CREDITS. - Merged patch #536699 to mtmcode.js, but it ended up being a simple change of location.hostname to location.host, since that works. Updated CREDITS, of course. - Fixed bug #527465 by changing the code that sets MTMUA.preHREF. Now it'll also work with a query string containing "/" (i.e "code.html?foo=bar/baz"). - Removed all unwanted references to MTMUA.preHREF, changing them to use MTMUA.resolveURL(). This makes image, stylesheet and script URLs correctly resolve relative to the path of code.html. 2002-08-25: - Checked in v2.3.2-macfriendly so that CVS and release are in sync - Updated COPYING, CREDITS & ChangeLog with the files from the v2.3.2-macfriendly release. - Tagged all files with rel-2-3-2-macfriendly so they're marked. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-26 12:10:31
|
I checked in a small patch 20 minutes ago attempting to fix the IE5/Mac problems: 2002-02-26: - Altered the if()-statement in the IE detection code deciding whether the browser is DOM-capable or not so that it rejects Mac-browsers. In other words they'll fall back to the IE4/Windows-approach. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-25 22:24:17
|
I've been having a look at the list of open bugs & feature requests and have found a few I'd like to look at for v2.3.3. The problems with IE5/Mac is given first priority, after that comes the following things, not in order of priority: 1: style-element's id-attribute doesn't validate. this isn't a very difficult thing to fix, grab the HTML 4.01 Transitional DTD, add the id-attribute, write some instructions, publish on the web, include it in the documentation 2: Pre/postload all images. (this of course includes any items in the icon list) 3: tracked item lost on sub action. 4: test the iframe-support patch. #3 is a slightly larger issue. I'm thinking along the lines of rewriting the tracking functionality somewhat, since it's not optimal at the moment. my ideas are: 1: all items should have an itemClick() method defined, and they should use an onclick-event to call that method, setting the tracked item, refreshing the menu (the first call to MTMDisplayMenu() after this is ignored, so the menu isn't refreshed twice) 2: the code behind itemClick() will store the previously tracked item so that it can use DOM-methods directly to set/unset the class properties, thereby removing the need for a redisplay of the menu. 3: itemClick() for submenus will not redisplay the menu either, just add the necessary items to the document if needed, and set their style-properties to "display:none;" when they're removed. this change means that the tracking code will only be used when the user hits his/her back-button or follows a link in document. instead of working on a first-hit basis it should store any items found in an array, enabling hits on more than one item. secondly it won't need to open & close submenus while it's doing this since that can be done by walking _up_ the tree once a hit is found using the .parentNode property of the item. this will of course also mean changes to the code for auto-closing of submenus is needed. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-25 19:43:12
|
with the release of v2.3.2 there were a few changes to the release-archive part of the CVS repository. the following files were added or changed: tree-menu/example-site/install-guide/options/time-out.shtml tree-menu/example-site/upgrading/version-2.2.6.html tree-menu/example-site/upgrading/version-2.3.0.html tree-menu/example-site/upgrading/version-2.3.1.html tree-menu/example-site/code.html tree-menu/example-site/javascript-frameset.html tree-menu/example-site/mtmcode.js tree-menu/example-site/mtmtrack.js tree-menu/CREDITS tree-menu/ChangeLog tree-menu/README the only real change was MTMTimeOut which due to patch #510937 now can be set to 0 and upwards, not 1 like before. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-22 17:17:20
|
Two quick bugfixes to get v2.3.2 ready: 2002-02-22: - Refixed bug #517717 so MTMcreateStyleSheet() doesn't barf when the Mozilla quirk style element isn't present. - Fixed a part of the output code for non-DOM-capable browsers which made the first parts of the document not being output correctly. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-19 19:56:43
|
Fixed one bug, declared bug #424050 a "won't fix", and had a closer look at bug #424794 in Mozilla 0.9.8 noticing that they're doing things better now. Things are progressing nicely, in my opinion: 2002-02-19: - Rewrote the browser sniffing code in function MTMBrowser() so it sniffs for Opera first. This simplified things a bit since it means Opera pretending to be IE/Netscape is still sniffed as Opera. - Fixed bug #517717 through disabling existing style sheets in DOM- capable browsers. Function MTMdisableStyleSheets() created to do this since it'll be used for both inline and linked style sheets (before they're written to the document). Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-18 22:08:30
|
The bug fixes continues. Looked at two of the bugs introduced in v2.3.1 and fixed both of them. Yesterday the web site got a few updates too (particularly to the list of sites in use), but that's not mentioned here :) 2002-02-18: - Removed usage of "height: 100%;" in inline style sheet, thereby fixing bug #510929. Tried reproducing the non-tiling background image, but couldn't, am unsure where it came from but now things work like they should. - Removed the NN6-scrollTo(0,0) and changed scrollBy() to scrollTo() in the scroll code, which temporarily fixes bug #512447. Scrolling is done correctly, but it now also scrolls even though the link is in view. Created feature request #519613 for this issue. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-16 11:17:41
|
So far just a small patch inserted, changing an if()-statement in MTMStartMenu() which in turn means MTMTimeOut now can be set to 0 for no delay (previously it had to be 1). I imported the release archive into the CVS repository, so all documentation and everything for that is also available from CVS. 2002-02-15: - Changed if()-statement in MTMStartMenu() in accordance with patch #510937. - Imported release archive into CVS repository as "release-archive". Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-11 22:11:42
|
one of the more useful features is now supported. I've tried to test the function to make sure it works correctly, as far as I can tell it does. tracking of "../"-URLs rocks :) 2002-02-11: - Finished creating MTMresolveURL() which now means that the tree correctly tracks relative URLs using "../" (it's not fool-proof though, "foo/../bar" isn't resolved to "bar", and a "../" too many will result in URLs like "http://main.html"). Notes: - All protocols/schemes found in absoluteArray[] will be regarded as non-local URLs, and will be used directly. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-08 14:53:31
|
2002-02-08: - Initial work on function MTMresolveURL (becoming method resolveURL() of object MTMBrowser()), giving the rough outline of the function as well as those parts of MTMCheckURL() that are useful. - Bumped version number to 2.3.2-alpha. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-06 21:21:29
|
It's time to start working on v2.3.2. The development of this version will be interesting since Michael Richards is joining as a co-developer, a first for this project (but hopefully not the last). I'll be starting off by looking at feature request #490933, writing a URL resolver for the menu so it'll start working with relative URLs using "../". since preHREF is a property of the MTMBrowser() object I'm thinking of making MTMBrowser.resolveURL(), which will take a given URL as its argument and resolve it. if it's an absolute URL it'll just return the given URL, if it's relative it'll be resolved relative to MTMBrowser.preHREF, which is how the menu works now. since it'll be a replacement to MTMCheckURL() (which does some of this functionality now) it'll also take a second argument, and return true/false depending on whether the given URL is relative or not. then I'll be looking into bugs 510929 about the constant scrollbars in Mozilla/Netscape 6, and 512447 which is the buggy scrolling. after that I'll look into something else :) Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-02-06 21:05:30
|
I'm posting this even though it's 3 days since the release just to make sure it's publicly annonced. 2002-02-03: - Updated CREDITS & ChangeLog so they're ready for release of v2.3.1 Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-28 23:49:04
|
couldn't go to bed without fixing this: 2002-01-29: - Fixed bug #509834 by adding a small while() loop to function MTMinitializeDOMDocument(), thereby removing any existing content in MTMUA.document.body. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-28 19:56:21
|
tackled the IE4 right-click message bug, and failed. started doing various odd things that need to be done before release: 2002-01-28: - Created default values for all user-configurable options. These will be documented when the install guide is rewritten, which is before release, of course. - Tried to fix bug #509230, but IE4 refused to let me fix it. Therefore MTMrightClickMessage remains for IE4 users, with the alert() that unfortunately follows it. - Converted all usage of spaces to indent lines to tabs. Those who still want 2-space indendation should set their tab-settings accordingly Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-27 18:32:05
|
bugfixes and more bugfixes (and the introduction of a bug more): 2002-01-27: - Fixed bug #425628 by removing the mouseover-related arguments to MTMakeLink() in the case where MTMEmulateWE is false and submenu item has a URL. - Fixed bug #439482 by adding calls to focus the link after the menu is refreshed. This created bug #509210, and ideally should have some more checking before it occurs. See also feature request #503543 about this. - Fixed bugs #494822 & #426664 by testing some of the item's properties before returning true from MTMSubAction(). in some cases it'll then do a forced call to MTMDisplayMenu(). - Added a teste for the existence of the stored tracked item's frame before loading it, just in case we store a frame that isn't part of the parent frameset. - Fixed bug #439473 by removing the test for MTMFirstRun from the if()- statement handling the scroll code. if either MTMTrackedItem or MTMClickedItem is set there _is_ an item we can scroll to in the document, so no need to test for MTMFirstRun. Particularly useful now that we store both the expansion state and the tracked item. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-25 18:47:14
|
two small bugfixes today. wrapped up the NN4.x document.anchors[] bug that arrived yesterday so that everything regarding the IE6 back-button bug were done. also fixed the O5-bug which appears when using a dynamic frameset. in other words: 2001-01-25: - Fixed the NN4.x error regarding MTMUA.document.anchors[] that was introduced yesterday. This means bug #475697 is closed. - Fixed bug #459277, Opera 5.12 creating a JS error on startup. This was due to O5 not creating the 'parent' object before all frames were loaded. I fixed this by re-assigning the onload-call to MTMStartMenu() to parent.onload in O5 and that seemed to fix the bug. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-24 22:20:31
|
worked on cleaning up the code and getting support for IE4 back. extensive comments are below. note that NN4.x throws JS-errors now, something I'll look into next. 2001-01-24: - Removed variable MTMDoc. New property of MTMUA object, .document, is used instead. - MTMenuFrame is now only a user configurable variable (it was for a moment an object reference to the menu frame. New property of MTMUA object, .menuFrame, is used instead. - Changed function MTMgetFrames() since it's now a method of the MTMBrowser() object. References 'this' and calls this.setDocument() when found frame name corresponds to MTMenuFrame. - Added method setDocument() of object MTMBrowser() pointing to function MTMsetDocument)(). This function is new and gets a frame object reference as the argument (from function MTMgetFrames()). Will set properties 'menuFrame', 'document', and if necessary 'head'. - Added method appendElement() of object MTMBrowser(), referencing function MTMappendElement(). This function is also new, and used for browsers support DOM methods (IE5+ and Mozilla/Netscape 6). For more information about the method, see its extensive comments in mtmcode.js. - Global variable MTMTable is removed, instead property 'menuTable' of object MTMBrowser() (which means MTMUA.menuTable) is used. - Re-introduced script element in menu document for MTMRightClickMessage. This is to give the ability to prevent right-click also for IE4 users since linked .js-files is not supported in that browser. All other browsers are to use a linked .js-file. - all if()-statements should now be correct, IE4's working again. - Netscape 4.x produces some errors regarding MTMUA.document.anchors[], will look into that. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-23 22:00:39
|
continued work on fixing bugs left from fixing the IE6 bug. the Mozilla stuff worked, but slowed the speed down, which in turn means further development is needed later to speed it up again. IE4 gave plenty of headaches since it constantly crashes when writing a script element with src set to the document, and none of the other options seemed to work. IE5, IE6, NN4.x and Mozilla behave quite nicely. 2001-01-23: - Mozilla 0.9.7 doesn't support the scrollbar properties, so they're not inserted into the document at all, fixed with an appropriate if()-statement. also, Moz likes having 'height: 100%' for body, if not it doesn't repeat the background image like one wants it to. - right-click prevention code moved to right-click.js. file will be included at a later stage. - added configuration variable MTMLinkedInitFunction which is the name of the function found in the linked .js file that initializes setup. this is _required_ for a linked .js file to work. - IE4 doesn't seem to want to support a linked .js file, it only hangs. attempts to use insertAdjancentHTML() didn't work, neither did attempts to give the script and ID and use the .src property to load the .js-file. - menu doesn't work in IE4 at this time. will split the document output code ASAP to ease maintenance, debugging and development. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-21 23:48:33
|
no large changes. most of the time spent today went into researching dynamic adding of style sheets in Mozilla (not supported, I found out). apart from that: 2001-01-21: - changed some of the more complex if()-statements back to "if(!MTMUA.DOMable)" since they didn't work correctly with regards to Internet Explorer. am believing that it would be a lot simpler to split the document handling code into one that keeps using document.write() and one that doesn't. - as per comment added to bug #475697 the root element was previously removed from the table on each refresh. that is no longer done and the appropriate if()-statement wrapped around MTMAddCell() for the root item. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-17 23:55:11
|
fixed bug #503595, that a sub menu which is set as expanded doesn't also expand the sub's parent items. also did the rest of the work needed to get the IE6 back-button bug finally fixed. introduced another two bugs: linked .js-files currently do not work in IE5, IE6 and Mozilla, and also that Mozilla doesn't use the user-defined colors, fonts, etc. that part of the code is currently IE-centric until I have found out how to create a dynamic inline style sheet in Mozilla. changelog for today therefore is: 2001-01-17: - the IE6 back-button bug is no more, since the initial document now is created only through dynamically inserting HTML elements. the current code contains a few challenges though, like how to insert the linked script element and the right-click prevention code. currently broken are: - linked .js-file - user-defined colour, font, etc (since they rely on an inline style sheet) current code is very rough, cleaning is needed, but it works. - removed the test for isExpanded and instead added an if()-check to the parentNode-adding for()-loop, so that if any submenu item is expanded its parent element (which contains the submenu we iterate over) is expanded. this correctly fixes bug 503595, the previous patch didn't. 2001-01-16: - added a test for isExpanded and a quick while() loop to fix bug 503595 so that an expanded submenu also expands its parent items. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-14 13:19:39
|
continued work on the IE6-related bug as well as other bugfixes and improvements: 2001-01-13: - current codebase is not usable due to the rewrite of the initial document creation, which is trying to fix the IE6 backbutton bug. it can therefore not be used for anything besides code-examination. - removed function MTMakeA() and MTMakeBackImage() as they were no longer used. - added object MTMstyleRuleSet() with method .addRule() and changed the option MTMExtraCSS so it uses this ruleset. this is a result of working towards more usage of dHTML capabilities, of which one meant rewriting the whole CSS-output code. - fixed a bug in the browser-detection code which didn't correctly identify the minor versions of MSIE. - changed MTMClickedItem to be an object reference instead of a number, and changed the affected if()-statements to check MTMClickedItem.number. the change helps dynamically loading submenus since one has a reference to the expanded/closed submenu throught MTMClickedItem and won't have to write a lookup function. - bugfixed MTMAlwaysLinkIfWE which didn't correctly create the whole submenu item as a link when the option was turned off. 2001-01-11: - changed timeout in mtmtrack.js to 50ms to speed up refreshment of the menu. 50ms should be a good tradeoff between refresh speed and any slowdown of the page display from the menu update. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2002-01-03 11:40:14
|
started the new year with some bug hunting, here's what went into CVS last night: 2002-01-02: - added relocation script to code.html to fix the bug where IE bookmarks code.html. simple script that tests for a frameset. - started using TAB instead of spaces at the beginning of lines for indentation, saving file size and easing maintenance. - initial work on fixing the IE6 "back button doesn't work" bug. IE4 has not got a lot of possibility for manipulation of the document head. therefore a later update will instead separate IE4 from the rest and use more advanced dHTML. 2001-12-27: - added function MTMakeSVG(), given to me by Sachin Ghaisas and Chris Coulthrust. the function can be used in replacement of MTMakeImage() to insert an SVG object into the menu document. it is currently not used in any way, though. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2001-12-18 23:48:42
|
small feature-add update: 2001-12-19: - added variable MTMCodeFrame (default: "code") which contains the name of the frame containing code.html. enables usage of multiple menus. this variable was also added to mtmtrack.js so that one can have the right frame called from the tracking code too. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |
From: Morten W. <war...@on...> - 2001-12-10 22:05:56
|
mostly fixes to make menu building a lot easier, removing the need to know what item index in the items[] array you need and also the need for "new MTMenuItem()". the menu building update is currently undocumented, for an example of how the new structure looks, see <URL: http://groups.yahoo.com/group/tree_menu/message/942 > 2001-12-10 (part II): - added MTMTrackedCookie as a global variable. would cause a problem if cookies were turned off since there's an if(MTMTrackedCookie), browsers would throw an error since the variable doesn't exist. 2001-12-10: - added function MTMakeLastSubmenu() and created this as a method named "makeLastSubmenu", part of the MTMenuItem() object. - added method makeSubmenu, part of the MTMenuItem() object. no need to name the methods the same as the function when they're part of an object. foo.makeSubmenu() is much easier to read and work with than foo.MTMakeSubmenu(). - added a test to MTMAddItem() converting the first argument to a string. if it's an object we add it as usual, if not we create a new MTMenuItem() object. this makes menu creation even easier since users can now say menu.MTMAddItem("foo"); instead of having to create the new MTMenuItem(). - added method addItem, part of the MTMenu() object. again no need to name the methods the same as the function, addItem() is easier to read than MTMAddItem(). the function name stays the same to be unique though. Morten! -- "...a liquid which was almost, but not quite, entirely unlike tea." My opinions are not necessarily those of my provider, not necessarily mine, and probably not necessary. |