npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

zeev-utils

v0.8.3

Published

JavaScript utility library to interact with Zeev forms

Downloads

16

Readme

CDN NPM License

Instalação

Usar via NPM

npm install zeev-utils

# ou com yarn

yarn add zeev-utils

Usar via CDN

Apenas adicione a script tag ao cabeçalho do processe e consuma as funções através do namespace Utils.funcao

<script src="https://cdn.jsdelivr.net/gh/pedbernardo/zeev-utils@latest/dist/zeev-utils.js"></script>

<!-- ou minificado -->

<script src="https://cdn.jsdelivr.net/gh/pedbernardo/zeev-utils@latest/dist/zeev-utils.min.js"></script>

Como Utilizar

// importe todas as funções com namespace
import Utils from 'zeev-utils'

Utils.showField('meuCampo')

// importe as funções separadamente
import { showField, hideField } from 'zeev-utils'

showField('meuCampo')

Utilizando via script tag e CDN

// todas as funções estarão disponíveis através do namespace `Utils`
// globalmente, você inclusive pode testar as funções diretamente
// no console do seu navegador

Utils.showField('meuCampo')
Utils.hideField('meuCampo')

Configuração

Configuração Padrão

const config = {
  container: 'tr',
  hideClass: 'hidden',
  toggleRequiredClass: false,
  requiredClass: 'execute-required',
  requiredAttribute: 'data-was-required'
}

Construtor

Como modificar os parâmetros padrão?

Ao importar a biblioteca (seja através da CDN ou NPM) ela irá dispor das funções utilitárias com a configuração padrão acima. Embora os métodos permitam que a configuração seja redefinida nos parâmetros, você pode utilizar o construtor para criar uma nova instância com os parâmetros desejados de forma fixa.

setup

Cria uma nova instância de Utils com os parâmetros padrão que desejar

Utils.setup( Object )

Exemplo de uso

const UtilsForm = Utils.setup({
  container: '.form-group',
  hideClass: 'is-hidden',
  requiredClass: 'is-required',
})

UtilsForm.hideField(document.querySelector('[xname=inpfieldId]'))

Funções

Visibility
Requirement
Field

showField

Exibe um campo de formulário e recoloca sua obrigatoriedade (caso possua)

Utils.showField( string | HTMLElement | Node, Object [optional] )

Exemplo de uso

Utils.showField('meuCampoId')
Utils.showField(document.querySelector('[xname=inpmeuCampoId]'), { container: '.group' })

hideField

Oculta um campo de formulário, limpa o seu valor e remove sua obrigatoriedade (caso possua)

Utils.hideField( string | HTMLElement | Node, Object [optional] )

Exemplo de uso

Utils.hideField('meuCampoId')
Utils.hideField(document.querySelector('[xname=inpmeuCampoId]'), { container: '.group' })

showGroup

Exibe um conjunto de campos de formulário a partir do seu container e recoloca sua obrigatoriedade (caso possuam)

Utils.showGroup( string | HTMLElement | Node, Object [optional] )

Exemplo de uso

Utils.showGroup('.meu-grupo-de-campos')
Utils.showGroup(document.querySelector('.meu-grupo-de-campos'))

hideGroup

Oculta um conjunto de campos de formulário a partir do seu container, limpando todos os valores e removendo a obrigatoriedade (caso possuam)

Utils.hideGroup( string | HTMLElement | Node, Object [optional] )

Exemplo de uso

Utils.hideGroup('.meu-grupo-de-campos')
Utils.hideGroup(document.querySelector('.meu-grupo-de-campos'))

isRequired

Verifica se um campo de formulário é obrigatório, observando também a propriedade especial data-was-required em campos obrigatórios ocultados, ainda que estejam com a propriedade required=N

Utils.isRequired( string | HTMLElement | Node)

Exemplo de uso

Utils.isRequired('meuCampoId')
Utils.isRequired(document.querySelector('[xname=inpmeuCampoId]'))

addRequired

Adiciona obrigatoriedade a um campo de formulário

Utils.showField( string | HTMLElement | Node)

Exemplo de uso

Utils.addRequired('meuCampoId')
Utils.addRequired(document.querySelector('[xname=inpmeuCampoId]'))

removeRequired

Remove obrigatoriedade de um campo de formulário

Utils.showField( string | HTMLElement | Node)

Exemplo de uso

Utils.removeRequired('meuCampoId')
Utils.removeRequired(document.querySelector('[xname=inpmeuCampoId]'))

getField

Busca campos de formulário do Zeev, podendo ser a partir do seu identificador, com ou sem o prefixo inp

Utils.getField( string | HTMLElement | Node, Object [optional] )

Exemplo de uso

Utils.getField('meuCampoId')
Utils.getField('inpmeuCampoId')
Utils.getField(document.querySelector('[xname=inpmeuCampoId]'))

// retorna array mesmo que seja apenas um campo
Utils.getField('fieldId', { returnArray: true })

getFieldContainer

Busca o container de um campo de formulário do Zeev

Utils.getFieldContainer( string | HTMLElement | Node, String)

Exemplo de uso

Utils.getFieldContainer('fieldId', '.form-group')
Utils.getFieldContainer(document.querySelector('[xname=inpfieldId]'), '.form-group')

getFieldValue

Retorna o(s) valor(es) selecionado(s) de um campo de formulário

Utils.getFieldValue( string | HTMLElement | Node)

Exemplo de uso

Utils.getFieldValue('meuCampoTexto')                // 'valor do campo' ou ''
Utils.getFieldValue('meuCampoCaixaSelecao')         // 'valor do campo' ou ''
Utils.getFieldValue('meuCampoAreaTexto')            // 'valor do campo' ou ''
Utils.getFieldValue('meuCampoHidden')               // 'valor do campo' ou ''
Utils.getFieldValue('meuCampoArquivo')              // 'url pública do arquivo' ou ''
Utils.getFieldValue('meuCampoRadio')                // 'valor da opção selecionada'
Utils.getFieldValue('meuCampoCheckbox')             // ['opção A selecionada', 'opção B selecionada'] ou []
Utils.getFieldValue('meuCampoTextoEmMultivalorada') // ['valor linha 1', 'valor linha 2'] ou ['', '']

clearField

Limpa os valores de um campo de formulário

Utils.showField( string | HTMLElement | Node)

Exemplo de uso

Utils.clearField('meuCampoId')
Utils.clearField(document.querySelector('[xname=inpmeuCampoId]'))

onFileChange

Trigger disparado quando um campo do tipo Arquivo é modificado

Utils.onFileChange( string | HTMLElement | Node, function [callback] )

Callbacks

Adição de Arquivo Callback( string [filepath], HTMLElement [delete button] ) Remoção de Arquivo Callback( null )

Exemplo de uso

Utils.onFileChange('meuCampoId', (filepath, deleteBtn) => {
  console.log({ filepath, deleteBtn })
})

Roadmap

Versão 1.0.0

  • Alterar definição de tipos de JSDocs para TypeScript
  • Finalizar 100% de cobertura de testes para funções públicas
  • Construir documentação utilizando Vitepress (mockups finalizados)
  • Automatizar build com uso de Github Actions