Skip to content

Пример кастомного "DropDown List" на AngularJS 1.

License

Notifications You must be signed in to change notification settings

shlaikov/custom-dropdown

Repository files navigation

Кастомный "DropDown List" на AngularJS.

Готовая модель кастомного "select" списка на чистом AngularJS 1. Также скоро буду выкладывать свои остальные работы в репозитории для примеров. В дальнейшем хочется сделать генератор Yeoman для различных кастомных DOM-элементов на AngularJS.

Для сборки проекта использовал Grunt, npm, bower. Делал на фрилансе для компании GetLooky в январе 2015 года.


В данном примере использовал супер-героев из известного комикса MARVEL, чтобы сделать более наглядно и креативно. Естественно, с JSON или со стороны сервера вы можете принимать всё, что угодно.


Пример использования элемента:

<dropdown list="heroesData" selected="hero">
    <div class="dropdown-container" ng-class="{ show: listVisible }">
        <div class="dropdown-display" ng-click="show();" ng-class="{ clicked: listVisible }">
            <span ng-if="!isPlaceholder">{{display.Name +', ' + display.Alterego}}</span>
            <span class="placeholder" ng-if="isPlaceholder">Choose your hero...</span><i id="dropdown-icon" class="fa fa-angle-down"></i>
        </div>
        <div class="dropdown-list">
            <div>
                <div ng-repeat="hero in heroesData" ng-click="select(hero)" ng-class="{selected: isSelected(hero)}">
                    <img ng-src="{{hero.Image}}" alt="">
                    <label>{{'Hero: ' + hero.Name +', ' + hero.Alterego}}</label>
                    <span>{{'Species: ' + hero.Type}}</span>
                </div>
            </div>
        </div>
    </div>
</dropdown>

Установка

Полная установка для стабильной работы.

1. Клонировать репозиторий:

$ git clone https://github.com/shlaikov/custom-dropdown.git

2. Установить Bower:

$ npm install -g bower

Компоненты для Bower:

+--- bower_components
+---
    \
    |  +---  angular
    |  +---  angular-animate
    |  +---  angular-cookies
    |  +---  angular-mocks
    |  +---  bootstrap
    |  +---  jquery

3. Установить GruntJS:

$ npm install -g grunt

Для запуска к npm менеджеру нужен сам AngularJS и к нему jQuery.

После установки:

Запустить локальный сервер:
$ grunt server

Создать уменьшенную сконвертированную версию в папку /dist
$ grunt build


Обратная связь

Приветсвуются контрибьюторы и форки для улучшения репозитория.

Другое:

Лицензия

MIT

About

Пример кастомного "DropDown List" на AngularJS 1.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published