mirror of https://github.com/portainer/portainer
feat(deps): multiselect library as dependency (#3255)
parent
e20a139c5a
commit
8a8cef9b20
|
@ -1,5 +1,4 @@
|
|||
import '../assets/css/app.css';
|
||||
import './libraries/isteven-angular-multiselect/isteven-multi-select.css';
|
||||
import angular from 'angular';
|
||||
|
||||
import './agent/_module';
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
.git
|
||||
.gitignore
|
||||
bower.json
|
||||
CHANGELOG.md
|
||||
package.json
|
||||
README.md
|
||||
screenshot.png
|
||||
/doc
|
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014-2015 Ignatius Steven (https://github.com/isteven)
|
||||
|
||||
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.
|
|
@ -1,50 +0,0 @@
|
|||
# AngularJS MultiSelect
|
||||
Pure AngularJS directive which creates a dropdown button with multiple or single selections.
|
||||
Doesn't require jQuery and works well with other Javascript libraries.
|
||||
|
||||

|
||||
|
||||
### Demo & How To
|
||||
Go to http://isteven.github.io/angular-multi-select
|
||||
|
||||
### Current Version
|
||||
4.0.0
|
||||
|
||||
### Change Log
|
||||
See <a href="https://github.com/isteven/angular-multi-select/blob/master/CHANGELOG.md">CHANGELOG.md</a>.
|
||||
For those who's upgrading from version 2.x.x, do note that this version is not backward-compatible. Please read the manual
|
||||
thoroughly and update your code accordingly.
|
||||
|
||||
### Bug Reporting
|
||||
Please follow these steps:
|
||||
|
||||
1. **READ THE MANUAL AGAIN**. You might have missed something. This includes the MINIMUM ANGULARJS VERSION and the SUPPORTED BROWSERS.
|
||||
2. The next step is to search in Github's issue section first. There might already be an answer for similar issue. Do check both open and closed issues.
|
||||
3. If there's no previous issue found, then please create a new issue in https://github.com/isteven/angular-multi-select/issues.
|
||||
4. Please **replicate the problem in JSFiddle or Plunker** (or any other online JS collaboration tool), and include the URL in the issue you are creating.
|
||||
5. When you're done, please close the issue you've created.
|
||||
|
||||
### Licence
|
||||
Released under the MIT license:
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014-2015 Ignatius Steven (https://github.com/isteven)
|
||||
|
||||
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.
|
|
@ -1,299 +0,0 @@
|
|||
/*
|
||||
* Don't modify things marked with ! - unless you know what you're doing
|
||||
*/
|
||||
|
||||
/* ! vertical layout */
|
||||
.multiSelect .vertical {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* ! horizontal layout */
|
||||
.multiSelect .horizontal:not(.multiSelectGroup) {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* ! create a "row" */
|
||||
.multiSelect .line {
|
||||
padding: 2px 0px 4px 0px;
|
||||
max-height: 30px;
|
||||
overflow: hidden;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/* ! create a "column" */
|
||||
.multiSelect .acol {
|
||||
display: inline-block;
|
||||
min-width: 12px;
|
||||
}
|
||||
|
||||
/* ! */
|
||||
.multiSelect .inlineBlock {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* the multiselect button */
|
||||
.multiSelect > button {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
border: 1px solid #c6c6c6;
|
||||
padding: 1px 8px 1px 8px;
|
||||
font-size: 14px;
|
||||
min-height : 38px !important;
|
||||
border-radius: 4px;
|
||||
color: #555;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
white-space:normal;
|
||||
background-color: #fff;
|
||||
background-image: linear-gradient(#fff, #f7f7f7);
|
||||
}
|
||||
|
||||
/* button: hover */
|
||||
.multiSelect > button:hover {
|
||||
background-image: linear-gradient(#fff, #e9e9e9);
|
||||
}
|
||||
|
||||
/* button: disabled */
|
||||
.multiSelect > button:disabled {
|
||||
background-image: linear-gradient(#fff, #fff);
|
||||
border: 1px solid #ddd;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
/* button: clicked */
|
||||
.multiSelect .buttonClicked {
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
/* labels on the button */
|
||||
.multiSelect .buttonLabel {
|
||||
display: inline-block;
|
||||
padding: 5px 0px 5px 0px;
|
||||
}
|
||||
|
||||
/* downward pointing arrow */
|
||||
.multiSelect .caret {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin: 0px 0px 1px 12px !important;
|
||||
vertical-align: middle;
|
||||
border-top: 4px solid #333;
|
||||
border-right: 4px solid transparent;
|
||||
border-left: 4px solid transparent;
|
||||
border-bottom: 0 dotted;
|
||||
}
|
||||
|
||||
/* the main checkboxes and helper layer */
|
||||
.multiSelect .checkboxLayer {
|
||||
background-color: #fff;
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
min-width:278px;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* container of helper elements */
|
||||
.multiSelect .helperContainer {
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 8px 8px 0px 8px;
|
||||
}
|
||||
|
||||
/* helper buttons (select all, none, reset); */
|
||||
.multiSelect .helperButton {
|
||||
display: inline;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
border: 1px solid #ccc;
|
||||
height: 26px;
|
||||
font-size: 13px;
|
||||
border-radius: 2px;
|
||||
color: #666;
|
||||
background-color: #f1f1f1;
|
||||
line-height: 1.6;
|
||||
margin: 0px 0px 8px 0px;
|
||||
}
|
||||
|
||||
.multiSelect .helperButton.reset{
|
||||
float: right;
|
||||
}
|
||||
|
||||
.multiSelect .helperButton:not( .reset ) {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
/* clear button */
|
||||
.multiSelect .clearButton {
|
||||
position: absolute;
|
||||
display: inline;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
border: 1px solid #ccc;
|
||||
height: 22px;
|
||||
width: 22px;
|
||||
font-size: 13px;
|
||||
border-radius: 2px;
|
||||
color: #666;
|
||||
background-color: #f1f1f1;
|
||||
line-height: 1.4;
|
||||
right : 2px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
/* filter */
|
||||
.multiSelect .inputFilter {
|
||||
border-radius: 2px;
|
||||
border: 1px solid #ccc;
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
width:100%;
|
||||
padding-left:7px;
|
||||
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
|
||||
-moz-box-sizing: border-box; /* Firefox, other Gecko */
|
||||
box-sizing: border-box; /* Opera/IE 8+ */
|
||||
color: #888;
|
||||
margin: 0px 0px 8px 0px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
}
|
||||
|
||||
/* helper elements on hover & focus */
|
||||
.multiSelect .clearButton:hover,
|
||||
.multiSelect .helperButton:hover {
|
||||
border: 1px solid #ccc;
|
||||
color: #999;
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
.multiSelect .helperButton:disabled {
|
||||
color: #ccc;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.multiSelect .clearButton:focus,
|
||||
.multiSelect .helperButton:focus,
|
||||
.multiSelect .inputFilter:focus {
|
||||
border: 1px solid #66AFE9 !important;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,.065), 0 0 5px rgba(102, 175, 233, .6) !important;
|
||||
box-shadow: inset 0 0 1px rgba(0,0,0,.065), 0 0 5px rgba(102, 175, 233, .6) !important;
|
||||
}
|
||||
|
||||
/* container of multi select items */
|
||||
.multiSelect .checkBoxContainer {
|
||||
display: block;
|
||||
padding: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ! to show / hide the checkbox layer above */
|
||||
.multiSelect .show {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
/* item labels */
|
||||
.multiSelect .multiSelectItem {
|
||||
display: block;
|
||||
padding: 3px;
|
||||
color: #444;
|
||||
white-space: nowrap;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
border: 1px solid transparent;
|
||||
position: relative;
|
||||
min-width:278px;
|
||||
min-height: 32px;
|
||||
}
|
||||
|
||||
/* Styling on selected items */
|
||||
.multiSelect .multiSelectItem:not(.multiSelectGroup).selected
|
||||
{
|
||||
background-image: linear-gradient( #e9e9e9, #f1f1f1 );
|
||||
color: #555;
|
||||
cursor: pointer;
|
||||
border-top: 1px solid #e4e4e4;
|
||||
border-left: 1px solid #e4e4e4;
|
||||
border-right: 1px solid #d9d9d9;
|
||||
}
|
||||
|
||||
.multiSelect .multiSelectItem .acol label {
|
||||
display: inline-block;
|
||||
padding-right: 30px;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/* item labels focus on mouse hover */
|
||||
.multiSelect .multiSelectItem:hover,
|
||||
.multiSelect .multiSelectGroup:hover {
|
||||
background-image: linear-gradient( #c1c1c1, #999 ) !important;
|
||||
color: #fff !important;
|
||||
cursor: pointer;
|
||||
border: 1px solid #ccc !important;
|
||||
}
|
||||
|
||||
/* item labels focus using keyboard */
|
||||
.multiSelect .multiSelectFocus {
|
||||
background-image: linear-gradient( #c1c1c1, #999 ) !important;
|
||||
color: #fff !important;
|
||||
cursor: pointer;
|
||||
border: 1px solid #ccc !important;
|
||||
}
|
||||
|
||||
/* change mouse pointer into the pointing finger */
|
||||
.multiSelect .multiSelectItem span:hover,
|
||||
.multiSelect .multiSelectGroup span:hover
|
||||
{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ! group labels */
|
||||
.multiSelect .multiSelectGroup {
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* right-align the tick mark (✔) */
|
||||
.multiSelect .tickMark {
|
||||
display:inline-block;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 7px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/* hide the original HTML checkbox away */
|
||||
.multiSelect .checkbox {
|
||||
color: #ddd !important;
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* checkboxes currently disabled */
|
||||
.multiSelect .disabled,
|
||||
.multiSelect .disabled:hover,
|
||||
.multiSelect .disabled label input:hover ~ span {
|
||||
color: #c4c4c4 !important;
|
||||
cursor: not-allowed !important;
|
||||
}
|
||||
|
||||
/* If you use images in button / checkbox label, you might want to change the image style here. */
|
||||
.multiSelect img {
|
||||
vertical-align: middle;
|
||||
margin-bottom:0px;
|
||||
max-height: 22px;
|
||||
max-width:22px;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"name": "isteven-angular-multiselect",
|
||||
"version": "v4.0.0",
|
||||
"description": "A multi select dropdown directive for AngularJS",
|
||||
"main": [
|
||||
"isteven-multi-select.js",
|
||||
"isteven-multi-select.css"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/isteven/angular-multi-select.git"
|
||||
},
|
||||
"keywords": [
|
||||
"angular"
|
||||
],
|
||||
"author": "Ignatius Steven <isteven.github@gmail.com> (https://github.com/isteven)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/isteven/angular-multi-select/issues"
|
||||
},
|
||||
"homepage": "https://github.com/isteven/angular-multi-select"
|
||||
}
|
|
@ -12,6 +12,7 @@ import 'angular-json-tree/dist/angular-json-tree.css';
|
|||
import 'angular-loading-bar/build/loading-bar.css';
|
||||
import 'rdash-ui/dist/css/rdash.css';
|
||||
import 'angular-moment-picker/dist/angular-moment-picker.min.css';
|
||||
import 'angular-multiselect/isteven-multi-select.css';
|
||||
|
||||
import angular from 'angular';
|
||||
window.angular = angular;
|
||||
|
@ -37,3 +38,4 @@ import 'bootstrap/dist/js/bootstrap.js';
|
|||
import 'js-yaml/dist/js-yaml.js'
|
||||
import 'angular-ui-bootstrap';
|
||||
import 'angular-moment-picker';
|
||||
import 'angular-multiselect/isteven-multi-select.js';
|
||||
|
|
|
@ -59,6 +59,7 @@
|
|||
"angular-messages": "~1.5.0",
|
||||
"angular-mocks": "~1.5.0",
|
||||
"angular-moment-picker": "^0.10.2",
|
||||
"angular-multiselect": "github:portainer/angular-multi-select#semver:~v4.0.1",
|
||||
"angular-resource": "~1.5.0",
|
||||
"angular-sanitize": "~1.5.0",
|
||||
"angular-ui-bootstrap": "~2.5.0",
|
||||
|
|
17
yarn.lock
17
yarn.lock
|
@ -953,6 +953,11 @@ angular-messages@~1.5.0:
|
|||
resolved "https://registry.yarnpkg.com/angular-messages/-/angular-messages-1.5.11.tgz#ea99f0163594fcb0a2db701b3038339250decc90"
|
||||
integrity sha1-6pnwFjWU/LCi23AbMDgzklDezJA=
|
||||
|
||||
angular-mocks@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.6.1.tgz#2f44a1b3ac608e93751305bce176c274221d8abd"
|
||||
integrity sha1-L0Shs6xgjpN1EwW84XbCdCIdir0=
|
||||
|
||||
angular-mocks@~1.5.0:
|
||||
version "1.5.11"
|
||||
resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.5.11.tgz#a0e1dd0ea55fd77ee7a757d75536c5e964c86f81"
|
||||
|
@ -965,11 +970,23 @@ angular-moment-picker@^0.10.2:
|
|||
angular "^1.3"
|
||||
moment "^2.16.0"
|
||||
|
||||
"angular-multiselect@github:portainer/angular-multi-select#semver:~v4.0.1":
|
||||
version "4.0.0"
|
||||
resolved "https://codeload.github.com/portainer/angular-multi-select/tar.gz/933b066e0aa9e8879967a35a9c5bf7e89c72f86d"
|
||||
dependencies:
|
||||
angular-mocks "1.6.1"
|
||||
angular-sanitize "1.6.1"
|
||||
|
||||
angular-resource@~1.5.0:
|
||||
version "1.5.11"
|
||||
resolved "https://registry.yarnpkg.com/angular-resource/-/angular-resource-1.5.11.tgz#d93ea619184a2e0ee3ae338265758363172929f0"
|
||||
integrity sha1-2T6mGRhKLg7jrjOCZXWDYxcpKfA=
|
||||
|
||||
angular-sanitize@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/angular-sanitize/-/angular-sanitize-1.6.1.tgz#cacffec3199ed66297afbb1ef366ec66616b3b3f"
|
||||
integrity sha1-ys/+wxme1mKXr7se82bsZmFrOz8=
|
||||
|
||||
angular-sanitize@~1.5.0:
|
||||
version "1.5.11"
|
||||
resolved "https://registry.yarnpkg.com/angular-sanitize/-/angular-sanitize-1.5.11.tgz#ebfb3f343e543f9b2ef050fb4c2e9ee048d1772f"
|
||||
|
|
Loading…
Reference in New Issue