|
274 | 274 | $: itemRenderer = typeof renderer === 'function'
|
275 | 275 | ? renderer
|
276 | 276 | : (formatterList[renderer] || formatterList.default.bind({ label: currentLabelField}));
|
277 |
| - $: collapseSelectionFn = collapseSelection ? settings.collapseSelectionFn.bind(i18n_actual) : null; |
278 | 277 |
|
279 | 278 | /** ************************************ dropdown-specific */
|
280 | 279 |
|
|
1156 | 1155 | {#if selectedOptions.length }
|
1157 | 1156 | <!-- TODO: re-implement comments -->
|
1158 | 1157 | {#if multiple && doCollapse}
|
1159 |
| - <span>{@html collapseSelectionFn(selectedOptions.length, selectedOptions) }</span> |
| 1158 | + <slot name="collapsedSelection" {selectedOptions} i18n={i18n_actual}>{i18n_actual.collapsedSelection(selectedOptions.length)}</slot> |
1160 | 1159 | {:else}
|
| 1160 | + <slot name="selection" {selectedOptions} {bindItem}> |
1161 | 1161 | {#each selectedOptions as opt (opt[currentValueField])}
|
1162 | 1162 | <div class="sv-item--container" animate:flip={{duration: flipDurationMs }}>
|
1163 | 1163 | <div class="sv-item--wrap" class:is-multi={multiple}>
|
|
1175 | 1175 | {/if}
|
1176 | 1176 | </div>
|
1177 | 1177 | {/each}
|
| 1178 | + </slot> |
1178 | 1179 | {/if}
|
1179 | 1180 | {/if}
|
1180 | 1181 |
|
|
1262 | 1263 | class="sv-item--wrap in-dropdown"
|
1263 | 1264 | class:sv-dd-item-active={dropdown_index === index}
|
1264 | 1265 | >
|
1265 |
| - <div class="sv-item--content"> |
1266 |
| - {@html highlightSearch(opt, false, input_value, itemRenderer, disableHighlight) } |
1267 |
| - </div> |
| 1266 | + <slot name="option" item={opt}> |
| 1267 | + <div class="sv-item--content"> |
| 1268 | + {@html highlightSearch(opt, false, input_value, itemRenderer, disableHighlight) } |
| 1269 | + </div> |
| 1270 | + </slot> |
1268 | 1271 | </div>
|
1269 | 1272 | {/if}
|
1270 | 1273 | </div>
|
|
1278 | 1281 | class="sv-item--wrap in-dropdown"
|
1279 | 1282 | class:sv-dd-item-active={dropdown_index === i}
|
1280 | 1283 | >
|
1281 |
| - <div class="sv-item--content"> |
1282 |
| - {@html highlightSearch(opt, false, input_value, itemRenderer, disableHighlight) } |
1283 |
| - </div> |
| 1284 | + <slot name="option" item={opt}> |
| 1285 | + <div class="sv-item--content"> |
| 1286 | + {@html highlightSearch(opt, false, input_value, itemRenderer, disableHighlight) } |
| 1287 | + </div> |
| 1288 | + </slot> |
1284 | 1289 | </div>
|
1285 | 1290 | {/if}
|
1286 | 1291 | {/each}
|
|
0 commit comments