refactor the iconpicker js and fix the preview not showing on widget page bug