'Class module
Sub Class_Globals
Public myCard As ABMContainer
Public myID As String
Dim ABM As ABMaterial
Dim myLike As LikeComponent
Public IsOpen As Boolean
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize
End Sub
public Sub Build(page As ABMPage, ID As String) As ABMContainer
myID = ID
myCard.Initialize(page, ID, "zdepth")
myCard.AddRowsM(1,False,0,0,"").AddCellsOSMP(1,0,0,0,2,2,1,10,0,20,0,"").AddCellsOSMP(1,0,0,0,10,10,11,0,0,50,0,"")
myCard.AddRowsM(1,True,0,0,"").AddCells12MP(1,0,0,0,0,"")
myCard.AddRowsM(1,True,0,0,"").AddCells12MP(1,0,0,11,11,"border")
myCard.AddRowsM(1,True,10,0,"").AddCellsOSMP(1,0,0,0,6,6,6,0,10,0,0,"").AddCellsOSMP(1,0,0,0,6,6,6,0,10,0,0,"right")
myCard.AddRowsM(1,True,0,0,"").AddCells12MP(1,0,0,0,0,"lightgrey")
myCard.AddRowsM(1,False,0,10,"").AddCells12MP(1,0,10,0,0,"")
myCard.BuildGrid
Dim Poster As ABMImage
Poster.Initialize(page, ID & "Poster", "../images/download" & Rnd(1,21) & ".jpg?" & ABMShared.AppVersion,1)
myCard.Cell(1,1).AddComponent(Poster)
Dim lblTitle As ABMLabel
lblTitle.Initialize(page, ID & "Title", "{B}{C:#3658b2}" & ABM.Util.words(Rnd(2,5)) & "{/C}{/B}{BR}{C:#90949c}" & Rnd(1,60) & " minutes", ABM.SIZE_PARAGRAPH, False, "")
myCard.Cell(1,2).AddComponent(lblTitle)
Dim lblPost As ABMLabel
lblPost.Initialize(page, ID & "Post", ABM.Util.Words(Rnd(5,10)), ABM.SIZE_PARAGRAPH, False, "")
myCard.Cell(2,1).AddComponent(lblPost)
myCard.Cell(3,1).AddComponent(CardContent(page, ID))
myLike.initialize(page, ID & "Like", Rnd(20, 500))
myCard.Cell(4,1).AddComponent(myLike.ABMComp)
Dim reactionNumber As Int = Rnd(1,10)
Dim lblReactionNum As ABMLabel
lblReactionNum.Initialize(page, ID, reactionNumber & " reactions", ABM.SIZE_PARAGRAPH, False, "")
lblReactionNum.Clickable = True
myCard.Cell(4,2).AddArrayComponent(lblReactionNum, "Reactions")
myCard.Cell(5,1).AddComponent(CardReactions(page, ID, reactionNumber))
Return myCard
End Sub
private Sub CardContent(page As ABMPage, ID As String) As ABMContainer
Dim CardCont As ABMContainer
CardCont.Initialize(page, ID & "Contents", "")
CardCont.AddRowsM(1, False, 0,0, "").AddCells12(1,"")
CardCont.AddRowsM(1, False, 0,0, "").AddCells12MP(1,0,0,10,10,"")
CardCont.AddRowsM(1, False, 0,0, "").AddCells12MP(1,0,0,10,10,"")
CardCont.BuildGrid
Dim image As ABMImage
image.Initialize(page, ID & "image", "../images2/" & Rnd(1,21) & ".jpg?" & ABMShared.AppVersion,1)
image.IsResponsive = True
CardCont.Cell(1,1).AddComponent(image)
Dim imageTitle As ABMLabel
imageTitle.Initialize(page, ID & "imageTitle", "{B}" & ABM.Util.words(Rnd(5,8)) & "{/B}", ABM.SIZE_H5, False, "")
imageTitle.IsFlowText = True
CardCont.Cell(2,1).AddComponent(imageTitle)
' Dim divider As ABMDivider
' divider.Initialize(page, ID & "Divider", "divider")
' CardCont.Cell(3,1).AddComponent(divider)
Dim imageBy As ABMLabel
imageBy.Initialize(page, ID & "imageBy", "{C:#90949c}COPYRIGHT BY | {/C}{C:#5f72c1}" & ABM.Util.words(Rnd(1,3)).ToUpperCase & "{/C}", ABM.SIZE_PARAGRAPH, True, "")
CardCont.Cell(3,1).AddComponent(imageBy)
Return CardCont
End Sub
private Sub CardReactions(page As ABMPage, ID As String, reactionNumber As Int) As ABMContainer
Dim CardReacts As ABMContainer
CardReacts.Initialize(page, ID & "reactions", "")
CardReacts.AddRowsM(1, False, 0,0, "").AddCells12MP(1,0,0,10,10,"")
CardReacts.BuildGrid
CardReacts.SetContentIsOpen(False)
For i = 1 To reactionNumber
CardReacts.Cell(1,1).AddComponent(Reaction(page, ID, i))
Next
Return CardReacts
End Sub
private Sub Reaction(page As ABMPage, ID As String, counter As Int) As ABMContainer
Dim React As ABMContainer
React.Initialize(page, ID & "reaction" & counter, "")
React.AddRowsM(1, False, 0,0, "").AddCellsOSMP(1,0,0,0,2,2,1,10,0,20,0,"").AddCellsOSMP(1,0,0,0,10,10,11,0,0,50,50,"")
React.BuildGrid
Dim PosterReact As ABMImage
PosterReact.Initialize(page, ID & "PosterReact" & counter, "../images/download" & Rnd(1,21) & ".jpg?" & ABMShared.AppVersion,1)
React.Cell(1,1).AddComponent(PosterReact)
Dim PosterText As ABMLabel
PosterText.Initialize(page, ID & "PosterText" & counter, "{B}{C:#5f72c1}" & ABM.Util.words(Rnd(2,5)) & "{/C}{/B} " & ABM.Util.Words(Rnd(2,15)), ABM.SIZE_PARAGRAPH, True, "")
React.Cell(1,2).AddComponent(PosterText)
Return React
End Sub