0.7.7 • Published 6 months ago

@noction/hippie-nav v0.7.7

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

hippie-nav

NPM version NPM downloads codecov

This modern searchbar offers an intuitive and efficient way for users to explore your application by vue routes and your defined actions, .

Install

npm

npm i @noction/hippie-nav

yarn

yarn add @noction/hippie-nav

pnpm

pnpm add @noction/hippie-nav

Options object structure

The plugin supports the following configuration options:

OptionDescriptionType
excludedPathsAn array of paths to be excluded from processing.Array<string | RegExp>
indexFieldsAn object specifying index fields for different entities.object
- routes: An array of fields to be indexed for the 'routes' entity.Array
- actions: An array of fields to be indexed for the 'actions' entity.Array
displayFieldAn object specifying the display field for the 'route' entity .object
- route: The string field from meta is used for display name.string
resultsLimitA number indicating the maximum number of results to be returned.number

Action object structure

PropertyDescriptionType
nameThe name of the action.string
actionThe function that will be executed when the action is triggered.function
aliases(Optional) An array of alternative names or aliases for the action.Array<string>
description(Optional) An array of strings providing additional description or details about the action.Array<string>

Usage as component

<template>
  <hippie-nav :options="options" :actions="actions"/>
</template>

<script setup lang="ts">
import { HippieNav } from 'hippie-nav'

const options = {
  excludedPaths: ['/login', '/register', /^\/admin$/],
  indexFields: {
    routes: ['name', 'path'],
    actions: ['name'],
  },
  displayField: {
    route: 'hippieNavMeta.title'
  },
  resultsLimit: 5
}

const actions = [
  {
    name: 'Show graph',
    action: () => {
      //handler
    },
  },
  {
    name: 'Log out',
    action: () => {
      //handler
    }
  }
]


</script>

Props

NameTypeDescriptionRequired
optionsObjectThe hippie-nav options structurefalse
actionsArrayThe hippie-nav actions of action object structurefalse

Usage as plugin

const app = createApp(App)

app.use(router)
app.use(HippieNav, {
  displayField: {
    route: 'hippieNavMeta.title'
  },
  excludedPaths: ['/login', '/register', /^\/admin$/],
  indexFields: {
    actions: ['name'],
    routes: ['name', 'path']
  },
  resultsLimit: 5
})
app.component('HippieBtnCollapse', HippieBtnCollapse)
app.mount('#app')
<template>
  <hippie-nav :actions="actions"/>
</template>

<script setup lang="ts">
import { HippieNav } from 'hippie-nav'

const actions = [
  {
    name: 'Show graph',
    action: () => {
      //handler
    },
  },
  {
    name: 'Log out',
    action: () => {
      //handler
    }
  }
]


</script>

Props

NameTypeDescriptionRequired
actionsArrayThe hippie-nav actions of action object structurefalse
0.7.6

9 months ago

0.7.5

9 months ago

0.7.7

6 months ago

0.7.4

10 months ago

0.6.4

11 months ago

0.6.3

11 months ago

0.6.2

11 months ago

0.6.1

11 months ago

0.6.0

11 months ago

0.5.1

11 months ago

0.5.0

11 months ago