# GM - Dynamic Record Card

## **Documentation**

**GM -Dynamic Record Card** component is used to display a record same as **GM - Record Card.** The component can be configured as child of a master grid to build master detail UI.

## **Specification**

**GM - Dynamic Record Card** component has the same properties as [**GM - Record Card**](https://docs.gridmate.io/package-reference/components-library/gm-record-card) except for the following attributes.&#x20;

<table data-full-width="false"><thead><tr><th width="277">Property</th><th width="104.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>Parent Object Name *</td><td>String</td><td>The parent object name to listen on.</td></tr><tr><td>Parent Grid Name *</td><td>String</td><td>The parent grid name to listen on. It could the related list label (<strong>GM - RelatedList Grid</strong>), the field set name (<strong>GM - FieldSet Grid</strong>) or the list view api name (<strong>GM - ListView Grid</strong>).</td></tr><tr><td>Parent Grid Code*</td><td>String</td><td>The data grid code to listen on.</td></tr></tbody></table>

## **API Reference**

{% tabs %}
{% tab title="DynamicRecordCardComponent.design" %}
{% code fullWidth="true" %}

```xml
<design:component label="GM - Dynamic Record Card">
    <design:attribute name="title" label="Card Title" 
                      description="Card Title"/>
    <design:attribute name="icon" label="Card Icon" 
                      description="Card Icon"/>
    <design:attribute name="showBorder" label="Show Border" 
                      description="Show record card border"/>       
    
    <design:attribute name="targetObjName" label="Object Name" 
                      description="Object Name to load"/>    
    <design:attribute name="recordIdField" label="Record Id Field" 
                      description="Record Id Field to load" />
    
    <design:attribute name="parentObjectName" label="Parent Object Name" 
                      description="The name of the parent object"/>                              
    <design:attribute name="parentGridName" label="Parent Grid Name" 
                      description="The parent grid name"/> 
    <design:attribute name="parentGridCode" label="Parent Grid Code" 
                      description="The parent grid code"/>     
    <design:attribute name="parentRecordId" label="Parent RecordId" 
                      description="Parent RecordId to test with. Keep this empty after configuring the component"/>        

    <design:attribute name="recordFields" label="Record Fields" 
                      description="Record Fields to display"/>
    <design:attribute name="columns" label="# of columns" 
                      description="# of Columns for the layout"/>    
    <design:attribute name="mode" label="Display Mode" 
                      description="Display mode (edit, view, readonly)"/>            
    
    <design:attribute name="recordLayout" label="Record Layout" 
                      description="JSON Record Layout"/>
    
    <design:attribute name="recordActions" label="Record Actions" 
                      description="JSON Record Actions"/>        
    <design:attribute name="buttonActions" label="Show Actions as Buttons" 
                      description="Use buttons for actions instead of icons"/>
    <design:attribute name="visibleActions" label="Visible Actions" 
                      description="# of visible actions"/> 
</design:component>
```

{% endcode %}
{% endtab %}
{% endtabs %}
