123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- "use strict";
- $(document).ready(function(){
- // Single Search Select
- $(".js-example-basic-single").select2();
- $(".js-example-disabled-results").select2();
- // Multi Select
- $(".js-example-basic-multiple").select2();
-
- // With Placeholder
- $(".js-example-placeholder-multiple").select2({
- placeholder: "Select Your Name"
- });
-
- //Limited Numbers
- $(".js-example-basic-multiple-limit").select2({
- maximumSelectionLength: 2
- });
-
- // Tagging Suppoort
- $(".js-example-tags").select2({
- tags: true
- });
-
- // Automatic tokenization
- $(".js-example-tokenizer").select2({
- tags: true,
- tokenSeparators: [',', ' ']
- });
-
- // Loading Array Data
- var data = [{
- id: 0,
- text: 'enhancement'
- }, {
- id: 1,
- text: 'bug'
- }, {
- id: 2,
- text: 'duplicate'
- }, {
- id: 3,
- text: 'invalid'
- }, {
- id: 4,
- text: 'wontfix'
- }];
-
- $(".js-example-data-array").select2({
- data: data
- });
-
- //RTL Suppoort
-
- $(".js-example-rtl").select2({
- dir: "rtl"
- });
- // Diacritics support
- $(".js-example-diacritics").select2();
-
- // Responsive width Search Select
- $(".js-example-responsive").select2();
-
- $(".js-example-basic-hide-search").select2({
- minimumResultsForSearch: Infinity
- });
-
- $(".js-example-disabled").select2({
- disabled: true
- });
- $(".js-programmatic-enable").on("click", function() {
- $(".js-example-disabled").prop("disabled", false);
- });
- $(".js-programmatic-disable").on("click", function() {
- $(".js-example-disabled").prop("disabled", true);
- });
-
- $(".js-example-theme-single").select2({
- theme: "classic"
- });
-
- function formatRepo(repo) {
- if (repo.loading) return repo.text;
-
- var markup = "<div class='select2-result-repository clearfix'>" +
- "<div class='select2-result-repository__avatar'><img src='" + repo.owner.avatar_url + "' /></div>" +
- "<div class='select2-result-repository__meta'>" +
- "<div class='select2-result-repository__title'>" + repo.full_name + "</div>";
-
- if (repo.description) {
- markup += "<div class='select2-result-repository__description'>" + repo.description + "</div>";
- }
-
- markup += "<div class='select2-result-repository__statistics'>" +
- "<div class='select2-result-repository__forks'><i class='icofont icofont-flash'></i> " + repo.forks_count + " Forks</div>" +
- "<div class='select2-result-repository__stargazers'><i class='icofont icofont-star'></i> " + repo.stargazers_count + " Stars</div>" +
- "<div class='select2-result-repository__watchers'><i class='icofont icofont-eye-alt'></i> " + repo.watchers_count + " Watchers</div>" +
- "</div>" +
- "</div></div>";
-
- return markup;
- }
-
- function formatRepoSelection(repo) {
- return repo.full_name || repo.text;
- }
- $(".js-data-example-ajax").select2({
- ajax: {
- url: "https://api.github.com/search/repositories",
- dataType: 'json',
- delay: 250,
- data: function(params) {
- return {
- q: params.term, // search term
- page: params.page
- };
- },
- processResults: function(data, params) {
- // parse the results into the format expected by Select2
- // since we are using custom formatting functions we do not need to
- // alter the remote JSON data, except to indicate that infinite
- // scrolling can be used
- params.page = params.page || 1;
-
- return {
- results: data.items,
- pagination: {
- more: (params.page * 30) < data.total_count
- }
- };
- },
- cache: true
- },
- escapeMarkup: function(markup) {
- return markup;
- }, // let our custom formatter work
- minimumInputLength: 1,
- templateResult: formatRepo, // omitted for brevity, see the source of this page
- templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
- });
-
- // Multi-select js start
- $('#my-select').multiSelect();
- $('#public-methods').multiSelect();
- $('#select-all').on('click',function() {
- $('#public-methods').multiSelect('select_all');
- return false;
- });
- $('#deselect-all').on('click',function() {
- $('#public-methods').multiSelect('deselect_all');
- return false;
- });
- $('#select-5').on('click',function() {
- $('#public-methods').multiSelect('select', ['elem_1', 'elem_3', 'elem_4', 'elem_5']);
- return false;
- });
- $('#deselect-5').on('click',function() {
- $('#public-methods').multiSelect('deselect', ['elem_1', 'elem_3', 'elem_4', 'elem_5']);
- return false;
- });
- $('#refresh').on('click', function() {
- $('#public-methods').multiSelect('refresh');
- return false;
- });
- $('#add-option').on('click', function() {
- $('#public-methods').multiSelect('addOption', {
- value: 42,
- text: 'test 42',
- index: 0
- });
- return false;
- });
- $('#optgroup').multiSelect({
- selectableOptgroup: true
- });
- $('#custom-headers1').multiSelect({
- selectableHeader: "<div class='custom-header'>Selectable items</div>",
- selectionHeader: "<div class='custom-header'>Selection items</div>",
- selectableFooter: "<div class='custom-header'>Selectable footer</div>",
- selectionFooter: "<div class='custom-header'>Selection footer</div>"
- });
- // Single Select
- // $('#example-single').multiselect();
-
- // // Multi Select
- // $('#example-multiple-selected').multiselect();
-
- // // Multi Group Select
- // $('#example-multiple-optgroups').multiselect();
-
- // // Select all group select
- // $('#example-enableClickableOptGroups').multiselect({
- // enableClickableOptGroups: true
- // });
-
- // // Disable Options Select
- // $('#example-enableClickableOptGroups-init').multiselect({
- // enableClickableOptGroups: true
- // });
-
- // // Collapse group select
- // $('#example-enableCollapsibleOptGroups').multiselect({
- // enableCollapsibleOptGroups: true
- // });
- $('.searchable').multiSelect({
- selectableHeader: "<input type='text' class='form-control' autocomplete='off' placeholder='try \"12\"'>",
- selectionHeader: "<input type='text' class='form-control' autocomplete='off' placeholder='try \"4\"'>",
- afterInit: function(ms) {
- var that = this,
- $selectableSearch = that.$selectableUl.prev(),
- $selectionSearch = that.$selectionUl.prev(),
- selectableSearchString = '#' + that.$container.attr('id') + ' .ms-elem-selectable:not(.ms-selected)',
- selectionSearchString = '#' + that.$container.attr('id') + ' .ms-elem-selection.ms-selected';
-
- that.qs1 = $selectableSearch.quicksearch(selectableSearchString)
- .on('keydown', function(e) {
- if (e.which === 40) {
- that.$selectableUl.focus();
- return false;
- }
- });
-
- that.qs2 = $selectionSearch.quicksearch(selectionSearchString)
- .on('keydown', function(e) {
- if (e.which == 40) {
- that.$selectionUl.focus();
- return false;
- }
- });
- },
- afterSelect: function() {
- this.qs1.cache();
- this.qs2.cache();
- },
- afterDeselect: function() {
- this.qs1.cache();
- this.qs2.cache();
- }
- });
- // Multi-select js end
-
-
-
- });
|