활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
Hi all,
I'm running AEM 6.4.4 and I'm trying to create a select dropdown with custom svg icons using the the new Coral 3 Select component (Select — Granite UI 1.0 documentation ), but the icons always get duplicated when the component is rendered.
Does Coral-Icon support SVGs? If not, what is the proposed solution to render a select dropdown with icons?
My previous implementation was setting the icons using javascript, but I got excited when I saw the Coral 3 component had an icon property.
Here's what happens when I set the icon attribute to an svg, vs an icon built in to AEM.
Here's a snippet of the dialog xml for this component
<select
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/select"
fieldLabel="Select Icon"
name="./iconTest">
<items jcr:primaryType="nt:unstructured">
<option1
jcr:primaryType="nt:unstructured"
icon="/etc/designs/sitename/assets/svgs/icon-document.svg"
selected="{Boolean}true"
text="Icon set to custom SVG"
value="value1"/>
<option2
jcr:primaryType="nt:unstructured"
icon="actions"
text="Icon set to 'actions'"
value="value2"/>
</items>
</select>
해결되었습니다! 솔루션으로 이동.
Hi,
I think this is a bug.
but you can remove the extra icon as soon as dialog loads using js.
(
function
($, $document) {
"use strict"
;
$document.on(
"dialog-ready"
,
function
() {
$(".cq-dialog-content coral-selectlist-item").each(function( index ) {
$(this).children('coral-icon').find('img.coral3-Icon-image:nth-child(2)').remove();
});
});
})($, $(document));
Hi,
I think this is a bug.
but you can remove the extra icon as soon as dialog loads using js.
(
function
($, $document) {
"use strict"
;
$document.on(
"dialog-ready"
,
function
() {
$(".cq-dialog-content coral-selectlist-item").each(function( index ) {
$(this).children('coral-icon').find('img.coral3-Icon-image:nth-child(2)').remove();
});
});
})($, $(document));
Ah I see, I was hoping I was just using it wrong.
Your javascript fix only removes the duplicates from the select options and misses the currently selected item, you could just hide them all using CSS
img.coral3-Icon-image:nth-child(2) {
display: none;
}
this css solution is way better, it works even on page wizard creation
조회 수
답글
좋아요 수
yes, css would do a trick as well.
anyways here is complete js code if others are seeking
$(".cq-dialog-content coral-selectlist-item").each(function( index ) {
$(this).children('coral-icon').find('img.coral3-Icon-image:nth-child(2)').remove();
});
$(".cq-dialog-content button.coral3-Select-button").find('coral-icon').find('img.coral3-Icon-image:nth-child(2)').remove();
조회 수
답글
좋아요 수