List of Objects with Linkable Attributes

This page lists all Objects including their Linked Attributes, with options to link or unlink any Attribute individually or batched by type.   The Table, Attribute Labels, and Buttons are all styled using Bootstrap 3 default theme classes.   A list of all potential Attributes is generated and copied into each row, and later processed by jQuery to show (unhide) only the appropriate Unlinked Attributes for each Object.  
Processing this Hashtag Markup:
<# start list for objects;
	must relate id to object_attributes.object_id;
	must relate object_attributes.attribute_id to attributes.id;
	sort by objects.id, attributes.type desc, attributes.name as number;
#>
	<#: potential redirect :#>
	<# set links.<# id #>.<# attributes.id #>; #>
<# end list #>

<# start deep loop for links; #>
	Processing link for Object <# key1 #> ⇔ Attribute <# key2 #><br>
<# end loop #>
Note:This markup is useful in situations that require further processing of linked records, but only after all rows have been processed for potential redirects, such as checking for sufficient funds before batch processing a transaction.   This method avoids a second List that would generate another SQL query or external request.  
Processing link for Object 7b2b7659657f6ce1ced59699857d84dc ⇔ Attribute 166194a009500c368c7e73a2428eebbc
Processing link for Object 7b2b7659657f6ce1ced59699857d84dc ⇔ Attribute 10c1328b192de2dafa751c9005f6ddb4
Processing link for Object 7b2b7659657f6ce1ced59699857d84dc ⇔ Attribute 4b5aba6b699692ca6cdd7ab906210745
Processing link for Object 7b2b7659657f6ce1ced59699857d84dc ⇔ Attribute cbc0b47151389f4f7bb1ad46b567a1d8
Processing link for Object 7b2b7659657f6ce1ced59699857d84dc ⇔ Attribute ce0ccf6ce343cde873f57f8cd535ce8e
Processing link for Object 843a91649a684074ac5bb32bfa4638b1 ⇔ Attribute 166194a009500c368c7e73a2428eebbc
Processing link for Object 843a91649a684074ac5bb32bfa4638b1 ⇔ Attribute 10c1328b192de2dafa751c9005f6ddb4
Processing link for Object 843a91649a684074ac5bb32bfa4638b1 ⇔ Attribute 4b5aba6b699692ca6cdd7ab906210745
Processing link for Object 843a91649a684074ac5bb32bfa4638b1 ⇔ Attribute cbc0b47151389f4f7bb1ad46b567a1d8
Processing link for Object 843a91649a684074ac5bb32bfa4638b1 ⇔ Attribute ce0ccf6ce343cde873f57f8cd535ce8e
Processing link for Object 898e186e0903fada4c6288d7377d8e1f ⇔ Attribute 166194a009500c368c7e73a2428eebbc
Processing link for Object 898e186e0903fada4c6288d7377d8e1f ⇔ Attribute 10c1328b192de2dafa751c9005f6ddb4
Processing link for Object 898e186e0903fada4c6288d7377d8e1f ⇔ Attribute 4b5aba6b699692ca6cdd7ab906210745
Processing link for Object 898e186e0903fada4c6288d7377d8e1f ⇔ Attribute cbc0b47151389f4f7bb1ad46b567a1d8
Processing link for Object 898e186e0903fada4c6288d7377d8e1f ⇔ Attribute ce0ccf6ce343cde873f57f8cd535ce8e
Processing link for Object c3be6d86e799f8178a0aab2fa6329597 ⇔ Attribute 166194a009500c368c7e73a2428eebbc
Processing link for Object c3be6d86e799f8178a0aab2fa6329597 ⇔ Attribute 10c1328b192de2dafa751c9005f6ddb4
Processing link for Object c3be6d86e799f8178a0aab2fa6329597 ⇔ Attribute 4b5aba6b699692ca6cdd7ab906210745
Processing link for Object c3be6d86e799f8178a0aab2fa6329597 ⇔ Attribute cbc0b47151389f4f7bb1ad46b567a1d8
Processing link for Object c3be6d86e799f8178a0aab2fa6329597 ⇔ Attribute ce0ccf6ce343cde873f57f8cd535ce8e
Processing link for Object cee91a3416dcc9467093f3b3f42d6fd5 ⇔ Attribute 166194a009500c368c7e73a2428eebbc
Processing link for Object cee91a3416dcc9467093f3b3f42d6fd5 ⇔ Attribute 10c1328b192de2dafa751c9005f6ddb4
Processing link for Object cee91a3416dcc9467093f3b3f42d6fd5 ⇔ Attribute 4b5aba6b699692ca6cdd7ab906210745
Processing link for Object cee91a3416dcc9467093f3b3f42d6fd5 ⇔ Attribute cbc0b47151389f4f7bb1ad46b567a1d8
Processing link for Object cee91a3416dcc9467093f3b3f42d6fd5 ⇔ Attribute ce0ccf6ce343cde873f57f8cd535ce8e


The Attribute Batching Mini-App demonstrates many methods for batch processing records using Hashtag Markup.

In these examples, Objects can be linked to 2 different types of Attributes, either positive or negative.   Features are provided to link all positive attributes that are currently unlinked,  or unlink all negative attributes that are currently linked.   Those features can be applied to either a single Object, or all Objects.

All records are stored in an SQL Database.   jQuery was used to demonstrate front-end processing.