Commit 72187432 by Florian Shllaku

Crypto api finished, design and live data done

parent 8192635b
Showing with 6155 additions and 82 deletions
......@@ -4,11 +4,12 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\CurrencyListing;
use App\CryptoListing;
use function GuzzleHttp\json_encode;
class API extends Controller
{
public function index()
public function fiat()
{
$data = CurrencyListing::all('iso', 'rates');
......@@ -18,4 +19,15 @@ class API extends Controller
$ex = str_replace( array( '[', ']'), array( '{', '}'),json_encode($data));
return '{'.str_replace( array( '{', '}'), '', $ex).'}';
}
public function crypto()
{
$data = CryptoListing::all('symbol', 'rate');
foreach($data as $i => $item) {
$data[$i] = array($item["symbol"] => $item["rate"]);
}
$ex = str_replace( array( '[', ']'), array( '{', '}'),json_encode($data));
return '{'.str_replace( array( '{', '}'), '', $ex).'}';
}
}
......@@ -21,5 +21,8 @@
"sass": "^1.15.2",
"sass-loader": "^7.1.0",
"vue": "^2.5.17"
},
"dependencies": {
"popper.js": "^1.15.0"
}
}
Before posting, please see [guidelines for contributing](https://github.com/silviomoreto/bootstrap-select/blob/master/CONTRIBUTING.md). If you're submitting a bug report, see below.
## Bug reports
A bug is a _demonstrable problem_ that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:
1. **Use the GitHub issue search.** Check if the issue has already been
reported.
2. **Check if the issue has been fixed.** Try to reproduce it using the
latest `master` or development branch in the repository.
3. **Provide environment details.** Provide your operating system, browser(s),
jQuery version, Bootstrap version, and bootstrap-select version.
4. **Create an isolated and reproducible test case.** Create a [reduced test
case](http://css-tricks.com/6263-reduced-test-cases/).
5. **Include a live example.** Use [this Plunker debugging template](http://silviomoreto.github.io/bootstrap-select/playground/) to share your isolated test cases. You can also make use of [jsFiddle](http://jsfiddle.net/) or [jsBin](http://jsbin.com/).
A good bug report shouldn't leave others needing to chase you up for more
information. Please try to be as detailed as possible in your report. What is
your environment? What steps will reproduce the issue? What browser(s) and OS
experience the problem? What would you expect to be the outcome? All these
details will help people to fix any potential bugs.
Example:
> Short and descriptive example bug report title
>
> A summary of the issue and the browser/OS environment in which it occurs. If
> suitable, include the steps required to reproduce the bug.
>
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
>
> `<url>` - a link to the reduced test case
>
> Any other information you want to share that is relevant to the issue being
> reported. This might include the lines of code that you have identified as
> causing the bug, and potential solutions (and your opinions on their
> merits).
## Erase the above text and being typing. Thanks!
\ No newline at end of file
# OS or Editor folders
.DS_Store
.idea
# Folders to ignore
node_modules
bower_components
.sass-cache
# Dist zip
bootstrap-select-*.zip
docs/site
### v1.12.13 (2017-11-13)
## Fixed
* `bs-searchbox` input with inside `.input-group`
### v1.12.12 (2017-11-07)
## Fixed
* replaced `.divider` with `.dropdown-divider` (#9)
* replaced `.hidden` with `.d-none` (#9)
* hide dropdown-headers and dropdown-dividers within livesearch (#9)
* updated test.html with latest bootstrap4.beta2 dependenciess
### v1.12.11 (2017-11-06)
## Fixed
* opt-group and dividers must be div instead of anchors, and class is now `dropdown-dividers` (#6)
### v1.12.10 (2017-11-03)
## Fixed
* wrong dropup position when liveSearch is enabled and list is filtered to new height (#4)
### v1.12.9 (2017-11-01)
## Fixed
* focus support for `non-livesearch` selects
### v1.12.8 (2017-10-30)
## Fixed
* click area does now belong to anchor instead of nested span (better click behavior)
* keyboard support
### v1.12.5 (2017-01-30)
## Added
* Bootstrap 4 beta compatibility
### v1.12.4 (2017-01-30)
## Bug Fixes
* Bootstrap 4 alpha compatibility
### v1.12.3 (2017-01-30)
## Added
* Bootstrap 4 alpha compatibility
### v1.12.2 (2017-01-30)
## Bug Fixes
* [#1563]: key word searching broken in [#1516].
* [#1570]: properly adjust size when inside form-group-sm or form-group-lg
* [#1590]: menu height calculated improperly when using liveSearch and input has custom height
[#1563]: https://github.com/silviomoreto/bootstrap-select/issues/1563
[#1570]: https://github.com/silviomoreto/bootstrap-select/issues/1570
[#1590]: https://github.com/silviomoreto/bootstrap-select/issues/1590
-------------------
### v1.12.1 (2016-11-22)
## Bug Fixes
* [#1167], [#1366]: using a method before initializing bootstrap-select throws an error
[#1167]: https://github.com/silviomoreto/bootstrap-select/issues/1167
[#1366]: https://github.com/silviomoreto/bootstrap-select/issues/1366
-------------------
### v1.12.0 (2016-11-18)
## Bug Fixes
* [#1220]: unescape button title
* [#1348]: escape HTML for optgroup label
* [#1506]: Fix bs-placeholder usage for jQuery>=3.0
* [#1509]: inline style Content Security Policy
* [#1477]: using liveSearchNormalize and liveSearchStyle="startsWith" simultaneously breaks search
* [#1489] fix selectOnTab with liveSearch enabled which was broken when [#1489] was fixed
* [#1533]: remove touchstart event listener (issues with FastClick)
* remove destroyLi function - improve refresh() performance
* [#1531]: add Spanish (Spain) translations
* [#1553]: don't use replace in normalizeToBase if text is undefined (throws error otherwise)
## New Features
* [#1503]: Add windowPadding option (either a number or an array of numbers - [top, right, bottom, left])
* [#1516]: Improve liveSearch performance (addresses [#1275])
* [#1440]: allow HTML in placeholder title for non-multiple selects
* [#1555]: Use default with SCSS variables
[#1220]: https://github.com/silviomoreto/bootstrap-select/issues/1220
[#1275]: https://github.com/silviomoreto/bootstrap-select/issues/1275
[#1348]: https://github.com/silviomoreto/bootstrap-select/issues/1348
[#1506]: https://github.com/silviomoreto/bootstrap-select/issues/1506
[#1509]: https://github.com/silviomoreto/bootstrap-select/issues/1509
[#1477]: https://github.com/silviomoreto/bootstrap-select/issues/1477
[#1489]: https://github.com/silviomoreto/bootstrap-select/issues/1489
[#1533]: https://github.com/silviomoreto/bootstrap-select/issues/1533
[#1531]: https://github.com/silviomoreto/bootstrap-select/issues/1531
[#1503]: https://github.com/silviomoreto/bootstrap-select/issues/1503
[#1516]: https://github.com/silviomoreto/bootstrap-select/issues/1516
[#1440]: https://github.com/silviomoreto/bootstrap-select/issues/1440
[#1553]: https://github.com/silviomoreto/bootstrap-select/issues/1553
[#1555]: https://github.com/silviomoreto/bootstrap-select/issues/1555
-------------------
### v1.11.2 (2016-09-09)
#### Bug Fixes
* fix sourceMappingURL in bootstrap-select.min.js
-------------------
### v1.11.1 (2016-09-09)
#### Bug Fixes
* [#1475]: fix Cannot read property 'apply' of null error
* [#1484]: Change events fire twice on IE8
* [#1489]: hide.bs.select and hidden.bs.select events not fired when "Esc" key pressed with live search enabled
[#1475]: https://github.com/silviomoreto/bootstrap-select/issues/1475
[#1484]: https://github.com/silviomoreto/bootstrap-select/issues/1484
[#1489]: https://github.com/silviomoreto/bootstrap-select/issues/1489
-------------------
### v1.11.0 (2016-08-16)
#### Bug Fixes
* [#1291]: don't trigger change event if selecting an option that passes the limit
* [#1284]: check if all options are already selected/deselected before triggering changed/changed.bs.select
* [#1245], [#1310]: With livesearch, when keypress, focus to search field isn't working with some characters
* [#1257]: fix issue with Norwegian translation
* [#1346]: fix edge case where default values are not respected when initializing the plugin
* [#1338]: improve support for disabled optgroups and hidden options
* [#1373]: prevent selectAll and deselectAll from being called on standard select boxes
* [#1363]: if hideDisabled is enabled, and all options in an optgroup are disabled, the optgroup is still visible
* [#1422]: fix menu position inside a scrolling container
* [#1451]: fix select with input-group-addon on both sides
* [#1465]: changed.bs.select not firing for native mobile menu
* [#1459]: jQuery 3 support - $.expr[':'] -> $.expr.pseudos
#### New Features
* [#1139]: add placeholder styling via `bs-placeholder` class
* [#1290]: auto close the menu if maxOptions is set to 1 (instead of leaving open)
* [#1127], [#1016], [#1160], [#1269]: add 'auto' option for dropdownAlignRight
* [58ed408]: support using a string for maxOptionsText
* [#541]: ARIA - Accessibility
[#1291]: https://github.com/silviomoreto/bootstrap-select/issues/1291
[#1284]: https://github.com/silviomoreto/bootstrap-select/issues/1284
[#1245]: https://github.com/silviomoreto/bootstrap-select/issues/1245
[#1257]: https://github.com/silviomoreto/bootstrap-select/issues/1257
[#1310]: https://github.com/silviomoreto/bootstrap-select/issues/1310
[#1346]: https://github.com/silviomoreto/bootstrap-select/issues/1346
[#1338]: https://github.com/silviomoreto/bootstrap-select/issues/1338
[#1373]: https://github.com/silviomoreto/bootstrap-select/issues/1373
[#1363]: https://github.com/silviomoreto/bootstrap-select/issues/1363
[#1422]: https://github.com/silviomoreto/bootstrap-select/issues/1422
[#1451]: https://github.com/silviomoreto/bootstrap-select/issues/1451
[#1465]: https://github.com/silviomoreto/bootstrap-select/issues/1465
[#1459]: https://github.com/silviomoreto/bootstrap-select/issues/1459
[#1139]: https://github.com/silviomoreto/bootstrap-select/issues/1139
[#1290]: https://github.com/silviomoreto/bootstrap-select/issues/1290
[#1127]: https://github.com/silviomoreto/bootstrap-select/issues/1127
[#1016]: https://github.com/silviomoreto/bootstrap-select/issues/1016
[#1160]: https://github.com/silviomoreto/bootstrap-select/issues/1160
[#1269]: https://github.com/silviomoreto/bootstrap-select/issues/1269
[58ed408]: https://github.com/silviomoreto/bootstrap-select/commit/58ed4085019526141be07beeada37788dfe2d316
[#541]: https://github.com/silviomoreto/bootstrap-select/issues/541
-------------------
### v1.10.0 (2016-02-17)
#### Bug Fixes
* [#1268]: performance bug in clickListener
* [#1273]: html5 validation message disappears in Chrome 47+
* [#1295]: hide select by default (so there is no flash of unstyled content)
#### New Features
* [#950]: add `.selectpicker('toggle')` method to allow menu to be open/closed programmatically
* [#1272]: add showTick option
* [#1284]: selectAll and deselectAll now trigger the `changed.bs.select` event
Add Lithuanian translations.
[#1268]: https://github.com/silviomoreto/bootstrap-select/issues/1268
[#1273]: https://github.com/silviomoreto/bootstrap-select/issues/1273
[#1295]: https://github.com/silviomoreto/bootstrap-select/issues/1295
[#950]: https://github.com/silviomoreto/bootstrap-select/issues/950
[#1272]: https://github.com/silviomoreto/bootstrap-select/issues/1272
[#1284]: https://github.com/silviomoreto/bootstrap-select/issues/1284
-------------------
### v1.9.4 (2016-01-18)
#### Bug fixes
* [#1250]: don't destroy original select when using `destroy` method
* [#1230]: Optgroup label missing when first option is disabled and `hideDisabled` is true
Add new translations.
[#1250]: https://github.com/silviomoreto/bootstrap-select/issues/1250
[#1230]: https://github.com/silviomoreto/bootstrap-select/issues/1230
-------------------
### v1.9.3 (2015-12-16)
#### Bug fixes
* Fix [#1235] - issue with selects that had `form-control` class
[#1235]: https://github.com/silviomoreto/bootstrap-select/issues/1235
# Contributing to this project
Please take a moment to review this document in order to make the contribution
process easy and effective for everyone involved.
Following these guidelines helps to communicate that you respect the time of
the developers managing and developing this open source project. In return,
they should reciprocate that respect in addressing your issue or assessing
patches and features.
## Using the issue tracker
The issue tracker is the preferred channel for [bug reports](#bug-reports),
[features requests](#feature-requests) and submitting pull requests, but please
respect the following restrictions:
* Please **do not** use the issue tracker for personal support requests (use
[Stack Overflow](http://stackoverflow.com) or IRC).
* Please **do not** derail or troll issues. Keep the discussion on topic and
respect the opinions of others.
## Bug reports
A bug is a _demonstrable problem_ that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:
1. **Use the GitHub issue search.** Check if the issue has already been
reported.
2. **Check if the issue has been fixed.** Try to reproduce it using the
latest `master` or development branch in the repository.
3. **Provide environment details.** Provide your operating system, browser(s),
jQuery version, Bootstrap version, and bootstrap-select version.
4. **Create an isolated and reproducible test case.** Create a [reduced test
case](http://css-tricks.com/6263-reduced-test-cases/).
5. **Include a live example.** Use [this Plunker debugging template](http://silviomoreto.github.io/bootstrap-select/playground/) to share your isolated test cases. You can also make use of [jsFiddle](http://jsfiddle.net/) or [jsBin](http://jsbin.com/).
A good bug report shouldn't leave others needing to chase you up for more
information. Please try to be as detailed as possible in your report. What is
your environment? What steps will reproduce the issue? What browser(s) and OS
experience the problem? What would you expect to be the outcome? All these
details will help people to fix any potential bugs.
Example:
> Short and descriptive example bug report title
>
> A summary of the issue and the browser/OS environment in which it occurs. If
> suitable, include the steps required to reproduce the bug.
>
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
>
> `<url>` - a link to the reduced test case
>
> Any other information you want to share that is relevant to the issue being
> reported. This might include the lines of code that you have identified as
> causing the bug, and potential solutions (and your opinions on their
> merits).
## Feature requests
Feature requests are welcome. But take a moment to find out whether your idea
fits with the scope and aims of the project. It's up to *you* to make a strong
case to convince the project's developers of the merits of this feature. Please
provide as much detail and context as possible.
## Pull Request Guidelines
You must understand that by contributing code to this project, you are granting
the authors (and/or leaders) of the project a non-exclusive license to
re-distribute your code under the current license and possibly re-license the
code as deemed necessary.
* To instantiate a context or use it, use the variable **that** instead of
**_this**.
* Please check to make sure that there aren't existing pull requests attempting
to address the issue mentioned. We also recommend checking for issues related
to the issue on the tracker, as a team member may be working on the issue in
a branch or fork.
* Non-trivial changes should be discussed in an issue first
* When modifying files, please do not edit the generated or minified files in the dist/ directory. Please edit the original files.
* If possible, add relevant tests to cover the change
* Write a convincing description of your PR and why we should land it
## Using Grunt
We are using node and grunt to build and (in the future) test this project.
This means that you must setup a local development environment:
1. Install `node` and `npm` using your preferred method
2. Install the grunt CLI: `npm install -g grunt-cli`
3. Install the project's development dependencies: `npm install`
4. Run the various grunt tasks as needed:
- `grunt`: clean the distribution files and re-build them
- `grunt dist`: build the distribution files
- `grunt clean`: clean the distribution files
- `grunt dist-css`: build the css distribution files
- `grunt dist-js`: build the javascript distribution files
- `grunt watch`: watch for changes in the source files and build the
distribution files as needed
module.exports = function (grunt) {
// From TWBS
RegExp.quote = function (string) {
return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&');
};
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
banner: '/*!\n' +
' * Bootstrap-select v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
' *\n' +
' * Copyright 2013-<%= grunt.template.today(\'yyyy\') %> bootstrap-select\n' +
' * Licensed under <%= pkg.license %> (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)\n' +
' */\n',
// Task configuration.
clean: {
css: 'dist/css',
js: 'dist/js',
docs: 'docs/docs/dist'
},
jshint: {
options: {
jshintrc: 'js/.jshintrc'
},
gruntfile: {
options: {
'node': true
},
src: 'Gruntfile.js'
},
main: {
src: 'js/*.js'
},
i18n: {
src: 'js/i18n/*.js'
}
},
concat: {
options: {
stripBanners: true
},
main: {
src: '<%= jshint.main.src %>',
dest: 'dist/js/<%= pkg.name %>.js'
},
i18n: {
expand: true,
src: '<%= jshint.i18n.src %>',
dest: 'dist/'
}
},
umd: {
main: {
options: {
deps: {
'default': ['jQuery'],
amd: ['jquery'],
cjs: ['jquery'],
global: ['jQuery']
}
},
src: '<%= concat.main.dest %>'
},
i18n: {
options: {
deps: {
'default': ['jQuery'],
amd: ['jquery'],
cjs: ['jquery'],
global: ['jQuery']
}
},
src: 'dist/<%= jshint.i18n.src %>',
dest: '.'
}
},
uglify: {
options: {
preserveComments: function(node, comment) {
return /^!|@preserve|@license|@cc_on/i.test(comment.value);
}
},
main: {
src: '<%= concat.main.dest %>',
dest: 'dist/js/<%= pkg.name %>.min.js',
options: {
sourceMap: true,
sourceMapName: 'dist/js/<%= pkg.name %>.js.map'
}
},
i18n: {
expand: true,
src: 'dist/<%= jshint.i18n.src %>',
ext: '.min.js'
}
},
less: {
options: {
strictMath: true,
sourceMap: true,
outputSourceFiles: true,
sourceMapURL: '<%= pkg.name %>.css.map',
sourceMapFilename: '<%= less.css.dest %>.map'
},
css: {
src: 'less/bootstrap-select.less',
dest: 'dist/css/<%= pkg.name %>.css'
}
},
usebanner: {
css: {
options: {
banner: '<%= banner %>'
},
src: '<%= less.css.dest %>'
},
js: {
options: {
banner: '<%= banner %>'
},
src: [
'<%= concat.main.dest %>',
'<%= uglify.main.dest %>',
'dist/<%= jshint.i18n.src %>',
]
}
},
copy: {
docs: {
expand: true,
cwd: 'dist/',
src: [
'**/*'
],
dest: 'docs/docs/dist/'
}
},
cssmin: {
options: {
compatibility: 'ie8',
keepSpecialComments: '*',
advanced: false
},
css: {
src: '<%= less.css.dest %>',
dest: 'dist/css/<%= pkg.name %>.min.css'
}
},
csslint: {
options: {
'adjoining-classes': false,
'box-sizing': false,
'box-model': false,
'compatible-vendor-prefixes': false,
'floats': false,
'font-sizes': false,
'gradients': false,
'important': false,
'known-properties': false,
'outline-none': false,
'qualified-headings': false,
'regex-selectors': false,
'shorthand': false,
'text-indent': false,
'unique-headings': false,
'universal-selector': false,
'unqualified-attributes': false,
'overqualified-elements': false
},
css: {
src: '<%= less.css.dest %>'
}
},
version: {
js: {
options: {
prefix: 'Selectpicker.VERSION = \''
},
src: [
'js/<%= pkg.name %>.js'
],
},
cdn: {
options: {
prefix: 'ajax/libs/<%= pkg.name %>/'
},
src: [
'README.md',
'docs/docs/index.md'
],
},
nuget: {
options: {
prefix: '<version>'
},
src: [
'nuget/bootstrap-select.nuspec'
],
},
default: {
options: {
prefix: '[\'"]?version[\'"]?:[ "\']*'
},
src: [
'composer.json',
'docs/mkdocs.yml',
'package.json'
],
}
},
autoprefixer: {
options: {
browsers: [
'Android 2.3',
'Android >= 4',
'Chrome >= 20',
'Firefox >= 24', // Firefox 24 is the latest ESR
'Explorer >= 8',
'iOS >= 6',
'Opera >= 12',
'Safari >= 6'
]
},
css: {
options: {
map: true
},
src: '<%= less.css.dest %>'
}
},
compress: {
zip: {
options: {
archive: 'bootstrap-select-<%= pkg.version %>.zip',
mode: 'zip'
},
files: [
{
expand: true,
cwd: 'dist/',
src: '**',
dest: 'bootstrap-select-<%= pkg.version %>/'
}, {
src: ['bower.json', 'composer.json', 'package.json'],
dest: 'bootstrap-select-<%= pkg.version %>/'
}
]
}
},
watch: {
gruntfile: {
files: '<%= jshint.gruntfile.src %>',
tasks: 'jshint:gruntfile'
},
js: {
files: ['<%= jshint.main.src %>', '<%= jshint.i18n.src %>'],
tasks: 'build-js'
},
less: {
files: 'less/*.less',
tasks: 'build-css'
}
}
});
// These plugins provide necessary tasks.
require('load-grunt-tasks')(grunt, {
scope: 'devDependencies'
});
// Version numbering task.
// to update version number, use grunt version::x.y.z
// CSS distribution
grunt.registerTask('build-css', ['clean:css', 'less', 'autoprefixer', 'usebanner:css', 'cssmin']);
// JS distribution
grunt.registerTask('build-js', ['clean:js', 'concat', 'umd', 'usebanner:js', 'uglify']);
// Copy dist to docs
grunt.registerTask('docs', ['clean:docs', 'copy:docs']);
// Development watch
grunt.registerTask('dev-watch', ['build-css', 'build-js', 'watch']);
// Full distribution
grunt.registerTask('dist', ['build-css', 'build-js', 'compress']);
// Default task.
grunt.registerTask('default', ['build-css', 'build-js']);
};
The MIT License (MIT)
Copyright (c) 2013-2015 bootstrap-select
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
bootstrap-select
================
[![Latest release](https://img.shields.io/github/release/silviomoreto/bootstrap-select.svg)](https://github.com/silviomoreto/bootstrap-select/releases/latest)
[![Bower](https://img.shields.io/bower/v/bootstrap-select.svg)]()
[![npm](https://img.shields.io/npm/v/bootstrap-select.svg)](https://www.npmjs.com/package/bootstrap-select)
[![NuGet](https://img.shields.io/nuget/v/bootstrap-select.svg)](https://www.nuget.org/packages/bootstrap-select/)
[![CDNJS](https://img.shields.io/cdnjs/v/bootstrap-select.svg)](https://cdnjs.com/libraries/bootstrap-select)
[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE)
[![Dependency Status](https://david-dm.org/silviomoreto/bootstrap-select.svg)](https://david-dm.org/silviomoreto/bootstrap-select)
[![devDependency Status](https://david-dm.org/silviomoreto/bootstrap-select/dev-status.svg)](https://david-dm.org/silviomoreto/bootstrap-select#info=devDependencies)
Bootstrap-select is a jQuery plugin that utilizes Bootstrap's dropdown.js to style and bring additional functionality to standard select elements.
<a href="http://silviomoreto.github.io/bootstrap-select/"><img src="https://cloud.githubusercontent.com/assets/2874325/18023324/42cf556c-6bb5-11e6-84ce-35be08ae57ba.gif" alt="bootstrap-select demo"></a>
## Demo and Documentation
You can view a live demo and some examples of how to use the various options [here](http://silviomoreto.github.io/bootstrap-select).
Bootstrap-select's documentation, included in this repo in the root directory, is built with MkDocs and publicly hosted on GitHub Pages at http://silviomoreto.github.io/bootstrap-select. The documentation may also be run locally.
### Running documentation locally
1. If necessary, [install MkDocs](http://www.mkdocs.org/#installation).
3. From the `/bootstrap-select/docs` directory, run `mkdocs serve` in the command line.
4. Open `http://127.0.0.1:8000/` in your browser, and voilà.
Learn more about using MkDocs by reading its [documentation](http://www.mkdocs.org/).
## Authors
[Silvio Moreto](https://github.com/silviomoreto),
[Ana Carolina](https://github.com/anacarolinats),
[caseyjhol](https://github.com/caseyjhol),
[Matt Bryson](https://github.com/mattbryson), and
[t0xicCode](https://github.com/t0xicCode).
## Usage
Create your `<select>` with the `.selectpicker` class.
```html
<select class="selectpicker">
<option>Mustard</option>
<option>Ketchup</option>
<option>Barbecue</option>
</select>
```
If you use a 1.6.3 or newer, you don't need to do anything else, as the data-api automatically picks up the `<select>`s with the `selectpicker` class.
If you use an older version, you need to add the following either at the bottom of the page (after the last selectpicker), or in a [`$(document).ready()`](http://api.jquery.com/ready/) block.
```js
// To style only <select>s with the selectpicker class
$('.selectpicker').selectpicker();
```
Or
```js
// To style all <select>s
$('select').selectpicker();
```
Checkout the [documentation](http://silviomoreto.github.io/bootstrap-select) for further information.
## CDN
**N.B.**: The CDN is updated after the release is made public, which means that there is a delay between the publishing of a release and its availability on the CDN. Check [the GitHub page](https://github.com/silviomoreto/bootstrap-select/releases) for the latest release.
* [//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.min.css](//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.min.css)
* [//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.min.js](//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.min.js)
* //cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/i18n/defaults-*.min.js (The translation files)
## Bugs and feature requests
Anyone and everyone is welcome to contribute. **Please take a moment to
review the [guidelines for contributing](CONTRIBUTING.md)**. Make sure you're using the latest version of bootstrap-select before submitting an issue.
* [Bug reports](CONTRIBUTING.md#bug-reports)
* [Feature requests](CONTRIBUTING.md#feature-requests)
## Copyright and license
Copyright (C) 2013-2015 bootstrap-select
Licensed under [the MIT license](LICENSE).
## Used by
* [SnapAppointments](https://snapappointments.com)
* [Thermo Fisher Scientific Inc.](https://www.thermofisher.com)
* [membermeister](https://www.membermeister.com)
* [Solve for All](https://solveforall.com)
* [EstiMATEit](http://www.123itworks.co.uk)
* [Convertizer](https://convertizer.com)
Does your organization use bootstrap-select? Open an issue, and include a link and logo, and you'll be added to the list.
{
"name": "bootstrap-select-bs4",
"main": [
"less/bootstrap-select.less",
"dist/css/bootstrap-select.css",
"dist/js/bootstrap-select.js"
],
"homepage": "https://github.com/heimrichhannot/bootstrap-select",
"authors": [
"silviomoreto",
"r.kaltofen@heimrich-hannot.de"
],
"keywords": [
"form",
"bootstrap",
"select",
"replacement"
],
"dependencies": {
"jquery": ">=1.8"
},
"license": "MIT",
"ignore": [
".gitignore",
"CONTRIBUTING.md",
"Gruntfile.js",
"README.md",
"composer.json",
"package.json",
"test.html"
]
}
{
"name": "heimrichhannot/bootstrap-select",
"description": "Bootstrap-select is a jQuery plugin that utilizes Bootstrap's dropdown.js to style and bring additional functionality to standard select elements.",
"type": "contao-component",
"keywords": [
"form",
"bootstrap",
"select",
"replacement"
],
"homepage": "http://silviomoreto.github.io/bootstrap-select",
"version": "1.12.5",
"authors": [
{
"name": "Silvio Moreto",
"homepage": "https://github.com/silviomoreto"
}
],
"require": {
"contao-components/installer": "^1.0.9"
},
"license": "MIT",
"suggest": {
"components/jquery": ">=1.8",
"heimrichhannot/bootstrap": "4.0.0-alpha"
}
}
/* line 27, bootstrap-select.scss */
select.bs-select-hidden,
select.selectpicker {
display: none !important;
}
/* line 32, bootstrap-select.scss */
.bootstrap-select {
width: 220px \0;
/*IE9 and below*/
}
/* line 37, bootstrap-select.scss */
.bootstrap-select.btn-group > .dropdown-toggle {
height: 100%;
}
/* line 43, bootstrap-select.scss */
.bootstrap-select > .dropdown-toggle {
width: 100%;
padding-right: 25px;
z-index: 1;
}
/* line 48, bootstrap-select.scss */
.bootstrap-select > .dropdown-toggle.bs-placeholder, .bootstrap-select > .dropdown-toggle.bs-placeholder:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder:active {
color: #999;
}
/* line 56, bootstrap-select.scss */
.bootstrap-select > select {
position: absolute !important;
bottom: 0;
left: 50%;
display: block !important;
width: 0.5px !important;
height: 100% !important;
padding: 0 !important;
opacity: 0 !important;
border: none;
}
/* line 67, bootstrap-select.scss */
.bootstrap-select > select.mobile-device {
top: 0;
left: 0;
display: block !important;
width: 100% !important;
z-index: 2;
}
/* line 77, bootstrap-select.scss */
.has-error .bootstrap-select .dropdown-toggle, .error .bootstrap-select .dropdown-toggle {
border-color: #b94a48;
}
/* line 82, bootstrap-select.scss */
.bootstrap-select.fit-width {
width: auto !important;
}
/* line 86, bootstrap-select.scss */
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
width: 220px;
}
/* line 90, bootstrap-select.scss */
.bootstrap-select .dropdown-toggle:focus {
outline: thin dotted #333333 !important;
outline: 5px auto -webkit-focus-ring-color !important;
outline-offset: -2px;
}
/* line 97, bootstrap-select.scss */
.bootstrap-select.form-control {
margin-bottom: 0;
padding: 0;
border: none;
}
/* line 102, bootstrap-select.scss */
.bootstrap-select.form-control:not([class*="col-"]) {
width: 100%;
}
/* line 106, bootstrap-select.scss */
.bootstrap-select.form-control.input-group-btn {
z-index: auto;
}
/* line 110, bootstrap-select.scss */
.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
/* line 119, bootstrap-select.scss */
.bootstrap-select.btn-group:not(.input-group-btn), .bootstrap-select.btn-group[class*="col-"] {
float: none;
display: inline-block;
margin-left: 0;
}
/* line 130, bootstrap-select.scss */
.bootstrap-select.btn-group.dropdown-menu-right, .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right, .row .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right {
float: right;
}
/* line 135, bootstrap-select.scss */
.form-inline .bootstrap-select.btn-group, .form-horizontal .bootstrap-select.btn-group, .form-group .bootstrap-select.btn-group {
margin-bottom: 0;
}
/* line 141, bootstrap-select.scss */
.form-group-lg .bootstrap-select.btn-group.form-control, .form-group-sm .bootstrap-select.btn-group.form-control {
padding: 0;
}
/* line 145, bootstrap-select.scss */
.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle, .form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle {
height: 100%;
font-size: inherit;
line-height: inherit;
border-radius: inherit;
}
/* line 155, bootstrap-select.scss */
.form-inline .bootstrap-select.btn-group .form-control {
width: 100%;
}
/* line 159, bootstrap-select.scss */
.bootstrap-select.btn-group.disabled,
.bootstrap-select.btn-group > .disabled {
cursor: not-allowed;
}
/* line 163, bootstrap-select.scss */
.bootstrap-select.btn-group.disabled:focus,
.bootstrap-select.btn-group > .disabled:focus {
outline: none !important;
}
/* line 168, bootstrap-select.scss */
.bootstrap-select.btn-group.bs-container {
position: absolute;
height: 0 !important;
padding: 0 !important;
}
/* line 173, bootstrap-select.scss */
.bootstrap-select.btn-group.bs-container .dropdown-menu {
z-index: 1060;
}
/* line 180, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-toggle .filter-option {
display: inline-block;
overflow: hidden;
width: 100%;
text-align: left;
}
/* line 187, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-toggle .caret {
position: absolute;
top: 50%;
right: 12px;
margin-top: -2px;
vertical-align: middle;
}
/* line 196, bootstrap-select.scss */
.bootstrap-select.btn-group[class*="col-"] .dropdown-toggle {
width: 100%;
}
/* line 201, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu {
min-width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* line 205, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu.inner {
display: block;
position: static;
float: none;
border: 0;
padding: 0;
margin: 0;
border-radius: 0;
box-shadow: none;
}
/* line 216, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item {
position: relative;
cursor: pointer;
user-select: none;
}
/* line 221, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item.active small {
color: #fff;
}
/* line 225, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item.disabled a {
cursor: not-allowed;
}
/* line 229, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item.hidden {
display: none;
}
/* line 233, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner {
display: block;
}
/* line 236, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner.opt {
position: relative;
padding-left: 2.25em;
}
/* line 241, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner span.check-mark {
display: none;
}
/* line 245, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner span.text {
display: inline-block;
}
/* line 250, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu a.dropdown-item small {
padding-left: 0.5em;
}
/* line 257, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu .dropdown-item .span.check-mark {
display: none;
}
/* line 261, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu .dropdown-item .span.text {
display: inline-block;
}
/* line 266, bootstrap-select.scss */
.bootstrap-select.btn-group .dropdown-menu .notify {
position: absolute;
bottom: 5px;
width: 96%;
margin: 0 2%;
min-height: 26px;
padding: 3px 5px;
background: whitesmoke;
border: 1px solid #e3e3e3;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
pointer-events: none;
opacity: 0.9;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* line 282, bootstrap-select.scss */
.bootstrap-select.btn-group .no-results {
padding: 3px;
background: #f5f5f5;
margin: 0 5px;
white-space: nowrap;
}
/* line 290, bootstrap-select.scss */
.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option {
position: static;
}
/* line 294, bootstrap-select.scss */
.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret {
position: static;
top: auto;
margin-top: -1px;
}
/* line 302, bootstrap-select.scss */
.bootstrap-select.btn-group.show-tick .dropdown-menu a.selected span.dropdown-item-inner span.check-mark {
position: absolute;
display: inline-block;
right: 15px;
margin-top: 5px;
}
/* line 309, bootstrap-select.scss */
.bootstrap-select.btn-group.show-tick .dropdown-menu a a span.text {
margin-right: 34px;
}
/* line 316, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle {
z-index: 1061;
}
/* line 321, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow .dropdown-toggle:before {
content: '';
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid rgba(204, 204, 204, 0.2);
position: absolute;
bottom: -4px;
left: 9px;
display: none;
}
/* line 332, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow .dropdown-toggle:after {
content: '';
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid white;
position: absolute;
bottom: -4px;
left: 10px;
display: none;
}
/* line 345, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {
bottom: auto;
top: -3px;
border-top: 7px solid rgba(204, 204, 204, 0.2);
border-bottom: 0;
}
/* line 352, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
bottom: auto;
top: -3px;
border-top: 6px solid white;
border-bottom: 0;
}
/* line 361, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {
right: 12px;
left: auto;
}
/* line 366, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {
right: 13px;
left: auto;
}
/* line 373, bootstrap-select.scss */
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
display: block;
}
/* line 380, bootstrap-select.scss */
.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
padding: 4px 8px;
}
/* line 386, bootstrap-select.scss */
.bs-actionsbox {
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* line 390, bootstrap-select.scss */
.bs-actionsbox .btn-group button {
width: 50%;
}
/* line 395, bootstrap-select.scss */
.bs-donebutton {
float: left;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* line 400, bootstrap-select.scss */
.bs-donebutton .btn-group button {
width: 100%;
}
/* line 406, bootstrap-select.scss */
.bs-searchbox + .bs-actionsbox {
padding: 0 8px 4px;
}
/* line 410, bootstrap-select.scss */
.bs-searchbox .form-control {
margin-bottom: 0;
width: 100%;
float: none;
}
/* line 417, bootstrap-select.scss */
.input-group .bs-searchbox .form-control {
width: 100%;
}
{
"version": 3,
"mappings": "AA0BA;mBACoB;EAChB,OAAO,EAAE,eAAe;;AAG5B,iBAAkB;EACd,KAAK,EAAE,QACX;EAAE,iBAAiB;EAGX,8CAAmB;IACf,MAAM,EAAE,IAAI;EAKpB,oCAAmB;IACf,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,CAAC;IAEV,qOAGwB;MACpB,KAAK,EC3CS,IAAI;ED+C1B,0BAAS;IACL,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,IAAI;IAEZ,wCAAgB;MACZ,GAAG,EAAE,CAAC;MACN,IAAI,EAAE,CAAC;MACP,OAAO,EAAE,gBAAgB;MACzB,KAAK,EAAE,eAAe;MACtB,OAAO,EAAE,CAAC;EAKlB,wFAC0B;IACtB,YAAY,EC9EF,OAAgB;EDiF9B,2BAAY;IACR,KAAK,EAAE,eAAe;EAG1B,yFAA0E;IACtE,KAAK,ECnFG,KAAK;EDsFjB,wCAAuB;IACnB,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,4CAA4C;IACrD,cAAc,EAAE,IAAI;;AAI5B,8BAA+B;EAC3B,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,IAAI;EAEZ,mDAAuB;IACnB,KAAK,EAAE,IAAI;EAGf,8CAAkB;IACd,OAAO,EAAE,IAAI;IAGT,wFAAO;MACH,aAAa,EAAE,CAAC;;AAQ5B,6FACiB;EACb,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,CAAC;AAOd,oLAAsB;EAClB,KAAK,EAAE,KAAK;AAIpB,+HAEc;EACV,aAAa,EAAE,CAAC;AAGpB,gHAC8B;EAC1B,OAAO,EAAE,CAAC;EAEV,kJAAiB;IACb,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,OAAO;IAClB,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;AAM9B,sDAA6B;EACzB,KAAK,EAAE,IAAI;AAGf;uCACY;EA3JZ,MAAM,EAAE,WAAW;EA8Jf;+CAAQ;IACJ,OAAO,EAAE,eAAe;AAIhC,wCAAe;EACX,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,YAAY;EACpB,OAAO,EAAE,YAAY;EAErB,uDAAe;IACX,OAAO,ECxKM,IAAI;AD8KrB,2DAAe;EACX,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,MAAM;EAChB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;AAGpB,mDAAO;EACH,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;EAChB,cAAc,EAAE,MAAM;AAI9B,2DAAkC;EAC9B,KAAK,EAAE,IAAI;AAIf,0CAAe;EACX,SAAS,EAAE,IAAI;EAjMnB,kBAAkB,EAkMM,UAAU;EAjMlC,eAAe,EAiMS,UAAU;EAhMlC,UAAU,EAgMc,UAAU;EAE9B,gDAAQ;IACJ,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,IAAI;EAGpB,0DAAgB;IACZ,QAAQ,EAAE,QAAQ;IAElB,uEAAe;MACX,KAAK,EAAE,IAAI;IAGf,qEAAa;MA1NrB,MAAM,EAAE,WAAW;IA8NX,iEAAS;MACL,OAAO,EAAE,IAAI;IAGjB,mFAAyB;MACrB,MAAM,EAAE,OAAO;MACf,WAAW,EAAE,IAAI;MACjB,OAAO,EAAE,KAAK;MAEd,uFAAM;QACF,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,MAAM;MAGxB,mGAAgB;QACZ,OAAO,EAAE,IAAI;MAGjB,6FAAU;QACN,OAAO,EAAE,YAAY;IAI7B,gEAAM;MACF,YAAY,EAAE,KAAK;EAMvB,0EAAiB;IACb,OAAO,EAAE,IAAI;EAGjB,oEAAW;IACP,OAAO,EAAE,YAAY;EAI7B,kDAAQ;IACJ,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAkB;IAC9B,MAAM,EAAE,iBAA4B;IAnQ5C,kBAAkB,EAoQU,mCAAqC;IAnQjE,UAAU,EAmQkB,mCAAqC;IACzD,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,GAAG;IA5QpB,kBAAkB,EA6QU,UAAU;IA5QtC,eAAe,EA4Qa,UAAU;IA3QtC,UAAU,EA2QkB,UAAU;AAItC,uCAAY;EACR,OAAO,EAAE,GAAG;EACZ,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,KAAK;EACb,WAAW,EAAE,MAAM;AAInB,qEAAe;EACX,QAAQ,EAAE,MAAM;AAGpB,6DAAO;EACH,QAAQ,EAAE,MAAM;EAChB,GAAG,EAAE,IAAI;EACT,UAAU,EAAE,IAAI;AAKpB,wGAAoD;EAChD,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,GAAG;AAGnB,kEAAY;EACR,YAAY,EAAE,IAAI;;AAM1B,yDAA0B;EACtB,OAAO,EAAE,IAA6B;AAItC,yDAAS;EACL,OAAO,EAAE,EAAE;EACX,WAAW,EAAE,qBAAqB;EAClC,YAAY,EAAE,qBAAqB;EACnC,aAAa,EAAE,kCAA2B;EAC1C,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,GAAG;EACT,OAAO,EAAE,IAAI;AAGjB,wDAAQ;EACJ,OAAO,EAAE,EAAE;EACX,WAAW,EAAE,qBAAqB;EAClC,YAAY,EAAE,qBAAqB;EACnC,aAAa,EAAE,eAAe;EAC9B,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,IAAI;EACV,OAAO,EAAE,IAAI;AAKjB,gEAAS;EACL,MAAM,EAAE,IAAI;EACZ,GAAG,EAAE,IAAI;EACT,UAAU,EAAE,kCAA2B;EACvC,aAAa,EAAE,CAAC;AAGpB,+DAAQ;EACJ,MAAM,EAAE,IAAI;EACZ,GAAG,EAAE,IAAI;EACT,UAAU,EAAE,eAAe;EAC3B,aAAa,EAAE,CAAC;AAKpB,oEAAS;EACL,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,IAAI;AAGd,mEAAQ;EACJ,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,IAAI;AAKd,iIACQ;EACJ,OAAO,EAAE,KAAK;;AAK1B;;cAEe;EACX,OAAO,EAAE,OAAO;;AAGpB,cAAe;EACX,KAAK,EAAE,IAAI;EA1XX,kBAAkB,EA2XE,UAAU;EA1X9B,eAAe,EA0XK,UAAU;EAzX9B,UAAU,EAyXU,UAAU;EAE9B,gCAAoB;IAChB,KAAK,EAAE,GAAG;;AAIlB,cAAe;EACX,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,IAAI;EApYX,kBAAkB,EAqYE,UAAU;EApY9B,eAAe,EAoYK,UAAU;EAnY9B,UAAU,EAmYU,UAAU;EAE9B,gCAAoB;IAChB,KAAK,EAAE,IAAI;;AAKf,8BAAmB;EACf,OAAO,EAAE,SAAS;AAGtB,2BAAgB;EACZ,aAAa,EAAE,CAAC;EAChB,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,IAAI",
"sources": ["../../../../www/assets/bootstrap-select/sass/bootstrap-select.scss","../../../../www/assets/bootstrap-select/sass/variables.scss"],
"names": [],
"file": "bootstrap-select.css"
}
select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px \0}.bootstrap-select.btn-group>.dropdown-toggle{height:100%}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:active{color:#999}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:0}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.has-error .bootstrap-select .dropdown-toggle,.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:0}.bootstrap-select.form-control:not([class*="col-"]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child)>.btn{border-radius:0}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*="col-"]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*="col-"].dropdown-menu-right,.row .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right{float:right}.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-group .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:none!important}.bootstrap-select.btn-group.bs-container{position:absolute;height:0!important;padding:0!important}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*="col-"] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{display:block;position:static;float:none;border:0;padding:0;margin:0;border-radius:0;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item{position:relative;cursor:pointer;user-select:none}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item.hidden{display:none}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner{display:block}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item span.dropdown-item-inner span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu a.dropdown-item small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .dropdown-item .span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu .dropdown-item .span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:whitesmoke;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu a.selected span.dropdown-item-inner span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu a a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,0.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,0.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid white;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bs-searchbox,.bs-actionsbox,.bs-donebutton{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}.input-group .bs-searchbox .form-control{width:100%}
\ No newline at end of file
/*!
* Bootstrap-select v1.12.13 (https://github.com/heimrichhannot/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/heimrichhannot/bootstrap-select/LICENSE)
*/
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(['jquery'], function(a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require('jquery'));
} else {
factory(root['jQuery']);
}
}(this, function(jQuery) {
(function($) {
'use strict';
//<editor-fold desc="Shims">
if (!String.prototype.includes) {
(function() {
'use strict'; // needed to support `apply`/`call` with `undefined`/`null`
var toString = {}.toString;
var defineProperty = (function() {
// IE 8 only supports `Object.defineProperty` on DOM elements
try {
var object = {};
var $defineProperty = Object.defineProperty;
var result = $defineProperty(object, object, object) && $defineProperty;
} catch (error) {
}
return result;
}());
var indexOf = ''.indexOf;
var includes = function(search) {
if (this == null) {
throw new TypeError();
}
var string = String(this);
if (search && toString.call(search) == '[object RegExp]') {
throw new TypeError();
}
var stringLength = string.length;
var searchString = String(search);
var searchLength = searchString.length;
var position = arguments.length > 1 ? arguments[1] : undefined;
// `ToInteger`
var pos = position ? Number(position) : 0;
if (pos != pos) { // better `isNaN`
pos = 0;
}
var start = Math.min(Math.max(pos, 0), stringLength);
// Avoid the `indexOf` call if no match is possible
if (searchLength + start > stringLength) {
return false;
}
return indexOf.call(string, searchString, pos) != -1;
};
if (defineProperty) {
defineProperty(String.prototype, 'includes', {
'value': includes,
'configurable': true,
'writable': true,
});
} else {
String.prototype.includes = includes;
}
}());
}
if (!String.prototype.startsWith) {
(function() {
'use strict'; // needed to support `apply`/`call` with `undefined`/`null`
var defineProperty = (function() {
// IE 8 only supports `Object.defineProperty` on DOM elements
try {
var object = {};
var $defineProperty = Object.defineProperty;
var result = $defineProperty(object, object, object) && $defineProperty;
} catch (error) {
}
return result;
}());
var toString = {}.toString;
var startsWith = function(search) {
if (this == null) {
throw new TypeError();
}
var string = String(this);
if (search && toString.call(search) == '[object RegExp]') {
throw new TypeError();
}
var stringLength = string.length;
var searchString = String(search);
var searchLength = searchString.length;
var position = arguments.length > 1 ? arguments[1] : undefined;
// `ToInteger`
var pos = position ? Number(position) : 0;
if (pos != pos) { // better `isNaN`
pos = 0;
}
var start = Math.min(Math.max(pos, 0), stringLength);
// Avoid the `indexOf` call if no match is possible
if (searchLength + start > stringLength) {
return false;
}
var index = -1;
while (++index < searchLength) {
if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) {
return false;
}
}
return true;
};
if (defineProperty) {
defineProperty(String.prototype, 'startsWith', {
'value': startsWith,
'configurable': true,
'writable': true,
});
} else {
String.prototype.startsWith = startsWith;
}
}());
}
if (!Object.keys) {
Object.keys = function(
o, // object
k, // key
r // result array
) {
// initialize object and result
r = [];
// iterate over object keys
for (k in o)
// fill result array with non-prototypical keys
r.hasOwnProperty.call(o, k) && r.push(k);
// return result
return r;
};
}
// set data-selected on select element if the value has been programmatically selected
// prior to initialization of bootstrap-select
// * consider removing or replacing an alternative method *
var valHooks = {
useDefault: false,
_set: $.valHooks.select.set,
};
$.valHooks.select.set = function(elem, value) {
if (value && !valHooks.useDefault) $(elem).data('selected', true);
return valHooks._set.apply(this, arguments);
};
var changed_arguments = null;
$.fn.triggerNative = function(eventName) {
var el = this[0],
event;
if (el.dispatchEvent) { // for modern browsers & IE9+
if (typeof Event === 'function') {
// For modern browsers
event = new Event(eventName, {
bubbles: true,
});
} else {
// For IE since it doesn't support Event constructor
event = document.createEvent('Event');
event.initEvent(eventName, true, false);
}
el.dispatchEvent(event);
} else if (el.fireEvent) { // for IE8
event = document.createEventObject();
event.eventType = eventName;
el.fireEvent('on' + eventName, event);
} else {
// fall back to jQuery.trigger
this.trigger(eventName);
}
};
//</editor-fold>
// Case insensitive contains search
$.expr.pseudos.icontains = function(obj, index, meta) {
var $obj = $(obj).find('span.dropdown-item-inner');
var haystack = ($obj.data('tokens') || $obj.text()).toString().toUpperCase();
return haystack.includes(meta[3].toUpperCase());
};
// Case insensitive begins search
$.expr.pseudos.ibegins = function(obj, index, meta) {
var $obj = $(obj).find('span.dropdown-item-inner');
var haystack = ($obj.data('tokens') || $obj.text()).toString().toUpperCase();
return haystack.startsWith(meta[3].toUpperCase());
};
// Case and accent insensitive contains search
$.expr.pseudos.aicontains = function(obj, index, meta) {
var $obj = $(obj).find('span.dropdown-item-inner');
var haystack = ($obj.data('tokens') || $obj.data('normalizedText') || $obj.text()).toString().toUpperCase();
return haystack.includes(meta[3].toUpperCase());
};
// Case and accent insensitive begins search
$.expr.pseudos.aibegins = function(obj, index, meta) {
var $obj = $(obj).find('span.dropdown-item-inner');
var haystack = ($obj.data('tokens') || $obj.data('normalizedText') || $obj.text()).toString().toUpperCase();
return haystack.startsWith(meta[3].toUpperCase());
};
/**
* Remove all diatrics from the given text.
* @access private
* @param {String} text
* @returns {String}
*/
function normalizeToBase(text) {
var rExps = [
{re: /[\xC0-\xC6]/g, ch: 'A'},
{re: /[\xE0-\xE6]/g, ch: 'a'},
{re: /[\xC8-\xCB]/g, ch: 'E'},
{re: /[\xE8-\xEB]/g, ch: 'e'},
{re: /[\xCC-\xCF]/g, ch: 'I'},
{re: /[\xEC-\xEF]/g, ch: 'i'},
{re: /[\xD2-\xD6]/g, ch: 'O'},
{re: /[\xF2-\xF6]/g, ch: 'o'},
{re: /[\xD9-\xDC]/g, ch: 'U'},
{re: /[\xF9-\xFC]/g, ch: 'u'},
{re: /[\xC7-\xE7]/g, ch: 'c'},
{re: /[\xD1]/g, ch: 'N'},
{re: /[\xF1]/g, ch: 'n'},
];
$.each(rExps, function() {
text = text ? text.replace(this.re, this.ch) : '';
});
return text;
}
// List of HTML entities for escaping.
var escapeMap = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
'\'': '&#x27;',
'`': '&#x60;',
};
var unescapeMap = {
'&amp;': '&',
'&lt;': '<',
'&gt;': '>',
'&quot;': '"',
'&#x27;': '\'',
'&#x60;': '`',
};
// Functions for escaping and unescaping strings to/from HTML interpolation.
var createEscaper = function(map) {
var escaper = function(match) {
return map[match];
};
// Regexes for identifying a key that needs to be escaped.
var source = '(?:' + Object.keys(map).join('|') + ')';
var testRegexp = RegExp(source);
var replaceRegexp = RegExp(source, 'g');
return function(string) {
string = string == null ? '' : '' + string;
return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
};
};
var htmlEscape = createEscaper(escapeMap);
var htmlUnescape = createEscaper(unescapeMap);
var Selectpicker = function(element, options) {
// bootstrap-select has been initialized - revert valHooks.select.set back to its original function
if (!valHooks.useDefault) {
$.valHooks.select.set = valHooks._set;
valHooks.useDefault = true;
}
this.$element = $(element);
this.$newElement = null;
this.$button = null;
this.$menu = null;
this.$lis = null;
this.options = options;
// If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a
// data-attribute)
if (this.options.title === null) {
this.options.title = this.$element.attr('title');
}
// Format window padding
var winPad = this.options.windowPadding;
if (typeof winPad === 'number') {
this.options.windowPadding = [winPad, winPad, winPad, winPad];
}
//Expose public methods
this.val = Selectpicker.prototype.val;
this.render = Selectpicker.prototype.render;
this.refresh = Selectpicker.prototype.refresh;
this.setStyle = Selectpicker.prototype.setStyle;
this.selectAll = Selectpicker.prototype.selectAll;
this.deselectAll = Selectpicker.prototype.deselectAll;
this.destroy = Selectpicker.prototype.destroy;
this.remove = Selectpicker.prototype.remove;
this.show = Selectpicker.prototype.show;
this.hide = Selectpicker.prototype.hide;
this.init();
};
Selectpicker.VERSION = '1.12.2';
// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.
Selectpicker.DEFAULTS = {
noneSelectedText: 'Nothing selected',
noneResultsText: 'No results matched {0}',
countSelectedText: function(numSelected, numTotal) {
return (numSelected == 1) ? '{0} item selected' : '{0} items selected';
},
maxOptionsText: function(numAll, numGroup) {
return [
(numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',
(numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)',
];
},
selectAllText: 'Select All',
deselectAllText: 'Deselect All',
doneButton: false,
doneButtonText: 'Close',
multipleSeparator: ', ',
styleBase: 'btn',
style: 'btn-default btn-light', // bootstrap4: btn-default replaced by btn-light
size: 'auto',
title: null,
selectedTextFormat: 'values',
width: false,
container: false,
hideDisabled: false,
showSubtext: false,
showIcon: true,
showContent: true,
dropupAuto: true,
header: false,
liveSearch: false,
liveSearchPlaceholder: null,
liveSearchNormalize: false,
liveSearchStyle: 'contains',
actionsBox: false,
iconBase: 'fa',
tickIcon: 'fa-check',
showTick: false,
template: {
caret: '<span class="caret"></span>',
},
maxOptions: false,
mobile: false,
selectOnTab: false,
dropdownAlignRight: false,
windowPadding: 0,
};
Selectpicker.prototype = {
constructor: Selectpicker,
init: function() {
var that = this,
id = this.$element.attr('id');
this.$element.addClass('bs-select-hidden');
// store originalIndex (key) and newIndex (value) in this.liObj for fast accessibility
// allows us to do this.$lis.eq(that.liObj[index]) instead of this.$lis.filter('[data-original-index="' + index + '"]')
this.liObj = {};
this.multiple = this.$element.prop('multiple');
this.autofocus = this.$element.prop('autofocus');
this.$newElement = this.createView();
this.$element.after(this.$newElement).appendTo(this.$newElement);
this.$button = this.$newElement.children('button');
this.$menu = this.$newElement.children('.dropdown-menu');
this.$menuInner = this.$menu.children('.inner');
this.$searchbox = this.$menu.find('input');
this.$element.removeClass('bs-select-hidden');
if (this.options.dropdownAlignRight === true) this.$menu.addClass('dropdown-menu-right');
if (typeof id !== 'undefined') {
this.$button.attr('data-id', id);
$('label[for="' + id + '"]').click(function(e) {
e.preventDefault();
that.$button.focus();
});
}
this.checkDisabled();
this.clickListener();
if (this.options.liveSearch) this.liveSearchListener();
this.render();
this.setStyle();
this.setWidth();
if (this.options.container) this.selectPosition();
this.$menu.data('this', this);
this.$newElement.data('this', this);
if (this.options.mobile) this.mobile();
this.$newElement.on({
'hide.bs.dropdown': function(e) {
that.$menuInner.attr('aria-expanded', false);
that.$element.trigger('hide.bs.select', e);
},
'hidden.bs.dropdown': function(e) {
that.$element.trigger('hidden.bs.select', e);
},
'show.bs.dropdown': function(e) {
that.$menuInner.attr('aria-expanded', true);
that.$element.trigger('show.bs.select', e);
},
'shown.bs.dropdown': function(e) {
that.$element.trigger('shown.bs.select', e);
},
});
if (that.$element[0].hasAttribute('required')) {
this.$element.on('invalid', function() {
that.$button.addClass('bs-invalid').focus();
that.$element.on({
'focus.bs.select': function() {
that.$button.focus();
that.$element.off('focus.bs.select');
},
'shown.bs.select': function() {
that.$element.val(that.$element.val()) // set the value to hide the validation message in Chrome when menu is opened
.off('shown.bs.select');
},
'rendered.bs.select': function() {
// if select is no longer invalid, remove the bs-invalid class
if (this.validity.valid) that.$button.removeClass('bs-invalid');
that.$element.off('rendered.bs.select');
},
});
});
}
setTimeout(function() {
that.$element.trigger('loaded.bs.select');
});
},
createDropdown: function() {
// Options
// If we are multiple or showTick option is set, then add the show-tick class
var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '',
inputGroup = this.$element.parent().hasClass('input-group') ? ' input-group-btn' : '',
autofocus = this.autofocus ? ' autofocus' : '';
// Elements
var header = this.options.header ? '<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>' + this.options.header + '</div>' : '';
var searchbox = this.options.liveSearch ?
'<div class="bs-searchbox">' +
'<input type="text" class="form-control" autocomplete="off"' +
(null === this.options.liveSearchPlaceholder ? '' : ' placeholder="' + htmlEscape(this.options.liveSearchPlaceholder) + '"') + ' role="textbox" aria-label="Search">' +
'</div>'
: '';
var actionsbox = this.multiple && this.options.actionsBox ?
'<div class="bs-actionsbox">' +
'<div class="btn-group btn-group-sm btn-block">' +
'<button type="button" class="actions-btn bs-select-all btn btn-default btn-light">' +
this.options.selectAllText +
'</button>' +
'<button type="button" class="actions-btn bs-deselect-all btn btn-default btn-light">' +
this.options.deselectAllText +
'</button>' +
'</div>' +
'</div>'
: '';
var donebutton = this.multiple && this.options.doneButton ?
'<div class="bs-donebutton">' +
'<div class="btn-group btn-block">' +
'<button type="button" class="btn btn-sm btn-default btn-light">' +
this.options.doneButtonText +
'</button>' +
'</div>' +
'</div>'
: '';
var drop =
'<div class="btn-group bootstrap-select' + showTick + inputGroup + '">' +
'<button type="button" class="' + this.options.styleBase + ' dropdown-toggle" data-toggle="dropdown"' + autofocus + ' role="button">' +
'<span class="filter-option pull-left"></span>&nbsp;' +
'<span class="bs-caret">' +
this.options.template.caret +
'</span>' +
'</button>' +
'<div class="dropdown-menu open" role="combobox">' +
header +
searchbox +
actionsbox +
'<div class="dropdown-menu inner" role="listbox" aria-expanded="false">' +
'</div>' +
donebutton +
'</div>' +
'</div>';
return $(drop);
},
createView: function() {
var $drop = this.createDropdown(),
li = this.createLi();
$drop.find('div.inner')[0].innerHTML = li;
return $drop;
},
reloadLi: function() {
// rebuild
var li = this.createLi();
this.$menuInner[0].innerHTML = li;
},
createLi: function() {
var that = this,
_li = [],
optID = 0,
titleOption = document.createElement('option'),
liIndex = -1; // increment liIndex whenever a new <li> element is created to ensure liObj is correct
// Helper functions
/**
* @param content
* @param [index]
* @param [classes]
* @param [optgroup]
* @returns {string}
*/
var generateA = function(content, index, classes, optgroup) {
classes = 'dropdown-item ' + (classes || '');
return '<a tabindex="0"' +
((typeof classes !== 'undefined' && '' !== classes) ? ' class="' + classes + '"' : '') +
((typeof index !== 'undefined' && null !== index) ? ' data-original-index="' + index + '"' : '') +
((typeof optgroup !== 'undefined' && null !== optgroup) ? 'data-optgroup="' + optgroup + '"' : '') +
'>' + content + '</a>';
};
var generateDiv = function(content, classes, optgroup) {
return '<div' +
((typeof classes !== 'undefined' && '' !== classes) ? ' class="' + classes + '"' : '') +
((typeof optgroup !== 'undefined' && null !== optgroup) ? ' data-optgroup="' + optgroup + '"' : '') +
'>' + content + '</div>';
};
/**
* @param text
* @param [classes]
* @param [inline]
* @param [tokens]
* @returns {string}
*/
var generateSpan = function(text, classes, inline, tokens) {
// support bootstrap v4: http://v4-alpha.getbootstrap.com/components/dropdowns/#single-button-dropdowns
classes = 'dropdown-item-inner ' + (classes || '');
return '<span' +
(typeof classes !== 'undefined' ? ' class="' + classes + '"' : '') +
(inline ? ' style="' + inline + '"' : '') +
(that.options.liveSearchNormalize ? ' data-normalized-text="' + normalizeToBase(htmlEscape($(text).html())) + '"' : '') +
(typeof tokens !== 'undefined' || tokens !== null ? ' data-tokens="' + tokens + '"' : '') +
' role="option">' + text +
'<span class="' + that.options.iconBase + ' ' + that.options.tickIcon + ' check-mark"></span>' +
'</span>';
};
if (this.options.title && !this.multiple) {
// this option doesn't create a new <li> element, but does add a new option, so liIndex is decreased
// since liObj is recalculated on every refresh, liIndex needs to be decreased even if the titleOption is already appended
liIndex--;
if (!this.$element.find('.bs-title-option').length) {
// Use native JS to prepend option (faster)
var element = this.$element[0];
titleOption.className = 'bs-title-option';
titleOption.innerHTML = this.options.title;
titleOption.value = '';
element.insertBefore(titleOption, element.firstChild);
// Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.
// the selected item may have been changed by user or programmatically before the bootstrap select plugin runs,
// if so, the select will have the data-selected attribute
var $opt = $(element.options[element.selectedIndex]);
if ($opt.attr('selected') === undefined && this.$element.data('selected') === undefined) {
titleOption.selected = true;
}
}
}
var $selectOptions = this.$element.find('option');
$selectOptions.each(function(index) {
var $this = $(this);
liIndex++;
if ($this.hasClass('bs-title-option')) return;
// Get the class and text for the option
var optionClass = this.className || '',
inline = htmlEscape(this.style.cssText),
text = $this.data('content') ? $this.data('content') : $this.html(),
tokens = $this.data('tokens') ? $this.data('tokens') : null,
subtext = typeof $this.data('subtext') !== 'undefined' ? '<small class="text-muted">' + $this.data('subtext') + '</small>' : '',
icon = typeof $this.data('icon') !== 'undefined' ? '<span class="' + that.options.iconBase + ' ' + $this.data('icon') + '"></span> ' : '',
$parent = $this.parent(),
isOptgroup = $parent[0].tagName === 'OPTGROUP',
isOptgroupDisabled = isOptgroup && $parent[0].disabled,
isDisabled = this.disabled || isOptgroupDisabled,
prevHiddenIndex;
if (icon !== '' && isDisabled) {
icon = '<span>' + icon + '</span>';
}
if (that.options.hideDisabled && (isDisabled && !isOptgroup || isOptgroupDisabled)) {
// set prevHiddenIndex - the index of the first hidden option in a group of hidden options
// used to determine whether or not a divider should be placed after an optgroup if there are
// hidden options between the optgroup and the first visible option
prevHiddenIndex = $this.data('prevHiddenIndex');
$this.next().data('prevHiddenIndex', (prevHiddenIndex !== undefined ? prevHiddenIndex : index));
liIndex--;
return;
}
if (!$this.data('content')) {
// Prepend any icon and append any subtext to the main text.
text = icon + '<span class="text">' + text + subtext + '</span>';
}
if (isOptgroup && $this.data('divider') !== true) {
if (that.options.hideDisabled && isDisabled) {
if ($parent.data('allOptionsDisabled') === undefined) {
var $options = $parent.children();
$parent.data('allOptionsDisabled', $options.filter(':disabled').length === $options.length);
}
if ($parent.data('allOptionsDisabled')) {
liIndex--;
return;
}
}
var optGroupClass = ' ' + $parent[0].className || '';
if ($this.index() === 0) { // Is it the first option of the optgroup?
optID += 1;
// Get the opt group label
var label = $parent[0].label,
labelSubtext = typeof $parent.data('subtext') !== 'undefined' ? '<small class="text-muted">' + $parent.data('subtext') + '</small>' : '',
labelIcon = $parent.data('icon') ? '<span class="' + that.options.iconBase + ' ' + $parent.data('icon') + '"></span> ' : '';
label = labelIcon + '<span class="text">' + htmlEscape(label) + labelSubtext + '</span>';
if (index !== 0 && _li.length > 0) { // Is it NOT the first option of the select && are there elements in the dropdown?
liIndex++;
_li.push(generateDiv('', 'dropdown-divider', optID + 'div'));
}
liIndex++;
_li.push(generateDiv(label, 'dropdown-header' + optGroupClass, optID));
}
if (that.options.hideDisabled && isDisabled) {
liIndex--;
return;
}
_li.push(generateA(generateSpan(text, 'opt ' + optionClass + optGroupClass, inline, tokens), index, '', optID));
} else if ($this.data('divider') === true) {
_li.push(generateDiv('', 'dropdown-divider', optID + 'div'));
} else if ($this.data('hidden') === true) {
// set prevHiddenIndex - the index of the first hidden option in a group of hidden options
// used to determine whether or not a divider should be placed after an optgroup if there are
// hidden options between the optgroup and the first visible option
prevHiddenIndex = $this.data('prevHiddenIndex');
$this.next().data('prevHiddenIndex', (prevHiddenIndex !== undefined ? prevHiddenIndex : index));
_li.push(generateA(generateSpan(text, optionClass, inline, tokens), index, 'hidden is-hidden'));
} else {
var showDivider = this.previousElementSibling && this.previousElementSibling.tagName === 'OPTGROUP';
// if previous element is not an optgroup and hideDisabled is true
if (!showDivider && that.options.hideDisabled) {
prevHiddenIndex = $this.data('prevHiddenIndex');
if (prevHiddenIndex !== undefined) {
// select the element **before** the first hidden element in the group
var prevHidden = $selectOptions.eq(prevHiddenIndex)[0].previousElementSibling;
if (prevHidden && prevHidden.tagName === 'OPTGROUP' && !prevHidden.disabled) {
showDivider = true;
}
}
}
if (showDivider) {
liIndex++;
_li.push(generateDiv('', 'dropdown-divider', optID + 'div'));
}
_li.push(generateA(generateSpan(text, optionClass, inline, tokens), index));
}
that.liObj[index] = liIndex;
});
//If we are not multiple, we don't have a selected item, and we don't have a title, select the first element so something is set in the button
if (!this.multiple && this.$element.find('option:selected').length === 0 && !this.options.title) {
this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected');
}
return _li.join('');
},
findLis: function() {
if (this.$lis == null) this.$lis = this.$menu.find('a, .dropdown-header, .dropdown-divider');
return this.$lis;
},
/**
* @param [updateLi] defaults to true
*/
render: function(updateLi) {
var that = this,
notDisabled,
$selectOptions = this.$element.find('option');
//Update the LI to match the SELECT
if (updateLi !== false) {
$selectOptions.each(function(index) {
var $lis = that.findLis().eq(that.liObj[index]);
that.setDisabled(index, this.disabled || this.parentNode.tagName === 'OPTGROUP' && this.parentNode.disabled, $lis);
that.setSelected(index, this.selected, $lis);
});
}
this.togglePlaceholder();
this.tabIndex();
var selectedItems = $selectOptions.map(function() {
if (this.selected) {
if (that.options.hideDisabled && (this.disabled || this.parentNode.tagName === 'OPTGROUP' && this.parentNode.disabled)) return;
var $this = $(this),
icon = $this.data('icon') && that.options.showIcon ? '<i class="' + that.options.iconBase + ' ' + $this.data('icon') + '"></i> ' : '',
subtext;
if (that.options.showSubtext && $this.data('subtext') && !that.multiple) {
subtext = ' <small class="text-muted">' + $this.data('subtext') + '</small>';
} else {
subtext = '';
}
if (typeof $this.attr('title') !== 'undefined') {
return $this.attr('title');
} else if ($this.data('content') && that.options.showContent) {
return $this.data('content').toString();
} else {
return icon + $this.html() + subtext;
}
}
}).toArray();
//Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled
//Convert all the values into a comma delimited string
var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator);
//If this is multi select, and the selectText type is count, the show 1 of 2 selected etc..
if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) {
var max = this.options.selectedTextFormat.split('>');
if ((max.length > 1 && selectedItems.length > max[1]) || (max.length == 1 && selectedItems.length >= 2)) {
notDisabled = this.options.hideDisabled ? ', [disabled]' : '';
var totalCount = $selectOptions.not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length,
tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText;
title = tr8nText.replace('{0}', selectedItems.length.toString()).replace('{1}', totalCount.toString());
}
}
if (this.options.title == undefined) {
this.options.title = this.$element.attr('title');
}
if (this.options.selectedTextFormat == 'static') {
title = this.options.title;
}
//If we dont have a title, then use the default, or if nothing is set at all, use the not selected text
if (!title) {
title = typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText;
}
//strip all HTML tags and trim the result, then unescape any escaped tags
this.$button.attr('title', htmlUnescape($.trim(title.replace(/<[^>]*>?/g, ''))));
this.$button.children('.filter-option').html(title);
this.$element.trigger('rendered.bs.select');
},
/**
* @param [style]
* @param [status]
*/
setStyle: function(style, status) {
if (this.$element.attr('class')) {
this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi, ''));
}
var buttonClass = style ? style : this.options.style;
if (status == 'add') {
this.$button.addClass(buttonClass);
} else if (status == 'remove') {
this.$button.removeClass(buttonClass);
} else {
this.$button.removeClass(this.options.style);
this.$button.addClass(buttonClass);
}
},
updatePosition: function() {
// this fixes https://github.com/heimrichhannot/bootstrap-select/issues/4
var event = this.$menu.get(0).ownerDocument.createEvent('HTMLEvents');
event.initEvent('resize', true, false);
this.$menu.get(0).ownerDocument.dispatchEvent(event);
},
liHeight: function(refresh) {
if (!refresh && (this.options.size === false || this.sizeInfo)) return;
var newElement = document.createElement('div'),
menu = document.createElement('div'),
menuInner = document.createElement('ul'),
divider = document.createElement('a'),
li = document.createElement('a'),
a = document.createElement('span'),
text = document.createElement('span'),
header = this.options.header && this.$menu.find('.popover-title').length > 0 ? this.$menu.find('.popover-title')[0].cloneNode(true) : null,
search = this.options.liveSearch ? document.createElement('div') : null,
actions = this.options.actionsBox && this.multiple && this.$menu.find('.bs-actionsbox').length > 0 ? this.$menu.find('.bs-actionsbox')[0].cloneNode(true) : null,
doneButton = this.options.doneButton && this.multiple && this.$menu.find('.bs-donebutton').length > 0 ? this.$menu.find('.bs-donebutton')[0].cloneNode(true) : null;
text.className = 'text';
newElement.className = this.$menu[0].parentNode.className + ' show open'; // bootstrap 4 requires show instead of open
menu.className = 'dropdown-menu open show';
menuInner.className = 'dropdown-menu inner';
divider.className = 'dropdown-divider';
a.className = 'dropdown-item-inner';
text.appendChild(document.createTextNode('Inner text'));
a.appendChild(text);
li.appendChild(a);
menuInner.appendChild(li);
menuInner.appendChild(divider);
if (header) menu.appendChild(header);
if (search) {
var input = document.createElement('input');
search.className = 'bs-searchbox';
input.className = 'form-control';
search.appendChild(input);
menu.appendChild(search);
}
if (actions) menu.appendChild(actions);
menu.appendChild(menuInner);
if (doneButton) menu.appendChild(doneButton);
newElement.appendChild(menu);
document.body.appendChild(newElement);
var liHeight = a.offsetHeight,
headerHeight = header ? header.offsetHeight : 0,
searchHeight = search ? search.offsetHeight : 0,
actionsHeight = actions ? actions.offsetHeight : 0,
doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,
dividerHeight = $(divider).outerHeight(true),
// fall back to jQuery if getComputedStyle is not supported
menuStyle = typeof getComputedStyle === 'function' ? getComputedStyle(menu) : false,
$menu = menuStyle ? null : $(menu),
menuPadding = {
vert: parseInt(menuStyle ? menuStyle.paddingTop : $menu.css('paddingTop')) +
parseInt(menuStyle ? menuStyle.paddingBottom : $menu.css('paddingBottom')) +
parseInt(menuStyle ? menuStyle.borderTopWidth : $menu.css('borderTopWidth')) +
parseInt(menuStyle ? menuStyle.borderBottomWidth : $menu.css('borderBottomWidth')),
horiz: parseInt(menuStyle ? menuStyle.paddingLeft : $menu.css('paddingLeft')) +
parseInt(menuStyle ? menuStyle.paddingRight : $menu.css('paddingRight')) +
parseInt(menuStyle ? menuStyle.borderLeftWidth : $menu.css('borderLeftWidth')) +
parseInt(menuStyle ? menuStyle.borderRightWidth : $menu.css('borderRightWidth')),
},
menuExtras = {
vert: menuPadding.vert +
parseInt(menuStyle ? menuStyle.marginTop : $menu.css('marginTop')) +
parseInt(menuStyle ? menuStyle.marginBottom : $menu.css('marginBottom')) + 2,
horiz: menuPadding.horiz +
parseInt(menuStyle ? menuStyle.marginLeft : $menu.css('marginLeft')) +
parseInt(menuStyle ? menuStyle.marginRight : $menu.css('marginRight')) + 2,
};
document.body.removeChild(newElement);
this.sizeInfo = {
liHeight: liHeight,
headerHeight: headerHeight,
searchHeight: searchHeight,
actionsHeight: actionsHeight,
doneButtonHeight: doneButtonHeight,
dividerHeight: dividerHeight,
menuPadding: menuPadding,
menuExtras: menuExtras,
};
},
setSize: function() {
this.findLis();
this.liHeight();
if (this.options.header) this.$menu.css('padding-top', 0);
if (this.options.size === false) return;
var that = this,
$menu = this.$menu,
$menuInner = this.$menuInner,
$window = $(window),
selectHeight = this.$newElement[0].offsetHeight,
selectWidth = this.$newElement[0].offsetWidth,
liHeight = this.sizeInfo['liHeight'],
headerHeight = this.sizeInfo['headerHeight'],
searchHeight = this.sizeInfo['searchHeight'],
actionsHeight = this.sizeInfo['actionsHeight'],
doneButtonHeight = this.sizeInfo['doneButtonHeight'],
divHeight = this.sizeInfo['dividerHeight'],
menuPadding = this.sizeInfo['menuPadding'],
menuExtras = this.sizeInfo['menuExtras'],
notDisabled = this.options.hideDisabled ? '.disabled' : '',
menuHeight,
menuWidth,
getHeight,
getWidth,
selectOffsetTop,
selectOffsetBot,
selectOffsetLeft,
selectOffsetRight,
getPos = function() {
var pos = that.$newElement.offset(),
$container = $(that.options.container),
containerPos;
if (that.options.container && !$container.is('body')) {
containerPos = $container.offset();
containerPos.top += parseInt($container.css('borderTopWidth'));
containerPos.left += parseInt($container.css('borderLeftWidth'));
} else {
containerPos = {top: 0, left: 0};
}
var winPad = that.options.windowPadding;
selectOffsetTop = pos.top - containerPos.top - $window.scrollTop();
selectOffsetBot = $window.height() - selectOffsetTop - selectHeight - containerPos.top - winPad[2];
selectOffsetLeft = pos.left - containerPos.left - $window.scrollLeft();
selectOffsetRight = $window.width() - selectOffsetLeft - selectWidth - containerPos.left - winPad[1];
selectOffsetTop -= winPad[0];
selectOffsetLeft -= winPad[3];
};
getPos();
if (this.options.size === 'auto') {
var getSize = function() {
var minHeight,
hasClass = function(className, include) {
return function(element) {
if (include) {
return (element.classList ? element.classList.contains(className) : $(element).hasClass(className));
} else {
return !(element.classList ? element.classList.contains(className) : $(element).hasClass(className));
}
};
},
lis = that.$menuInner[0].getElementsByTagName('a'),
lisVisible = Array.prototype.filter ? Array.prototype.filter.call(lis, hasClass('d-none', false)) : that.$lis.not('.d-none'),
optGroup = Array.prototype.filter ? Array.prototype.filter.call(lisVisible, hasClass('dropdown-header', true)) : lisVisible.filter('.dropdown-header');
getPos();
menuHeight = selectOffsetBot - menuExtras.vert;
menuWidth = selectOffsetRight - menuExtras.horiz;
if (that.options.container) {
if (!$menu.data('height')) $menu.data('height', $menu.height());
getHeight = $menu.data('height');
if (!$menu.data('width')) $menu.data('width', $menu.width());
getWidth = $menu.data('width');
} else {
getHeight = $menu.height();
getWidth = $menu.width();
}
if (that.options.dropupAuto) {
that.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras.vert) < getHeight);
}
if (that.$newElement.hasClass('dropup')) {
menuHeight = selectOffsetTop - menuExtras.vert;
}
if (that.options.dropdownAlignRight === 'auto') {
$menu.toggleClass('dropdown-menu-right', selectOffsetLeft > selectOffsetRight && (menuWidth - menuExtras.horiz) < (getWidth - selectWidth));
}
if ((lisVisible.length + optGroup.length) > 3) {
minHeight = liHeight * 3 + menuExtras.vert - 2;
} else {
minHeight = 0;
}
$menu.css({
'max-height': menuHeight + 'px',
'overflow': 'hidden',
'min-height': minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight + 'px',
});
$menuInner.css({
'max-height': menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert + 'px',
'overflow-y': 'auto',
'min-height': Math.max(minHeight - menuPadding.vert, 0) + 'px',
});
};
getSize();
this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize', getSize);
$window.off('resize.getSize scroll.getSize').on('resize.getSize scroll.getSize', getSize);
} else if (this.options.size && this.options.size != 'auto' && this.$lis.not(notDisabled).length > this.options.size) {
var optIndex = this.$lis.not('.dropdown-divider').not(notDisabled).children().slice(0, this.options.size).last().parent().index(),
divLength = this.$lis.slice(0, optIndex + 1).filter('.dropdown-divider').length;
menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;
if (that.options.container) {
if (!$menu.data('height')) $menu.data('height', $menu.height());
getHeight = $menu.data('height');
} else {
getHeight = $menu.height();
}
if (that.options.dropupAuto) {
//noinspection JSUnusedAssignment
this.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras.vert) < getHeight);
}
$menu.css({
'max-height': menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight + 'px',
'overflow': 'hidden',
'min-height': '',
});
$menuInner.css({
'max-height': menuHeight - menuPadding.vert + 'px',
'overflow-y': 'auto',
'min-height': '',
});
}
},
setWidth: function() {
if (this.options.width === 'auto') {
this.$menu.css('min-width', '0');
// Get correct width if element is hidden
var $selectClone = this.$menu.parent().clone().appendTo('body'),
$selectClone2 = this.options.container ? this.$newElement.clone().appendTo('body') : $selectClone,
ulWidth = $selectClone.children('.dropdown-menu').outerWidth(),
btnWidth = $selectClone2.css('width', 'auto').children('button').outerWidth();
$selectClone.remove();
$selectClone2.remove();
// Set width to whatever's larger, button title or longest option
this.$newElement.css('width', Math.max(ulWidth, btnWidth) + 'px');
} else if (this.options.width === 'fit') {
// Remove inline min-width so width can be changed from 'auto'
this.$menu.css('min-width', '');
this.$newElement.css('width', '').addClass('fit-width');
} else if (this.options.width) {
// Remove inline min-width so width can be changed from 'auto'
this.$menu.css('min-width', '');
this.$newElement.css('width', this.options.width);
} else {
// Remove inline min-width/width so width can be changed
this.$menu.css('min-width', '');
this.$newElement.css('width', '');
}
// Remove fit-width class if width is changed programmatically
if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') {
this.$newElement.removeClass('fit-width');
}
},
selectPosition: function() {
this.$bsContainer = $('<div class="bs-container" />');
var that = this,
$container = $(this.options.container),
pos,
containerPos,
actualHeight,
getPlacement = function($element) {
that.$bsContainer.addClass($element.attr('class').replace(/form-control|fit-width/gi, '')).toggleClass('dropup', $element.hasClass('dropup'));
pos = $element.offset();
if (!$container.is('body')) {
containerPos = $container.offset();
containerPos.top += parseInt($container.css('borderTopWidth')) - $container.scrollTop();
containerPos.left += parseInt($container.css('borderLeftWidth')) - $container.scrollLeft();
} else {
containerPos = {top: 0, left: 0};
}
actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight;
that.$bsContainer.css({
'top': pos.top - containerPos.top + actualHeight,
'left': pos.left - containerPos.left,
'width': $element[0].offsetWidth,
});
};
this.$button.on('click', function() {
var $this = $(this);
if (that.isDisabled()) {
return;
}
getPlacement(that.$newElement);
that.$bsContainer.appendTo(that.options.container).toggleClass('open', !$this.hasClass('open')).append(that.$menu);
});
$(window).on('resize scroll', function() {
getPlacement(that.$newElement);
});
this.$element.on('hide.bs.select', function() {
that.$menu.data('height', that.$menu.height());
that.$bsContainer.detach();
});
},
/**
* @param {number} index - the index of the option that is being changed
* @param {boolean} selected - true if the option is being selected, false if being deselected
* @param {JQuery} $lis - the 'li' element that is being modified
*/
setSelected: function(index, selected, $lis) {
if (!$lis) {
this.togglePlaceholder(); // check if setSelected is being called by changing the value of the select
$lis = this.findLis().eq(this.liObj[index]);
}
$lis.toggleClass('selected', selected).find('span.dropdown-item-inner').attr('aria-selected', selected);
},
/**
* @param {number} index - the index of the option that is being disabled
* @param {boolean} disabled - true if the option is being disabled, false if being enabled
* @param {JQuery} $lis - the 'li' element that is being modified
*/
setDisabled: function(index, disabled, $lis) {
if (!$lis) {
$lis = this.findLis().eq(this.liObj[index]);
}
if (disabled) {
$lis.addClass('disabled').children('span.dropdown-item-inner').attr('href', '#').attr('tabindex', -1).attr('aria-disabled', true);
} else {
$lis.removeClass('disabled').children('span.dropdown-item-inner').removeAttr('href').attr('tabindex', 0).attr('aria-disabled', false);
}
},
isDisabled: function() {
return this.$element[0].disabled;
},
checkDisabled: function() {
var that = this;
if (this.isDisabled()) {
this.$newElement.addClass('disabled');
this.$button.addClass('disabled').attr('tabindex', -1).attr('aria-disabled', true);
} else {
if (this.$button.hasClass('disabled')) {
this.$newElement.removeClass('disabled');
this.$button.removeClass('disabled').attr('aria-disabled', false);
}
if (this.$button.attr('tabindex') == -1 && !this.$element.data('tabindex')) {
this.$button.removeAttr('tabindex');
}
}
this.$button.click(function() {
return !that.isDisabled();
});
},
togglePlaceholder: function() {
var value = this.$element.val();
this.$button.toggleClass('bs-placeholder', value === null || value === '' || (value.constructor === Array && value.length === 0));
},
tabIndex: function() {
if (this.$element.data('tabindex') !== this.$element.attr('tabindex') &&
(this.$element.attr('tabindex') !== -98 && this.$element.attr('tabindex') !== '-98')) {
this.$element.data('tabindex', this.$element.attr('tabindex'));
this.$button.attr('tabindex', this.$element.data('tabindex'));
}
this.$element.attr('tabindex', -98);
},
clickListener: function() {
var that = this,
$document = $(document);
$document.data('spaceSelect', false);
this.$button.on('keyup', function(e) {
if (/(32)/.test(e.keyCode.toString(10)) && $document.data('spaceSelect')) {
e.preventDefault();
$document.data('spaceSelect', false);
}
});
this.$button.on('click', function() {
that.setSize();
});
this.$element.on('shown.bs.select', function() {
if (!that.options.liveSearch && !that.multiple) {
that.$menuInner.find('a.selected').focus();
} else if (!that.multiple) {
var selectedIndex = that.liObj[that.$element[0].selectedIndex];
if (typeof selectedIndex !== 'number' || that.options.size === false) return;
// scroll to selected option
var offset = that.$lis.eq(selectedIndex)[0].offsetTop - that.$menuInner[0].offsetTop;
offset = offset - that.$menuInner[0].offsetHeight / 2 + that.sizeInfo.liHeight / 2;
that.$menuInner[0].scrollTop = offset;
}
});
this.$menuInner.on('click', 'a', function(e) {
var $this = $(this).find('span.dropdown-item-inner'),
clickedIndex = $this.parent().data('originalIndex'),
prevValue = that.$element.val(),
prevIndex = that.$element.prop('selectedIndex'),
triggerChange = true;
// Don't close on multi choice menu
if (that.multiple && that.options.maxOptions !== 1) {
e.stopPropagation();
}
e.preventDefault();
//Don't run if we have been disabled
if (!that.isDisabled() && !$this.parent().hasClass('disabled')) {
var $options = that.$element.find('option'),
$option = $options.eq(clickedIndex),
state = $option.prop('selected'),
$optgroup = $option.parent('optgroup'),
maxOptions = that.options.maxOptions,
maxOptionsGrp = $optgroup.data('maxOptions') || false;
if (!that.multiple) { // Deselect all others if not multi select box
$options.prop('selected', false);
$option.prop('selected', true);
that.$menuInner.find('.selected').removeClass('selected').find('span.dropdown-item-inner').attr('aria-selected', false);
that.setSelected(clickedIndex, true);
} else { // Toggle the one we have chosen if we are multi select.
$option.prop('selected', !state);
that.setSelected(clickedIndex, !state);
$this.blur();
if (maxOptions !== false || maxOptionsGrp !== false) {
var maxReached = maxOptions < $options.filter(':selected').length,
maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length;
if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {
if (maxOptions && maxOptions == 1) {
$options.prop('selected', false);
$option.prop('selected', true);
that.$menuInner.find('.selected').removeClass('selected');
that.setSelected(clickedIndex, true);
} else if (maxOptionsGrp && maxOptionsGrp == 1) {
$optgroup.find('option:selected').prop('selected', false);
$option.prop('selected', true);
var optgroupID = $this.parent().data('optgroup');
that.$menuInner.find('[data-optgroup="' + optgroupID + '"]').removeClass('selected');
that.setSelected(clickedIndex, true);
} else {
var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,
maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,
maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),
maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),
$notify = $('<div class="notify"></div>');
// If {var} is set in array, replace it
/** @deprecated */
if (maxOptionsArr[2]) {
maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]);
maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]);
}
$option.prop('selected', false);
that.$menu.append($notify);
if (maxOptions && maxReached) {
$notify.append($('<div>' + maxTxt + '</div>'));
triggerChange = false;
that.$element.trigger('maxReached.bs.select');
}
if (maxOptionsGrp && maxReachedGrp) {
$notify.append($('<div>' + maxTxtGrp + '</div>'));
triggerChange = false;
that.$element.trigger('maxReachedGrp.bs.select');
}
setTimeout(function() {
that.setSelected(clickedIndex, false);
}, 10);
$notify.delay(750).fadeOut(300, function() {
$(this).remove();
});
}
}
}
}
if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {
that.$button.focus();
} else if (that.options.liveSearch) {
that.$searchbox.focus();
}
// Trigger select 'change'
if (triggerChange) {
if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) {
// $option.prop('selected') is current option state (selected/unselected). state is previous option state.
changed_arguments = [clickedIndex, $option.prop('selected'), state];
that.$element.triggerNative('change');
}
}
}
});
this.$menu.on('click', 'a.disabled span.dropdown-item-inner , .popover-title, .popover-title :not(.close)', function(e) {
if (e.currentTarget == this) {
e.preventDefault();
e.stopPropagation();
if (that.options.liveSearch && !$(e.target).hasClass('close')) {
that.$searchbox.focus();
} else {
that.$button.focus();
}
}
});
this.$menuInner.on('click', '.dropdown-divider, .dropdown-header', function(e) {
e.preventDefault();
e.stopPropagation();
if (that.options.liveSearch) {
that.$searchbox.focus();
} else {
that.$button.focus();
}
});
this.$menu.on('click', '.popover-title .close', function() {
that.$button.click();
});
this.$searchbox.on('click', function(e) {
e.stopPropagation();
});
this.$menu.on('click', '.actions-btn', function(e) {
if (that.options.liveSearch) {
that.$searchbox.focus();
} else {
that.$button.focus();
}
e.preventDefault();
e.stopPropagation();
if ($(this).hasClass('bs-select-all')) {
that.selectAll();
} else {
that.deselectAll();
}
});
this.$element.change(function() {
that.render(false);
that.$element.trigger('changed.bs.select', changed_arguments);
changed_arguments = null;
});
},
liveSearchListener: function() {
var that = this,
$no_results = $('<li class="no-results"></li>');
this.$button.on('click.dropdown.data-api', function() {
that.$menuInner.find('.active').removeClass('active');
if (!!that.$searchbox.val()) {
that.$searchbox.val('');
that.$lis.not('.is-hidden').removeClass('d-none');
if (!!$no_results.parent().length) $no_results.remove();
}
if (!that.multiple) that.$menuInner.find('.selected').addClass('active');
setTimeout(function() {
that.$searchbox.focus();
}, 10);
});
this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api', function(e) {
e.stopPropagation();
});
this.$searchbox.on('input propertychange', function() {
that.$lis.not('.is-hidden').removeClass('d-none');
that.$lis.filter('.active').removeClass('active');
$no_results.remove();
if (that.$searchbox.val()) {
var $searchBase = that.$lis.not('.is-hidden, .dropdown-divider, .dropdown-header'),
$hideItems;
if (that.options.liveSearchNormalize) {
$hideItems = $searchBase.not(':a' + that._searchStyle() + '("' + normalizeToBase(that.$searchbox.val()) + '")');
} else {
$hideItems = $searchBase.not(':' + that._searchStyle() + '("' + that.$searchbox.val() + '")');
}
if ($hideItems.length === $searchBase.length) {
$no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"'));
that.$menuInner.append($no_results);
that.$lis.addClass('d-none');
} else {
$hideItems.addClass('d-none');
var $lisVisible = that.$lis.not('.d-none'),
$foundDiv;
// hide divider if first or last visible, or if followed by another divider
$lisVisible.each(function(index) {
var $this = $(this);
if ($this.hasClass('dropdown-divider')) {
if ($foundDiv === undefined) {
$this.addClass('d-none');
} else {
if ($foundDiv) $foundDiv.addClass('d-none');
$foundDiv = $this;
}
} else if ($this.hasClass('dropdown-header') && $lisVisible.eq(index + 1).data('optgroup') !== $this.data('optgroup')) {
$this.addClass('d-none');
} else {
$foundDiv = null;
}
});
if ($foundDiv) $foundDiv.addClass('d-none');
$searchBase.not('.d-none').first().addClass('active');
that.$menuInner.scrollTop(0);
}
that.updatePosition();
}
});
},
_searchStyle: function() {
var styles = {
begins: 'ibegins',
startsWith: 'ibegins',
};
return styles[this.options.liveSearchStyle] || 'icontains';
},
val: function(value) {
if (typeof value !== 'undefined') {
this.$element.val(value);
this.render();
return this.$element;
} else {
return this.$element.val();
}
},
changeAll: function(status) {
if (!this.multiple) return;
if (typeof status === 'undefined') status = true;
this.findLis();
var $options = this.$element.find('option'),
$lisVisible = this.$lis.not('.dropdown-divider, .dropdown-header, .disabled, .d-none'),
lisVisLen = $lisVisible.length,
selectedOptions = [];
if (status) {
if ($lisVisible.filter('.selected').length === $lisVisible.length) return;
} else {
if ($lisVisible.filter('.selected').length === 0) return;
}
$lisVisible.toggleClass('selected', status);
for (var i = 0; i < lisVisLen; i++) {
var origIndex = $lisVisible[i].getAttribute('data-original-index');
selectedOptions[selectedOptions.length] = $options.eq(origIndex)[0];
}
$(selectedOptions).prop('selected', status);
this.render(false);
this.togglePlaceholder();
this.$element.triggerNative('change');
},
selectAll: function() {
return this.changeAll(true);
},
deselectAll: function() {
return this.changeAll(false);
},
toggle: function(e) {
e = e || window.event;
if (e) e.stopPropagation();
this.$button.trigger('click');
},
keydown: function(e) {
var $this = $(this),
$parent = $this.is('input') ? $this.parent().parent() : $this.parent(),
$items,
that = $parent.data('this'),
index,
prevIndex,
isActive,
selector = ':not(.disabled, .d-none, .dropdown-header, .dropdown-divider)',
keyCodeMap = {
32: ' ',
48: '0',
49: '1',
50: '2',
51: '3',
52: '4',
53: '5',
54: '6',
55: '7',
56: '8',
57: '9',
59: ';',
65: 'a',
66: 'b',
67: 'c',
68: 'd',
69: 'e',
70: 'f',
71: 'g',
72: 'h',
73: 'i',
74: 'j',
75: 'k',
76: 'l',
77: 'm',
78: 'n',
79: 'o',
80: 'p',
81: 'q',
82: 'r',
83: 's',
84: 't',
85: 'u',
86: 'v',
87: 'w',
88: 'x',
89: 'y',
90: 'z',
96: '0',
97: '1',
98: '2',
99: '3',
100: '4',
101: '5',
102: '6',
103: '7',
104: '8',
105: '9',
};
isActive = that.$newElement.hasClass('open') || that.$newElement.hasClass('show');
if (!isActive && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode >= 65 && e.keyCode <= 90)) {
if (!that.options.container) {
that.setSize();
that.$menu.parent().addClass('open show');
isActive = true;
} else {
that.$button.trigger('click');
}
that.$searchbox.focus();
return;
}
if (that.options.liveSearch) {
if (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive) {
e.preventDefault();
e.stopPropagation();
that.$menuInner.click();
that.$button.focus();
}
}
if (/(38|40)/.test(e.keyCode.toString(10))) {
$items = that.$lis.filter(selector);
if (!$items.length) return;
if (!that.options.liveSearch) {
index = $items.index($items.filter(':focus'));
} else {
index = $items.index($items.filter('.active'));
}
prevIndex = that.$menuInner.data('prevIndex');
if (e.keyCode == 38) {
if ((that.options.liveSearch || index == prevIndex) && index != -1) index--;
if (index < 0) index += $items.length;
} else if (e.keyCode == 40) {
if (that.options.liveSearch || index == prevIndex) index++;
index = index % $items.length;
}
that.$menuInner.data('prevIndex', index);
if (!that.options.liveSearch) {
$items.eq(index).focus();
} else {
e.preventDefault();
if (!$this.hasClass('dropdown-toggle')) {
$items.removeClass('active').eq(index).addClass('active').children('span.dropdown-item-inner').focus();
$this.focus();
}
}
} else if (!$this.is('input')) {
var keyIndex = [],
count,
prevKey;
$items = that.$lis.filter(selector);
$items.each(function(i) {
if ($.trim($(this).children('span.dropdown-item-inner').text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode]) {
keyIndex.push(i);
}
});
count = $(document).data('keycount');
count++;
$(document).data('keycount', count);
prevKey = $.trim($(':focus').text().toLowerCase()).substring(0, 1);
if (prevKey != keyCodeMap[e.keyCode]) {
count = 1;
$(document).data('keycount', count);
} else if (count >= keyIndex.length) {
$(document).data('keycount', 0);
if (count > keyIndex.length) count = 1;
}
$items.eq(keyIndex[count - 1]).children('span.dropdown-item-inner').focus();
}
// Select focused option if "Enter", "Spacebar" or "Tab" (when selectOnTab is true) are pressed inside the menu.
if ((/(13|32)/.test(e.keyCode.toString(10)) || (/(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab)) && isActive) {
if (!/(32)/.test(e.keyCode.toString(10))) e.preventDefault();
if (!that.options.liveSearch) {
var elem = $(':focus');
elem.click();
// Bring back focus for multiselects
elem.focus();
// Prevent screen from scrolling if the user hit the spacebar
e.preventDefault();
// Fixes spacebar selection of dropdown items in FF & IE
$(document).data('spaceSelect', true);
} else if (!/(32)/.test(e.keyCode.toString(10))) {
that.$menuInner.find('a.active').click();
$this.focus();
}
$(document).data('keycount', 0);
}
if ((/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode.toString(10)) && !isActive)) {
that.$menu.parent().removeClass('open');
if (that.options.container) that.$newElement.removeClass('open');
that.$button.focus();
}
},
mobile: function() {
this.$element.addClass('mobile-device');
},
refresh: function() {
this.$lis = null;
this.liObj = {};
this.reloadLi();
this.render();
this.checkDisabled();
this.liHeight(true);
this.setStyle();
this.setWidth();
if (this.$lis) this.$searchbox.trigger('propertychange');
this.$element.trigger('refreshed.bs.select');
},
hide: function() {
this.$newElement.hide();
},
show: function() {
this.$newElement.show();
},
remove: function() {
this.$newElement.remove();
this.$element.remove();
},
destroy: function() {
this.$newElement.before(this.$element).remove();
if (this.$bsContainer) {
this.$bsContainer.remove();
} else {
this.$menu.remove();
}
this.$element.off('.bs.select').removeData('selectpicker').removeClass('bs-select-hidden selectpicker');
},
};
// SELECTPICKER PLUGIN DEFINITION
// ==============================
function Plugin(option) {
// get the args of the outer function..
var args = arguments;
// The arguments of the function are explicitly re-defined from the argument list, because the shift causes them
// to get lost/corrupted in android 2.3 and IE9 #715 #775
var _option = option;
[].shift.apply(args);
var value;
var chain = this.each(function() {
var $this = $(this);
if ($this.is('select')) {
var data = $this.data('selectpicker'),
options = typeof _option == 'object' && _option;
if (!data) {
var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options);
config.template = $.extend({}, Selectpicker.DEFAULTS.template, ($.fn.selectpicker.defaults ? $.fn.selectpicker.defaults.template : {}), $this.data().template, options.template);
$this.data('selectpicker', (data = new Selectpicker(this, config)));
} else if (options) {
for (var i in options) {
if (options.hasOwnProperty(i)) {
data.options[i] = options[i];
}
}
}
if (typeof _option == 'string') {
if (data[_option] instanceof Function) {
value = data[_option].apply(data, args);
} else {
value = data.options[_option];
}
}
}
});
if (typeof value !== 'undefined') {
//noinspection JSUnusedAssignment
return value;
} else {
return chain;
}
}
var old = $.fn.selectpicker;
$.fn.selectpicker = Plugin;
$.fn.selectpicker.Constructor = Selectpicker;
// SELECTPICKER NO CONFLICT
// ========================
$.fn.selectpicker.noConflict = function() {
$.fn.selectpicker = old;
return this;
};
$(document).data('keycount', 0).on('keydown.bs.select', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input', Selectpicker.prototype.keydown).on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input', function(e) {
e.stopPropagation();
});
// SELECTPICKER DATA-API
// =====================
$(window).on('load.bs.select.data-api', function() {
$('.selectpicker').each(function() {
var $selectpicker = $(this);
Plugin.call($selectpicker, $selectpicker.data());
});
});
})(jQuery);
}));
/*
* Bootstrap-select v1.12.13 (https://github.com/heimrichhannot/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/heimrichhannot/bootstrap-select/LICENSE)
*/
(function(a,b){if(typeof define==="function"&&define.amd){define(["jquery"],function(c){return(b(c))})}else{if(typeof module==="object"&&module.exports){module.exports=b(require("jquery"))}else{b(a.jQuery)}}}(this,function(a){(function(g){if(!String.prototype.includes){(function(){var q={}.toString;var n=(function(){try{var u={};var t=Object.defineProperty;var r=t(u,u,u)&&t}catch(s){}return r}());var p="".indexOf;var o=function(w){if(this==null){throw new TypeError()}var u=String(this);if(w&&q.call(w)=="[object RegExp]"){throw new TypeError()}var s=u.length;var t=String(w);var v=t.length;var r=arguments.length>1?arguments[1]:undefined;var y=r?Number(r):0;if(y!=y){y=0}var x=Math.min(Math.max(y,0),s);if(v+x>s){return false}return p.call(u,t,y)!=-1};if(n){n(String.prototype,"includes",{value:o,configurable:true,writable:true,})}else{String.prototype.includes=o}}())}if(!String.prototype.startsWith){(function(){var n=(function(){try{var t={};var s=Object.defineProperty;var q=s(t,t,t)&&s}catch(r){}return q}());var p={}.toString;var o=function(x){if(this==null){throw new TypeError()}var u=String(this);if(x&&p.call(x)=="[object RegExp]"){throw new TypeError()}var q=u.length;var y=String(x);var s=y.length;var t=arguments.length>1?arguments[1]:undefined;var w=t?Number(t):0;if(w!=w){w=0}var r=Math.min(Math.max(w,0),q);if(s+r>q){return false}var v=-1;while(++v<s){if(u.charCodeAt(r+v)!=y.charCodeAt(v)){return false}}return true};if(n){n(String.prototype,"startsWith",{value:o,configurable:true,writable:true,})}else{String.prototype.startsWith=o}}())}if(!Object.keys){Object.keys=function(q,n,p){p=[];for(n in q){p.hasOwnProperty.call(q,n)&&p.push(n)}return p}}var e={useDefault:false,_set:g.valHooks.select.set,};g.valHooks.select.set=function(n,o){if(o&&!e.useDefault){g(n).data("selected",true)}return e._set.apply(this,arguments)};var m=null;g.fn.triggerNative=function(n){var o=this[0],p;if(o.dispatchEvent){if(typeof Event==="function"){p=new Event(n,{bubbles:true,})}else{p=document.createEvent("Event");p.initEvent(n,true,false)}o.dispatchEvent(p)}else{if(o.fireEvent){p=document.createEventObject();p.eventType=n;o.fireEvent("on"+n,p)}else{this.trigger(n)}}};g.expr.pseudos.icontains=function(q,n,p){var r=g(q).find("span.dropdown-item-inner");var o=(r.data("tokens")||r.text()).toString().toUpperCase();return o.includes(p[3].toUpperCase())};g.expr.pseudos.ibegins=function(q,n,p){var r=g(q).find("span.dropdown-item-inner");var o=(r.data("tokens")||r.text()).toString().toUpperCase();return o.startsWith(p[3].toUpperCase())};g.expr.pseudos.aicontains=function(q,n,p){var r=g(q).find("span.dropdown-item-inner");var o=(r.data("tokens")||r.data("normalizedText")||r.text()).toString().toUpperCase();return o.includes(p[3].toUpperCase())};g.expr.pseudos.aibegins=function(q,n,p){var r=g(q).find("span.dropdown-item-inner");var o=(r.data("tokens")||r.data("normalizedText")||r.text()).toString().toUpperCase();return o.startsWith(p[3].toUpperCase())};function c(o){var n=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"},];g.each(n,function(){o=o?o.replace(this.re,this.ch):""});return o}var h={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;",};var b={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x60;":"`",};var f=function(r){var o=function(s){return r[s]};var q="(?:"+Object.keys(r).join("|")+")";var p=RegExp(q);var n=RegExp(q,"g");return function(s){s=s==null?"":""+s;return p.test(s)?s.replace(n,o):s}};var l=f(h);var i=f(b);var k=function(p,o){if(!e.useDefault){g.valHooks.select.set=e._set;e.useDefault=true}this.$element=g(p);this.$newElement=null;this.$button=null;this.$menu=null;this.$lis=null;this.options=o;if(this.options.title===null){this.options.title=this.$element.attr("title")}var n=this.options.windowPadding;if(typeof n==="number"){this.options.windowPadding=[n,n,n,n]}this.val=k.prototype.val;this.render=k.prototype.render;this.refresh=k.prototype.refresh;this.setStyle=k.prototype.setStyle;this.selectAll=k.prototype.selectAll;this.deselectAll=k.prototype.deselectAll;this.destroy=k.prototype.destroy;this.remove=k.prototype.remove;this.show=k.prototype.show;this.hide=k.prototype.hide;this.init()};k.VERSION="1.12.2";k.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(o,n){return(o==1)?"{0} item selected":"{0} items selected"},maxOptionsText:function(n,o){return[(n==1)?"Limit reached ({n} item max)":"Limit reached ({n} items max)",(o==1)?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:false,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default btn-light",size:"auto",title:null,selectedTextFormat:"values",width:false,container:false,hideDisabled:false,showSubtext:false,showIcon:true,showContent:true,dropupAuto:true,header:false,liveSearch:false,liveSearchPlaceholder:null,liveSearchNormalize:false,liveSearchStyle:"contains",actionsBox:false,iconBase:"fa",tickIcon:"fa-check",showTick:false,template:{caret:'<span class="caret"></span>',},maxOptions:false,mobile:false,selectOnTab:false,dropdownAlignRight:false,windowPadding:0,};k.prototype={constructor:k,init:function(){var n=this,o=this.$element.attr("id");this.$element.addClass("bs-select-hidden");this.liObj={};this.multiple=this.$element.prop("multiple");this.autofocus=this.$element.prop("autofocus");this.$newElement=this.createView();this.$element.after(this.$newElement).appendTo(this.$newElement);this.$button=this.$newElement.children("button");this.$menu=this.$newElement.children(".dropdown-menu");this.$menuInner=this.$menu.children(".inner");this.$searchbox=this.$menu.find("input");this.$element.removeClass("bs-select-hidden");if(this.options.dropdownAlignRight===true){this.$menu.addClass("dropdown-menu-right")}if(typeof o!=="undefined"){this.$button.attr("data-id",o);g('label[for="'+o+'"]').click(function(p){p.preventDefault();n.$button.focus()})}this.checkDisabled();this.clickListener();if(this.options.liveSearch){this.liveSearchListener()}this.render();this.setStyle();this.setWidth();if(this.options.container){this.selectPosition()}this.$menu.data("this",this);this.$newElement.data("this",this);if(this.options.mobile){this.mobile()}this.$newElement.on({"hide.bs.dropdown":function(p){n.$menuInner.attr("aria-expanded",false);n.$element.trigger("hide.bs.select",p)},"hidden.bs.dropdown":function(p){n.$element.trigger("hidden.bs.select",p)},"show.bs.dropdown":function(p){n.$menuInner.attr("aria-expanded",true);n.$element.trigger("show.bs.select",p)},"shown.bs.dropdown":function(p){n.$element.trigger("shown.bs.select",p)},});if(n.$element[0].hasAttribute("required")){this.$element.on("invalid",function(){n.$button.addClass("bs-invalid").focus();n.$element.on({"focus.bs.select":function(){n.$button.focus();n.$element.off("focus.bs.select")},"shown.bs.select":function(){n.$element.val(n.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){if(this.validity.valid){n.$button.removeClass("bs-invalid")}n.$element.off("rendered.bs.select")},})})}setTimeout(function(){n.$element.trigger("loaded.bs.select")})},createDropdown:function(){var s=(this.multiple||this.options.showTick)?" show-tick":"",o=this.$element.parent().hasClass("input-group")?" input-group-btn":"",u=this.autofocus?" autofocus":"";var t=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>":"";var r=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+l(this.options.liveSearchPlaceholder)+'"')+' role="textbox" aria-label="Search"></div>':"";var q=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default btn-light">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default btn-light">'+this.options.deselectAllText+"</button></div></div>":"";var n=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default btn-light">'+this.options.doneButtonText+"</button></div></div>":"";var p='<div class="btn-group bootstrap-select'+s+o+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+u+' role="button"><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open" role="combobox">'+t+r+q+'<div class="dropdown-menu inner" role="listbox" aria-expanded="false"></div>'+n+"</div></div>";return g(p)},createView:function(){var o=this.createDropdown(),n=this.createLi();o.find("div.inner")[0].innerHTML=n;return o},reloadLi:function(){var n=this.createLi();this.$menuInner[0].innerHTML=n},createLi:function(){var u=this,t=[],x=0,n=document.createElement("option"),q=-1;var p=function(B,z,A,y){A="dropdown-item "+(A||"");return'<a tabindex="0"'+((typeof A!=="undefined"&&""!==A)?' class="'+A+'"':"")+((typeof z!=="undefined"&&null!==z)?' data-original-index="'+z+'"':"")+((typeof y!=="undefined"&&null!==y)?'data-optgroup="'+y+'"':"")+">"+B+"</a>"};var r=function(A,z,y){return"<div"+((typeof z!=="undefined"&&""!==z)?' class="'+z+'"':"")+((typeof y!=="undefined"&&null!==y)?' data-optgroup="'+y+'"':"")+">"+A+"</div>"};var v=function(B,y,A,z){y="dropdown-item-inner "+(y||"");return"<span"+(typeof y!=="undefined"?' class="'+y+'"':"")+(A?' style="'+A+'"':"")+(u.options.liveSearchNormalize?' data-normalized-text="'+c(l(g(B).html()))+'"':"")+(typeof z!=="undefined"||z!==null?' data-tokens="'+z+'"':"")+' role="option">'+B+'<span class="'+u.options.iconBase+" "+u.options.tickIcon+' check-mark"></span></span>'};if(this.options.title&&!this.multiple){q--;if(!this.$element.find(".bs-title-option").length){var s=this.$element[0];n.className="bs-title-option";n.innerHTML=this.options.title;n.value="";s.insertBefore(n,s.firstChild);var w=g(s.options[s.selectedIndex]);if(w.attr("selected")===undefined&&this.$element.data("selected")===undefined){n.selected=true}}}var o=this.$element.find("option");o.each(function(C){var B=g(this);q++;if(B.hasClass("bs-title-option")){return}var E=this.className||"",A=l(this.style.cssText),F=B.data("content")?B.data("content"):B.html(),H=B.data("tokens")?B.data("tokens"):null,R=typeof B.data("subtext")!=="undefined"?'<small class="text-muted">'+B.data("subtext")+"</small>":"",O=typeof B.data("icon")!=="undefined"?'<span class="'+u.options.iconBase+" "+B.data("icon")+'"></span> ':"",J=B.parent(),z=J[0].tagName==="OPTGROUP",M=z&&J[0].disabled,G=this.disabled||M,y;if(O!==""&&G){O="<span>"+O+"</span>"}if(u.options.hideDisabled&&(G&&!z||M)){y=B.data("prevHiddenIndex");B.next().data("prevHiddenIndex",(y!==undefined?y:C));q--;return}if(!B.data("content")){F=O+'<span class="text">'+F+R+"</span>"}if(z&&B.data("divider")!==true){if(u.options.hideDisabled&&G){if(J.data("allOptionsDisabled")===undefined){var N=J.children();J.data("allOptionsDisabled",N.filter(":disabled").length===N.length)}if(J.data("allOptionsDisabled")){q--;return}}var P=" "+J[0].className||"";if(B.index()===0){x+=1;var D=J[0].label,Q=typeof J.data("subtext")!=="undefined"?'<small class="text-muted">'+J.data("subtext")+"</small>":"",K=J.data("icon")?'<span class="'+u.options.iconBase+" "+J.data("icon")+'"></span> ':"";D=K+'<span class="text">'+l(D)+Q+"</span>";if(C!==0&&t.length>0){q++;t.push(r("","dropdown-divider",x+"div"))}q++;t.push(r(D,"dropdown-header"+P,x))}if(u.options.hideDisabled&&G){q--;return}t.push(p(v(F,"opt "+E+P,A,H),C,"",x))}else{if(B.data("divider")===true){t.push(r("","dropdown-divider",x+"div"))}else{if(B.data("hidden")===true){y=B.data("prevHiddenIndex");B.next().data("prevHiddenIndex",(y!==undefined?y:C));t.push(p(v(F,E,A,H),C,"hidden is-hidden"))}else{var I=this.previousElementSibling&&this.previousElementSibling.tagName==="OPTGROUP";if(!I&&u.options.hideDisabled){y=B.data("prevHiddenIndex");if(y!==undefined){var L=o.eq(y)[0].previousElementSibling;if(L&&L.tagName==="OPTGROUP"&&!L.disabled){I=true}}}if(I){q++;t.push(r("","dropdown-divider",x+"div"))}t.push(p(v(F,E,A,H),C))}}}u.liObj[C]=q});if(!this.multiple&&this.$element.find("option:selected").length===0&&!this.options.title){this.$element.find("option").eq(0).prop("selected",true).attr("selected","selected")}return t.join("")},findLis:function(){if(this.$lis==null){this.$lis=this.$menu.find("a, .dropdown-header, .dropdown-divider")}return this.$lis},render:function(r){var q=this,n,o=this.$element.find("option");if(r!==false){o.each(function(w){var x=q.findLis().eq(q.liObj[w]);q.setDisabled(w,this.disabled||this.parentNode.tagName==="OPTGROUP"&&this.parentNode.disabled,x);q.setSelected(w,this.selected,x)})}this.togglePlaceholder();this.tabIndex();var p=o.map(function(){if(this.selected){if(q.options.hideDisabled&&(this.disabled||this.parentNode.tagName==="OPTGROUP"&&this.parentNode.disabled)){return}var y=g(this),x=y.data("icon")&&q.options.showIcon?'<i class="'+q.options.iconBase+" "+y.data("icon")+'"></i> ':"",w;if(q.options.showSubtext&&y.data("subtext")&&!q.multiple){w=' <small class="text-muted">'+y.data("subtext")+"</small>"}else{w=""}if(typeof y.attr("title")!=="undefined"){return y.attr("title")}else{if(y.data("content")&&q.options.showContent){return y.data("content").toString()}else{return x+y.html()+w}}}}).toArray();var t=!this.multiple?p[0]:p.join(this.options.multipleSeparator);if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var s=this.options.selectedTextFormat.split(">");if((s.length>1&&p.length>s[1])||(s.length==1&&p.length>=2)){n=this.options.hideDisabled?", [disabled]":"";var u=o.not('[data-divider="true"], [data-hidden="true"]'+n).length,v=(typeof this.options.countSelectedText==="function")?this.options.countSelectedText(p.length,u):this.options.countSelectedText;t=v.replace("{0}",p.length.toString()).replace("{1}",u.toString())}}if(this.options.title==undefined){this.options.title=this.$element.attr("title")}if(this.options.selectedTextFormat=="static"){t=this.options.title}if(!t){t=typeof this.options.title!=="undefined"?this.options.title:this.options.noneSelectedText}this.$button.attr("title",i(g.trim(t.replace(/<[^>]*>?/g,""))));this.$button.children(".filter-option").html(t);this.$element.trigger("rendered.bs.select")},setStyle:function(p,o){if(this.$element.attr("class")){this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""))}var n=p?p:this.options.style;if(o=="add"){this.$button.addClass(n)}else{if(o=="remove"){this.$button.removeClass(n)}else{this.$button.removeClass(this.options.style);this.$button.addClass(n)}}},updatePosition:function(){var n=this.$menu.get(0).ownerDocument.createEvent("HTMLEvents");n.initEvent("resize",true,false);this.$menu.get(0).ownerDocument.dispatchEvent(n)},liHeight:function(t){if(!t&&(this.options.size===false||this.sizeInfo)){return}var r=document.createElement("div"),n=document.createElement("div"),x=document.createElement("ul"),F=document.createElement("a"),E=document.createElement("a"),J=document.createElement("span"),D=document.createElement("span"),I=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(true):null,y=this.options.liveSearch?document.createElement("div"):null,z=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(true):null,q=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(true):null;D.className="text";r.className=this.$menu[0].parentNode.className+" show open";n.className="dropdown-menu open show";x.className="dropdown-menu inner";F.className="dropdown-divider";J.className="dropdown-item-inner";D.appendChild(document.createTextNode("Inner text"));J.appendChild(D);E.appendChild(J);x.appendChild(E);x.appendChild(F);if(I){n.appendChild(I)}if(y){var B=document.createElement("input");y.className="bs-searchbox";B.className="form-control";y.appendChild(B);n.appendChild(y)}if(z){n.appendChild(z)}n.appendChild(x);if(q){n.appendChild(q)}r.appendChild(n);document.body.appendChild(r);var p=J.offsetHeight,H=I?I.offsetHeight:0,A=y?y.offsetHeight:0,w=z?z.offsetHeight:0,s=q?q.offsetHeight:0,C=g(F).outerHeight(true),o=typeof getComputedStyle==="function"?getComputedStyle(n):false,u=o?null:g(n),G={vert:parseInt(o?o.paddingTop:u.css("paddingTop"))+parseInt(o?o.paddingBottom:u.css("paddingBottom"))+parseInt(o?o.borderTopWidth:u.css("borderTopWidth"))+parseInt(o?o.borderBottomWidth:u.css("borderBottomWidth")),horiz:parseInt(o?o.paddingLeft:u.css("paddingLeft"))+parseInt(o?o.paddingRight:u.css("paddingRight"))+parseInt(o?o.borderLeftWidth:u.css("borderLeftWidth"))+parseInt(o?o.borderRightWidth:u.css("borderRightWidth")),},v={vert:G.vert+parseInt(o?o.marginTop:u.css("marginTop"))+parseInt(o?o.marginBottom:u.css("marginBottom"))+2,horiz:G.horiz+parseInt(o?o.marginLeft:u.css("marginLeft"))+parseInt(o?o.marginRight:u.css("marginRight"))+2,};document.body.removeChild(r);this.sizeInfo={liHeight:p,headerHeight:H,searchHeight:A,actionsHeight:w,doneButtonHeight:s,dividerHeight:C,menuPadding:G,menuExtras:v,}},setSize:function(){this.findLis();this.liHeight();if(this.options.header){this.$menu.css("padding-top",0)}if(this.options.size===false){return}var y=this,v=this.$menu,r=this.$menuInner,D=g(window),L=this.$newElement[0].offsetHeight,N=this.$newElement[0].offsetWidth,s=this.sizeInfo.liHeight,H=this.sizeInfo.headerHeight,A=this.sizeInfo.searchHeight,x=this.sizeInfo.actionsHeight,t=this.sizeInfo.doneButtonHeight,z=this.sizeInfo.dividerHeight,G=this.sizeInfo.menuPadding,w=this.sizeInfo.menuExtras,E=this.options.hideDisabled?".disabled":"",F,n,B,p,M,K,u,J,I=function(){var R=y.$newElement.offset(),P=g(y.options.container),Q;if(y.options.container&&!P.is("body")){Q=P.offset();Q.top+=parseInt(P.css("borderTopWidth"));Q.left+=parseInt(P.css("borderLeftWidth"))}else{Q={top:0,left:0}}var O=y.options.windowPadding;M=R.top-Q.top-D.scrollTop();K=D.height()-M-L-Q.top-O[2];u=R.left-Q.left-D.scrollLeft();J=D.width()-u-N-Q.left-O[1];M-=O[0];u-=O[3]};I();if(this.options.size==="auto"){var q=function(){var R,Q=function(U,T){return function(V){if(T){return(V.classList?V.classList.contains(U):g(V).hasClass(U))}else{return !(V.classList?V.classList.contains(U):g(V).hasClass(U))}}},P=y.$menuInner[0].getElementsByTagName("a"),O=Array.prototype.filter?Array.prototype.filter.call(P,Q("d-none",false)):y.$lis.not(".d-none"),S=Array.prototype.filter?Array.prototype.filter.call(O,Q("dropdown-header",true)):O.filter(".dropdown-header");I();F=K-w.vert;n=J-w.horiz;if(y.options.container){if(!v.data("height")){v.data("height",v.height())}B=v.data("height");if(!v.data("width")){v.data("width",v.width())}p=v.data("width")}else{B=v.height();p=v.width()}if(y.options.dropupAuto){y.$newElement.toggleClass("dropup",M>K&&(F-w.vert)<B)}if(y.$newElement.hasClass("dropup")){F=M-w.vert}if(y.options.dropdownAlignRight==="auto"){v.toggleClass("dropdown-menu-right",u>J&&(n-w.horiz)<(p-N))}if((O.length+S.length)>3){R=s*3+w.vert-2}else{R=0}v.css({"max-height":F+"px",overflow:"hidden","min-height":R+H+A+x+t+"px",});r.css({"max-height":F-H-A-x-t-G.vert+"px","overflow-y":"auto","min-height":Math.max(R-G.vert,0)+"px",})};q();this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",q);D.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",q)}else{if(this.options.size&&this.options.size!="auto"&&this.$lis.not(E).length>this.options.size){var C=this.$lis.not(".dropdown-divider").not(E).children().slice(0,this.options.size).last().parent().index(),o=this.$lis.slice(0,C+1).filter(".dropdown-divider").length;F=s*this.options.size+o*z+G.vert;if(y.options.container){if(!v.data("height")){v.data("height",v.height())}B=v.data("height")}else{B=v.height()}if(y.options.dropupAuto){this.$newElement.toggleClass("dropup",M>K&&(F-w.vert)<B)}v.css({"max-height":F+H+A+x+t+"px",overflow:"hidden","min-height":"",});r.css({"max-height":F-G.vert+"px","overflow-y":"auto","min-height":"",})}}},setWidth:function(){if(this.options.width==="auto"){this.$menu.css("min-width","0");var o=this.$menu.parent().clone().appendTo("body"),n=this.options.container?this.$newElement.clone().appendTo("body"):o,p=o.children(".dropdown-menu").outerWidth(),q=n.css("width","auto").children("button").outerWidth();o.remove();n.remove();this.$newElement.css("width",Math.max(p,q)+"px")}else{if(this.options.width==="fit"){this.$menu.css("min-width","");this.$newElement.css("width","").addClass("fit-width")}else{if(this.options.width){this.$menu.css("min-width","");this.$newElement.css("width",this.options.width)}else{this.$menu.css("min-width","");this.$newElement.css("width","")}}}if(this.$newElement.hasClass("fit-width")&&this.options.width!=="fit"){this.$newElement.removeClass("fit-width")}},selectPosition:function(){this.$bsContainer=g('<div class="bs-container" />');var o=this,p=g(this.options.container),s,r,q,n=function(t){o.$bsContainer.addClass(t.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",t.hasClass("dropup"));s=t.offset();if(!p.is("body")){r=p.offset();r.top+=parseInt(p.css("borderTopWidth"))-p.scrollTop();r.left+=parseInt(p.css("borderLeftWidth"))-p.scrollLeft()}else{r={top:0,left:0}}q=t.hasClass("dropup")?0:t[0].offsetHeight;o.$bsContainer.css({top:s.top-r.top+q,left:s.left-r.left,width:t[0].offsetWidth,})};this.$button.on("click",function(){var t=g(this);if(o.isDisabled()){return}n(o.$newElement);o.$bsContainer.appendTo(o.options.container).toggleClass("open",!t.hasClass("open")).append(o.$menu)});g(window).on("resize scroll",function(){n(o.$newElement)});this.$element.on("hide.bs.select",function(){o.$menu.data("height",o.$menu.height());o.$bsContainer.detach()})},setSelected:function(n,p,o){if(!o){this.togglePlaceholder();o=this.findLis().eq(this.liObj[n])}o.toggleClass("selected",p).find("span.dropdown-item-inner").attr("aria-selected",p)},setDisabled:function(n,p,o){if(!o){o=this.findLis().eq(this.liObj[n])}if(p){o.addClass("disabled").children("span.dropdown-item-inner").attr("href","#").attr("tabindex",-1).attr("aria-disabled",true)}else{o.removeClass("disabled").children("span.dropdown-item-inner").removeAttr("href").attr("tabindex",0).attr("aria-disabled",false)}},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var n=this;if(this.isDisabled()){this.$newElement.addClass("disabled");this.$button.addClass("disabled").attr("tabindex",-1).attr("aria-disabled",true)}else{if(this.$button.hasClass("disabled")){this.$newElement.removeClass("disabled");this.$button.removeClass("disabled").attr("aria-disabled",false)}if(this.$button.attr("tabindex")==-1&&!this.$element.data("tabindex")){this.$button.removeAttr("tabindex")}}this.$button.click(function(){return !n.isDisabled()})},togglePlaceholder:function(){var n=this.$element.val();this.$button.toggleClass("bs-placeholder",n===null||n===""||(n.constructor===Array&&n.length===0))},tabIndex:function(){if(this.$element.data("tabindex")!==this.$element.attr("tabindex")&&(this.$element.attr("tabindex")!==-98&&this.$element.attr("tabindex")!=="-98")){this.$element.data("tabindex",this.$element.attr("tabindex"));this.$button.attr("tabindex",this.$element.data("tabindex"))}this.$element.attr("tabindex",-98)},clickListener:function(){var n=this,o=g(document);o.data("spaceSelect",false);this.$button.on("keyup",function(p){if(/(32)/.test(p.keyCode.toString(10))&&o.data("spaceSelect")){p.preventDefault();o.data("spaceSelect",false)}});this.$button.on("click",function(){n.setSize()});this.$element.on("shown.bs.select",function(){if(!n.options.liveSearch&&!n.multiple){n.$menuInner.find("a.selected").focus()}else{if(!n.multiple){var p=n.liObj[n.$element[0].selectedIndex];if(typeof p!=="number"||n.options.size===false){return}var q=n.$lis.eq(p)[0].offsetTop-n.$menuInner[0].offsetTop;q=q-n.$menuInner[0].offsetHeight/2+n.sizeInfo.liHeight/2;n.$menuInner[0].scrollTop=q}}});this.$menuInner.on("click","a",function(G){var v=g(this).find("span.dropdown-item-inner"),q=v.parent().data("originalIndex"),E=n.$element.val(),x=n.$element.prop("selectedIndex"),y=true;if(n.multiple&&n.options.maxOptions!==1){G.stopPropagation()}G.preventDefault();if(!n.isDisabled()&&!v.parent().hasClass("disabled")){var C=n.$element.find("option"),D=C.eq(q),s=D.prop("selected"),B=D.parent("optgroup"),I=n.options.maxOptions,z=B.data("maxOptions")||false;if(!n.multiple){C.prop("selected",false);D.prop("selected",true);n.$menuInner.find(".selected").removeClass("selected").find("span.dropdown-item-inner").attr("aria-selected",false);n.setSelected(q,true)}else{D.prop("selected",!s);n.setSelected(q,!s);v.blur();if(I!==false||z!==false){var r=I<C.filter(":selected").length,u=z<B.find("option:selected").length;if((I&&r)||(z&&u)){if(I&&I==1){C.prop("selected",false);D.prop("selected",true);n.$menuInner.find(".selected").removeClass("selected");n.setSelected(q,true)}else{if(z&&z==1){B.find("option:selected").prop("selected",false);D.prop("selected",true);var F=v.parent().data("optgroup");n.$menuInner.find('[data-optgroup="'+F+'"]').removeClass("selected");n.setSelected(q,true)}else{var p=typeof n.options.maxOptionsText==="string"?[n.options.maxOptionsText,n.options.maxOptionsText]:n.options.maxOptionsText,t=typeof p==="function"?p(I,z):p,H=t[0].replace("{n}",I),w=t[1].replace("{n}",z),A=g('<div class="notify"></div>');if(t[2]){H=H.replace("{var}",t[2][I>1?0:1]);w=w.replace("{var}",t[2][z>1?0:1])}D.prop("selected",false);n.$menu.append(A);if(I&&r){A.append(g("<div>"+H+"</div>"));y=false;n.$element.trigger("maxReached.bs.select")}if(z&&u){A.append(g("<div>"+w+"</div>"));y=false;n.$element.trigger("maxReachedGrp.bs.select")}setTimeout(function(){n.setSelected(q,false)},10);A.delay(750).fadeOut(300,function(){g(this).remove()})}}}}}if(!n.multiple||(n.multiple&&n.options.maxOptions===1)){n.$button.focus()}else{if(n.options.liveSearch){n.$searchbox.focus()}}if(y){if((E!=n.$element.val()&&n.multiple)||(x!=n.$element.prop("selectedIndex")&&!n.multiple)){m=[q,D.prop("selected"),s];n.$element.triggerNative("change")}}}});this.$menu.on("click","a.disabled span.dropdown-item-inner , .popover-title, .popover-title :not(.close)",function(p){if(p.currentTarget==this){p.preventDefault();p.stopPropagation();if(n.options.liveSearch&&!g(p.target).hasClass("close")){n.$searchbox.focus()}else{n.$button.focus()}}});this.$menuInner.on("click",".dropdown-divider, .dropdown-header",function(p){p.preventDefault();p.stopPropagation();if(n.options.liveSearch){n.$searchbox.focus()}else{n.$button.focus()}});this.$menu.on("click",".popover-title .close",function(){n.$button.click()});this.$searchbox.on("click",function(p){p.stopPropagation()});this.$menu.on("click",".actions-btn",function(p){if(n.options.liveSearch){n.$searchbox.focus()}else{n.$button.focus()}p.preventDefault();p.stopPropagation();if(g(this).hasClass("bs-select-all")){n.selectAll()}else{n.deselectAll()}});this.$element.change(function(){n.render(false);n.$element.trigger("changed.bs.select",m);m=null})},liveSearchListener:function(){var o=this,n=g('<li class="no-results"></li>');this.$button.on("click.dropdown.data-api",function(){o.$menuInner.find(".active").removeClass("active");if(!!o.$searchbox.val()){o.$searchbox.val("");o.$lis.not(".is-hidden").removeClass("d-none");if(!!n.parent().length){n.remove()}}if(!o.multiple){o.$menuInner.find(".selected").addClass("active")}setTimeout(function(){o.$searchbox.focus()},10)});this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(p){p.stopPropagation()});this.$searchbox.on("input propertychange",function(){o.$lis.not(".is-hidden").removeClass("d-none");o.$lis.filter(".active").removeClass("active");n.remove();if(o.$searchbox.val()){var q=o.$lis.not(".is-hidden, .dropdown-divider, .dropdown-header"),p;if(o.options.liveSearchNormalize){p=q.not(":a"+o._searchStyle()+'("'+c(o.$searchbox.val())+'")')}else{p=q.not(":"+o._searchStyle()+'("'+o.$searchbox.val()+'")')}if(p.length===q.length){n.html(o.options.noneResultsText.replace("{0}",'"'+l(o.$searchbox.val())+'"'));o.$menuInner.append(n);o.$lis.addClass("d-none")}else{p.addClass("d-none");var s=o.$lis.not(".d-none"),r;s.each(function(t){var u=g(this);if(u.hasClass("dropdown-divider")){if(r===undefined){u.addClass("d-none")}else{if(r){r.addClass("d-none")}r=u}}else{if(u.hasClass("dropdown-header")&&s.eq(t+1).data("optgroup")!==u.data("optgroup")){u.addClass("d-none")}else{r=null}}});if(r){r.addClass("d-none")}q.not(".d-none").first().addClass("active");o.$menuInner.scrollTop(0)}o.updatePosition()}})},_searchStyle:function(){var n={begins:"ibegins",startsWith:"ibegins",};return n[this.options.liveSearchStyle]||"icontains"},val:function(n){if(typeof n!=="undefined"){this.$element.val(n);this.render();return this.$element}else{return this.$element.val()}},changeAll:function(o){if(!this.multiple){return}if(typeof o==="undefined"){o=true}this.findLis();var n=this.$element.find("option"),t=this.$lis.not(".dropdown-divider, .dropdown-header, .disabled, .d-none"),p=t.length,s=[];if(o){if(t.filter(".selected").length===t.length){return}}else{if(t.filter(".selected").length===0){return}}t.toggleClass("selected",o);for(var q=0;q<p;q++){var r=t[q].getAttribute("data-original-index");s[s.length]=n.eq(r)[0]}g(s).prop("selected",o);this.render(false);this.togglePlaceholder();this.$element.triggerNative("change")},selectAll:function(){return this.changeAll(true)},deselectAll:function(){return this.changeAll(false)},toggle:function(n){n=n||window.event;if(n){n.stopPropagation()}this.$button.trigger("click")},keydown:function(x){var y=g(this),s=y.is("input")?y.parent().parent():y.parent(),w,u=s.data("this"),v,q,z,p=":not(.disabled, .d-none, .dropdown-header, .dropdown-divider)",r={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",};z=u.$newElement.hasClass("open")||u.$newElement.hasClass("show");if(!z&&(x.keyCode>=48&&x.keyCode<=57||x.keyCode>=96&&x.keyCode<=105||x.keyCode>=65&&x.keyCode<=90)){if(!u.options.container){u.setSize();u.$menu.parent().addClass("open show");z=true}else{u.$button.trigger("click")}u.$searchbox.focus();return}if(u.options.liveSearch){if(/(^9$|27)/.test(x.keyCode.toString(10))&&z){x.preventDefault();x.stopPropagation();u.$menuInner.click();u.$button.focus()}}if(/(38|40)/.test(x.keyCode.toString(10))){w=u.$lis.filter(p);if(!w.length){return}if(!u.options.liveSearch){v=w.index(w.filter(":focus"))}else{v=w.index(w.filter(".active"))}q=u.$menuInner.data("prevIndex");if(x.keyCode==38){if((u.options.liveSearch||v==q)&&v!=-1){v--}if(v<0){v+=w.length}}else{if(x.keyCode==40){if(u.options.liveSearch||v==q){v++}v=v%w.length}}u.$menuInner.data("prevIndex",v);if(!u.options.liveSearch){w.eq(v).focus()}else{x.preventDefault();if(!y.hasClass("dropdown-toggle")){w.removeClass("active").eq(v).addClass("active").children("span.dropdown-item-inner").focus();y.focus()}}}else{if(!y.is("input")){var n=[],t,A;w=u.$lis.filter(p);w.each(function(B){if(g.trim(g(this).children("span.dropdown-item-inner").text().toLowerCase()).substring(0,1)==r[x.keyCode]){n.push(B)}});t=g(document).data("keycount");t++;g(document).data("keycount",t);A=g.trim(g(":focus").text().toLowerCase()).substring(0,1);if(A!=r[x.keyCode]){t=1;g(document).data("keycount",t)}else{if(t>=n.length){g(document).data("keycount",0);if(t>n.length){t=1}}}w.eq(n[t-1]).children("span.dropdown-item-inner").focus()}}if((/(13|32)/.test(x.keyCode.toString(10))||(/(^9$)/.test(x.keyCode.toString(10))&&u.options.selectOnTab))&&z){if(!/(32)/.test(x.keyCode.toString(10))){x.preventDefault()}if(!u.options.liveSearch){var o=g(":focus");o.click();o.focus();x.preventDefault();g(document).data("spaceSelect",true)}else{if(!/(32)/.test(x.keyCode.toString(10))){u.$menuInner.find("a.active").click();y.focus()}}g(document).data("keycount",0)}if((/(^9$|27)/.test(x.keyCode.toString(10))&&z&&(u.multiple||u.options.liveSearch))||(/(27)/.test(x.keyCode.toString(10))&&!z)){u.$menu.parent().removeClass("open");if(u.options.container){u.$newElement.removeClass("open")}u.$button.focus()}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null;this.liObj={};this.reloadLi();this.render();this.checkDisabled();this.liHeight(true);this.setStyle();this.setWidth();if(this.$lis){this.$searchbox.trigger("propertychange")}this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove();this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove();if(this.$bsContainer){this.$bsContainer.remove()}else{this.$menu.remove()}this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")},};function j(p){var n=arguments;var r=p;[].shift.apply(n);var q;var o=this.each(function(){var w=g(this);if(w.is("select")){var v=w.data("selectpicker"),t=typeof r=="object"&&r;if(!v){var s=g.extend({},k.DEFAULTS,g.fn.selectpicker.defaults||{},w.data(),t);s.template=g.extend({},k.DEFAULTS.template,(g.fn.selectpicker.defaults?g.fn.selectpicker.defaults.template:{}),w.data().template,t.template);w.data("selectpicker",(v=new k(this,s)))}else{if(t){for(var u in t){if(t.hasOwnProperty(u)){v.options[u]=t[u]}}}}if(typeof r=="string"){if(v[r] instanceof Function){q=v[r].apply(v,n)}else{q=v.options[r]}}}});if(typeof q!=="undefined"){return q}else{return o}}var d=g.fn.selectpicker;g.fn.selectpicker=j;g.fn.selectpicker.Constructor=k;g.fn.selectpicker.noConflict=function(){g.fn.selectpicker=d;return this};g(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',k.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',function(n){n.stopPropagation()});g(window).on("load.bs.select.data-api",function(){g(".selectpicker").each(function(){var n=g(this);j.call(n,n.data())})})})(a)}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
/*!
* Translated default messages for bootstrap-select.
* Locale: AR (Arabic)
* Author: Yasser Lotfy <y_l@alive.com>
*/
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'لم يتم إختيار شئ',
noneResultsText: 'لا توجد نتائج مطابقة لـ {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} خيار تم إختياره" : "{0} خيارات تمت إختيارها";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'تخطى الحد المسموح ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح ({n} خيارات بحد أقصى)',
(numGroup == 1) ? 'تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)'
];
},
selectAllText: 'إختيار الجميع',
deselectAllText: 'إلغاء إختيار الجميع',
multipleSeparator: '، '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){/*!
* Translated default messages for bootstrap-select.
* Locale: AR (Arabic)
* Author: Yasser Lotfy <y_l@alive.com>
*/
!function(a){a.fn.selectpicker.defaults={noneSelectedText:"لم يتم إختيار شئ",noneResultsText:"لا توجد نتائج مطابقة لـ {0}",countSelectedText:function(a,b){return 1==a?"{0} خيار تم إختياره":"{0} خيارات تمت إختيارها"},maxOptionsText:function(a,b){return[1==a?"تخطى الحد المسموح ({n} خيار بحد أقصى)":"تخطى الحد المسموح ({n} خيارات بحد أقصى)",1==b?"تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)":"تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)"]},selectAllText:"إختيار الجميع",deselectAllText:"إلغاء إختيار الجميع",multipleSeparator:"، "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Нищо избрано',
noneResultsText: 'Няма резултат за {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} избран елемент" : "{0} избрани елемента";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)',
(numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)'
];
},
selectAllText: 'Избери всички',
deselectAllText: 'Размаркирай всички',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нищо избрано",noneResultsText:"Няма резултат за {0}",countSelectedText:function(a,b){return 1==a?"{0} избран елемент":"{0} избрани елемента"},maxOptionsText:function(a,b){return[1==a?"Лимита е достигнат ({n} елемент максимум)":"Лимита е достигнат ({n} елемента максимум)",1==b?"Груповия лимит е достигнат ({n} елемент максимум)":"Груповия лимит е достигнат ({n} елемента максимум)"]},selectAllText:"Избери всички",deselectAllText:"Размаркирай всички",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Odaberite stavku',
noneResultsText: 'Nema rezultata pretrage {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} stavka selektirana" : "{0} stavke selektirane";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Limit je postignut ({n} stvar maximalno)' : 'Limit je postignut ({n} stavke maksimalno)',
(numGroup == 1) ? 'Grupni limit je postignut ({n} stvar maksimalno)' : 'Grupni limit je postignut ({n} stavke maksimalno)'
];
},
selectAllText: 'Selektiraj sve',
deselectAllText: 'Deselektiraj sve',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Odaberite stavku",noneResultsText:"Nema rezultata pretrage {0}",countSelectedText:function(a,b){return 1==a?"{0} stavka selektirana":"{0} stavke selektirane"},maxOptionsText:function(a,b){return[1==a?"Limit je postignut ({n} stvar maximalno)":"Limit je postignut ({n} stavke maksimalno)",1==b?"Grupni limit je postignut ({n} stvar maksimalno)":"Grupni limit je postignut ({n} stavke maksimalno)"]},selectAllText:"Selektiraj sve",deselectAllText:"Deselektiraj sve",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nic není vybráno',
noneResultsText: 'Žádné výsledky {0}',
countSelectedText: 'Označeno {0} z {1}',
maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Intet valgt',
noneResultsText: 'Ingen resultater fundet {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} valgt" : "{0} valgt";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)',
(numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)'
];
},
selectAllText: 'Markér alle',
deselectAllText: 'Afmarkér alle',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(a,b){return"{0} valgt"},maxOptionsText:function(a,b){return[1==a?"Begrænsning nået (max {n} valgt)":"Begrænsning nået (max {n} valgte)",1==b?"Gruppe-begrænsning nået (max {n} valgt)":"Gruppe-begrænsning nået (max {n} valgte)"]},selectAllText:"Markér alle",deselectAllText:"Afmarkér alle",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Bitte wählen...',
noneResultsText: 'Keine Ergebnisse für {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} Element ausgewählt" : "{0} Elemente ausgewählt";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Limit erreicht ({n} Element max.)' : 'Limit erreicht ({n} Elemente max.)',
(numGroup == 1) ? 'Gruppen-Limit erreicht ({n} Element max.)' : 'Gruppen-Limit erreicht ({n} Elemente max.)'
];
},
selectAllText: 'Alles auswählen',
deselectAllText: 'Nichts auswählen',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:function(a,b){return 1==a?"{0} Element ausgewählt":"{0} Elemente ausgewählt"},maxOptionsText:function(a,b){return[1==a?"Limit erreicht ({n} Element max.)":"Limit erreicht ({n} Elemente max.)",1==b?"Gruppen-Limit erreicht ({n} Element max.)":"Gruppen-Limit erreicht ({n} Elemente max.)"]},selectAllText:"Alles auswählen",deselectAllText:"Nichts auswählen",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nothing selected',
noneResultsText: 'No results match {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} item selected" : "{0} items selected";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',
(numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'
];
},
selectAllText: 'Select All',
deselectAllText: 'Deselect All',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'No hay selección',
noneResultsText: 'No hay resultados {0}',
countSelectedText: 'Seleccionados {0} de {1}',
maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],
multipleSeparator: ', ',
selectAllText: 'Seleccionar Todos',
deselectAllText: 'Desmarcar Todos'
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'No hay selección',
noneResultsText: 'No hay resultados {0}',
countSelectedText: 'Seleccionados {0} de {1}',
maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],
multipleSeparator: ', ',
selectAllText: 'Seleccionar Todos',
deselectAllText: 'Desmarcar Todos'
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"}}(a)});
\ No newline at end of file
/*
* Translated default messages for bootstrap-select.
* Locale: ET (Eesti keel)
* Region: EE (Estonia)
*/
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Valikut pole tehtud',
noneResultsText: 'Otsingule {0} ei ole vasteid',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} item selected" : "{0} items selected";
},
maxOptionsText: function (numAll, numGroup) {
return [
'Limiit on {n} max',
'Globaalne limiit on {n} max'
];
},
selectAllText: 'Vali kõik',
deselectAllText: 'Tühista kõik',
multipleSeparator: ', '
};
})(jQuery);
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Hautapenik ez',
noneResultsText: 'Emaitzarik ez {0}',
countSelectedText: '{1}(e)tik {0} hautatuta',
maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'چیزی انتخاب نشده است',
noneResultsText: 'هیج مشابهی برای {0} پیدا نشد',
countSelectedText: "{0} از {1} مورد انتخاب شده",
maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'],
selectAllText: 'انتخاب همه',
deselectAllText: 'انتخاب هیچ کدام',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"چیزی انتخاب نشده است",noneResultsText:"هیج مشابهی برای {0} پیدا نشد",countSelectedText:"{0} از {1} مورد انتخاب شده",maxOptionsText:["بیشتر ممکن نیست {حداکثر {n} عدد}","بیشتر ممکن نیست {حداکثر {n} عدد}"],selectAllText:"انتخاب همه",deselectAllText:"انتخاب هیچ کدام",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Ei valintoja',
noneResultsText: 'Ei hakutuloksia {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} valittu" : "{0} valitut";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Valintojen maksimimäärä ({n} saavutettu)' : 'Valintojen maksimimäärä ({n} saavutettu)',
(numGroup == 1) ? 'Ryhmän maksimimäärä ({n} saavutettu)' : 'Ryhmän maksimimäärä ({n} saavutettu)'
];
},
selectAllText: 'Valitse kaikki',
deselectAllText: 'Poista kaikki',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ei valintoja",noneResultsText:"Ei hakutuloksia {0}",countSelectedText:function(a,b){return 1==a?"{0} valittu":"{0} valitut"},maxOptionsText:function(a,b){return["Valintojen maksimimäärä ({n} saavutettu)","Ryhmän maksimimäärä ({n} saavutettu)"]},selectAllText:"Valitse kaikki",deselectAllText:"Poista kaikki",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Aucune sélection',
noneResultsText: 'Aucun résultat pour {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected > 1) ? "{0} éléments sélectionnés" : "{0} élément sélectionné";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)',
(numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'
];
},
multipleSeparator: ', ',
selectAllText: 'Tout Sélectionner',
deselectAllText: 'Tout Dé-selectionner',
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a,b){return a>1?"{0} éléments sélectionnés":"{0} élément sélectionné"},maxOptionsText:function(a,b){return[a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)"]},multipleSeparator:", ",selectAllText:"Tout Sélectionner",deselectAllText:"Tout Dé-selectionner"}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Válasszon!',
noneResultsText: 'Nincs találat {0}',
countSelectedText: function (numSelected, numTotal) {
return '{0} elem kiválasztva';
},
maxOptionsText: function (numAll, numGroup) {
return [
'Legfeljebb {n} elem választható',
'A csoportban legfeljebb {n} elem választható'
];
},
selectAllText: 'Mind',
deselectAllText: 'Egyik sem',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(a,b){return"{0} elem kiválasztva"},maxOptionsText:function(a,b){return["Legfeljebb {n} elem választható","A csoportban legfeljebb {n} elem választható"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Tidak ada yang dipilih',
noneResultsText: 'Tidak ada yang cocok {0}',
countSelectedText: '{0} terpilih',
maxOptionsText: ['Mencapai batas (maksimum {n})', 'Mencapai batas grup (maksimum {n})'],
selectAllText: 'Pilih Semua',
deselectAllText: 'Hapus Semua',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Tidak ada yang dipilih",noneResultsText:"Tidak ada yang cocok {0}",countSelectedText:"{0} terpilih",maxOptionsText:["Mencapai batas (maksimum {n})","Mencapai batas grup (maksimum {n})"],selectAllText:"Pilih Semua",deselectAllText:"Hapus Semua",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nessuna selezione',
noneResultsText: 'Nessun risultato per {0}',
countSelectedText: function (numSelected, numTotal){
return (numSelected == 1) ? 'Selezionato {0} di {1}' : 'Selezionati {0} di {1}';
},
maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']],
multipleSeparator: ', ',
selectAllText: 'Seleziona Tutto',
deselectAllText: 'Deseleziona Tutto'
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:function(a,b){return 1==a?"Selezionato {0} di {1}":"Selezionati {0} di {1}"},maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", ",selectAllText:"Seleziona Tutto",deselectAllText:"Deseleziona Tutto"}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: '항목을 선택해주세요',
noneResultsText: '{0} 검색 결과가 없습니다',
countSelectedText: function (numSelected, numTotal) {
return "{0}개를 선택하였습니다";
},
maxOptionsText: function (numAll, numGroup) {
return [
'{n}개까지 선택 가능합니다',
'해당 그룹은 {n}개까지 선택 가능합니다'
];
},
selectAllText: '전체선택',
deselectAllText: '전체해제',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"항목을 선택해주세요",noneResultsText:"{0} 검색 결과가 없습니다",countSelectedText:function(a,b){return"{0}개를 선택하였습니다"},maxOptionsText:function(a,b){return["{n}개까지 선택 가능합니다","해당 그룹은 {n}개까지 선택 가능합니다"]},selectAllText:"전체선택",deselectAllText:"전체해제",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Niekas nepasirinkta',
noneResultsText: 'Niekas nesutapo su {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} elementas pasirinktas" : "{0} elementai(-ų) pasirinkta";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Pasiekta riba ({n} elementas daugiausiai)' : 'Riba pasiekta ({n} elementai(-ų) daugiausiai)',
(numGroup == 1) ? 'Grupės riba pasiekta ({n} elementas daugiausiai)' : 'Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)'
];
},
selectAllText: 'Pasirinkti visus',
deselectAllText: 'Atmesti visus',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niekas nepasirinkta",noneResultsText:"Niekas nesutapo su {0}",countSelectedText:function(a,b){return 1==a?"{0} elementas pasirinktas":"{0} elementai(-ų) pasirinkta"},maxOptionsText:function(a,b){return[1==a?"Pasiekta riba ({n} elementas daugiausiai)":"Riba pasiekta ({n} elementai(-ų) daugiausiai)",1==b?"Grupės riba pasiekta ({n} elementas daugiausiai)":"Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)"]},selectAllText:"Pasirinkti visus",deselectAllText:"Atmesti visus",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Ingen valgt',
noneResultsText: 'Søket gir ingen treff {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} alternativ valgt" : "{0} alternativer valgt";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Grense nådd (maks {n} valg)' : 'Grense nådd (maks {n} valg)',
(numGroup == 1) ? 'Grense for grupper nådd (maks {n} grupper)' : 'Grense for grupper nådd (maks {n} grupper)'
];
},
selectAllText: 'Merk alle',
deselectAllText: 'Fjern alle',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ingen valgt",noneResultsText:"Søket gir ingen treff {0}",countSelectedText:function(a,b){return 1==a?"{0} alternativ valgt":"{0} alternativer valgt"},maxOptionsText:function(a,b){return["Grense nådd (maks {n} valg)","Grense for grupper nådd (maks {n} grupper)"]},selectAllText:"Merk alle",deselectAllText:"Fjern alle",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Niets geselecteerd',
noneResultsText: 'Geen resultaten gevonden voor {0}',
countSelectedText: '{0} van {1} geselecteerd',
maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']],
selectAllText: 'Alles selecteren',
deselectAllText: 'Alles deselecteren',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],selectAllText:"Alles selecteren",deselectAllText:"Alles deselecteren",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nic nie zaznaczono',
noneResultsText: 'Brak wyników wyszukiwania {0}',
countSelectedText: 'Zaznaczono {0} z {1}',
maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']],
selectAllText: 'Zaznacz wszystkie',
deselectAllText: 'Odznacz wszystkie',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nada selecionado',
noneResultsText: 'Nada encontrado contendo {0}',
countSelectedText: 'Selecionado {0} de {1}',
maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nenhum seleccionado',
noneResultsText: 'Sem resultados contendo {0}',
countSelectedText: 'Selecionado {0} de {1}',
maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (máx. {n} {var})","Limite de seleções ultrapassado (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nu a fost selectat nimic',
noneResultsText: 'Nu exista niciun rezultat {0}',
countSelectedText: '{0} din {1} selectat(e)',
maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Ничего не выбрано',
noneResultsText: 'Совпадений не найдено {0}',
countSelectedText: 'Выбрано {0} из {1}',
maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['шт.', 'шт.']],
doneButtonText: 'Закрыть',
selectAllText: 'Выбрать все',
deselectAllText: 'Отменить все',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["шт.","шт."]],doneButtonText:"Закрыть",selectAllText:"Выбрать все",deselectAllText:"Отменить все",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Vyberte zo zoznamu',
noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky',
countSelectedText: 'Vybrané {0} z {1}',
maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']],
selectAllText: 'Vybrať všetky',
deselectAllText: 'Zrušiť výber',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre výraz {0} neboli nájdené žiadne výsledky",countSelectedText:"Vybrané {0} z {1}",maxOptionsText:["Limit prekročený ({n} {var} max)","Limit skupiny prekročený ({n} {var} max)",["položiek","položka"]],selectAllText:"Vybrať všetky",deselectAllText:"Zrušiť výber",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Nič izbranega',
noneResultsText: 'Ni zadetkov za {0}',
countSelectedText: function (numSelected, numTotal) {
"Število izbranih: {0}";
},
maxOptionsText: function (numAll, numGroup) {
return [
'Omejitev dosežena (max. izbranih: {n})',
'Omejitev skupine dosežena (max. izbranih: {n})'
];
},
selectAllText: 'Izberi vse',
deselectAllText: 'Počisti izbor',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nič izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:function(a,b){"Število izbranih: {0}"},maxOptionsText:function(a,b){return["Omejitev dosežena (max. izbranih: {n})","Omejitev skupine dosežena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Počisti izbor",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Inget valt',
noneResultsText: 'Inget sökresultat matchar {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected === 1) ? "{0} alternativ valt" : "{0} alternativ valda";
},
maxOptionsText: function (numAll, numGroup) {
return [
'Gräns uppnåd (max {n} alternativ)',
'Gräns uppnåd (max {n} gruppalternativ)'
];
},
selectAllText: 'Markera alla',
deselectAllText: 'Avmarkera alla',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Inget valt",noneResultsText:"Inget sökresultat matchar {0}",countSelectedText:function(a,b){return 1===a?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(a,b){return["Gräns uppnåd (max {n} alternativ)","Gräns uppnåd (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Hiçbiri seçilmedi',
noneResultsText: 'Hiçbir sonuç bulunamadı {0}',
countSelectedText: function (numSelected, numTotal) {
return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi";
},
maxOptionsText: function (numAll, numGroup) {
return [
(numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)',
(numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'
];
},
selectAllText: 'Tümünü Seç',
deselectAllText: 'Seçiniz',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a,b){return"{0} öğe seçildi"},maxOptionsText:function(a,b){return[1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)","Grup limiti aşıldı (maksimum {n} sayıda öğe)"]},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: 'Нічого не вибрано',
noneResultsText: 'Збігів не знайдено {0}',
countSelectedText: 'Вибрано {0} із {1}',
maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: '没有选中任何项',
noneResultsText: '没有找到匹配项',
countSelectedText: '选中{1}中的{0}项',
maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(a)});
\ No newline at end of file
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module unless amdModuleId is set
define(["jquery"], function (a0) {
return (factory(a0));
});
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require("jquery"));
} else {
factory(root["jQuery"]);
}
}(this, function (jQuery) {
(function ($) {
$.fn.selectpicker.defaults = {
noneSelectedText: '沒有選取任何項目',
noneResultsText: '沒有找到符合的結果',
countSelectedText: '已經選取{0}個項目',
maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'],
selectAllText: '選取全部',
deselectAllText: '全部取消',
multipleSeparator: ', '
};
})(jQuery);
}));
/*!
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2017 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(a)});
\ No newline at end of file
@import "variables";
// Mixins
.cursor-disabled() {
cursor: not-allowed;
}
// Rules
select.bs-select-hidden,
select.selectpicker {
display: none !important;
}
.bootstrap-select {
width: 220px \0; /*IE9 and below*/
// The selectpicker button
> .dropdown-toggle {
width: 100%;
padding-right: 25px;
z-index: 1;
&.bs-placeholder,
&.bs-placeholder:hover,
&.bs-placeholder:focus,
&.bs-placeholder:active { color: @input-color-placeholder; }
}
> select {
position: absolute !important;
bottom: 0;
left: 50%;
display: block !important;
width: 0.5px !important;
height: 100% !important;
padding: 0 !important;
opacity: 0 !important;
border: none;
&.mobile-device {
top: 0;
left: 0;
display: block !important;
width: 100% !important;
z-index: 2;
}
}
// Error display
.has-error & .dropdown-toggle,
.error & .dropdown-toggle {
border-color: @color-red-error;
}
&.fit-width {
width: auto !important;
}
&:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
width: @width-default;
}
.dropdown-toggle:focus {
outline: thin dotted #333333 !important;
outline: 5px auto -webkit-focus-ring-color !important;
outline-offset: -2px;
}
}
.bootstrap-select.form-control {
margin-bottom: 0;
padding: 0;
border: none;
&:not([class*="col-"]) {
width: 100%;
}
&.input-group-btn {
z-index: auto;
&:not(:first-child):not(:last-child) {
> .btn {
border-radius: 0;
}
}
}
}
// The selectpicker components
.bootstrap-select.btn-group {
&:not(.input-group-btn),
&[class*="col-"] {
float: none;
display: inline-block;
margin-left: 0;
}
// Forces the pull to the right, if necessary
&,
&[class*="col-"],
.row &[class*="col-"] {
&.dropdown-menu-right {
float: right;
}
}
.form-inline &,
.form-horizontal &,
.form-group & {
margin-bottom: 0;
}
.form-group-lg &.form-control,
.form-group-sm &.form-control {
padding: 0;
.dropdown-toggle {
height: 100%;
font-size: inherit;
line-height: inherit;
border-radius: inherit;
}
}
// Set the width of the live search (and any other form control within an inline form)
// see https://github.com/silviomoreto/bootstrap-select/issues/685
.form-inline & .form-control {
width: 100%;
}
&.disabled,
> .disabled {
.cursor-disabled();
&:focus {
outline: none !important;
}
}
&.bs-container {
position: absolute;
height: 0 !important;
padding: 0 !important;
.dropdown-menu {
z-index: @zindex-select-dropdown;
}
}
// The selectpicker button
.dropdown-toggle {
.filter-option {
display: inline-block;
overflow: hidden;
width: 100%;
text-align: left;
}
.caret {
position: absolute;
top: 50%;
right: 12px;
margin-top: -2px;
vertical-align: middle;
}
}
&[class*="col-"] .dropdown-toggle {
width: 100%;
}
// The selectpicker dropdown
.dropdown-menu {
min-width: 100%;
box-sizing: border-box;
&.inner {
position: static;
float: none;
border: 0;
padding: 0;
margin: 0;
border-radius: 0;
box-shadow: none;
}
li {
position: relative;
&.active small {
color: #fff;
}
&.disabled a {
.cursor-disabled();
}
a {
cursor: pointer;
user-select: none;
&.opt {
position: relative;
padding-left: 2.25em;
}
span.check-mark {
display: none;
}
span.text {
display: inline-block;
}
}
small {
padding-left: 0.5em;
}
}
.notify {
position: absolute;
bottom: 5px;
width: 96%;
margin: 0 2%;
min-height: 26px;
padding: 3px 5px;
background: rgb(245, 245, 245);
border: 1px solid rgb(227, 227, 227);
box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);
pointer-events: none;
opacity: 0.9;
box-sizing: border-box;
}
}
.no-results {
padding: 3px;
background: #f5f5f5;
margin: 0 5px;
white-space: nowrap;
}
&.fit-width .dropdown-toggle {
.filter-option {
position: static;
}
.caret {
position: static;
top: auto;
margin-top: -1px;
}
}
&.show-tick .dropdown-menu li {
&.selected a span.check-mark {
position: absolute;
display: inline-block;
right: 15px;
margin-top: 5px;
}
a span.text {
margin-right: 34px;
}
}
}
.bootstrap-select.show-menu-arrow {
&.open > .dropdown-toggle {
z-index: (@zindex-select-dropdown + 1);
}
.dropdown-toggle {
&:before {
content: '';
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid @color-grey-arrow;
position: absolute;
bottom: -4px;
left: 9px;
display: none;
}
&:after {
content: '';
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid white;
position: absolute;
bottom: -4px;
left: 10px;
display: none;
}
}
&.dropup .dropdown-toggle {
&:before {
bottom: auto;
top: -3px;
border-top: 7px solid @color-grey-arrow;
border-bottom: 0;
}
&:after {
bottom: auto;
top: -3px;
border-top: 6px solid white;
border-bottom: 0;
}
}
&.pull-right .dropdown-toggle {
&:before {
right: 12px;
left: auto;
}
&:after {
right: 13px;
left: auto;
}
}
&.open > .dropdown-toggle {
&:before,
&:after {
display: block;
}
}
}
.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
padding: 4px 8px;
}
.bs-actionsbox {
width: 100%;
box-sizing: border-box;
& .btn-group button {
width: 50%;
}
}
.bs-donebutton {
float: left;
width: 100%;
box-sizing: border-box;
& .btn-group button {
width: 100%;
}
}
.bs-searchbox {
& + .bs-actionsbox {
padding: 0 8px 4px;
}
& .form-control {
margin-bottom: 0;
width: 100%;
float: none;
}
}
@color-red-error: rgb(185, 74, 72);
@color-grey-arrow: rgba(204, 204, 204, 0.2);
@width-default: 220px; // 3 960px-grid columns
@zindex-select-dropdown: 1060; // must be higher than a modal background (1050)
//** Placeholder text color
@input-color-placeholder: #999;
\ No newline at end of file
# set env vars usually set by MyGet (enable for local testing)
#$env:SourcesPath = '..'
#$env:NuGet = "./nuget.exe" #https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
$nuget = $env:NuGet
# parse the version number out of package.json
$bsversionParts = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version.split('-', 2) # split the version on the '-'
$bsversion = $bsversionParts[0]
if ($bsversionParts.Length -gt 1)
{
$bsversion += '-' + $bsversionParts[1].replace('.', '').replace('-', '_') # strip out invalid chars from the PreRelease part
}
# update sourceMappingURL in bootstrap-select.min.js
(Get-Content $env:SourcesPath\dist\js\bootstrap-select.min.js).replace("sourceMappingURL=", "sourceMappingURL=Scripts/") | Set-Content $env:SourcesPath\dist\js\bootstrap-select.min.js
# create packages
& $nuget pack "$env:SourcesPath\nuget\bootstrap-select.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
\ No newline at end of file
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>bootstrap-select</id>
<version>1.12.2</version>
<title>bootstrap-select</title>
<authors>Silvio Moreto,Ana Carolina,caseyjhol,Matt Bryson,and t0xicCode.</authors>
<owners>Silvio Moreto</owners>
<projectUrl>https://github.com/silviomoreto/bootstrap-select</projectUrl>
<description>Bootstrap-select is a jQuery plugin that utilizes Bootstrap's dropdown.js to style and bring additional functionality to standard select elements.</description>
<tags>bootstrap dropdown select</tags>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
<dependency id="jQuery" version="1.8.0" />
</dependencies>
</metadata>
<files>
<file src="dist\js\bootstrap-select*.*" target="content\Scripts" />
<file src="dist\js\i18n\*.*" target="content\Scripts\i18n" />
<file src="dist\css\*.*" target="content\Content" />
</files>
</package>
\ No newline at end of file
{
"name": "bootstrap-select",
"title": "bootstrap-select",
"main": "dist/js/bootstrap-select.js",
"description": "Bootstrap-select is a jQuery plugin that utilizes Bootstrap's dropdown.js to style and bring additional functionality to standard select elements.",
"version": "1.12.2",
"homepage": "http://silviomoreto.github.io/bootstrap-select",
"author": {
"name": "Silvio Moreto",
"url": "https://github.com/silviomoreto"
},
"contributors": [
{
"name": "Silvio Moreto",
"url": "https://github.com/silviomoreto"
},
{
"name": "Ana Carolina",
"url": "https://github.com/anacarolinats"
},
{
"name": "caseyjhol",
"url": "https://github.com/caseyjhol"
},
{
"name": "Matt Bryson",
"url": "https://github.com/mattbryson"
},
{
"name": "t0xicCode",
"url": "https://github.com/t0xicCode"
}
],
"repository": {
"type": "git",
"url": "git://github.com/silviomoreto/bootstrap-select.git"
},
"license": "MIT",
"dependencies": {
"jquery": ">=1.8"
},
"devDependencies": {
"grunt": "^1.0.1",
"grunt-autoprefixer": "^3.0.4",
"grunt-banner": "^0.6.0",
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-compress": "^1.3.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-csslint": "^2.0.0",
"grunt-contrib-cssmin": "^1.0.2",
"grunt-contrib-jshint": "^1.0.0",
"grunt-contrib-less": "^1.4.0",
"grunt-contrib-uglify": "^2.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-umd": "^2.3.6",
"grunt-version": "^1.1.1",
"load-grunt-tasks": "^3.5.2"
},
"keywords": [
"form",
"bootstrap",
"select",
"replacement"
]
}
@import "variables";
// Mixins
@mixin cursor-disabled() {
cursor: not-allowed;
}
@mixin box-sizing($fmt) {
-webkit-box-sizing: $fmt;
-moz-box-sizing: $fmt;
box-sizing: $fmt;
}
@mixin box-shadow($fmt) {
-webkit-box-shadow: $fmt;
box-shadow: $fmt;
}
@function fade($color, $amnt) {
@if $amnt > 1 {
$amnt: $amnt / 100; // convert to percentage if int
}
@return rgba($color, $amnt);
}
// Rules
select.bs-select-hidden,
select.selectpicker {
display: none !important;
}
.bootstrap-select {
width: 220px \0
; /*IE9 and below*/
&.btn-group {
> .dropdown-toggle {
height: 100%;
}
}
// The selectpicker button
> .dropdown-toggle {
width: 100%;
padding-right: 25px;
z-index: 1;
&.bs-placeholder,
&.bs-placeholder:hover,
&.bs-placeholder:focus,
&.bs-placeholder:active {
color: $input-color-placeholder;
}
}
> select {
position: absolute !important;
bottom: 0;
left: 50%;
display: block !important;
width: 0.5px !important;
height: 100% !important;
padding: 0 !important;
opacity: 0 !important;
border: none;
&.mobile-device {
top: 0;
left: 0;
display: block !important;
width: 100% !important;
z-index: 2;
}
}
// Error display
.has-error & .dropdown-toggle,
.error & .dropdown-toggle {
border-color: $color-red-error;
}
&.fit-width {
width: auto !important;
}
&:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
width: $width-default;
}
.dropdown-toggle:focus {
outline: thin dotted #333333 !important;
outline: 5px auto -webkit-focus-ring-color !important;
outline-offset: -2px;
}
}
.bootstrap-select.form-control {
margin-bottom: 0;
padding: 0;
border: none;
&:not([class*="col-"]) {
width: 100%;
}
&.input-group-btn {
z-index: auto;
&:not(:first-child):not(:last-child) {
> .btn {
border-radius: 0;
}
}
}
}
// The selectpicker components
.bootstrap-select.btn-group {
&:not(.input-group-btn),
&[class*="col-"] {
float: none;
display: inline-block;
margin-left: 0;
}
// Forces the pull to the right, if necessary
&,
&[class*="col-"],
.row &[class*="col-"] {
&.dropdown-menu-right {
float: right;
}
}
.form-inline &,
.form-horizontal &,
.form-group & {
margin-bottom: 0;
}
.form-group-lg &.form-control,
.form-group-sm &.form-control {
padding: 0;
.dropdown-toggle {
height: 100%;
font-size: inherit;
line-height: inherit;
border-radius: inherit;
}
}
// Set the width of the live search (and any other form control within an inline form)
// see https://github.com/silviomoreto/bootstrap-select/issues/685
.form-inline & .form-control {
width: 100%;
}
&.disabled,
> .disabled {
@include cursor-disabled();
&:focus {
outline: none !important;
}
}
&.bs-container {
position: absolute;
height: 0 !important;
padding: 0 !important;
.dropdown-menu {
z-index: $zindex-select-dropdown;
}
}
// The selectpicker button
.dropdown-toggle {
.filter-option {
display: inline-block;
overflow: hidden;
width: 100%;
text-align: left;
}
.caret {
position: absolute;
top: 50%;
right: 12px;
margin-top: -2px;
vertical-align: middle;
}
}
&[class*="col-"] .dropdown-toggle {
width: 100%;
}
// The selectpicker dropdown
.dropdown-menu {
min-width: 100%;
@include box-sizing(border-box);
&.inner {
display: block; // hotfix for Bootstrap v4.0.0-alpha6
position: static;
float: none;
border: 0;
padding: 0;
margin: 0;
border-radius: 0;
box-shadow: none;
}
a.dropdown-item {
position: relative;
cursor: pointer;
user-select: none;
&.active small {
color: #fff;
}
&.disabled a {
@include cursor-disabled();
}
&.hidden {
display: none;
}
span.dropdown-item-inner {
display: block;
&.opt {
position: relative;
padding-left: 2.25em;
}
span.check-mark {
display: none;
}
span.text {
display: inline-block;
}
}
small {
padding-left: 0.5em;
}
}
// bootstrap 4 adjustments
.dropdown-item {
.span.check-mark {
display: none;
}
.span.text {
display: inline-block;
}
}
.notify {
position: absolute;
bottom: 5px;
width: 96%;
margin: 0 2%;
min-height: 26px;
padding: 3px 5px;
background: rgb(245, 245, 245);
border: 1px solid rgb(227, 227, 227);
@include box-shadow(inset 0 1px 1px fade(rgb(0, 0, 0), 5));
pointer-events: none;
opacity: 0.9;
@include box-sizing(border-box);
}
}
.no-results {
padding: 3px;
background: #f5f5f5;
margin: 0 5px;
white-space: nowrap;
}
&.fit-width .dropdown-toggle {
.filter-option {
position: static;
}
.caret {
position: static;
top: auto;
margin-top: -1px;
}
}
&.show-tick .dropdown-menu a {
&.selected span.dropdown-item-inner span.check-mark {
position: absolute;
display: inline-block;
right: 15px;
margin-top: 5px;
}
a span.text {
margin-right: 34px;
}
}
}
.bootstrap-select.show-menu-arrow {
&.open > .dropdown-toggle {
z-index: ($zindex-select-dropdown + 1);
}
.dropdown-toggle {
&:before {
content: '';
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid $color-grey-arrow;
position: absolute;
bottom: -4px;
left: 9px;
display: none;
}
&:after {
content: '';
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid white;
position: absolute;
bottom: -4px;
left: 10px;
display: none;
}
}
&.dropup .dropdown-toggle {
&:before {
bottom: auto;
top: -3px;
border-top: 7px solid $color-grey-arrow;
border-bottom: 0;
}
&:after {
bottom: auto;
top: -3px;
border-top: 6px solid white;
border-bottom: 0;
}
}
&.pull-right .dropdown-toggle {
&:before {
right: 12px;
left: auto;
}
&:after {
right: 13px;
left: auto;
}
}
&.open > .dropdown-toggle {
&:before,
&:after {
display: block;
}
}
}
.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
padding: 4px 8px;
}
.bs-actionsbox {
width: 100%;
@include box-sizing(border-box);
& .btn-group button {
width: 50%;
}
}
.bs-donebutton {
float: left;
width: 100%;
@include box-sizing(border-box);
& .btn-group button {
width: 100%;
}
}
.bs-searchbox {
& + .bs-actionsbox {
padding: 0 8px 4px;
}
& .form-control {
margin-bottom: 0;
width: 100%;
float: none;
}
.input-group & {
.form-control {
width: 100%;
}
}
}
\ No newline at end of file
$color-red-error: rgb(185, 74, 72) !default;
$color-grey-arrow: rgba(204, 204, 204, 0.2) !default;
$width-default: 220px !default; // 3 960px-grid columns
$zindex-select-dropdown: 1060 !default; // must be higher than a modal background (1050)
//** Placeholder text color
$input-color-placeholder: #999 !default;
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery Bootstrap 4 Select Plugin Examples</title>
<meta charset="utf-8">
<link href="https://www.jqueryscript.net/css/jquerysctipttop.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
<link rel="stylesheet" href="dist/css/bootstrap-select.css">
<style>
body {
background-color:#fafafa;
}
</style>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.bundle.min.js"></script>
<script src="dist/js/bootstrap-select.js"></script>
</head>
<body>
<div id="jquery-script-menu">
<div class="jquery-script-center">
<ul>
<li><a href="https://www.jqueryscript.net/form/Bootstrap-4-Dropdown-Select-Plugin-jQuery.html">Download This Plugin</a></li>
<li><a href="https://www.jqueryscript.net/">Back To jQueryScript.Net</a></li>
</ul>
<div class="jquery-script-ads"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2783044520727903";
/* jQuery_demo */
google_ad_slot = "2780937993";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<div class="jquery-script-clear"></div>
</div>
</div>
<div class="container" style="margin-top:150px;">
<h1>jQuery Bootstrap 4 Select Plugin Examples</h1>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="basic" class="col-lg-2 control-label">"Basic" (liveSearch disabled)</label>
<div class="col-lg-10">
<select id="basic" class="selectpicker show-tick form-control">
<option>cow</option>
<option data-subtext="option subtext">bull</option>
<option class="get-class" disabled>ox</option>
<optgroup label="test" data-subtext="optgroup subtext">
<option>ASD</option>
<option selected>Bla</option>
<option>Ble</option>
</optgroup>
</select>
</div>
</div>
</form>
<hr>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="basic" class="col-lg-2 control-label">"Basic" (liveSearch enabled)</label>
<div class="col-lg-10">
<select id="basic" class="selectpicker show-tick form-control" data-live-search="true">
<option>cow</option>
<option data-subtext="option subtext">bull</option>
<option class="get-class" disabled>ox</option>
<optgroup label="test" data-subtext="optgroup subtext">
<option>ASD</option>
<option selected>Bla</option>
<option>Ble</option>
</optgroup>
</select>
</div>
</div>
</form>
<hr>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="basic2" class="col-lg-2 control-label">"Basic" (multiple, maxOptions=1)</label>
<div class="col-lg-10">
<select id="basic2" class="show-tick form-control" multiple>
<option>cow</option>
<option>bull</option>
<option class="get-class" disabled>ox</option>
<optgroup label="test" data-subtext="another test">
<option>ASD</option>
<option selected>Bla</option>
<option>Ble</option>
</optgroup>
</select>
</div>
</div>
</form>
<hr>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="maxOption2" class="col-lg-2 control-label">multiple, show-menu-arrow, maxOptions=2</label>
<div class="col-lg-10">
<select id="maxOption2" class="selectpicker show-menu-arrow form-control" multiple data-max-options="2">
<option>chicken</option>
<option>turkey</option>
<option disabled>duck</option>
<option>goose</option>
</select>
</div>
</div>
</form>
<hr>
<form class="form-inline">
<div class="form-group">
<label class="col-md-1 control-label" for="lunch">Lunch:</label>
</div>
<div class="form-group">
<select id="lunch" class="selectpicker" data-live-search="true" title="Please select a lunch ...">
<option>Hot Dog, Fries and a Soda</option>
<option>Burger, Shake and a Smile</option>
<option>Sugar, Spice and all things nice</option>
<option>Baby Back Ribs</option>
<option>A really really long option made to illustrate an issue with the live search in an inline form</option>
</select>
</div>
</form>
<hr>
<form class="form-horizontal" role="form">
<div class="form-group form-group-lg">
<label for="error" class="col-lg-2 control-label">error</label>
<div class="col-lg-10 error">
<select id="error" class="selectpicker show-tick form-control">
<option>pen</option>
<option>pencil</option>
<option selected>brush</option>
</select>
</div>
</div>
</form>
<hr>
<form class="form-horizontal" role="form">
<div class="form-group has-error form-group-lg">
<label class="control-label col-lg-2" for="country">error type 2</label>
<div class="col-lg-10">
<select id="country" name="country" class="form-control selectpicker">
<option>Argentina</option>
<option>United State</option>
<option>Mexico</option>
</select>
<p class="help-block">No service available in the selected country</p>
</div>
</div>
</form>
<hr>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Navbar</a>
</div>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<select class="selectpicker" multiple data-live-search="true" data-live-search-placeholder="Search" data-actions-box="true">
<optgroup label="filter1">
<option>option1</option>
<option>option2</option>
<option>option3</option>
<option>option4</option>
</optgroup>
<optgroup label="filter2">
<option>option1</option>
<option>option2</option>
<option>option3</option>
<option>option4</option>
</optgroup>
<optgroup label="filter3">
<option>option1</option>
<option>option2</option>
<option>option3</option>
<option>option4</option>
</optgroup>
</select>
</div>
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q">
<div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
</div>
<!-- .container-fluid -->
</nav>
<hr>
<select id="first-disabled" class="selectpicker" data-hide-disabled="true" data-live-search="true">
<optgroup disabled="disabled" label="disabled">
<option>Hidden</option>
</optgroup>
<optgroup label="Fruit">
<option>Apple</option>
<option>Orange</option>
</optgroup>
<optgroup label="Vegetable">
<option>Corn</option>
<option>Carrot</option>
</optgroup>
</select>
<hr>
<select id="first-disabled2" class="selectpicker" multiple data-hide-disabled="true" data-size="5">
<option>Apple</option>
<option>Banana</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Apple2</option>
<option>Banana2</option>
<option>Orange2</option>
<option>Pineapple2</option>
<option>Apple2</option>
<option>Banana2</option>
<option>Orange2</option>
<option>Pineapple2</option>
</select>
<button id="special" class="btn btn-default">Hide selected by disabling</button>
<button id="special2" class="btn btn-default">Reset</button>
<p>Just select 1st element, click button and check list again</p>
<hr>
<div class="input-group">
<span class="input-group-addon">@</span>
<select class="form-control selectpicker">
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
</div>
<hr>
<div class="input-group">
<span class="input-group-addon">@</span>
<select class="form-control selectpicker" data-mobile="true">
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
</div>
<p>With <code>data-mobile="true"</code> option.</p>
<hr>
<select id="done" class="selectpicker" multiple data-done-button="true">
<option>Apple</option>
<option>Banana</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Apple2</option>
<option>Banana2</option>
<option>Orange2</option>
<option>Pineapple2</option>
<option>Apple2</option>
<option>Banana2</option>
<option>Orange2</option>
<option>Pineapple2</option>
</select>
<hr>
<div class="form-group">
<label for="tokens">Key words (data-tokens)</label>
<select id="tokens" class="selectpicker form-control" multiple data-live-search="true">
<option data-tokens="first">I actually am called "one"</option>
<option data-tokens="second">And me "two"</option>
<option data-tokens="last">I am "three"</option>
</select>
</div>
<hr>
<form class="form-inline">
<div class="form-group">
<label class="col-md-1 control-label" for="lunchBegins">Lunch (Begins search):</label>
</div>
<div class="form-group">
<select id="lunchBegins" class="selectpicker" data-live-search="true" data-live-search-style="begins" title="Please select a lunch ...">
<option>Hot Dog, Fries and a Soda</option>
<option>Burger, Shake and a Smile</option>
<option>Sugar, Spice and all things nice</option>
<option>Baby Back Ribs</option>
<option>A really really long option made to illustrate an issue with the live search in an inline form</option>
</select>
</div>
</form>
</div>
<script>
$(document).ready(function () {
var mySelect = $('#first-disabled2');
$('#special').on('click', function () {
mySelect.find('option:selected').prop('disabled', true);
mySelect.selectpicker('refresh');
});
$('#special2').on('click', function () {
mySelect.find('option:disabled').prop('disabled', false);
mySelect.selectpicker('refresh');
});
$('#basic2').selectpicker({
liveSearch: true,
maxOptions: 1
});
});
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-36251023-1']);
_gaq.push(['_setDomainName', 'jqueryscript.net']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>
input {
outline: none;
margin: 0;
border: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
width: 100%;
font-size: 14px;
font-family: inherit;
}
#color{
color: #3C1C78;
}
/* Spacing between forms*/
.input-group {
position: relative;
margin-bottom: 33px;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
padding: 5px 0;
font-size: 16px;
color: #ccc;
background: transparent;
border: 1px;
}
input{
color: #3C1C78;
}
.col{
width: 250px;
}
.row{
margin: 0 auto;
}
$.ajax({
url: "/api/crypto",
dataType: 'json',
success: function(data){
var From;
var To;
var Amount;
var From_iso_value;
var To_iso_value;
var rez;
$('#Form').on("change",function(){
Amount = document.getElementById("Amount").value;
From_iso_value = $("#From option:selected").attr('value');
From = data[From_iso_value];
To_iso_value = $("#To option:selected").attr('value');
To = data[To_iso_value];
rez = ((Amount/To) * From);
document.getElementById("from").innerHTML = $("#From option:selected").attr('value');
document.getElementById("to").innerHTML = $("#To option:selected").attr('value');
document.getElementById("rezult").innerHTML = rez.toFixed(3);
document.getElementById("amount").innerHTML = Amount;
});
}
});
$("#go").click( function()
{
$('#From').attr('id', 'To');
$('#To').attr('id', 'From');
}
);
$.ajax({
url: "/api",
url: "/api/fiat",
dataType: 'json',
success: function(data){
var From;
......@@ -15,14 +7,22 @@ $("#go").click( function()
var Amount;
var From_iso_value;
var To_iso_value;
var rez;
$('#Form').on("change",function(){
Amount = document.getElementById("Amount").value;
From_iso_value = $("#From option:selected").attr('value');
From = data[From_iso_value];
To_iso_value = $("#To option:selected").attr('value');
To = data[To_iso_value];
console.log((Amount/From) * To);
rez = ((Amount/From) * To);
document.getElementById("from").innerHTML = $("#From option:selected").attr('value');
document.getElementById("to").innerHTML = $("#To option:selected").attr('value');
document.getElementById("rezult").innerHTML = rez.toFixed(2);
document.getElementById("amount").innerHTML = Amount;
});
}
});
......@@ -3,45 +3,78 @@
@section('content')
<div class="card">
<div class="card-body">
<label for="FormControlSelect1">Convert From</label>
<h3>
<small class="text-muted"><span id="color">Crypto Currency converter</span></small>
</h3>
<div class="input-group">
<br>
<form action="/crypto" method="GET">
<input type="number" step="0.01" min="0" id="Amount" name="Amount" class="form-control form-control-lg mx-3" value="">
<select class="form-control" id="From" name="From">
<form id="Form">
<br>
<input style="width: 250px;" type="number" placeholder="Enter Amount to Convert" step="0.01" min="0" id="Amount" class="form-control" value="1">
<br>
<div class="row" >
<div class="col">
<blockquote class="blockquote">
<select class="selectpicker" data-show-subtext="true" data-live-search="true" data-size="5" id="From">
@foreach ($cryptos as $item)
<option class="color" value="{{ $item->symbol }}">{{ $item->name }} - {{ $item->symbol }}</option>
<option class="form-control" value="{{ $item->symbol }}">{{ $item->name }} - {{ $item->symbol }}</option>
@endforeach
</select>
<br> <br>
<select class="form-control" id="To" name="To">
</blockquote>
</div>
<button type="button" id="swap-button" style="background:none; border:none;"><i class="fa fa-exchange" style="font-size:36px; color: #3C1C78;"></i></button>
<br>
<div class="col">
<select class="selectpicker" data-show-subtext="true" data-live-search="true" data-size="5" id="To">
@foreach ($cryptos as $item)
<option class="color" value="{{ $item->symbol }}">{{ $item->name }} - {{ $item->symbol }}</option>
<option class="form-control" value="{{ $item->symbol }}" selected>{{ $item->name }} - {{ $item->symbol }}</option>
@endforeach
</select>
</div>
</div>
<br> <br>
<span id="result" value=""></span>
<br> <br>
<button class="btn btn--pill" type="submit">Convert!</button>
</form>
<?php
if( isset($_GET["From"]) && isset($_GET["Amount"]) && isset($_GET["To"]))
{
<div class="row" style="padding-top: 10px;">
<div class="col">
<blockquote class="blockquote">
<h2 class="mb-0" id="color"><span id="amount">1</span> <span id="from">BTC</span></h2>
</blockquote>
</div>
<span class="blockquote" id="color mb-0" > = </span>
<div class="col">
<blockquote class="blockquote">
<h2 class="mb-0" id="color" style="margin-left: 20px;"><span id="rezult">0.89</span> <span id="to">EUR</span></h2>
</blockquote>
</div>
</div>
if (!empty($_GET["From"]) && !empty($_GET["Amount"]) && !empty($_GET["To"])) {
$rez = \App\Http\Controllers\CryptoController::convert($_GET["From"],$_GET["Amount"],$_GET["To"]);
if ($rez == null) {
//Something went wrong and function wasnt run
echo "Something went wrong!";
}
echo $rez;
}
<?php
// if( isset($_GET["From"]) && isset($_GET["Amount"]) && isset($_GET["To"]))
// {
}
// if (!empty($_GET["From"]) && !empty($_GET["Amount"]) && !empty($_GET["To"])) {
// $rez = \App\Http\Controllers\CryptoController::convert($_GET["From"],$_GET["Amount"],$_GET["To"]);
// if ($rez == null) {
// //Something went wrong and function wasnt run
// echo "Something went wrong!";
// }
// echo $rez;
// }
// }
?>
</div>
</div>
</div>
@include('footer')
@endsection
\ No newline at end of file
......@@ -3,29 +3,57 @@
@section('content')
<div class="card">
<div class="card-body">
<label for="FormControlSelect1">Convert From</label>
<h3>
<small class="text-muted"><span id="color">Currency converter</span></small>
</h3>
<div class="input-group">
<br>
<form action="/currency" method="GET" id="Form">
<input type="number" step="0.01" min="0" id="Amount" name="Amount" class="form-control form-control-lg mx-3" value="">
<select class="form-control" id="From" name="From">
<form id="Form">
<br>
<input style="width: 250px;" type="number" placeholder="Enter Amount to Convert" step="0.01" min="0" id="Amount" class="form-control" value="1">
<br>
<div class="row" >
<div class="col">
<blockquote class="blockquote">
<select class="selectpicker" data-show-subtext="true" data-live-search="true" data-size="5" id="From">
@foreach ($currencies as $item)
<option class="color" value="{{ $item->iso }}">{{ $item->name }} - {{ $item->iso }}</option>
<option class="form-control" value="{{ $item->iso }}">{{ $item->name }} - {{ $item->iso }}</option>
@endforeach
</select>
</blockquote>
</div>
<button type="button" id="swap-button" style="background:none; border:none;"><i class="fa fa-exchange" style="font-size:36px; color: #3C1C78;"></i></button>
<br>
<input type="button" id="go" value="Swap">
<br>
<select class="form-control" id="To" name="To">
<div class="col">
<select class="selectpicker" data-show-subtext="true" data-live-search="true" data-size="5" id="To">
@foreach ($currencies as $item)
<option class="color" value="{{ $item->iso }}">{{ $item->name }} - {{ $item->iso }}</option>
<option class="form-control" value="{{ $item->iso }}" selected>{{ $item->name }} - {{ $item->iso }}</option>
@endforeach
</select>
</div>
</div>
<br> <br>
<span id="result" value=""></span>
<br> <br>
<button class="btn btn--pill" type="submit">Convert!</button>
</form>
<div class="row" style="padding-top: 10px;">
<div class="col">
<blockquote class="blockquote">
<h2 class="mb-0" id="color"><span id="amount">1</span> <span id="from">USD</span></h2>
</blockquote>
</div>
<span class="blockquote" id="color mb-0" > = </span>
<div class="col">
<blockquote class="blockquote">
<h2 class="mb-0" id="color" style="margin-left: 20px;"><span id="rezult">0.89</span> <span id="to">EUR</span></h2>
</blockquote>
</div>
</div>
{{-- <h1 style="padding-top: 50px;" id="color">Amount: <span id="amount"></span><span id="from"></span>:<span id="rezult"></span><span id="to"></span></h1> --}}
<?php
// if( isset($_GET["From"]) && isset($_GET["Amount"]) && isset($_GET["To"]))
// {
......@@ -48,13 +76,9 @@
</div>
</div>
{{-- <script>
function swapValues(){
var tmp = document.getElementById("From").value;
document.getElementById("From").value = document.getElementById("To").value;
document.getElementById("To").value = tmp;
}
</script> --}}
<script>
</script>
{{-- <script>
function swapValues(){
......@@ -81,7 +105,7 @@
var Fromjs = data[0]['rates'];
var Tojs = data[1]['rates'];
var value = document.getElementById("Amount");
console.log(calculate(Fromjs, Tojs, Value));
cbootstrap dropdown downonsole.log(calculate(Fromjs, Tojs, Value));
}
else{
console.log('error')
......
......@@ -8,17 +8,31 @@
<title>Currency Exchange</title>
<!-- Connecting with Google Material for websit's logo/icon autorenew-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Setting up BootstrapCDN -->
{{-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> --}}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- Bootstrap select -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.9/dist/css/bootstrap-select.min.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.9/dist/js/bootstrap-select.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<!-- Main Custom styles for the website -->
<link href="css\main.css" rel="stylesheet">
<script src="{{ URL::to('js/main.js') }}"></script>
@if(\Request::is('currency')) <script src="{{ URL::to('js/main.js') }}"></script> @endif
@if(\Request::is('contact')) <link href="css\contact.css" rel="stylesheet"> @endif
@if(\Request::is('crypto'))<link href="css\crypto.css" rel="stylesheet"> @endif
@if(\Request::is('currency'))<link href="css\crypto.css" rel="stylesheet"> @endif
@if(\Request::is('subscribe')) <link href="css\subscribe.css" rel="stylesheet"> @endif
@if(\Request::is('crypto')) <script src="{{ URL::to('js/crypto.js') }}"></script> @endif
</head>
<body class="text-center" background="img\background.jpg">
<div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
......@@ -28,7 +42,7 @@
<h3 class="masthead-brand">XCHANGE</h3>
<nav class="nav nav-masthead justify-content-center">
<a class="nav-link @if(\Request::is('/')) active @endif" href="/">Home</a>
<a class="nav-link @if(\Request::is('currency')) active @endif" href='/currency'>Currnecy</a>
<a class="nav-link @if(\Request::is('currency')) active @endif" href='/currency'>Currency</a>
<a class="nav-link @if(\Request::is('crypto')) active @endif" href='/crypto'>Crypto</a>
<a class="nav-link @if(\Request::is('contact')) active @endif" href='/contact'>Contact</a>
<a class="nav-link @if(\Request::is('subscribe'))) active @endif" href='/subscribe'>Subscribe</a>
......
......@@ -17,4 +17,6 @@ Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::get("/", "API@index");
Route::get("/crypto", "API@crypto");
Route::get("/fiat", "API@fiat");
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment