inputosaurus jQuery to native so we can drop jquery-ui
20
README.md
|
|
@ -79,11 +79,13 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill
|
||||||
* Replaced knockoutjs 3.4 with a modified 3.5.1
|
* Replaced knockoutjs 3.4 with a modified 3.5.1
|
||||||
* Replaced knockout-sortable with native HTML5 drag&drop
|
* Replaced knockout-sortable with native HTML5 drag&drop
|
||||||
* Replaced simplestatemanager with @media
|
* Replaced simplestatemanager with @media
|
||||||
|
* Replaced inputosaurus to native
|
||||||
* Removed pikaday
|
* Removed pikaday
|
||||||
* Removed underscore
|
* Removed underscore
|
||||||
* Removed polyfills
|
* Removed polyfills
|
||||||
* Removed Modernizr
|
* Removed Modernizr
|
||||||
* Removed nanoscroll
|
* Removed nanoscroll
|
||||||
|
* Removed jquery-ui
|
||||||
* Removed jquery-scrollstop
|
* Removed jquery-scrollstop
|
||||||
* Removed jquery-mousewheel
|
* Removed jquery-mousewheel
|
||||||
* Removed matchmedia-polyfill
|
* Removed matchmedia-polyfill
|
||||||
|
|
@ -94,22 +96,22 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill
|
||||||
|js/* |1.14.0 |native |
|
|js/* |1.14.0 |native |
|
||||||
|----------- |--------: |--------: |
|
|----------- |--------: |--------: |
|
||||||
|admin.js |2.130.942 | 851.365 |
|
|admin.js |2.130.942 | 851.365 |
|
||||||
|app.js |4.184.455 |2.496.337 |
|
|app.js |4.184.455 |2.494.604 |
|
||||||
|boot.js | 671.522 | 5.777 |
|
|boot.js | 671.522 | 5.777 |
|
||||||
|libs.js | 647.614 | 311.853 |
|
|libs.js | 647.614 | 227.246 |
|
||||||
|polyfills.js | 325.834 | 0 |
|
|polyfills.js | 325.834 | 0 |
|
||||||
|TOTAL |7.960.367 |3.665.332 |
|
|TOTAL |7.960.367 |3.578.992 |
|
||||||
|
|
||||||
|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
||||||
|--------------- |--------: |--------: |--------: |--------: |--------: |
|
|--------------- |--------: |--------: |--------: |--------: |--------: |
|
||||||
|admin.min.js | 252.147 | 116.656 | 73.657 | 33.346 | 28.783 |
|
|admin.min.js | 252.147 | 116.656 | 73.657 | 33.346 | 28.783 |
|
||||||
|app.min.js | 511.202 | 340.291 |140.462 | 89.644 | 72.618 |
|
|app.min.js | 511.202 | 340.071 |140.462 | 89.602 | 72.526 |
|
||||||
|boot.min.js | 66.007 | 3.117 | 22.567 | 1.563 | 1.333 |
|
|boot.min.js | 66.007 | 3.117 | 22.567 | 1.563 | 1.333 |
|
||||||
|libs.min.js | 572.545 | 288.859 |176.720 | 90.396 | 79.821 |
|
|libs.min.js | 572.545 | 206.304 |176.720 | 69.988 | 62.272 |
|
||||||
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
|
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
|
||||||
|TOTAL |1.434.353 | 748.923 |424.718 |214.949 |182.555 |
|
|TOTAL |1.434.353 | 666.148 |424.718 |194.499 |164.914 |
|
||||||
|
|
||||||
685.430 bytes (209.769 gzip) is around 48% smaller and faster.
|
768.205 bytes (230.219 gzip) is around 54% smaller and faster.
|
||||||
|
|
||||||
### CSS changes
|
### CSS changes
|
||||||
|
|
||||||
|
|
@ -134,8 +136,8 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill
|
||||||
|
|
||||||
|css/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
|css/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
||||||
|-------------- |-------: |-------: |------: |------: |------: |
|
|-------------- |-------: |-------: |------: |------: |------: |
|
||||||
|app.css | 340.334 | 254.026 | 46,959 | 36.763 | 30.920 |
|
|app.css | 340.334 | 233.750 | 46,959 | 33.604 | 28.245 |
|
||||||
|app.min.css | 274.791 | 207.208 | 39.618 | 32.074 | 27.219 |
|
|app.min.css | 274.791 | 200.511 | 39.618 | 30.790 | 26.080 |
|
||||||
|boot.css | | 2.534 | | 837 | 668 |
|
|boot.css | | 2.534 | | 837 | 668 |
|
||||||
|boot.min.css | | 2.055 | | 732 | 560 |
|
|boot.min.css | | 2.055 | | 732 | 560 |
|
||||||
|
|
||||||
|
|
|
||||||
23
dev/External/User/ko.js
vendored
|
|
@ -1,5 +1,4 @@
|
||||||
const ko = window.ko,
|
const ko = window.ko,
|
||||||
$ = jQuery,
|
|
||||||
rlContentType = 'application/x-rainloop-action',
|
rlContentType = 'application/x-rainloop-action',
|
||||||
validTransfer = data => ['move','copy'].includes(data.dropEffect) // effectAllowed
|
validTransfer = data => ['move','copy'].includes(data.dropEffect) // effectAllowed
|
||||||
&& data.getData('application/x-rainloop-messages');
|
&& data.getData('application/x-rainloop-messages');
|
||||||
|
|
@ -39,24 +38,18 @@ ko.bindingHandlers.moment = {
|
||||||
ko.bindingHandlers.emailsTags = {
|
ko.bindingHandlers.emailsTags = {
|
||||||
init: (element, fValueAccessor, fAllBindingsAccessor) => {
|
init: (element, fValueAccessor, fAllBindingsAccessor) => {
|
||||||
const EmailModel = require('Model/Email').default,
|
const EmailModel = require('Model/Email').default,
|
||||||
$el = $(element),
|
|
||||||
fValue = fValueAccessor(),
|
fValue = fValueAccessor(),
|
||||||
fAllBindings = fAllBindingsAccessor(),
|
fAllBindings = fAllBindingsAccessor(),
|
||||||
inputDelimiters = [',', ';', '\n'];
|
inputDelimiters = [',', ';', '\n'];
|
||||||
|
|
||||||
$el.inputosaurus({
|
element.inputosaurus = new window.Inputosaurus(element, {
|
||||||
focusCallback: value => {
|
focusCallback: value => fValue && fValue.focused && fValue.focused(!!value),
|
||||||
if (fValue && fValue.focused) {
|
|
||||||
fValue.focused(!!value);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
autoCompleteSource: fAllBindings.autoCompleteSource || null,
|
autoCompleteSource: fAllBindings.autoCompleteSource || null,
|
||||||
splitHook: value => {
|
splitHook: value => {
|
||||||
const v = value.trim();
|
const v = value.trim();
|
||||||
if (v && inputDelimiters.includes(v.substr(-1))) {
|
return (v && inputDelimiters.includes(v.substr(-1)))
|
||||||
return EmailModel.splitEmailLine(value);
|
? EmailModel.splitEmailLine(value)
|
||||||
}
|
: null;
|
||||||
return null;
|
|
||||||
},
|
},
|
||||||
parseHook: input =>
|
parseHook: input =>
|
||||||
input.map(inputValue => {
|
input.map(inputValue => {
|
||||||
|
|
@ -72,8 +65,8 @@ ko.bindingHandlers.emailsTags = {
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fValue && fValue.focused && fValue.focused.subscribe) {
|
if (fValue && fValue.focused && fValue.focused.subscribe) {
|
||||||
fValue.focused.subscribe((value) => {
|
fValue.focused.subscribe(value => {
|
||||||
$el.inputosaurus(value ? 'focus' : 'blur');
|
element.inputosaurus[value ? 'focus' : 'blur']();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -83,7 +76,7 @@ ko.bindingHandlers.emailsTags = {
|
||||||
if (element.EmailsTagsValue !== value) {
|
if (element.EmailsTagsValue !== value) {
|
||||||
element.value = value;
|
element.value = value;
|
||||||
element.EmailsTagsValue = value;
|
element.EmailsTagsValue = value;
|
||||||
$(element).inputosaurus('refresh');
|
element.inputosaurus.refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -304,10 +304,6 @@ html.rl-left-panel-disabled {
|
||||||
.hide-on-panel-disabled {
|
.hide-on-panel-disabled {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ui-state-disabled {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#rl-right {
|
#rl-right {
|
||||||
|
|
|
||||||
|
|
@ -92,19 +92,6 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ui-sortable-helper {
|
|
||||||
background: #F5F5F5;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
|
|
||||||
.button-delete, .delete-account {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.identity-item {
|
.identity-item {
|
||||||
|
|
@ -134,18 +121,5 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ui-sortable-helper {
|
|
||||||
background: #F5F5F5;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
|
|
||||||
.button-delete, .delete-identity {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,18 +88,5 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ui-sortable-helper {
|
|
||||||
background: #F5F5F5;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
|
|
||||||
.button-delete, .delete-filter {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,18 +77,5 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ui-sortable-helper {
|
|
||||||
background: #F5F5F5;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
|
|
||||||
.button-delete, .delete-template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,6 @@
|
||||||
color: #555;
|
color: #555;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
|
|
||||||
&.ui-draggable.ui-draggable-dragging {
|
|
||||||
z-index: 101;
|
|
||||||
}
|
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
|
@ -74,10 +70,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-autocomplete {
|
|
||||||
z-index: 2000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inputosaurus-fake-span {
|
.inputosaurus-fake-span {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,6 @@ config.paths.css = {
|
||||||
name: 'app.css',
|
name: 'app.css',
|
||||||
src: [
|
src: [
|
||||||
'vendors/normalize.css/normalize.css',
|
'vendors/normalize.css/normalize.css',
|
||||||
'vendors/jquery-ui/css/smoothness/jquery-ui-1.12.1.custom.css',
|
|
||||||
'vendors/fontastic/styles.css',
|
'vendors/fontastic/styles.css',
|
||||||
'vendors/inputosaurus/inputosaurus.css',
|
'vendors/inputosaurus/inputosaurus.css',
|
||||||
'vendors/flags/flags-fixed.css',
|
'vendors/flags/flags-fixed.css',
|
||||||
|
|
@ -78,7 +77,6 @@ config.paths.js = {
|
||||||
'dev/polyfill.js',
|
'dev/polyfill.js',
|
||||||
'dev/prototype.js',
|
'dev/prototype.js',
|
||||||
'node_modules/jquery/dist/jquery.slim.min.js',
|
'node_modules/jquery/dist/jquery.slim.min.js',
|
||||||
'vendors/jquery-ui/js/jquery-ui-1.12.1.custom.min.js', // custom
|
|
||||||
'vendors/inputosaurus/inputosaurus.js', // custom (modified)
|
'vendors/inputosaurus/inputosaurus.js', // custom (modified)
|
||||||
'vendors/routes/signals.min.js', // fixed
|
'vendors/routes/signals.min.js', // fixed
|
||||||
'vendors/routes/hasher.min.js', // fixed
|
'vendors/routes/hasher.min.js', // fixed
|
||||||
|
|
|
||||||
685
vendors/inputosaurus/inputosaurus.js
vendored
|
|
@ -4,11 +4,6 @@
|
||||||
* Must be instantiated on an <input> element
|
* Must be instantiated on an <input> element
|
||||||
* Allows multiple input items. Each item is represented with a removable tag that appears to be inside the input area.
|
* Allows multiple input items. Each item is represented with a removable tag that appears to be inside the input area.
|
||||||
*
|
*
|
||||||
* @requires:
|
|
||||||
*
|
|
||||||
* jQuery 3.5+
|
|
||||||
* jQueryUI 1.12+ Core
|
|
||||||
*
|
|
||||||
* @version 0.1.6
|
* @version 0.1.6
|
||||||
* @author Dan Kielp <dan@sproutsocial.com>
|
* @author Dan Kielp <dan@sproutsocial.com>
|
||||||
* @created October 3,2012
|
* @created October 3,2012
|
||||||
|
|
@ -17,15 +12,36 @@
|
||||||
* @modified by DJMaze
|
* @modified by DJMaze
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
(() => {
|
||||||
|
|
||||||
($ => {
|
const doc = document,
|
||||||
|
createEl = (name, attr) => {
|
||||||
|
let el = doc.createElement(name);
|
||||||
|
attr && Object.entries(attr).forEach(([k,v]) => el.setAttribute(k,v));
|
||||||
|
return el;
|
||||||
|
},
|
||||||
|
datalist = createEl('datalist',{id:"inputosaurus-datalist"}),
|
||||||
|
fakeSpan = createEl('span',{class:"inputosaurus-fake-span"}),
|
||||||
|
|
||||||
const fakeSpan = $('<span class="inputosaurus-fake-span"></span>');
|
contentType = 'application/x-inputosaurus-item',
|
||||||
|
getTransferData = data => 'move' === data.dropEffect && data.getData(contentType);
|
||||||
|
|
||||||
$('body').append(fakeSpan);
|
doc.body.append(fakeSpan, datalist);
|
||||||
$.widget("ui.inputosaurus", {
|
|
||||||
|
|
||||||
options: {
|
let removeDragged = null;
|
||||||
|
|
||||||
|
window.Inputosaurus = class {
|
||||||
|
|
||||||
|
constructor(element, options) {
|
||||||
|
|
||||||
|
var self = this,
|
||||||
|
els = {};
|
||||||
|
|
||||||
|
self.element = element;
|
||||||
|
|
||||||
|
self._focusTriggerTimer = 0;
|
||||||
|
|
||||||
|
self.options = Object.assign({
|
||||||
|
|
||||||
// bindable events
|
// bindable events
|
||||||
//
|
//
|
||||||
|
|
@ -34,258 +50,184 @@
|
||||||
|
|
||||||
// while typing, the user can separate values using these delimiters
|
// while typing, the user can separate values using these delimiters
|
||||||
// the value tags are created on the fly when an inputDelimiter is detected
|
// the value tags are created on the fly when an inputDelimiter is detected
|
||||||
inputDelimiters : [',', ';'],
|
inputDelimiters : [',', ';', '\n'],
|
||||||
|
|
||||||
allowDragAndDrop : true,
|
|
||||||
|
|
||||||
focusCallback : null,
|
focusCallback : null,
|
||||||
|
|
||||||
parseOnBlur : false,
|
|
||||||
|
|
||||||
// simply passing an autoComplete source (array, string or function) will instantiate autocomplete functionality
|
// simply passing an autoComplete source (array, string or function) will instantiate autocomplete functionality
|
||||||
autoCompleteSource : '',
|
autoCompleteSource : '',
|
||||||
|
|
||||||
// When forcing users to select from the autocomplete list, allow them to press 'Enter' to select an item if it's the only option left.
|
|
||||||
activateFinalResult : false,
|
|
||||||
|
|
||||||
// manipulate and return the input value after parseInput() parsing
|
// manipulate and return the input value after parseInput() parsing
|
||||||
// the array of tag names is passed and expected to be returned as an array after manipulation
|
// the array of tag names is passed and expected to be returned as an array after manipulation
|
||||||
parseHook : null,
|
parseHook : null,
|
||||||
|
|
||||||
splitHook : null
|
splitHook : null
|
||||||
},
|
}, options);
|
||||||
|
|
||||||
_create: function() {
|
self._chosenValues = [];
|
||||||
var widget = this,
|
|
||||||
els = {},
|
|
||||||
o = widget.options,
|
|
||||||
placeholder = this.element.attr('placeholder') || null;
|
|
||||||
|
|
||||||
this._chosenValues = [];
|
|
||||||
|
|
||||||
// Create the elements
|
// Create the elements
|
||||||
els.ul = $('<ul class="inputosaurus-container"></ul>');
|
els.ul = createEl('ul',{class:"inputosaurus-container"});
|
||||||
|
|
||||||
if (this.options.allowDragAndDrop)
|
els.ul.addEventListener("dragover", e => getTransferData(e.dataTransfer) && e.preventDefault());
|
||||||
{
|
els.ul.addEventListener("drop", e => {
|
||||||
els.ul.droppable({
|
let value = getTransferData(e.dataTransfer);
|
||||||
'drop': (event, ui) => {
|
if (value) {
|
||||||
|
els.input.value = value;
|
||||||
ui.draggable.addClass('inputosaurus-dropped');
|
removeDragged();
|
||||||
els.input.val(ui.draggable.data('inputosaurus-value'));
|
self.parseInput();
|
||||||
|
|
||||||
if (ui.draggable.__widget)
|
|
||||||
{
|
|
||||||
ui.draggable.__widget._removeDraggedTag(ui.draggable);
|
|
||||||
}
|
|
||||||
|
|
||||||
widget.parseInput();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
els.input = $('<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />');
|
els.input = createEl('input',{type:"text", list:datalist.id,
|
||||||
// els.input = $('<input type="email" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />');
|
autocomplete:"off", autocorrect:"off", autocapitalize:"off", spellcheck:"false"});
|
||||||
els.inputCont = $('<li class="inputosaurus-input inputosaurus-required"></li>');
|
|
||||||
els.origInputCont = $('<li class="inputosaurus-input-hidden inputosaurus-required"></li>');
|
|
||||||
els.lastEdit = '';
|
els.lastEdit = '';
|
||||||
|
|
||||||
els.input.on('focus', () => {
|
els.input.addEventListener('focus', () => self._focusTrigger(true));
|
||||||
widget._focusTrigger(true);
|
els.input.addEventListener('blur', () => self._focusTrigger(false));
|
||||||
}).on('blur', () => {
|
|
||||||
widget._focusTrigger(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
// define starting placeholder
|
// define starting placeholder
|
||||||
if (placeholder) {
|
if (element.placeholder) {
|
||||||
o.placeholder = placeholder;
|
els.input.placeholder = element.placeholder;
|
||||||
els.input.attr('placeholder', o.placeholder);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.element.replaceWith(els.ul);
|
element.replaceWith(els.ul);
|
||||||
els.origInputCont.append(this.element).hide();
|
element.hidden = true;
|
||||||
|
|
||||||
|
els.inputCont = createEl('li',{class:"inputosaurus-input"});
|
||||||
els.inputCont.append(els.input);
|
els.inputCont.append(els.input);
|
||||||
els.ul.append(els.inputCont);
|
els.ul.append(els.inputCont);
|
||||||
els.ul.append(els.origInputCont);
|
|
||||||
|
|
||||||
this.elements = els;
|
self.elements = els;
|
||||||
|
|
||||||
widget._attachEvents();
|
els.input.addEventListener('keyup', e => self._inputKeypress(e));
|
||||||
|
els.input.addEventListener('keydown', e => self._inputKeypress(e));
|
||||||
|
els.input.addEventListener('change', e => self._inputKeypress(e));
|
||||||
|
els.input.addEventListener('input', e => self._inputKeypress(e));
|
||||||
|
els.input.addEventListener('focus', () => els.input.value || self._resetAutocomplete());
|
||||||
|
els.input.addEventListener('blur', e => self.parseInput(e));
|
||||||
|
|
||||||
|
els.ul.addEventListener('click', e => self._focus(e));
|
||||||
|
els.ul.addEventListener('dblclick', e => e.currentTarget.closest('li') && self._editTag(e));
|
||||||
|
|
||||||
// if instantiated input already contains a value, parse that junk
|
// if instantiated input already contains a value, parse that junk
|
||||||
if($.trim(this.element.val())){
|
if (element.value.trim()) {
|
||||||
els.input.val( this.element.val() );
|
els.input.value = element.value;
|
||||||
this.parseInput();
|
self.parseInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
this._instAutocomplete();
|
self._updateAutocomplete = self.options.autoCompleteSource
|
||||||
},
|
? (() => {
|
||||||
|
let value = self.elements.input.value.trim();
|
||||||
|
if (datalist.inputValue !== value) {
|
||||||
|
datalist.inputValue = value;
|
||||||
|
value.length && self.options.autoCompleteSource(
|
||||||
|
{term:value},
|
||||||
|
items => {
|
||||||
|
self._resetAutocomplete();
|
||||||
|
items && items.forEach(item => datalist.append(new Option(item)));
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}).throttle(500)
|
||||||
|
: () => {};
|
||||||
|
}
|
||||||
|
|
||||||
_focusTriggerTimer : 0,
|
_focusTrigger(bValue) {
|
||||||
|
var self = this;
|
||||||
_focusTrigger : function (bValue) {
|
clearTimeout(self._focusTriggerTimer);
|
||||||
var widget = this;
|
self._focusTriggerTimer = setTimeout(() => {
|
||||||
clearTimeout(this._focusTriggerTimer);
|
self.elements.ul.classList.toggle('inputosaurus-focused', bValue);
|
||||||
this._focusTriggerTimer = setTimeout(() => {
|
self.options.focusCallback(bValue);
|
||||||
widget.elements.ul[!bValue ? 'removeClass' : 'addClass']('inputosaurus-focused');
|
|
||||||
widget.options.focusCallback(bValue);
|
|
||||||
}, 10);
|
}, 10);
|
||||||
},
|
|
||||||
|
|
||||||
_instAutocomplete : function() {
|
|
||||||
if(this.options.autoCompleteSource){
|
|
||||||
var widget = this;
|
|
||||||
|
|
||||||
this.elements.input.autocomplete({
|
|
||||||
position : {
|
|
||||||
of : this.elements.ul
|
|
||||||
},
|
|
||||||
source : this.options.autoCompleteSource,
|
|
||||||
minLength : 1,
|
|
||||||
autoFocus : true,
|
|
||||||
select : (ev, ui) => {
|
|
||||||
ev.preventDefault();
|
|
||||||
widget.elements.input.val(ui.item.value);
|
|
||||||
widget.parseInput();
|
|
||||||
},
|
|
||||||
open : function() {
|
|
||||||
var menu = $(this).data('ui-autocomplete').menu,
|
|
||||||
$menuItems;
|
|
||||||
|
|
||||||
menu.element.width(widget.elements.ul.outerWidth() - 6);
|
|
||||||
|
|
||||||
// auto-activate the result if it's the only one
|
|
||||||
if(widget.options.activateFinalResult){
|
|
||||||
$menuItems = menu.element.find('li');
|
|
||||||
|
|
||||||
// activate single item to allow selection upon pressing 'Enter'
|
|
||||||
if($menuItems.length === 1){
|
|
||||||
menu[menu.activate ? 'activate' : 'focus']($.Event('click'), $menuItems);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
focus: () => false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_autoCompleteMenuPosition : function() {
|
_resetAutocomplete() {
|
||||||
var widget;
|
datalist.textContent = '';
|
||||||
if(this.options.autoCompleteSource){
|
|
||||||
widget = this.elements.input.data('ui-autocomplete');
|
|
||||||
widget && widget.menu.element.position({
|
|
||||||
of: this.elements.ul,
|
|
||||||
my: 'left top',
|
|
||||||
at: 'left bottom',
|
|
||||||
collision: 'none'
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
parseInput : function(ev) {
|
parseInput(ev) {
|
||||||
var widget = (ev && ev.data.widget) || this,
|
var self = this,
|
||||||
val,
|
val,
|
||||||
hook,
|
hook,
|
||||||
delimiterFound = false,
|
delimiterFound = false,
|
||||||
values = [];
|
values = [];
|
||||||
|
|
||||||
val = widget.elements.input.val();
|
val = self.elements.input.value;
|
||||||
|
|
||||||
if (val) {
|
if (val) {
|
||||||
hook = widget.options.splitHook(val);
|
hook = self.options.splitHook(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hook) {
|
if (hook) {
|
||||||
values = hook;
|
values = hook;
|
||||||
} else if (delimiterFound !== false) {
|
} else if (delimiterFound !== false) {
|
||||||
values = val.split(delimiterFound);
|
values = val.split(delimiterFound);
|
||||||
} else if(!ev || ev.which === $.ui.keyCode.ENTER && !$('.ui-menu-item .ui-state-focus').length && !$('#ui-active-menuitem').length){
|
} else if (!ev || ev.key == 'Enter') {
|
||||||
values.push(val);
|
values.push(val);
|
||||||
ev && ev.preventDefault();
|
ev && ev.preventDefault();
|
||||||
|
|
||||||
// prevent autoComplete menu click from causing a false 'blur'
|
// prevent autoComplete menu click from causing a false 'blur'
|
||||||
} else if(ev.type === 'blur' && !$('#ui-active-menuitem').length){
|
} else if(ev.type === 'blur'){
|
||||||
values.push(val);
|
values.push(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
values = widget.options.parseHook(values);
|
values = self.options.parseHook(values);
|
||||||
|
|
||||||
if (values.length) {
|
if (values.length) {
|
||||||
widget._setChosen(values);
|
self._setChosen(values);
|
||||||
widget.elements.input.val('');
|
self.elements.input.value = '';
|
||||||
widget._resizeInput();
|
self.resizeInput();
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
_inputFocus : function(ev) {
|
|
||||||
var widget = ev.data.widget || this;
|
|
||||||
|
|
||||||
widget.elements.input.value || (widget.options.autoCompleteSource.length && widget.elements.input.autocomplete('search', ''));
|
|
||||||
},
|
|
||||||
|
|
||||||
_inputKeypress : function(ev) {
|
|
||||||
var widget = ev.data.widget || this;
|
|
||||||
|
|
||||||
ev.type === 'keyup' && widget._trigger('keyup', ev, widget);
|
|
||||||
|
|
||||||
switch(ev.which){
|
|
||||||
case $.ui.keyCode.BACKSPACE:
|
|
||||||
ev.type === 'keydown' && widget._inputBackspace(ev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case $.ui.keyCode.LEFT:
|
|
||||||
ev.type === 'keydown' && widget._inputBackspace(ev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default :
|
|
||||||
widget.parseInput(ev);
|
|
||||||
widget._resizeInput(ev);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// reposition autoComplete menu as <ul> grows and shrinks vertically
|
_inputKeypress(ev) {
|
||||||
if(widget.options.autoCompleteSource){
|
let self = this;
|
||||||
setTimeout(()=>widget._autoCompleteMenuPosition.call(widget), 200);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
resizeInput : function () {
|
|
||||||
this._resizeInput();
|
|
||||||
},
|
|
||||||
|
|
||||||
// the input dynamically resizes based on the length of its value
|
|
||||||
_resizeInput : function(ev) {
|
|
||||||
var widget = (ev && ev.data.widget) || this;
|
|
||||||
fakeSpan.text(widget.elements.input.val());
|
|
||||||
|
|
||||||
// setTimeout(function () {
|
|
||||||
var txtWidth = 25 + fakeSpan.width();
|
|
||||||
txtWidth = txtWidth > 50 ? txtWidth : 50;
|
|
||||||
txtWidth = txtWidth < 500 ? txtWidth : 500;
|
|
||||||
widget.elements.input.width(txtWidth);
|
|
||||||
// }, 1);
|
|
||||||
},
|
|
||||||
|
|
||||||
|
switch (ev.key) {
|
||||||
|
case 'Backspace':
|
||||||
|
case 'ArrowLeft':
|
||||||
// if our input contains no value and backspace has been pressed, select the last tag
|
// if our input contains no value and backspace has been pressed, select the last tag
|
||||||
_inputBackspace : function(ev) {
|
if (ev.type === 'keydown') {
|
||||||
var widget = (ev && ev.data.widget) || this,
|
var lastTag = self.elements.inputCont.previousElementSibling,
|
||||||
lastTag = widget.elements.ul.find('li:not(.inputosaurus-required):last');
|
target = ev.currentTarget;
|
||||||
|
|
||||||
// IE goes back in history if the event isn't stopped
|
// IE goes back in history if the event isn't stopped
|
||||||
ev.stopPropagation();
|
ev.stopPropagation();
|
||||||
|
|
||||||
if((!$(ev.currentTarget).val() || (('selectionStart' in ev.currentTarget) && ev.currentTarget.selectionStart === 0 && ev.currentTarget.selectionEnd === 0)) && lastTag.length){
|
if (lastTag && (!target.value
|
||||||
|
|| (('selectionStart' in target) && target.selectionStart === 0 && target.selectionEnd === 0))
|
||||||
|
) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
lastTag.find('a').focus();
|
lastTag.querySelector('a').focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
_editTag : function(ev) {
|
default :
|
||||||
var widget = (ev && ev.data.widget) || this,
|
self.parseInput(ev);
|
||||||
|
self.resizeInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
self._updateAutocomplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
// the input dynamically resizes based on the length of its value
|
||||||
|
resizeInput() {
|
||||||
|
let input = this.elements.input;
|
||||||
|
fakeSpan.textContent = input.value;
|
||||||
|
// setTimeout(function () {
|
||||||
|
input.style.width = Math.min(500, Math.max(200, 25 + fakeSpan.clientWidth)) + 'px';
|
||||||
|
// }, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
_editTag(ev) {
|
||||||
|
var self = this,
|
||||||
tagName = '',
|
tagName = '',
|
||||||
$li = $(ev.currentTarget).closest('li'),
|
li = ev.currentTarget.closest('li'),
|
||||||
tagKey = $li.data('inputosaurus');
|
tagKey = li.inputosaurusKey;
|
||||||
|
|
||||||
if (!tagKey) {
|
if (!tagKey) {
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -298,7 +240,7 @@
|
||||||
next = false
|
next = false
|
||||||
;
|
;
|
||||||
|
|
||||||
$.each(widget._chosenValues, (i,v) => {
|
self._chosenValues.forEach(v => {
|
||||||
if (v.key === tagKey)
|
if (v.key === tagKey)
|
||||||
{
|
{
|
||||||
tagName = v.value;
|
tagName = v.value;
|
||||||
|
|
@ -312,97 +254,43 @@
|
||||||
|
|
||||||
if (oPrev)
|
if (oPrev)
|
||||||
{
|
{
|
||||||
widget.elements.lastEdit = oPrev.value;
|
self.elements.lastEdit = oPrev.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
$li.after(widget.elements.inputCont);
|
li.after(self.elements.inputCont);
|
||||||
|
|
||||||
widget.elements.input.val(tagName);
|
self.elements.input.value = tagName;
|
||||||
setTimeout(() => widget.elements.input.select(), 100);
|
setTimeout(() => self.elements.input.select(), 100);
|
||||||
|
|
||||||
widget._removeTag(ev);
|
self._removeTag(ev);
|
||||||
widget._resizeInput(ev);
|
self.resizeInput(ev);
|
||||||
},
|
|
||||||
|
|
||||||
_tagKeypress : ev => {
|
|
||||||
var widget = ev.data.widget;
|
|
||||||
switch(ev.which){
|
|
||||||
|
|
||||||
case $.ui.keyCode.DELETE:
|
|
||||||
case $.ui.keyCode.BACKSPACE:
|
|
||||||
ev && ev.preventDefault();
|
|
||||||
ev && ev.stopPropagation();
|
|
||||||
$(ev.currentTarget).trigger('click');
|
|
||||||
break;
|
|
||||||
|
|
||||||
// 'e' - edit tag (removes tag and places value into visible input
|
|
||||||
case 69:
|
|
||||||
case $.ui.keyCode.ENTER:
|
|
||||||
widget._editTag(ev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case $.ui.keyCode.LEFT:
|
|
||||||
ev.type === 'keydown' && widget._prevTag(ev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case $.ui.keyCode.RIGHT:
|
|
||||||
ev.type === 'keydown' && widget._nextTag(ev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case $.ui.keyCode.DOWN:
|
|
||||||
ev.type === 'keydown' && widget._focus(ev);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
// select the previous tag or input if no more tags exist
|
|
||||||
_prevTag : function(ev) {
|
|
||||||
var widget = (ev && ev.data.widget) || this,
|
|
||||||
tag = $(ev.currentTarget).closest('li'),
|
|
||||||
previous = tag.prev();
|
|
||||||
|
|
||||||
if(previous.is('li')){
|
|
||||||
previous.find('a').focus();
|
|
||||||
} else {
|
|
||||||
widget._focus();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// select the next tag or input if no more tags exist
|
// select the next tag or input if no more tags exist
|
||||||
_nextTag : function(ev) {
|
_nextTag(ev) {
|
||||||
var widget = (ev && ev.data.widget) || this,
|
var tag = ev.currentTarget.closest('li'),
|
||||||
tag = $(ev.currentTarget).closest('li'),
|
|
||||||
next = tag.next();
|
next = tag.next();
|
||||||
|
|
||||||
if(next.is('li:not(.inputosaurus-input)')){
|
if (next !== this.elements.inputCont) {
|
||||||
next.find('a').focus();
|
next.querySelector('a').focus();
|
||||||
} else {
|
} else {
|
||||||
widget._focus();
|
this._focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
// return the inputDelimiter that was detected or false if none were found
|
// return the inputDelimiter that was detected or false if none were found
|
||||||
_containsDelimiter : function(tagStr) {
|
_containsDelimiter(tagStr) {
|
||||||
|
return -1 < this.options.inputDelimiters.findIndex(v => tagStr.indexOf(v) !== -1);
|
||||||
var found = false;
|
|
||||||
|
|
||||||
$.each(this.options.inputDelimiters, (k,v) => {
|
|
||||||
if(tagStr.indexOf(v) !== -1){
|
|
||||||
found = v;
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
return found;
|
_setChosen(valArr) {
|
||||||
},
|
|
||||||
|
|
||||||
_setChosen : function(valArr) {
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
if (!Array.isArray(valArr)){
|
if (!Array.isArray(valArr)){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$.each(valArr, (k,a) => {
|
valArr.forEach(a => {
|
||||||
var v = '', exists = false,
|
var v = '', exists = false,
|
||||||
lastIndex = -1,
|
lastIndex = -1,
|
||||||
obj = {
|
obj = {
|
||||||
|
|
@ -411,9 +299,9 @@
|
||||||
value : ''
|
value : ''
|
||||||
};
|
};
|
||||||
|
|
||||||
v = $.trim(a[0]);
|
v = a[0].trim();
|
||||||
|
|
||||||
$.each(self._chosenValues, (kk, vv) => {
|
self._chosenValues.forEach((vv, kk) => {
|
||||||
if (vv.value === self.elements.lastEdit)
|
if (vv.value === self.elements.lastEdit)
|
||||||
{
|
{
|
||||||
lastIndex = kk;
|
lastIndex = kk;
|
||||||
|
|
@ -449,192 +337,159 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
self._setValue(self._buildValue());
|
self._setValue(self._buildValue());
|
||||||
},
|
}
|
||||||
|
|
||||||
_buildValue : function() {
|
_buildValue() {
|
||||||
var value = '';
|
return this._chosenValues.map(v => v.value).join(',');
|
||||||
|
}
|
||||||
$.each(this._chosenValues, (k,v) => {
|
|
||||||
value += value.length ? ',' + v.value : v.value;
|
|
||||||
});
|
|
||||||
|
|
||||||
return value;
|
|
||||||
},
|
|
||||||
|
|
||||||
_setValue : function(value) {
|
|
||||||
var val = this.element.val();
|
|
||||||
|
|
||||||
|
_setValue(value) {
|
||||||
|
var val = this.element.value;
|
||||||
if (val !== value) {
|
if (val !== value) {
|
||||||
this.element.val(value);
|
this.element.value = value;
|
||||||
this._trigger('change');
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
// @name text for tag
|
_renderTags() {
|
||||||
// @className optional className for <li>
|
let self = this, els = self.elements;
|
||||||
_createTag : function(name, key, obj) {
|
[...els.ul.children].forEach(node => node !== els.inputCont && node.remove());
|
||||||
if (name !== undefined && obj) {
|
|
||||||
|
self._chosenValues.forEach(v => {
|
||||||
|
if (v.obj) {
|
||||||
|
let li = createEl('li',{title:v.obj.toLine(false, false, true),draggable:'true'}),
|
||||||
|
el = createEl('span');
|
||||||
|
el.append(v.obj.toLine(true, false, true));
|
||||||
|
li.append(el);
|
||||||
|
|
||||||
|
el = createEl('a',{href:'#', class:'ficon'});
|
||||||
|
el.append('✖');
|
||||||
|
el.addEventListener('click', e => self._removeTag(e));
|
||||||
|
el.addEventListener('focus', () => li.className = 'inputosaurus-selected');
|
||||||
|
el.addEventListener('blur', () => li.className = null);
|
||||||
|
el.addEventListener('keydown', e => {
|
||||||
|
switch (e.key) {
|
||||||
|
case 'Delete':
|
||||||
|
case 'Backspace':
|
||||||
|
self._removeTag(e);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 'e' - edit tag (removes tag and places value into visible input
|
||||||
|
case 'e':
|
||||||
|
case 'Enter':
|
||||||
|
self._editTag(e);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'ArrowLeft':
|
||||||
|
// select the previous tag or input if no more tags exist
|
||||||
|
var previous = el.closest('li').previousElementSibling;
|
||||||
|
if (previous.matches('li')) {
|
||||||
|
previous.querySelector('a').focus();
|
||||||
|
} else {
|
||||||
|
self._focus();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'ArrowRight':
|
||||||
|
self._nextTag(e);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'ArrowDown':
|
||||||
|
self._focus(e);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
li.append(el);
|
||||||
|
|
||||||
|
li.inputosaurusKey = v.key;
|
||||||
|
li.inputosaurusValue = v.obj.toLine(false, false, false);
|
||||||
|
|
||||||
|
li.addEventListener("dragstart", e => {
|
||||||
|
e.dataTransfer.setData(contentType, li.inputosaurusValue);
|
||||||
|
e.dataTransfer.setDragImage(li, 0, 0);
|
||||||
|
e.dataTransfer.effectAllowed = 'move';
|
||||||
|
li.style.opacity = 0.25;
|
||||||
|
removeDragged = () => self._removeDraggedTag(li);
|
||||||
|
});
|
||||||
|
li.addEventListener("dragend", () => li.style.opacity = null);
|
||||||
|
|
||||||
|
els.inputCont.before(li);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
_removeTag(ev) {
|
||||||
|
ev.preventDefault();
|
||||||
|
|
||||||
|
var target = ev.currentTarget,
|
||||||
|
key = target.closest('li').inputosaurusKey,
|
||||||
|
self = this,
|
||||||
|
indexFound = self._chosenValues.findIndex(v => key === v.key);
|
||||||
|
|
||||||
|
indexFound > -1 && self._chosenValues.splice(indexFound, 1);
|
||||||
|
|
||||||
|
self._setValue(self._buildValue());
|
||||||
|
|
||||||
|
target.closest('li').remove();
|
||||||
|
setTimeout(() => self.elements.input.focus(), 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
_removeDraggedTag(li) {
|
||||||
var
|
var
|
||||||
widget = this,
|
key = li.inputosaurusKey,
|
||||||
$li = $('<li data-inputosaurus="' + key + '" title="' + obj.toLine(false, false, true) +
|
self = this,
|
||||||
'"><a href="javascript:void(0);" class="ficon">✖</a><span>' +
|
indexFound = self._chosenValues.findIndex(v => key === v.key)
|
||||||
obj.toLine(true, false, true) + '</span></li>')
|
|
||||||
;
|
;
|
||||||
|
if (-1 < indexFound)
|
||||||
$li.data('inputosaurus-value', obj.toLine(false, false, false));
|
|
||||||
|
|
||||||
if (this.options.allowDragAndDrop)
|
|
||||||
{
|
{
|
||||||
$li.draggable({
|
self._chosenValues.splice(indexFound, 1);
|
||||||
'revert': 'invalid',
|
self._setValue(self._buildValue());
|
||||||
'revertDuration': 200,
|
|
||||||
'start': (event, ui) => ui.helper.__widget = widget
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $li;
|
li.remove();
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_renderTags : function() {
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
this.elements.ul.find('li:not(.inputosaurus-required)').remove();
|
|
||||||
|
|
||||||
$.each(this._chosenValues, (k, v) => {
|
|
||||||
var el = self._createTag(v.value, v.key, v.obj);
|
|
||||||
if (el) {
|
|
||||||
self.elements.ul.find('li.inputosaurus-input').before(el);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_removeTag : function(ev) {
|
|
||||||
var key = $(ev.currentTarget).closest('li').data('inputosaurus'),
|
|
||||||
indexFound = false,
|
|
||||||
widget = (ev && ev.data.widget) || this;
|
|
||||||
|
|
||||||
|
|
||||||
$.each(widget._chosenValues, (k,v) => {
|
|
||||||
if(key === v.key){
|
|
||||||
indexFound = k;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
indexFound !== false && widget._chosenValues.splice(indexFound, 1);
|
|
||||||
|
|
||||||
widget._setValue(widget._buildValue());
|
|
||||||
|
|
||||||
$(ev.currentTarget).closest('li').remove();
|
|
||||||
setTimeout(() => widget.elements.input.focus(), 100);
|
|
||||||
},
|
|
||||||
|
|
||||||
_removeDraggedTag : function ($li) {
|
|
||||||
var
|
|
||||||
key = $li.data('inputosaurus'),
|
|
||||||
widget = this,
|
|
||||||
indexFound = false
|
|
||||||
;
|
|
||||||
|
|
||||||
$.each(widget._chosenValues, (k,v) => {
|
|
||||||
if (key === v.key) {
|
|
||||||
|
|
||||||
indexFound = k;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (false !== indexFound)
|
|
||||||
{
|
|
||||||
widget._chosenValues.splice(indexFound, 1);
|
|
||||||
widget._setValue(widget._buildValue());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$li.remove();
|
focus () {
|
||||||
},
|
|
||||||
|
|
||||||
focus : function () {
|
|
||||||
this.elements.input.focus();
|
this.elements.input.focus();
|
||||||
},
|
}
|
||||||
|
|
||||||
blur : function () {
|
blur() {
|
||||||
this.elements.input.blur();
|
this.elements.input.blur();
|
||||||
},
|
|
||||||
|
|
||||||
_focus : function(ev) {
|
|
||||||
var
|
|
||||||
widget = (ev && ev.data.widget) || this,
|
|
||||||
li = (ev && ev.target) ? $(ev.target).closest('li') : null
|
|
||||||
;
|
|
||||||
|
|
||||||
if (li && li.is('li')) {
|
|
||||||
li.find('a').focus();
|
|
||||||
}
|
}
|
||||||
if (!ev || !$(ev.target).closest('li').data('inputosaurus')) {
|
|
||||||
widget.elements.input.focus();
|
_focus(ev) {
|
||||||
|
var li = ev && ev.target && ev.target.closest('li');
|
||||||
|
if (li && li.inputosaurusKey) {
|
||||||
|
li.querySelector('a').focus();
|
||||||
|
} else {
|
||||||
|
this.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
_tagFocus : ev => $(ev.currentTarget).parent()[ev.type === 'focusout' ? 'removeClass' : 'addClass']('inputosaurus-selected'),
|
refresh() {
|
||||||
|
var self = this,
|
||||||
refresh : function() {
|
val = self.element.value,
|
||||||
var delim = ',',
|
|
||||||
val = this.element.val(),
|
|
||||||
values = [];
|
values = [];
|
||||||
|
|
||||||
values.push(val);
|
values.push(val);
|
||||||
|
|
||||||
if (val) {
|
if (val) {
|
||||||
if ($.isFunction(this.options.splitHook)) {
|
var hook = self.options.splitHook(val);
|
||||||
var hook = this.options.splitHook(val);
|
|
||||||
if (hook) {
|
if (hook) {
|
||||||
values = hook;
|
values = hook;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
delim && (values = val.split(delim));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (values.length) {
|
if (values.length) {
|
||||||
this._chosenValues = [];
|
self._chosenValues = [];
|
||||||
|
|
||||||
values = this.options.parseHook(values);
|
values = self.options.parseHook(values);
|
||||||
|
|
||||||
this._setChosen(values);
|
self._setChosen(values);
|
||||||
this._renderTags();
|
self._renderTags();
|
||||||
this.elements.input.val('');
|
self.elements.input.value = '';
|
||||||
this._resizeInput();
|
self.resizeInput();
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_attachEvents : function() {
|
|
||||||
|
|
||||||
var widget = this, els = this.elements;
|
|
||||||
if (els) {
|
|
||||||
els.input.on('keyup.inputosaurus', {widget : widget}, this._inputKeypress);
|
|
||||||
els.input.on('keydown.inputosaurus', {widget : widget}, this._inputKeypress);
|
|
||||||
els.input.on('change.inputosaurus', {widget : widget}, this._inputKeypress);
|
|
||||||
els.input.on('focus.inputosaurus', {widget : widget}, this._inputFocus);
|
|
||||||
|
|
||||||
this.options.parseOnBlur && els.input.on('blur.inputosaurus', {widget : widget}, this.parseInput);
|
|
||||||
|
|
||||||
els.ul.on('click.inputosaurus', {widget : widget}, this._focus);
|
|
||||||
els.ul.on('click.inputosaurus', 'a', {widget : widget}, this._removeTag);
|
|
||||||
els.ul.on('dblclick.inputosaurus', 'li', {widget : widget}, this._editTag);
|
|
||||||
els.ul.on('doubletap.inputosaurus', 'li', {widget : widget}, this._editTag);
|
|
||||||
els.ul.on('focus.inputosaurus', 'a', {widget : widget}, this._tagFocus);
|
|
||||||
els.ul.on('blur.inputosaurus', 'a', {widget : widget}, this._tagFocus);
|
|
||||||
els.ul.on('keydown.inputosaurus', 'a', {widget : widget}, this._tagKeypress);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_destroy: function() {
|
|
||||||
var els = this.elements;
|
|
||||||
if (els) {
|
|
||||||
els.input.off('.inputosaurus');
|
|
||||||
els.ul.replaceWith(this.element);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
|
||||||
})(jQuery);
|
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
|
||||||
245
vendors/jquery-ui/AUTHORS.txt
vendored
|
|
@ -1,245 +0,0 @@
|
||||||
Authors ordered by first contribution
|
|
||||||
A list of current team members is available at http://jqueryui.com/about
|
|
||||||
|
|
||||||
Paul Bakaus <paul.bakaus@googlemail.com>
|
|
||||||
Richard Worth <rdworth@gmail.com>
|
|
||||||
Yehuda Katz <wycats@gmail.com>
|
|
||||||
Sean Catchpole <sean@sunsean.com>
|
|
||||||
John Resig <jeresig@gmail.com>
|
|
||||||
Tane Piper <piper.tane@gmail.com>
|
|
||||||
Dmitri Gaskin <dmitrig01@gmail.com>
|
|
||||||
Klaus Hartl <klaus.hartl@googlemail.com>
|
|
||||||
Stefan Petre <stefan.petre@gmail.com>
|
|
||||||
Gilles van den Hoven <gilles@webunity.nl>
|
|
||||||
Micheil Bryan Smith <micheil@brandedcode.com>
|
|
||||||
Jörn Zaefferer <joern.zaefferer@gmail.com>
|
|
||||||
Marc Grabanski <m@marcgrabanski.com>
|
|
||||||
Keith Wood <kbwood.au@gmail.com>
|
|
||||||
Brandon Aaron <brandon.aaron@gmail.com>
|
|
||||||
Scott González <scott.gonzalez@gmail.com>
|
|
||||||
Eduardo Lundgren <eduardolundgren@gmail.com>
|
|
||||||
Aaron Eisenberger <aaronchi@gmail.com>
|
|
||||||
Joan Piedra <theneojp@gmail.com>
|
|
||||||
Bruno Basto <b.basto@gmail.com>
|
|
||||||
Remy Sharp <remy@leftlogic.com>
|
|
||||||
Bohdan Ganicky <bohdan.ganicky@gmail.com>
|
|
||||||
David Bolter <david.bolter@gmail.com>
|
|
||||||
Chi Cheng <cloudream@gmail.com>
|
|
||||||
Ca-Phun Ung <pazu2k@gmail.com>
|
|
||||||
Ariel Flesler <aflesler@gmail.com>
|
|
||||||
Maggie Costello Wachs <fg.maggie@gmail.com>
|
|
||||||
Scott Jehl <scott@scottjehl.com>
|
|
||||||
Todd Parker <fg.todd@gmail.com>
|
|
||||||
Andrew Powell <powella@gmail.com>
|
|
||||||
Brant Burnett <btburnett3@gmail.com>
|
|
||||||
Douglas Neiner <doug@pixelgraphics.us>
|
|
||||||
Paul Irish <paul.irish@gmail.com>
|
|
||||||
Ralph Whitbeck <ralph.whitbeck@gmail.com>
|
|
||||||
Thibault Duplessis <thibault.duplessis@gmail.com>
|
|
||||||
Dominique Vincent <dominique.vincent@toitl.com>
|
|
||||||
Jack Hsu <jack.hsu@gmail.com>
|
|
||||||
Adam Sontag <ajpiano@ajpiano.com>
|
|
||||||
Carl Fürstenberg <carl@excito.com>
|
|
||||||
Kevin Dalman <development@allpro.net>
|
|
||||||
Alberto Fernández Capel <afcapel@gmail.com>
|
|
||||||
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
|
|
||||||
Ting Kuei <ting@kuei.com>
|
|
||||||
Samuel Cormier-Iijima <sam@chide.it>
|
|
||||||
Jon Palmer <jonspalmer@gmail.com>
|
|
||||||
Ben Hollis <bhollis@amazon.com>
|
|
||||||
Justin MacCarthy <Justin@Rubystars.biz>
|
|
||||||
Eyal Kobrigo <kobrigo@hotmail.com>
|
|
||||||
Tiago Freire <tiago.freire@gmail.com>
|
|
||||||
Diego Tres <diegotres@gmail.com>
|
|
||||||
Holger Rüprich <holger@rueprich.de>
|
|
||||||
Ziling Zhao <zizhao@cisco.com>
|
|
||||||
Mike Alsup <malsup@gmail.com>
|
|
||||||
Robson Braga Araujo <robsonbraga@gmail.com>
|
|
||||||
Pierre-Henri Ausseil <ph.ausseil@gmail.com>
|
|
||||||
Christopher McCulloh <cmcculloh@gmail.com>
|
|
||||||
Andrew Newcomb <ext.github@preceptsoftware.co.uk>
|
|
||||||
Lim Chee Aun <cheeaun@gmail.com>
|
|
||||||
Jorge Barreiro <yortx.barry@gmail.com>
|
|
||||||
Daniel Steigerwald <daniel@steigerwald.cz>
|
|
||||||
John Firebaugh <john_firebaugh@bigfix.com>
|
|
||||||
John Enters <github@darkdark.net>
|
|
||||||
Andrey Kapitcyn <ru.m157y@gmail.com>
|
|
||||||
Dmitry Petrov <dpetroff@gmail.com>
|
|
||||||
Eric Hynds <eric@hynds.net>
|
|
||||||
Chairat Sunthornwiphat <pipo@sixhead.com>
|
|
||||||
Josh Varner <josh.varner@gmail.com>
|
|
||||||
Stéphane Raimbault <stephane.raimbault@gmail.com>
|
|
||||||
Jay Merrifield <fracmak@gmail.com>
|
|
||||||
J. Ryan Stinnett <jryans@gmail.com>
|
|
||||||
Peter Heiberg <peter@heiberg.se>
|
|
||||||
Alex Dovenmuehle <adovenmuehle@gmail.com>
|
|
||||||
Jamie Gegerson <git@jamiegegerson.com>
|
|
||||||
Raymond Schwartz <skeetergraphics@gmail.com>
|
|
||||||
Phillip Barnes <philbar@gmail.com>
|
|
||||||
Kyle Wilkinson <kai@wikyd.org>
|
|
||||||
Khaled AlHourani <me@khaledalhourani.com>
|
|
||||||
Marian Rudzynski <mr@impaled.org>
|
|
||||||
Jean-Francois Remy <jfremy@virtuoz.com>
|
|
||||||
Doug Blood <dougblood@gmail.com>
|
|
||||||
Filippo Cavallarin <filippo.cavallarin@codseq.it>
|
|
||||||
Heiko Henning <h.henning@educa.ch>
|
|
||||||
Aliaksandr Rahalevich <saksmlz@gmail.com>
|
|
||||||
Mario Visic <mario@mariovisic.com>
|
|
||||||
Xavi Ramirez <xavi.rmz@gmail.com>
|
|
||||||
Max Schnur <max.schnur@gmail.com>
|
|
||||||
Saji Nediyanchath <saji89@gmail.com>
|
|
||||||
Corey Frang <gnarf@gnarf.net>
|
|
||||||
Aaron Peterson <aaronp123@yahoo.com>
|
|
||||||
Ivan Peters <ivan@ivanpeters.com>
|
|
||||||
Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
|
|
||||||
Marcos Sousa <falecomigo@marcossousa.com>
|
|
||||||
Michael DellaNoce <mdellanoce@mailtrust.com>
|
|
||||||
George Marshall <echosx@gmail.com>
|
|
||||||
Tobias Brunner <tobias@strongswan.org>
|
|
||||||
Martin Solli <msolli@gmail.com>
|
|
||||||
David Petersen <public@petersendidit.com>
|
|
||||||
Dan Heberden <danheberden@gmail.com>
|
|
||||||
William Kevin Manire <williamkmanire@gmail.com>
|
|
||||||
Gilmore Davidson <gilmoreorless@gmail.com>
|
|
||||||
Michael Wu <michaelmwu@gmail.com>
|
|
||||||
Adam Parod <mystic414@gmail.com>
|
|
||||||
Guillaume Gautreau <guillaume+github@ghusse.com>
|
|
||||||
Marcel Toele <EleotleCram@gmail.com>
|
|
||||||
Dan Streetman <ddstreet@ieee.org>
|
|
||||||
Matt Hoskins <furlined@cat-basket.org>
|
|
||||||
Giovanni Giacobbi <giovanni@giacobbi.net>
|
|
||||||
Kyle Florence <kyle.florence@gmail.com>
|
|
||||||
Pavol Hluchý <lopo@losys.sk>
|
|
||||||
Hans Hillen <hans.hillen@gmail.com>
|
|
||||||
Mark Johnson <virgofx@live.com>
|
|
||||||
Trey Hunner <treyhunner@gmail.com>
|
|
||||||
Shane Whittet <whittet@gmail.com>
|
|
||||||
Edward A Faulkner <ef@alum.mit.edu>
|
|
||||||
Adam Baratz <adam@adambaratz.com>
|
|
||||||
Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
|
|
||||||
Eike Send <eike.send@gmail.com>
|
|
||||||
Kris Borchers <kris.borchers@gmail.com>
|
|
||||||
Eddie Monge <eddie@eddiemonge.com>
|
|
||||||
Israel Tsadok <itsadok@gmail.com>
|
|
||||||
Carson McDonald <carson@ioncannon.net>
|
|
||||||
Jason Davies <jason@jasondavies.com>
|
|
||||||
Garrison Locke <gplocke@gmail.com>
|
|
||||||
David Murdoch <musicisair@yahoo.com>
|
|
||||||
Benjamin Scott Boyle <benjamins.boyle@gmail.com>
|
|
||||||
Jesse Baird <jebaird@gmail.com>
|
|
||||||
Jonathan Vingiano <jvingiano@gmail.com>
|
|
||||||
Dylan Just <dev@ephox.com>
|
|
||||||
Hiroshi Tomita <tomykaira@gmail.com>
|
|
||||||
Glenn Goodrich <glenn.goodrich@gmail.com>
|
|
||||||
Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
|
|
||||||
Ryan Neufeld <ryan@neufeldmail.com>
|
|
||||||
Marc Neuwirth <marc.neuwirth@gmail.com>
|
|
||||||
Philip Graham <philip.robert.graham@gmail.com>
|
|
||||||
Benjamin Sterling <benjamin.sterling@kenzomedia.com>
|
|
||||||
Wesley Walser <waw325@gmail.com>
|
|
||||||
Kouhei Sutou <kou@clear-code.com>
|
|
||||||
Karl Kirch <karlkrch@gmail.com>
|
|
||||||
Chris Kelly <ckdake@ckdake.com>
|
|
||||||
Jay Oster <jay@loyalize.com>
|
|
||||||
Alexander Polomoshnov <alex.polomoshnov@gmail.com>
|
|
||||||
David Leal <dgleal@gmail.com>
|
|
||||||
Igor Milla <igor.fsp.milla@gmail.com>
|
|
||||||
Dave Methvin <dave.methvin@gmail.com>
|
|
||||||
Florian Gutmann <f.gutmann@chronimo.com>
|
|
||||||
Marwan Al Jubeh <marwan.aljubeh@gmail.com>
|
|
||||||
Milan Broum <midlis@googlemail.com>
|
|
||||||
Sebastian Sauer <info@dynpages.de>
|
|
||||||
Gaëtan Muller <m.gaetan89@gmail.com>
|
|
||||||
Michel Weimerskirch <michel@weimerskirch.net>
|
|
||||||
William Griffiths <william@ycymro.com>
|
|
||||||
Stojce Slavkovski <stojce@gmail.com>
|
|
||||||
David Soms <david.soms@gmail.com>
|
|
||||||
David De Sloovere <david.desloovere@hotmail.com>
|
|
||||||
Michael P. Jung <michael.jung@terreon.de>
|
|
||||||
Shannon Pekary <spekary@gmail.com>
|
|
||||||
Matthew Edward Hutton <meh@corefiling.co.uk>
|
|
||||||
James Khoury <james@jameskhoury.com>
|
|
||||||
Rob Loach <robloach@gmail.com>
|
|
||||||
Alberto Monteiro <betimbrasil@gmail.com>
|
|
||||||
Alex Rhea <alex.rhea@gmail.com>
|
|
||||||
Krzysztof Rosiński <rozwell69@gmail.com>
|
|
||||||
Ryan Olton <oltonr@gmail.com>
|
|
||||||
Genie <386@mail.com>
|
|
||||||
Rick Waldron <waldron.rick@gmail.com>
|
|
||||||
Ian Simpson <spoonlikesham@gmail.com>
|
|
||||||
Lev Kitsis <spam4lev@gmail.com>
|
|
||||||
TJ VanToll <tj.vantoll@gmail.com>
|
|
||||||
Justin Domnitz <jdomnitz@gmail.com>
|
|
||||||
Douglas Cerna <douglascerna@yahoo.com>
|
|
||||||
Bert ter Heide <bertjh@hotmail.com>
|
|
||||||
Jasvir Nagra <jasvir@gmail.com>
|
|
||||||
Petr Hromadko <yuriy@tokyoscale.com>
|
|
||||||
Harri Kilpiö <harri.kilpio@gmail.com>
|
|
||||||
Lado Lomidze <lado.lomidze@gmail.com>
|
|
||||||
Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
|
|
||||||
Simon Sattes <simon.sattes@gmail.com>
|
|
||||||
Jo Liss <joliss42@gmail.com>
|
|
||||||
Guntupalli Karunakar <karunakarg@yahoo.com>
|
|
||||||
Shahyar Ghobadpour <shahyar@gmail.com>
|
|
||||||
Lukasz Lipinski <uzza17@gmail.com>
|
|
||||||
Timo Tijhof <krinklemail@gmail.com>
|
|
||||||
Jason Moon <jmoon@socialcast.com>
|
|
||||||
Martin Frost <martinf55@hotmail.com>
|
|
||||||
Eneko Illarramendi <eneko@illarra.com>
|
|
||||||
EungJun Yi <semtlenori@gmail.com>
|
|
||||||
Courtland Allen <courtlandallen@gmail.com>
|
|
||||||
Viktar Varvanovich <non4eg@gmail.com>
|
|
||||||
Danny Trunk <dtrunk90@gmail.com>
|
|
||||||
Pavel Stetina <pavel.stetina@nangu.tv>
|
|
||||||
Michael Stay <metaweta@gmail.com>
|
|
||||||
Steven Roussey <sroussey@gmail.com>
|
|
||||||
Michael Hollis <hollis21@gmail.com>
|
|
||||||
Lee Rowlands <lee.rowlands@previousnext.com.au>
|
|
||||||
Timmy Willison <timmywillisn@gmail.com>
|
|
||||||
Karl Swedberg <kswedberg@gmail.com>
|
|
||||||
Baoju Yuan <the_guy_1987@hotmail.com>
|
|
||||||
Maciej Mroziński <mrozik87@gmail.com>
|
|
||||||
Luis Dalmolin <luis.nh@gmail.com>
|
|
||||||
Mark Aaron Shirley <maspwr@gmail.com>
|
|
||||||
Martin Hoch <martin@fidion.de>
|
|
||||||
Jiayi Yang <tr870829@gmail.com>
|
|
||||||
Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
|
|
||||||
Sindre Sorhus <sindresorhus@gmail.com>
|
|
||||||
Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
|
|
||||||
Jared A. Scheel <jared@jaredscheel.com>
|
|
||||||
Rafael Xavier de Souza <rxaviers@gmail.com>
|
|
||||||
John Chen <zhang.z.chen@intel.com>
|
|
||||||
Dale Kocian <dale.kocian@gmail.com>
|
|
||||||
Mike Sherov <mike.sherov@gmail.com>
|
|
||||||
Andrew Couch <andy@couchand.com>
|
|
||||||
Marc-Andre Lafortune <github@marc-andre.ca>
|
|
||||||
Nate Eagle <nate.eagle@teamaol.com>
|
|
||||||
David Souther <davidsouther@gmail.com>
|
|
||||||
Mathias Stenbom <mathias@stenbom.com>
|
|
||||||
Sergey Kartashov <ebishkek@yandex.ru>
|
|
||||||
Avinash R <nashpapa@gmail.com>
|
|
||||||
Ethan Romba <ethanromba@gmail.com>
|
|
||||||
Cory Gackenheimer <cory.gack@gmail.com>
|
|
||||||
Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
|
|
||||||
Roman Salnikov <bardt.dz@gmail.com>
|
|
||||||
Anika Henke <anika@selfthinker.org>
|
|
||||||
Samuel Bovée <samycookie2000@yahoo.fr>
|
|
||||||
Fabrício Matté <ult_combo@hotmail.com>
|
|
||||||
Viktor Kojouharov <vkojouharov@gmail.com>
|
|
||||||
Pawel Maruszczyk <lord_t@o2.pl>
|
|
||||||
Pavel Selitskas <p.selitskas@gmail.com>
|
|
||||||
Bjørn Johansen <bjorn.johansen@metronet.no>
|
|
||||||
Matthieu Penant <thieum22@hotmail.com>
|
|
||||||
Dominic Barnes <dominic@dbarnes.info>
|
|
||||||
David Sullivan <david.sullivan@gmail.com>
|
|
||||||
Thomas Jaggi <thomas.jaggi@gmail.com>
|
|
||||||
Vahid Sohrabloo <vahid4134@gmail.com>
|
|
||||||
Travis Carden <travis.carden@gmail.com>
|
|
||||||
Bruno M. Custódio <bruno@brunomcustodio.com>
|
|
||||||
Nathanael Silverman <nathanael.silverman@gmail.com>
|
|
||||||
Christian Wenz <christian@wenz.org>
|
|
||||||
Steve Urmston <steve@urm.st>
|
|
||||||
Zaven Muradyan <megalivoithos@gmail.com>
|
|
||||||
Woody Gilk <shadowhand@deviantart.com>
|
|
||||||
Zbigniew Motyka <zbigniew.motyka@gmail.com>
|
|
||||||
Suhail Alkowaileet <xsoh.k7@gmail.com>
|
|
||||||
26
vendors/jquery-ui/MIT-LICENSE.txt
vendored
|
|
@ -1,26 +0,0 @@
|
||||||
Copyright 2013 jQuery Foundation and other contributors,
|
|
||||||
http://jqueryui.com/
|
|
||||||
|
|
||||||
This software consists of voluntary contributions made by many
|
|
||||||
individuals (AUTHORS.txt, http://jqueryui.com/about) For exact
|
|
||||||
contribution history, see the revision history and logs, available
|
|
||||||
at http://jquery-ui.googlecode.com/svn/
|
|
||||||
|
|
||||||
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.
|
|
||||||
99
vendors/jquery-ui/README.md
vendored
|
|
@ -1,99 +0,0 @@
|
||||||
[jQuery UI](http://jqueryui.com/) - Interactions and Widgets for the web
|
|
||||||
================================
|
|
||||||
|
|
||||||
jQuery UI provides interactions like Drag and Drop and widgets like Autocomplete, Tabs and Slider and makes these as easy to use as jQuery itself.
|
|
||||||
|
|
||||||
If you want to use jQuery UI, go to [jqueryui.com](http://jqueryui.com) to get started. Or visit the [Using jQuery UI Forum](http://forum.jquery.com/using-jquery-ui) for discussions and questions.
|
|
||||||
|
|
||||||
If you are interested in helping develop jQuery UI, you are in the right place.
|
|
||||||
To discuss development with team members and the community, visit the [Developing jQuery UI Forum](http://forum.jquery.com/developing-jquery-ui) or in #jquery on irc.freednode.net.
|
|
||||||
|
|
||||||
|
|
||||||
For contributors
|
|
||||||
---
|
|
||||||
|
|
||||||
If you want to help and provide a patch for a bugfix or new feature, please take
|
|
||||||
a few minutes and look at [our Getting Involved guide](http://wiki.jqueryui.com/w/page/35263114/Getting-Involved).
|
|
||||||
In particular check out the [Coding standards](http://wiki.jqueryui.com/w/page/12137737/Coding-standards)
|
|
||||||
and [Commit Message Style Guide](http://wiki.jqueryui.com/w/page/25941597/Commit-Message-Style-Guide).
|
|
||||||
|
|
||||||
In general, fork the project, create a branch for a specific change and send a
|
|
||||||
pull request for that branch. Don't mix unrelated changes. You can use the commit
|
|
||||||
message as the description for the pull request.
|
|
||||||
|
|
||||||
|
|
||||||
Running the Unit Tests
|
|
||||||
---
|
|
||||||
|
|
||||||
Run the unit tests with a local server that supports PHP. No database is required. Pre-configured php local servers are available for Windows and Mac. Here are some options:
|
|
||||||
|
|
||||||
- Windows: [WAMP download](http://www.wampserver.com/en/)
|
|
||||||
- Mac: [MAMP download](http://www.mamp.info/en/index.html)
|
|
||||||
- Linux: [Setting up LAMP](https://www.linux.com/learn/tutorials/288158-easy-lamp-server-installation)
|
|
||||||
- [Mongoose (most platforms)](http://code.google.com/p/mongoose/)
|
|
||||||
|
|
||||||
|
|
||||||
Building jQuery UI
|
|
||||||
---
|
|
||||||
|
|
||||||
jQuery UI uses the [grunt](http://github.com/cowboy/grunt) build system. Building jQuery UI requires node.js and a command line zip program.
|
|
||||||
|
|
||||||
Install grunt.
|
|
||||||
|
|
||||||
`npm install grunt -g`
|
|
||||||
|
|
||||||
Clone the jQuery UI git repo.
|
|
||||||
|
|
||||||
`git clone git://github.com/jquery/jquery-ui.git`
|
|
||||||
|
|
||||||
`cd jquery-ui`
|
|
||||||
|
|
||||||
Install node modules.
|
|
||||||
|
|
||||||
`npm install`
|
|
||||||
|
|
||||||
Run grunt.
|
|
||||||
|
|
||||||
`grunt build`
|
|
||||||
|
|
||||||
There are many other tasks that can be run through grunt. For a list of all tasks:
|
|
||||||
|
|
||||||
`grunt --help`
|
|
||||||
|
|
||||||
|
|
||||||
For committers
|
|
||||||
---
|
|
||||||
|
|
||||||
When looking at pull requests, first check for [proper commit messages](http://wiki.jqueryui.com/w/page/12137724/Bug-Fixing-Guide).
|
|
||||||
|
|
||||||
Do not merge pull requests directly through GitHub's interface.
|
|
||||||
Most pull requests are a single commit; cherry-picking will avoid creating a merge commit.
|
|
||||||
It's also common for contributors to make minor fixes in an additional one or two commits.
|
|
||||||
These should be squashed before landing in master.
|
|
||||||
|
|
||||||
**Make sure the author has a valid name and email address associated with the commit.**
|
|
||||||
|
|
||||||
Fetch the remote first:
|
|
||||||
|
|
||||||
git fetch [their-fork.git] [their-branch]
|
|
||||||
|
|
||||||
Then cherry-pick the commit(s):
|
|
||||||
|
|
||||||
git cherry-pick [sha-of-commit]
|
|
||||||
|
|
||||||
If you need to edit the commit message:
|
|
||||||
|
|
||||||
git cherry-pick -e [sha-of-commit]
|
|
||||||
|
|
||||||
If you need to edit the changes:
|
|
||||||
|
|
||||||
git cherry-pick -n [sha-of-commit]
|
|
||||||
# make changes
|
|
||||||
git commit --author="[author-name-and-email]"
|
|
||||||
|
|
||||||
If it should go to the stable brach, cherry-pick it to stable:
|
|
||||||
|
|
||||||
git checkout 1-8-stable
|
|
||||||
git cherry-pick -x [sha-of-commit-from-master]
|
|
||||||
|
|
||||||
*NOTE: Do not cherry-pick into 1-8-stable until you have pushed the commit from master upstream.*
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
/*! jQuery UI - v1.12.1 - 2016-09-14
|
|
||||||
* http://jqueryui.com
|
|
||||||
* Includes: core.css, resizable.css
|
|
||||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
|
||||||
|
|
||||||
/* Layout helpers
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-helper-hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ui-helper-hidden-accessible {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0 0 0 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
.ui-helper-reset {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
outline: 0;
|
|
||||||
line-height: 1.3;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 100%;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
.ui-helper-clearfix:before,
|
|
||||||
.ui-helper-clearfix:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
.ui-helper-clearfix:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.ui-helper-zfix {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
position: absolute;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-front {
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Interaction Cues
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-disabled {
|
|
||||||
cursor: default !important;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Icons
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-icon {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-top: -.25em;
|
|
||||||
position: relative;
|
|
||||||
text-indent: -99999px;
|
|
||||||
overflow: hidden;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-widget-icon-block {
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -8px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc visuals
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* Overlays */
|
|
||||||
.ui-widget-overlay {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
/*! jQuery UI - v1.12.1 - 2016-09-14
|
|
||||||
* http://jqueryui.com
|
|
||||||
* Includes: core.css, resizable.css
|
|
||||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
|
||||||
|
|
||||||
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}
|
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 335 B |
|
Before Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 332 B |
|
Before Width: | Height: | Size: 280 B |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
|
@ -1,576 +0,0 @@
|
||||||
/*! jQuery UI - v1.10.3 - 2013-11-25
|
|
||||||
* http://jqueryui.com
|
|
||||||
* Includes: jquery.ui.core.css, jquery.ui.selectable.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css
|
|
||||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
|
||||||
|
|
||||||
/* Layout helpers
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-helper-hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ui-helper-hidden-accessible {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0 0 0 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
.ui-helper-reset {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
outline: 0;
|
|
||||||
line-height: 1.3;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 100%;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
.ui-helper-clearfix:before,
|
|
||||||
.ui-helper-clearfix:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
.ui-helper-clearfix:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.ui-helper-zfix {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
position: absolute;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-front {
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Interaction Cues
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-disabled {
|
|
||||||
cursor: default !important;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Icons
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* states and images */
|
|
||||||
.ui-icon {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-top: -.25em;
|
|
||||||
position: relative;
|
|
||||||
text-indent: -99999px;
|
|
||||||
overflow: hidden;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-widget-icon-block {
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -8px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc visuals
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* Overlays */
|
|
||||||
.ui-widget-overlay {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.ui-selectable-helper {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 100;
|
|
||||||
border: 1px dotted black;
|
|
||||||
}
|
|
||||||
.ui-autocomplete {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
.ui-menu {
|
|
||||||
list-style: none;
|
|
||||||
padding: 2px;
|
|
||||||
margin: 0;
|
|
||||||
display: block;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu {
|
|
||||||
margin-top: -3px;
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-item {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
width: 100%;
|
|
||||||
/* support: IE10, see #8844 */
|
|
||||||
list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-divider {
|
|
||||||
margin: 5px -2px 5px -2px;
|
|
||||||
height: 0;
|
|
||||||
font-size: 0;
|
|
||||||
line-height: 0;
|
|
||||||
border-width: 1px 0 0 0;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-item a {
|
|
||||||
text-decoration: none;
|
|
||||||
display: block;
|
|
||||||
padding: 2px .4em;
|
|
||||||
line-height: 1.5;
|
|
||||||
min-height: 0; /* support: IE7 */
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-item a.ui-state-focus,
|
|
||||||
.ui-menu .ui-menu-item a.ui-state-active {
|
|
||||||
font-weight: normal;
|
|
||||||
margin: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-menu .ui-state-disabled {
|
|
||||||
font-weight: normal;
|
|
||||||
margin: .4em 0 .2em;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-state-disabled a {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* icon support */
|
|
||||||
.ui-menu-icons {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.ui-menu-icons .ui-menu-item a {
|
|
||||||
position: relative;
|
|
||||||
padding-left: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* left-aligned */
|
|
||||||
.ui-menu .ui-icon {
|
|
||||||
position: absolute;
|
|
||||||
top: .2em;
|
|
||||||
left: .2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* right-aligned */
|
|
||||||
.ui-menu .ui-menu-icon {
|
|
||||||
position: static;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Component containers
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-widget {
|
|
||||||
font-family: Verdana,Arial,sans-serif;
|
|
||||||
font-size: 1.1em;
|
|
||||||
}
|
|
||||||
.ui-widget .ui-widget {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
.ui-widget input,
|
|
||||||
.ui-widget select,
|
|
||||||
.ui-widget textarea,
|
|
||||||
.ui-widget button {
|
|
||||||
font-family: Verdana,Arial,sans-serif;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
.ui-widget-content {
|
|
||||||
border: 1px solid #aaaaaa;
|
|
||||||
/*background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;*/
|
|
||||||
background: #ffffff;
|
|
||||||
color: #222222;
|
|
||||||
}
|
|
||||||
.ui-widget-content a {
|
|
||||||
color: #222222;
|
|
||||||
}
|
|
||||||
.ui-widget-header {
|
|
||||||
border: 1px solid #aaaaaa;
|
|
||||||
/*background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;*/
|
|
||||||
background: #cccccc;
|
|
||||||
color: #222222;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.ui-widget-header a {
|
|
||||||
color: #222222;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interaction states
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-default,
|
|
||||||
.ui-widget-content .ui-state-default,
|
|
||||||
.ui-widget-header .ui-state-default {
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
/*background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;*/
|
|
||||||
background: #eee;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #555555;
|
|
||||||
}
|
|
||||||
.ui-state-default a,
|
|
||||||
.ui-state-default a:link,
|
|
||||||
.ui-state-default a:visited {
|
|
||||||
color: #555555;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.ui-state-hover,
|
|
||||||
.ui-widget-content .ui-state-hover,
|
|
||||||
.ui-widget-header .ui-state-hover,
|
|
||||||
.ui-state-focus,
|
|
||||||
.ui-widget-content .ui-state-focus,
|
|
||||||
.ui-widget-header .ui-state-focus {
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
/* background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;*/
|
|
||||||
background: #eee;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #212121;
|
|
||||||
}
|
|
||||||
.ui-state-hover a,
|
|
||||||
.ui-state-hover a:hover,
|
|
||||||
.ui-state-hover a:link,
|
|
||||||
.ui-state-hover a:visited {
|
|
||||||
color: #212121;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.ui-state-active,
|
|
||||||
.ui-widget-content .ui-state-active,
|
|
||||||
.ui-widget-header .ui-state-active {
|
|
||||||
border: 1px solid #aaaaaa;
|
|
||||||
/*background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;*/
|
|
||||||
background: #fff;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #212121;
|
|
||||||
}
|
|
||||||
.ui-state-active a,
|
|
||||||
.ui-state-active a:link,
|
|
||||||
.ui-state-active a:visited {
|
|
||||||
color: #212121;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interaction Cues
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-highlight,
|
|
||||||
.ui-widget-content .ui-state-highlight,
|
|
||||||
.ui-widget-header .ui-state-highlight {
|
|
||||||
border: 1px solid #fcefa1;
|
|
||||||
/*background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;*/
|
|
||||||
background: #fbf9ee;
|
|
||||||
color: #363636;
|
|
||||||
}
|
|
||||||
.ui-state-highlight a,
|
|
||||||
.ui-widget-content .ui-state-highlight a,
|
|
||||||
.ui-widget-header .ui-state-highlight a {
|
|
||||||
color: #363636;
|
|
||||||
}
|
|
||||||
.ui-state-error,
|
|
||||||
.ui-widget-content .ui-state-error,
|
|
||||||
.ui-widget-header .ui-state-error {
|
|
||||||
border: 1px solid #cd0a0a;
|
|
||||||
/*background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;*/
|
|
||||||
background: #fef1ec;
|
|
||||||
color: #cd0a0a;
|
|
||||||
}
|
|
||||||
.ui-state-error a,
|
|
||||||
.ui-widget-content .ui-state-error a,
|
|
||||||
.ui-widget-header .ui-state-error a {
|
|
||||||
color: #cd0a0a;
|
|
||||||
}
|
|
||||||
.ui-state-error-text,
|
|
||||||
.ui-widget-content .ui-state-error-text,
|
|
||||||
.ui-widget-header .ui-state-error-text {
|
|
||||||
color: #cd0a0a;
|
|
||||||
}
|
|
||||||
.ui-priority-primary,
|
|
||||||
.ui-widget-content .ui-priority-primary,
|
|
||||||
.ui-widget-header .ui-priority-primary {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.ui-priority-secondary,
|
|
||||||
.ui-widget-content .ui-priority-secondary,
|
|
||||||
.ui-widget-header .ui-priority-secondary {
|
|
||||||
opacity: .7;
|
|
||||||
filter:Alpha(Opacity=70);
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.ui-state-disabled,
|
|
||||||
.ui-widget-content .ui-state-disabled,
|
|
||||||
.ui-widget-header .ui-state-disabled {
|
|
||||||
opacity: .35;
|
|
||||||
filter:Alpha(Opacity=35);
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
.ui-state-disabled .ui-icon {
|
|
||||||
filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* states and images */
|
|
||||||
.ui-icon {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
.ui-icon,
|
|
||||||
.ui-widget-content .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_222222_256x240.png);
|
|
||||||
}
|
|
||||||
.ui-widget-header .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_222222_256x240.png);
|
|
||||||
}
|
|
||||||
.ui-state-default .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_888888_256x240.png);
|
|
||||||
}
|
|
||||||
.ui-state-hover .ui-icon,
|
|
||||||
.ui-state-focus .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_454545_256x240.png);
|
|
||||||
}
|
|
||||||
.ui-state-active .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_454545_256x240.png);
|
|
||||||
}
|
|
||||||
.ui-state-highlight .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_2e83ff_256x240.png);
|
|
||||||
}
|
|
||||||
.ui-state-error .ui-icon,
|
|
||||||
.ui-state-error-text .ui-icon {
|
|
||||||
background-image: url(images/ui-icons_cd0a0a_256x240.png);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/* positioning */
|
|
||||||
/*.ui-icon-blank { background-position: 16px 16px; }
|
|
||||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
|
||||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
|
||||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
|
||||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
|
||||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
|
||||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
|
||||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
|
||||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
|
||||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
|
||||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
|
||||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
|
||||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
|
||||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
|
||||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
|
||||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
|
||||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
|
||||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
|
||||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
|
||||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
|
||||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
|
||||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
|
||||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
|
||||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
|
||||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
|
||||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
|
||||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
|
||||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
|
||||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
|
||||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
|
||||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
|
||||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
|
||||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
|
||||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
|
||||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
|
||||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
|
||||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
|
||||||
.ui-icon-extlink { background-position: -32px -80px; }
|
|
||||||
.ui-icon-newwin { background-position: -48px -80px; }
|
|
||||||
.ui-icon-refresh { background-position: -64px -80px; }
|
|
||||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
|
||||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
|
||||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
|
||||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
|
||||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
|
||||||
.ui-icon-document { background-position: -32px -96px; }
|
|
||||||
.ui-icon-document-b { background-position: -48px -96px; }
|
|
||||||
.ui-icon-note { background-position: -64px -96px; }
|
|
||||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
|
||||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
|
||||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
|
||||||
.ui-icon-comment { background-position: -128px -96px; }
|
|
||||||
.ui-icon-person { background-position: -144px -96px; }
|
|
||||||
.ui-icon-print { background-position: -160px -96px; }
|
|
||||||
.ui-icon-trash { background-position: -176px -96px; }
|
|
||||||
.ui-icon-locked { background-position: -192px -96px; }
|
|
||||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
|
||||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
|
||||||
.ui-icon-tag { background-position: -240px -96px; }
|
|
||||||
.ui-icon-home { background-position: 0 -112px; }
|
|
||||||
.ui-icon-flag { background-position: -16px -112px; }
|
|
||||||
.ui-icon-calendar { background-position: -32px -112px; }
|
|
||||||
.ui-icon-cart { background-position: -48px -112px; }
|
|
||||||
.ui-icon-pencil { background-position: -64px -112px; }
|
|
||||||
.ui-icon-clock { background-position: -80px -112px; }
|
|
||||||
.ui-icon-disk { background-position: -96px -112px; }
|
|
||||||
.ui-icon-calculator { background-position: -112px -112px; }
|
|
||||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
|
||||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
|
||||||
.ui-icon-search { background-position: -160px -112px; }
|
|
||||||
.ui-icon-wrench { background-position: -176px -112px; }
|
|
||||||
.ui-icon-gear { background-position: -192px -112px; }
|
|
||||||
.ui-icon-heart { background-position: -208px -112px; }
|
|
||||||
.ui-icon-star { background-position: -224px -112px; }
|
|
||||||
.ui-icon-link { background-position: -240px -112px; }
|
|
||||||
.ui-icon-cancel { background-position: 0 -128px; }
|
|
||||||
.ui-icon-plus { background-position: -16px -128px; }
|
|
||||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
|
||||||
.ui-icon-minus { background-position: -48px -128px; }
|
|
||||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
|
||||||
.ui-icon-close { background-position: -80px -128px; }
|
|
||||||
.ui-icon-closethick { background-position: -96px -128px; }
|
|
||||||
.ui-icon-key { background-position: -112px -128px; }
|
|
||||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
|
||||||
.ui-icon-scissors { background-position: -144px -128px; }
|
|
||||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
|
||||||
.ui-icon-copy { background-position: -176px -128px; }
|
|
||||||
.ui-icon-contact { background-position: -192px -128px; }
|
|
||||||
.ui-icon-image { background-position: -208px -128px; }
|
|
||||||
.ui-icon-video { background-position: -224px -128px; }
|
|
||||||
.ui-icon-script { background-position: -240px -128px; }
|
|
||||||
.ui-icon-alert { background-position: 0 -144px; }
|
|
||||||
.ui-icon-info { background-position: -16px -144px; }
|
|
||||||
.ui-icon-notice { background-position: -32px -144px; }
|
|
||||||
.ui-icon-help { background-position: -48px -144px; }
|
|
||||||
.ui-icon-check { background-position: -64px -144px; }
|
|
||||||
.ui-icon-bullet { background-position: -80px -144px; }
|
|
||||||
.ui-icon-radio-on { background-position: -96px -144px; }
|
|
||||||
.ui-icon-radio-off { background-position: -112px -144px; }
|
|
||||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
|
||||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
|
||||||
.ui-icon-play { background-position: 0 -160px; }
|
|
||||||
.ui-icon-pause { background-position: -16px -160px; }
|
|
||||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
|
||||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
|
||||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
|
||||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
|
||||||
ui-icon-seek-first is deprecated, use ui-icon-seek-start instead
|
|
||||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
|
||||||
.ui-icon-stop { background-position: -96px -160px; }
|
|
||||||
.ui-icon-eject { background-position: -112px -160px; }
|
|
||||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
|
||||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
|
||||||
.ui-icon-power { background-position: 0 -176px; }
|
|
||||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
|
||||||
.ui-icon-signal { background-position: -32px -176px; }
|
|
||||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
|
||||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
|
||||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
|
||||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
|
||||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
|
||||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
|
||||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
|
||||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
|
||||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
|
||||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
|
||||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
|
||||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
|
||||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
|
||||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
|
||||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
|
||||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
|
||||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
|
||||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
|
||||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
|
||||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
|
||||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
|
||||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
|
||||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
|
||||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
|
||||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
|
||||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
|
||||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
|
||||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
|
||||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
|
||||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Misc visuals
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* Corner radius */
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-top,
|
|
||||||
.ui-corner-left,
|
|
||||||
.ui-corner-tl {
|
|
||||||
border-top-left-radius: 2px;
|
|
||||||
}
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-top,
|
|
||||||
.ui-corner-right,
|
|
||||||
.ui-corner-tr {
|
|
||||||
border-top-right-radius: 2px;
|
|
||||||
}
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-bottom,
|
|
||||||
.ui-corner-left,
|
|
||||||
.ui-corner-bl {
|
|
||||||
border-bottom-left-radius: 2px;
|
|
||||||
}
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-bottom,
|
|
||||||
.ui-corner-right,
|
|
||||||
.ui-corner-br {
|
|
||||||
border-bottom-right-radius: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Overlays */
|
|
||||||
.ui-widget-overlay {
|
|
||||||
/*background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;*/
|
|
||||||
background: #aaa;
|
|
||||||
opacity: .3;
|
|
||||||
filter: Alpha(Opacity=30);
|
|
||||||
}
|
|
||||||
.ui-widget-shadow {
|
|
||||||
margin: -8px 0 0 -8px;
|
|
||||||
padding: 8px;
|
|
||||||
/*background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;*/
|
|
||||||
background: #aaa;
|
|
||||||
opacity: .3;
|
|
||||||
filter: Alpha(Opacity=30);
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
/*! jQuery UI - v1.10.3 - 2013-11-25
|
|
||||||
* http://jqueryui.com
|
|
||||||
* Includes: jquery.ui.core.css, jquery.ui.selectable.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css
|
|
||||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
|
||||||
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#eee;font-weight:400;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:#eee;font-weight:400;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff;font-weight:400;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:2px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:2px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:2px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:2px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
|
|
||||||
5823
vendors/jquery-ui/js/jquery-ui-1.12.1.custom.js
vendored
70
vendors/jquery-ui/package.json
vendored
|
|
@ -1,70 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery-ui",
|
|
||||||
"title": "jQuery UI",
|
|
||||||
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
|
|
||||||
"version": "1.12.1",
|
|
||||||
"homepage": "http://jqueryui.com",
|
|
||||||
"author": {
|
|
||||||
"name": "jQuery Foundation and other contributors",
|
|
||||||
"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
|
|
||||||
},
|
|
||||||
"maintainers": [
|
|
||||||
{
|
|
||||||
"name": "Scott González",
|
|
||||||
"email": "scott.gonzalez@gmail.com",
|
|
||||||
"url": "http://scottgonzalez.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jörn Zaefferer",
|
|
||||||
"email": "joern.zaefferer@gmail.com",
|
|
||||||
"url": "http://bassistance.de"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Kris Borchers",
|
|
||||||
"email": "kris.borchers@gmail.com",
|
|
||||||
"url": "http://krisborchers.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Corey Frang",
|
|
||||||
"email": "gnarf37@gmail.com",
|
|
||||||
"url": "http://gnarf.net"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mike Sherov",
|
|
||||||
"email": "mike.sherov@gmail.com",
|
|
||||||
"url": "http://mike.sherov.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "TJ VanToll",
|
|
||||||
"email": "tj.vantoll@gmail.com",
|
|
||||||
"url": "http://tjvantoll.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/jquery/jquery-ui.git"
|
|
||||||
},
|
|
||||||
"bugs": "http://bugs.jqueryui.com/",
|
|
||||||
"licenses": [
|
|
||||||
{
|
|
||||||
"type": "MIT",
|
|
||||||
"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/MIT-LICENSE.txt"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {},
|
|
||||||
"devDependencies": {
|
|
||||||
"grunt": "0.4.1",
|
|
||||||
"grunt-contrib-jshint": "0.4.1",
|
|
||||||
"grunt-contrib-uglify": "0.1.1",
|
|
||||||
"grunt-contrib-concat": "0.1.3",
|
|
||||||
"grunt-contrib-qunit": "0.2.0",
|
|
||||||
"grunt-contrib-csslint": "0.1.0",
|
|
||||||
"grunt-contrib-cssmin": "0.4.2",
|
|
||||||
"grunt-compare-size": "0.3.1",
|
|
||||||
"grunt-html": "0.3.3",
|
|
||||||
"grunt-git-authors": "1.2.0",
|
|
||||||
"rimraf": "2.1.4",
|
|
||||||
"testswarm": "1.0.0-alpha"
|
|
||||||
},
|
|
||||||
"keywords": []
|
|
||||||
}
|
|
||||||