Giter VIP home page Giter VIP logo

baunilha-modal's People

Contributors

lucasruy avatar

Stargazers

 avatar  avatar

baunilha-modal's Issues

Improvements

Seria daora, o nome dessa classe ser baunilha-modal

.basic-modal-open {
    position: fixed;
    top: 50%;

Tem uma linha vazia aqui, tira ela

.basic-modal-open {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0px);
    display: block;
    width: 50%;
    height: 50%;
    z-index: 9999;
    background-color: white;
    padding: 20px;

    visibility: hidden;
    opacity: 0;
    user-select: none;
    transition: all 200ms ease;

Dentro do js, vc pode separar ele em uns 3 arquivos: Um pra classe BaunilhaModal, um pra Utils e um pra Interations. Pra juntar eles, você pode criar um gulpin simples.
Para interagir entre entre os arquivos vc pode colocar-los numa prop privada no Prototype do seu objeto global. Fiz um desse aqui : https://github.com/vagfsantos/github-battle-app/tree/master/src/js
Fica o desafio. Separar é bom, pra manutenção e escalabilidade. Como você criou um pluggin que pessoas podem contribuir, se todas trabalharem no mesmo arquivo, vai ser fácil ter conflitos. Quanto mais modular melhor nesse caso.

O código do método
mountModal: function(self) {
ficou muito grande. Talvez quebrar em mais funções.

Os métodos do interations, estão sendo chamados de duas formas distintas. Algumas vezes você usa o call e outras passa o this como pârametro. Seria bom fazer de uma única forma por todo o código.

Acho que o defaults poderia ficar fora do construtor como uma constante, ou num helper qualquer, algo tipo:

var BAUNILHA_DEFAULTS = {
  modalClass: 'basic-modal',
}

function getDefaults(customOptions) {
  if( customOptions ) {
    return extend(BAUNILHA_DEFAULTS, customOptions);
  }

  return extend(BAUNILHA_DEFAULTS, {});
}

A option buttonClose, poderia ser mais clara no que faz, algo como includesCloseButton ou hasCloseButton

A option appendOn ficaria mais semântica se fosse appendTo

Não fica muito claro o que significa 27 nesse trecho:
if (event.keyCode === 27) {
talvez mudar para algo como:

var KEYBOARD = {
  ESC: 27
}
if (event.keyCode === KEYBOARD.ESC) 

Tem bastante referência à classList.add no código, talvez um helper para isso, chamando assim:
addClassTo(element, className);

Essa string repete bastante também, talve criar uma variavel
('is-active');
algo como:
var classNames = {isActive: 'is-active'}

Boaaa man, ta ficando top, listei algumas melhorias. Algumas são só uns detalhes de frescura, implementa se quiser, beleza?

Pra cima, parabéns

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.