claviska/jquery-minicolors

Top position is off when using 'position: top' with swatches

Open

#236 aberto em 23 de nov. de 2017

Ver no GitHub
 (0 comments) (0 reactions) (0 assignees)JavaScript (322 forks)batch import
BugHelp Wanted

Métricas do repositório

Stars
 (955 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

When you use minicolors with swatches, combined with position: 'top left' or position:'top right', the colorpicker panel is positioned incorrectly, it overlays the input box. minicolors1 minicolors2

I've made the following fix in jquery.minicolor.js, starting at line 212:

    // Swatches
    if(settings.swatches && settings.swatches.length !== 0) {
      if (/top/.test(settings.position)) {
         var nrRows = Math.ceil(settings.swatches.length / 7);
         panel.css('top', (nrRows == 1 ? -182 : -204)+'px');
      }
      panel.addClass('minicolors-with-swatches');
      ....

Variable nrRows contains the number of rows of swatches (either 1 or 2), and the top position is changed accordingly. This fixes it for me. Hopefully you can apply this (or a similar) fix. Thanks, keep up the good work!

Guia do colaborador