Skip to content

Instantly share code, notes, and snippets.

@lpj145
Created May 7, 2020 01:02
Show Gist options
  • Save lpj145/61c567d9e332ec399b2fc5f904ca625d to your computer and use it in GitHub Desktop.
Save lpj145/61c567d9e332ec399b2fc5f904ca625d to your computer and use it in GitHub Desktop.
/**
* Adicionar campo de endereco (rua,av)
* @param {Object} address
* @param {Array} enderecos
* @param {Array} cidades
*/
addCampoDeRua(address = {}, enderecos = [], cidades = []) {
this.addField('address_name')
.fieldAutoComplete()
.setPossibilities(enderecos, 'name', 'object')
.setSize(12, 12)
.setParseField((name, fields) => {
if (fields.address === undefined) {
fields.address = {}
}
fields.address.name = name;
})
.setRules([
isRequired('rua'),
betweenLength('rua', 4, 30)
])
.setDefaultValue(address.name)
.fieldOn('keyup', (ctx, { target }) => {
debPesquisaEndereco(enderecos, target.value);
})
.fieldOn('change', (ctx, endereco) => {
this.setFlyValue('address_name', endereco.name);
if (endereco.id === undefined) {
return;
}
this.setFlyValue('address.district', endereco.district);
this.setFlyValue('address.number', '');
this.setFlyValue('address.reference', '');
overwriteArray(cidades, [{ ...endereco.city }]);
this.setFlyValue('address.city', endereco.city_id);
})
.setLabel('Nome Rua, Av');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment