Rev 64 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'============================================================='//'// Crumbs'//'// version: 0.2'// last modified: 02-Sep-2004 09:24 by Sasha Vukovic'=============================================================%><%Class CrumbsPrivate enumLevelNamePrivate enumURLPrivate mNumberOfLevelsPrivate mobjLevelMapPrivate marrLevelDetails()Public mCrumbMaxDepthPublic mLinkSpacePublic Property Let Spacing( nNumOfSpaces )Dim imLinkSpace = ""For i = 1 To nNumOfSpacesmLinkSpace = mLinkSpace & " "NextEnd PropertyPublic Property Let CrumbMaxDepth( nCrumbMaxDepth )mCrumbMaxDepth = nCrumbMaxDepthEnd Property'-----------------------------------------------------------------------------------------------------------------Public Sub AddLevel ( sLevelName, sURL, nLevelNumber )Dim newArrayDimIf (sLevelName = "") OR IsNull(sLevelName) Then Exit Sub ' Exit if level name is emptyIf NOT mobjLevelMap.Exists ( CStr(nLevelNumber) ) ThennewArrayDim = UBound ( marrLevelDetails, 2 ) + 1ReDim Preserve marrLevelDetails( 2, newArrayDim )mobjLevelMap.Add CStr(nLevelNumber), CStr( newArrayDim - 1 )End IfmarrLevelDetails( enumLevelName, CInt( mobjLevelMap.Item( CStr(nLevelNumber) ) ) ) = sLevelNamemarrLevelDetails( enumURL, mobjLevelMap.Item( CStr(nLevelNumber) ) ) = sURLCall SetNumberOfLevels ( nLevelNumber )End Sub'-----------------------------------------------------------------------------------------------------------------Public Sub PrintCrumbs ()Dim LevelNumFor LevelNum = 0 To mNumberOfLevelsResponse.Write "<a href='"& marrLevelDetails( enumURL, LevelNum ) &"' class='menu_crumb'>"& marrLevelDetails( enumLevelName, LevelNum ) &"</a>"& mLinkSpaceIf (LevelNum <> mCrumbMaxDepth - 1) Then Response.Write "/"& mLinkSpace ' Render slash "/" only for folders, not last itemNextEnd Sub'-----------------------------------------------------------------------------------------------------------------Private Sub SetNumberOfLevels ( nLevelNumber )If nLevelNumber > mNumberOfLevels ThenmNumberOfLevels = nLevelNumberEnd IfEnd Sub'-----------------------------------------------------------------------------------------------------------------Private Sub Class_Initialize()'// Perform action on creation of object. e.g. Set myObj = New ThisClassNameSet mobjLevelMap = CreateObject("Scripting.Dictionary")ReDim marrLevelDetails ( 2, 0 )mCrumbMaxDepth = 0 ' Max depth crumb is suppose to gomNumberOfLevels = 0 ' Current number of levels (crumbs)mLinkSpace = " " ' Number of spaces between crumb linksenumLevelName = 0 ' Array enumenumURL = 1 ' Array enumEnd Sub'-----------------------------------------------------------------------------------------------------------------Private Sub Class_Terminate()'// Perform action on object disposal. e.g. Set myObj = NothingSet mobjLevelMap = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------End Class%>