Add snippets to bindingPanel
This commit is contained in:
parent
bd82399e94
commit
c0830f310c
|
@ -436,6 +436,7 @@
|
||||||
addBinding={onSelectBinding}
|
addBinding={onSelectBinding}
|
||||||
{addSnippet}
|
{addSnippet}
|
||||||
{mode}
|
{mode}
|
||||||
|
{snippets}
|
||||||
/>
|
/>
|
||||||
{:else if sidePanel === SidePanel.Evaluation}
|
{:else if sidePanel === SidePanel.Evaluation}
|
||||||
<EvaluationSidePanel
|
<EvaluationSidePanel
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
export let addBinding: (_binding: EnrichedBinding) => void
|
export let addBinding: (_binding: EnrichedBinding) => void
|
||||||
export let addSnippet: (_snippet: Snippet) => void
|
export let addSnippet: (_snippet: Snippet) => void
|
||||||
export let bindings: EnrichedBinding[]
|
export let bindings: EnrichedBinding[]
|
||||||
|
export let snippets: Snippet[] | null
|
||||||
export let mode: BindingMode
|
export let mode: BindingMode
|
||||||
export let allowHelpers: boolean
|
export let allowHelpers: boolean
|
||||||
export let allowSnippets: boolean
|
export let allowSnippets: boolean
|
||||||
|
@ -64,6 +65,28 @@
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$: filteredSnippets = getFilteredSnippets(
|
||||||
|
allowSnippets,
|
||||||
|
snippets || [],
|
||||||
|
search
|
||||||
|
)
|
||||||
|
|
||||||
|
const getFilteredSnippets = (
|
||||||
|
enableSnippets: boolean,
|
||||||
|
snippets: Snippet[],
|
||||||
|
search: string
|
||||||
|
) => {
|
||||||
|
if (!enableSnippets || !snippets.length) {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
if (!search?.length) {
|
||||||
|
return snippets
|
||||||
|
}
|
||||||
|
return snippets.filter(snippet =>
|
||||||
|
snippet.name.toLowerCase().includes(search.toLowerCase())
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
const getHelperExample = (helper: Helper, js: boolean) => {
|
const getHelperExample = (helper: Helper, js: boolean) => {
|
||||||
let example = helper.example || ""
|
let example = helper.example || ""
|
||||||
if (js) {
|
if (js) {
|
||||||
|
@ -301,6 +324,29 @@
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
{#if selectedCategory === "Snippets" || search}
|
||||||
|
{#if filteredSnippets?.length}
|
||||||
|
<div class="sub-section">
|
||||||
|
<ul class="helpers">
|
||||||
|
{#each filteredSnippets as helper}
|
||||||
|
<li
|
||||||
|
class="binding"
|
||||||
|
on:mouseenter={e =>
|
||||||
|
showHelperPopover(helper, e.currentTarget)}
|
||||||
|
on:mouseleave={hidePopover}
|
||||||
|
on:click={() => addSnippet(helper)}
|
||||||
|
>
|
||||||
|
<span class="binding__label">{helper.name}</span>
|
||||||
|
<span class="binding__typeWrap">
|
||||||
|
<span class="binding__type">snippet</span>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
</Layout>
|
</Layout>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue