card: add top image attributes for lazy loading (#1283)
* card: add top image attributes for lazy loading This will be useful for long image gallery. Developped according to [HTML specs of img tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#lazy) * docs: move card image parameters into existing migration --------- Co-authored-by: Ophir LOJKINE <ophir.lojkine@datadoghq.com>
This commit is contained in:
@@ -18,6 +18,9 @@ INSERT INTO parameter(component, name, description, type, top_level, optional) S
|
||||
This is useful if you want to display a lot of text in the card, with many options for formatting, such as
|
||||
line breaks, **bold**, *italics*, lists, #titles, [links](target.sql), , etc.', 'TEXT', FALSE, TRUE),
|
||||
('top_image', 'The URL (absolute or relative) of an image to display at the top of the card.', 'URL', FALSE, TRUE),
|
||||
('top_image_lazy', 'Whether the top image must be lazily loaded. Defaults to false, meaning eagerly loaded.', 'BOOLEAN', FALSE, TRUE),
|
||||
('top_image_width', 'Specify the top image width, in pixels. Helps prevent layout shifts.', 'INTEGER', FALSE, TRUE),
|
||||
('top_image_height', 'Specify the top image height, in pixels. Helps prevent layout shifts.', 'INTEGER', FALSE, TRUE),
|
||||
('footer', 'Muted text to display at the bottom of the card.', 'TEXT', FALSE, TRUE),
|
||||
('footer_md', 'Muted text to display at the bottom of the card, with rich text formatting in Markdown format.', 'TEXT', FALSE, TRUE),
|
||||
('link', 'An URL to which the user should be taken when they click on the card.', 'URL', FALSE, TRUE),
|
||||
@@ -58,9 +61,9 @@ INSERT INTO example(component, description, properties) VALUES
|
||||
('card', 'A gallery of images.',
|
||||
json('[
|
||||
{"component":"card", "title":"My favorite animals in pictures", "columns": 3},
|
||||
{"title": "Lynx", "description_md": "The **lynx** is a medium-sized **wild cat** native to Northern, Central and Eastern Europe to Central Asia and Siberia, the Tibetan Plateau and the Himalayas.", "top_image": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Lynx_lynx-4.JPG/640px-Lynx_lynx-4.JPG", "icon":"star" },
|
||||
{"title": "Squirrel", "description_md": "The **chipmunk** is a small, striped rodent of the family Sciuridae. Chipmunks are found in North America, with the exception of the Siberian chipmunk which is found primarily in Asia.", "top_image": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Tamias-rufus-001.jpg/640px-Tamias-rufus-001.jpg" },
|
||||
{"title": "Spider", "description_md": "The **jumping spider family** (_Salticidae_) contains more than 600 described genera and about *6000 described species*, making it the largest family of spiders with about 13% of all species.", "top_image": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Jumping_spiders_%28Salticidae%29.jpg/640px-Jumping_spiders_%28Salticidae%29.jpg" }
|
||||
{"title": "Lynx", "description_md": "The **lynx** is a medium-sized **wild cat** native to Northern, Central and Eastern Europe to Central Asia and Siberia, the Tibetan Plateau and the Himalayas.", "top_image": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Lynx_lynx_-_05.jpg/330px-Lynx_lynx_-_05.jpg", "top_image_width": 330, "top_image_height": 495, "top_image_lazy": true, "icon":"star" },
|
||||
{"title": "Squirrel", "description_md": "The **chipmunk** is a small, striped rodent of the family Sciuridae. Chipmunks are found in North America, with the exception of the Siberian chipmunk which is found primarily in Asia.", "top_image": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/American_squirrel_eating_nut%2C_13_Jun_2013.JPG/330px-American_squirrel_eating_nut%2C_13_Jun_2013.JPG", "top_image_width": 330, "top_image_height": 495, "top_image_lazy": true },
|
||||
{"title": "Spider", "description_md": "The **jumping spider family** (_Salticidae_) contains more than 600 described genera and about *6000 described species*, making it the largest family of spiders with about 13% of all species.", "top_image": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Australian_orb_weaver_spinning_web.jpg/330px-Australian_orb_weaver_spinning_web.jpg", "top_image_width": 330, "top_image_height": 495, "top_image_lazy": true }
|
||||
]')),
|
||||
('card', 'Beautifully colored cards with variable width. The blue card (width 6) takes half the screen, whereas of the red and green cards have the default width of 3',
|
||||
json('[
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<a href="{{link}}" style="text-decoration: inherit; color: inherit">
|
||||
{{/if}}
|
||||
{{#if top_image}}
|
||||
<img src="{{top_image}}" class="card-img-top" />
|
||||
<img src="{{top_image}}" class="card-img-top"{{#if top_image_width}} width="{{top_image_width}}"{{/if}}{{#if top_image_height}} height="{{top_image_height}}"{{/if}}{{#if top_image_lazy}} loading="lazy"{{/if}}/>
|
||||
{{/if}}
|
||||
{{#if color}}
|
||||
{{#if (not embed)}}
|
||||
|
||||
Reference in New Issue
Block a user