mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-07 23:34:58 +00:00
fix folder name
This commit is contained in:
425
src/Bundle/ChillMainBundle/Resources/public/js/chill.js
Normal file
425
src/Bundle/ChillMainBundle/Resources/public/js/chill.js
Normal file
@@ -0,0 +1,425 @@
|
||||
/* jslint vars: true */
|
||||
/*jslint indent: 4 */
|
||||
/* global moment, $, window */
|
||||
'use strict';
|
||||
|
||||
var chill = function() {
|
||||
|
||||
/* intialiase the pikaday module */
|
||||
function initPikaday(locale) {
|
||||
var i18n_trad = {
|
||||
fr: {
|
||||
previousMonth : 'Mois précédent',
|
||||
nextMonth : 'Mois suivant',
|
||||
months : ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
|
||||
weekdays : ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
|
||||
weekdaysShort : ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam']
|
||||
},
|
||||
nl: {
|
||||
previousMonth : 'Vorig maand',
|
||||
nextMonth : 'Volgende maand',
|
||||
months : ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'],
|
||||
weekdays : ['Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'],
|
||||
weekdaysShort : ['Zon','Ma','Di','Wo','Do','Vri','Zat']
|
||||
}
|
||||
};
|
||||
|
||||
var pikaday_options = {
|
||||
format: 'D-M-YYYY',
|
||||
yearRange: [parseInt(moment().format('YYYY')) - 100, parseInt(moment().format('YYYY'))],
|
||||
};
|
||||
|
||||
if(locale in i18n_trad) {
|
||||
pikaday_options.i18n = i18n_trad[locale];
|
||||
}
|
||||
|
||||
$('.datepicker').pikaday(
|
||||
pikaday_options
|
||||
);
|
||||
}
|
||||
|
||||
/* emulate the position:sticky */
|
||||
function emulateSticky() {
|
||||
var need_emulation = false;
|
||||
|
||||
$('.sticky-form-buttons').each(function(i,stick_element) {
|
||||
if($(stick_element).css('position') !== 'sticky') {
|
||||
need_emulation = true;
|
||||
stick_element.init_offset_top = $(stick_element).offset().top;
|
||||
}
|
||||
});
|
||||
|
||||
function emulate() {
|
||||
$('.sticky-form-buttons').each(function(i,stick_element) {
|
||||
if (($(window).scrollTop() + $(window).height()) < stick_element.init_offset_top) {
|
||||
//sticky at bottom
|
||||
$(stick_element).css('position','fixed');
|
||||
$(stick_element).css('bottom','0');
|
||||
$(stick_element).css('top','');
|
||||
$(stick_element).css('width',$(stick_element).parent().outerWidth());
|
||||
} else if (stick_element.init_offset_top < $(window).scrollTop()) {
|
||||
//sticky at top
|
||||
$(stick_element).css('position','fixed');
|
||||
$(stick_element).css('top','0');
|
||||
$(stick_element).css('bottom','');
|
||||
$(stick_element).css('width',$(stick_element).parent().outerWidth());
|
||||
} else {
|
||||
//no sticky
|
||||
$(stick_element).css('position','initial');
|
||||
$(stick_element).css('bottom','');
|
||||
$(stick_element).css('width','');
|
||||
$(stick_element).css('top','');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(need_emulation) {
|
||||
$(window).scroll(function() {
|
||||
emulate();
|
||||
});
|
||||
|
||||
emulate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Display an alert message when the user wants to leave a page containing a given form
|
||||
* in a given state.
|
||||
*
|
||||
* The action of displaying the form be parametrised as :
|
||||
* - always display the alert message when leaving
|
||||
* - only display the alert message when the form contains some modified fields.
|
||||
*
|
||||
* @param{string} form_id An identification string of the form
|
||||
* @param{string} alert_message The alert message to display
|
||||
* @param{boolean} check_unsaved_data If true display the alert message only when the form
|
||||
* contains some modified fields otherwise always display the alert when leaving
|
||||
* @return nothing
|
||||
*/
|
||||
function _generalDisplayAlertWhenLeavingForm(form_id, alert_message, check_unsaved_data) {
|
||||
var form_submitted = false;
|
||||
var unsaved_data = false;
|
||||
|
||||
$(form_id)
|
||||
.submit(function() {
|
||||
form_submitted = true;
|
||||
})
|
||||
.on('reset', function() {
|
||||
unsaved_data = false;
|
||||
})
|
||||
;
|
||||
|
||||
$.each($(form_id).find(':input'), function(i,e) {
|
||||
$(e).change(function() {
|
||||
unsaved_data = true;
|
||||
});
|
||||
});
|
||||
|
||||
$(window).bind('beforeunload', function(){
|
||||
if((!form_submitted) && (unsaved_data || !check_unsaved_data)) {
|
||||
return alert_message;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark the choices "not specified" as check by default.
|
||||
*
|
||||
* This function apply to `custom field choices` when the `required`
|
||||
* option is false and `expanded` is true (checkboxes or radio buttons).
|
||||
*
|
||||
* @param{string} choice_name the name of the input
|
||||
*/
|
||||
function checkNullValuesInChoices(choice_name) {
|
||||
var choices;
|
||||
choices = $("input[name='"+choice_name+"']:checked");
|
||||
if (choices.size() === 0) {
|
||||
$.each($("input[name='"+choice_name+"']"), function (i, e) {
|
||||
if (e.value === "") {
|
||||
e.checked = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display an alert message when the user wants to leave a page containing a given
|
||||
* modified form.
|
||||
*
|
||||
* @param{string} form_id An identification string of the form
|
||||
* @param{string} alert_message The alert message to display
|
||||
* @return nothing
|
||||
*/
|
||||
function displayAlertWhenLeavingModifiedForm(form_id, alert_message) {
|
||||
_generalDisplayAlertWhenLeavingForm(form_id, alert_message, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display an alert message when the user wants to leave a page containing a given
|
||||
* form that was not submitted.
|
||||
*
|
||||
* @param{string} form_id An identification string of the form
|
||||
* @param{string} alert_message The alert message to display
|
||||
* @return nothing
|
||||
*/
|
||||
function displayAlertWhenLeavingUnsubmittedForm(form_id, alert_message) {
|
||||
_generalDisplayAlertWhenLeavingForm(form_id, alert_message, false);
|
||||
}
|
||||
|
||||
/* Enable the following behavior : when the user change the value
|
||||
of an other field, its checkbox is checked.
|
||||
*/
|
||||
function checkOtherValueOnChange() {
|
||||
$('.input-text-other-value').each(function() {
|
||||
$(this).change(function() {
|
||||
var checkbox = $(this).parent().find('input[type=checkbox][value=_other]')[0];
|
||||
$(checkbox).prop('checked', ($(this).val() !== ''));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an interraction between two select element (the parent and the
|
||||
* child) of a given form : each parent option has a category, the
|
||||
* child select only display options that have the same category of the
|
||||
* parent optionn
|
||||
*
|
||||
* The parent must have the class "chill-category-link-parent".
|
||||
*
|
||||
* The children must have the class "chill-category-link-child". Each option
|
||||
* of the parent must have the attribute `data-link-category`, with the value of
|
||||
* the connected option in parent.
|
||||
*
|
||||
* Example :
|
||||
*
|
||||
* ```html
|
||||
* <select name="country" class="chill-category-link-parent">
|
||||
* <option value="BE">Belgium</option>
|
||||
* <option value="FR">France</option>
|
||||
* </select>
|
||||
*
|
||||
* <select name="cities">class="chill-category-link-children">
|
||||
* <option value="paris" data-link-category="FR">Paris</option>
|
||||
* <option value="toulouse" data-link-category="FR">Toulouse</option>
|
||||
* <option value="bruxelles" data-link-category="BE">Bruxelles</option>
|
||||
* <option value="liege" data-link-category="BE">Liège</option>
|
||||
* <option value="mons" data-link-category="BE">Mons</option>
|
||||
* </select>
|
||||
* ```
|
||||
*
|
||||
* TODO ECRIRE LA DOC METTRE LES TESTS DANS git :
|
||||
* tester que init est ok :
|
||||
- quand vide
|
||||
- quand choix
|
||||
* tester que quand sélection
|
||||
- quand vide
|
||||
- quand choix
|
||||
*/
|
||||
function categoryLinkParentChildSelect() {
|
||||
var forms_to_link = $('form:has(select.chill-category-link-parent)');
|
||||
|
||||
forms_to_link.each(function(i,form_selector) {
|
||||
var form = $(form_selector), parent_multiple;
|
||||
form.old_category = null;
|
||||
form.link_parent = $(form).find('.chill-category-link-parent');
|
||||
form.link_child = $(form).find('.chill-category-link-child');
|
||||
|
||||
// check if the parent allow multiple or single results
|
||||
parent_multiple = $(form).find('.chill-category-link-parent').get(0).multiple;
|
||||
// if we use select2, parent_multiple will be `undefined`
|
||||
if (typeof parent_multiple == 'undefined') {
|
||||
// currently, I do not know how to check if multiple using select2.
|
||||
// we suppose that multiple is false (old behaviour)
|
||||
parent_multiple = false
|
||||
}
|
||||
|
||||
$(form.link_parent).addClass('select2');
|
||||
$(form.link_parant).select2({allowClear: true}); // it is weird: when I fix the typo here, the whole stuff does not work anymore...
|
||||
|
||||
if (parent_multiple == false) {
|
||||
|
||||
form.old_category = null;
|
||||
if($(form.link_parent).select2('data') !== null) {
|
||||
form.old_category = ($(form.link_parent).select2('data').element[0].dataset.linkCategory);
|
||||
}
|
||||
|
||||
$(form.link_child).find('option')
|
||||
.each(function(i,e) {
|
||||
if(
|
||||
((!$(e).data('link-category')) || $(e).data('link-category') == form.old_category) &&
|
||||
((!$(e).data('link-categories')) || form.old_category in $(e).data('link-categories').split(','))
|
||||
) {
|
||||
$(e).show();
|
||||
// here, we should handle the optgroup
|
||||
} else {
|
||||
$(e).hide();
|
||||
// here, we should handle the optgroup
|
||||
}
|
||||
});
|
||||
|
||||
form.link_parent.change(function() {
|
||||
var new_category = ($(form.link_parent).select2('data').element[0].dataset.linkCategory);
|
||||
if(new_category != form.old_category) {
|
||||
$(form.link_child).find('option')
|
||||
.each(function(i,e) {
|
||||
if(
|
||||
((!$(e).data('link-category')) || $(e).data('link-category') == new_category) &&
|
||||
((!$(e).data('link-categories')) || new_category in $(e).data('link-categories').split(','))
|
||||
) {
|
||||
$(e).show();
|
||||
// here, we should handle the optgroup
|
||||
} else {
|
||||
$(e).hide();
|
||||
// here, we should handle the opgroup
|
||||
}
|
||||
});
|
||||
$(form.link_child).find('option')[0].selected = true;
|
||||
form.old_category = new_category;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var i=0,
|
||||
selected_items = $(form.link_parent).find(':selected');
|
||||
|
||||
form.old_categories = [];
|
||||
for (i=0;i < selected_items.length; i++) {
|
||||
form.old_categories.push(selected_items[i].value);
|
||||
}
|
||||
|
||||
$(form.link_child).find('option')
|
||||
.each(function(i,e) {
|
||||
var visible;
|
||||
if(form.old_categories.indexOf(e.dataset.linkCategory) != -1) {
|
||||
$(e).show();
|
||||
if (e.parentNode instanceof HTMLOptGroupElement) {
|
||||
$(e.parentNode).show();
|
||||
}
|
||||
} else {
|
||||
$(e).hide();
|
||||
if (e.parentNode instanceof HTMLOptGroupElement) {
|
||||
// we check if the other options are visible.
|
||||
visible = false
|
||||
for (var l=0; l < e.parentNode.children.length; l++) {
|
||||
if (window.getComputedStyle(e.parentNode.children[l]).getPropertyValue('display') != 'none') {
|
||||
visible = true;
|
||||
}
|
||||
}
|
||||
// if any options are visible, we hide the optgroup
|
||||
if (visible == false) {
|
||||
$(e.parentNode).hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
form.link_parent.change(function() {
|
||||
var new_categories = [],
|
||||
selected_items = $(form.link_parent).find(':selected'),
|
||||
visible;
|
||||
for (i=0;i < selected_items.length; i++) {
|
||||
new_categories.push(selected_items[i].value);
|
||||
}
|
||||
|
||||
if(new_categories != form.old_categories) {
|
||||
$(form.link_child).find('option')
|
||||
.each(function(i,e) {
|
||||
if(new_categories.indexOf(e.dataset.linkCategory) != -1) {
|
||||
$(e).show();
|
||||
// if parent is an opgroup, we show it
|
||||
if (e.parentNode instanceof HTMLOptGroupElement) {
|
||||
$(e.parentNode).show();
|
||||
}
|
||||
} else {
|
||||
$(e).hide();
|
||||
// we check if the parent is an optgroup
|
||||
if (e.parentNode instanceof HTMLOptGroupElement) {
|
||||
// we check if other options are visible
|
||||
visible = false
|
||||
for (var l=0; l < e.parentNode.children.length; l++) {
|
||||
if (window.getComputedStyle(e.parentNode.children[l]).getPropertyValue('display') != 'none') {
|
||||
visible = true;
|
||||
}
|
||||
}
|
||||
// if any options are visible, we hide the optgroup
|
||||
if (visible == false) {
|
||||
$(e.parentNode).hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
//$(form.link_child).find('option')[0].selected = true;
|
||||
form.old_categories = new_categories;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function _displayHideTargetWithCheckbox(checkbox) {
|
||||
var target = checkbox.dataset.displayTarget,
|
||||
hideableElements;
|
||||
|
||||
hideableElements = document.querySelectorAll('[data-display-show-hide="' + target + '"]');
|
||||
|
||||
if (checkbox.checked) {
|
||||
for (let i=0; i < hideableElements.length; i = i+1) {
|
||||
hideableElements[i].style.display = "unset";
|
||||
}
|
||||
} else {
|
||||
for (let i=0; i < hideableElements.length; i = i+1) {
|
||||
hideableElements[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* create an interaction between a checkbox and element to show if the
|
||||
* checkbox is checked, or hide if the checkbox is not checked.
|
||||
*
|
||||
* The checkbox must have the data `data-display-target` with an id,
|
||||
* and the parts to show/hide must have the data `data-display-show-hide`
|
||||
* with the same value.
|
||||
*
|
||||
* Example :
|
||||
*
|
||||
* ```
|
||||
* <input data-display-target="export_abc" value="1" type="checkbox">
|
||||
*
|
||||
* <div data-display-show-hide="export_abc">
|
||||
* <!-- your content here will be hidden / shown according to checked state -->
|
||||
* </div>
|
||||
* ```
|
||||
*
|
||||
* Hint: for forms in symfony, you could use the `id` of the form element,
|
||||
* accessible through `{{ form.vars.id }}`. This id should be unique.
|
||||
*
|
||||
*
|
||||
* @returns {undefined}
|
||||
*/
|
||||
function listenerDisplayCheckbox() {
|
||||
var elements = document.querySelectorAll("[data-display-target]");
|
||||
|
||||
for (let i=0; i < elements.length; i = i+1) {
|
||||
elements[i].addEventListener("change", function(e) {
|
||||
_displayHideTargetWithCheckbox(e.target);
|
||||
});
|
||||
// initial display-hide
|
||||
_displayHideTargetWithCheckbox(elements[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
initPikaday: initPikaday,
|
||||
emulateSticky: emulateSticky,
|
||||
checkOtherValueOnChange: checkOtherValueOnChange,
|
||||
displayAlertWhenLeavingModifiedForm: displayAlertWhenLeavingModifiedForm,
|
||||
displayAlertWhenLeavingUnsubmittedForm: displayAlertWhenLeavingUnsubmittedForm,
|
||||
checkNullValuesInChoices: checkNullValuesInChoices,
|
||||
categoryLinkParentChildSelect: categoryLinkParentChildSelect,
|
||||
listenerDisplayCheckbox: listenerDisplayCheckbox,
|
||||
};
|
||||
} ();
|
||||
|
||||
export { chill };
|
@@ -0,0 +1,27 @@
|
||||
div.chill-collection {
|
||||
ul.chill-collection__list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin-bottom: 1.5rem;
|
||||
|
||||
li.chill-collection__list__entry:nth-child(2n) {
|
||||
background-color: var(--chill-light-gray);
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
|
||||
// all entries, except the last one
|
||||
li.chill-collection__list__entry:nth-last-child(1n+2) {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
button.chill-collection__list__remove-entry {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
button.chill-collection__button--add {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,116 @@
|
||||
/**
|
||||
* Javascript file which handle ChillCollectionType
|
||||
*
|
||||
* Two events are emitted by this module, both on window and on collection / ul.
|
||||
*
|
||||
* Collection (an UL element) and entry (a li element) are associated with those
|
||||
* events.
|
||||
*
|
||||
* ```
|
||||
* window.addEventListener('collection-add-entry', function(e) {
|
||||
* console.log(e.detail.collection);
|
||||
* console.log(e.detail.entry);
|
||||
* });
|
||||
*
|
||||
* window.addEventListener('collection-remove-entry', function(e) {
|
||||
* console.log(e.detail.collection);
|
||||
* console.log(e.detail.entry);
|
||||
* });
|
||||
*
|
||||
* collection.addEventListener('collection-add-entry', function(e) {
|
||||
* console.log(e.detail.collection);
|
||||
* console.log(e.detail.entry);
|
||||
* });
|
||||
*
|
||||
* collection.addEventListener('collection-remove-entry', function(e) {
|
||||
* console.log(e.detail.collection);
|
||||
* console.log(e.detail.entry);
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
require('./collection.scss');
|
||||
|
||||
class CollectionEvent {
|
||||
constructor(collection, entry) {
|
||||
this.collection = collection;
|
||||
this.entry = entry;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {type} button
|
||||
* @returns {handleAdd}
|
||||
*/
|
||||
var handleAdd = function(button) {
|
||||
var
|
||||
form_name = button.dataset.collectionAddTarget,
|
||||
prototype = button.dataset.formPrototype,
|
||||
collection = document.querySelector('ul[data-collection-name="'+form_name+'"]'),
|
||||
entry = document.createElement('li'),
|
||||
event = new CustomEvent('collection-add-entry', { detail: { collection: collection, entry: entry } }),
|
||||
counter = collection.childNodes.length,
|
||||
content
|
||||
;
|
||||
content = prototype.replace(new RegExp('__name__', 'g'), counter);
|
||||
entry.innerHTML = content;
|
||||
entry.classList.add('chill-collection__list__entry');
|
||||
initializeRemove(collection, entry);
|
||||
collection.appendChild(entry);
|
||||
chill.initPikaday('fr');
|
||||
|
||||
collection.dispatchEvent(event);
|
||||
window.dispatchEvent(event);
|
||||
};
|
||||
|
||||
var initializeRemove = function(collection, entry) {
|
||||
var
|
||||
button = document.createElement('button'),
|
||||
isPersisted = entry.dataset.collectionIsPersisted,
|
||||
content = collection.dataset.collectionButtonRemoveLabel,
|
||||
allowDelete = collection.dataset.collectionAllowDelete,
|
||||
event = new CustomEvent('collection-remove-entry', { detail: { collection: collection, entry: entry } })
|
||||
;
|
||||
|
||||
if (allowDelete === '0' && isPersisted === '1') {
|
||||
return;
|
||||
}
|
||||
|
||||
button.classList.add('sc-button', 'bt-delete', 'chill-collection__list__remove-entry');
|
||||
button.textContent = content;
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
entry.remove();
|
||||
collection.dispatchEvent(event);
|
||||
window.dispatchEvent(event);
|
||||
});
|
||||
|
||||
entry.appendChild(button);
|
||||
};
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
var
|
||||
addButtons = document.querySelectorAll("button[data-collection-add-target]"),
|
||||
collections = document.querySelectorAll("ul[data-collection-name]")
|
||||
;
|
||||
|
||||
for (let i = 0; i < addButtons.length; i ++) {
|
||||
let addButton = addButtons[i];
|
||||
addButton.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
handleAdd(e.target);
|
||||
});
|
||||
}
|
||||
|
||||
for (let i = 0; i < collections.length; i ++) {
|
||||
let entries = collections[i].querySelectorAll(':scope > li');
|
||||
|
||||
for (let j = 0; j < entries.length; j ++) {
|
||||
initializeRemove(collections[i], entries[j]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
9210
src/Bundle/ChillMainBundle/Resources/public/js/jquery.js
vendored
Normal file
9210
src/Bundle/ChillMainBundle/Resources/public/js/jquery.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2936
src/Bundle/ChillMainBundle/Resources/public/js/moment.js
Normal file
2936
src/Bundle/ChillMainBundle/Resources/public/js/moment.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,920 @@
|
||||
/*!
|
||||
* Pikaday
|
||||
*
|
||||
* Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
|
||||
*/
|
||||
|
||||
(function (root, factory)
|
||||
{
|
||||
'use strict';
|
||||
|
||||
var moment;
|
||||
if (typeof exports === 'object') {
|
||||
// CommonJS module
|
||||
// Load moment.js as an optional dependency
|
||||
try { moment = require('moment'); } catch (e) {}
|
||||
module.exports = factory(moment);
|
||||
} else if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(function (req)
|
||||
{
|
||||
// Load moment.js as an optional dependency
|
||||
var id = 'moment';
|
||||
moment = req.defined && req.defined(id) ? req(id) : undefined;
|
||||
return factory(moment);
|
||||
});
|
||||
} else {
|
||||
root.Pikaday = factory(root.moment);
|
||||
}
|
||||
}(this, function (moment)
|
||||
{
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* feature detection and helper functions
|
||||
*/
|
||||
var hasMoment = typeof moment === 'function',
|
||||
|
||||
hasEventListeners = !!window.addEventListener,
|
||||
|
||||
document = window.document,
|
||||
|
||||
sto = window.setTimeout,
|
||||
|
||||
addEvent = function(el, e, callback, capture)
|
||||
{
|
||||
if (hasEventListeners) {
|
||||
el.addEventListener(e, callback, !!capture);
|
||||
} else {
|
||||
el.attachEvent('on' + e, callback);
|
||||
}
|
||||
},
|
||||
|
||||
removeEvent = function(el, e, callback, capture)
|
||||
{
|
||||
if (hasEventListeners) {
|
||||
el.removeEventListener(e, callback, !!capture);
|
||||
} else {
|
||||
el.detachEvent('on' + e, callback);
|
||||
}
|
||||
},
|
||||
|
||||
fireEvent = function(el, eventName, data)
|
||||
{
|
||||
var ev;
|
||||
|
||||
if (document.createEvent) {
|
||||
ev = document.createEvent('HTMLEvents');
|
||||
ev.initEvent(eventName, true, false);
|
||||
ev = extend(ev, data);
|
||||
el.dispatchEvent(ev);
|
||||
} else if (document.createEventObject) {
|
||||
ev = document.createEventObject();
|
||||
ev = extend(ev, data);
|
||||
el.fireEvent('on' + eventName, ev);
|
||||
}
|
||||
},
|
||||
|
||||
trim = function(str)
|
||||
{
|
||||
return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g,'');
|
||||
},
|
||||
|
||||
hasClass = function(el, cn)
|
||||
{
|
||||
return (' ' + el.className + ' ').indexOf(' ' + cn + ' ') !== -1;
|
||||
},
|
||||
|
||||
addClass = function(el, cn)
|
||||
{
|
||||
if (!hasClass(el, cn)) {
|
||||
el.className = (el.className === '') ? cn : el.className + ' ' + cn;
|
||||
}
|
||||
},
|
||||
|
||||
removeClass = function(el, cn)
|
||||
{
|
||||
el.className = trim((' ' + el.className + ' ').replace(' ' + cn + ' ', ' '));
|
||||
},
|
||||
|
||||
isArray = function(obj)
|
||||
{
|
||||
return (/Array/).test(Object.prototype.toString.call(obj));
|
||||
},
|
||||
|
||||
isDate = function(obj)
|
||||
{
|
||||
return (/Date/).test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime());
|
||||
},
|
||||
|
||||
isLeapYear = function(year)
|
||||
{
|
||||
// solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
|
||||
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
||||
},
|
||||
|
||||
getDaysInMonth = function(year, month)
|
||||
{
|
||||
return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
|
||||
},
|
||||
|
||||
setToStartOfDay = function(date)
|
||||
{
|
||||
if (isDate(date)) date.setHours(0,0,0,0);
|
||||
},
|
||||
|
||||
compareDates = function(a,b)
|
||||
{
|
||||
// weak date comparison (use setToStartOfDay(date) to ensure correct result)
|
||||
return a.getTime() === b.getTime();
|
||||
},
|
||||
|
||||
extend = function(to, from, overwrite)
|
||||
{
|
||||
var prop, hasProp;
|
||||
for (prop in from) {
|
||||
hasProp = to[prop] !== undefined;
|
||||
if (hasProp && typeof from[prop] === 'object' && from[prop].nodeName === undefined) {
|
||||
if (isDate(from[prop])) {
|
||||
if (overwrite) {
|
||||
to[prop] = new Date(from[prop].getTime());
|
||||
}
|
||||
}
|
||||
else if (isArray(from[prop])) {
|
||||
if (overwrite) {
|
||||
to[prop] = from[prop].slice(0);
|
||||
}
|
||||
} else {
|
||||
to[prop] = extend({}, from[prop], overwrite);
|
||||
}
|
||||
} else if (overwrite || !hasProp) {
|
||||
to[prop] = from[prop];
|
||||
}
|
||||
}
|
||||
return to;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* defaults and localisation
|
||||
*/
|
||||
defaults = {
|
||||
|
||||
// bind the picker to a form field
|
||||
field: null,
|
||||
|
||||
// automatically show/hide the picker on `field` focus (default `true` if `field` is set)
|
||||
bound: undefined,
|
||||
|
||||
// position of the datepicker, relative to the field (default to bottom & left)
|
||||
// ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position)
|
||||
position: 'bottom left',
|
||||
|
||||
// the default output format for `.toString()` and `field` value
|
||||
format: 'YYYY-MM-DD',
|
||||
|
||||
// the initial date to view when first opened
|
||||
defaultDate: null,
|
||||
|
||||
// make the `defaultDate` the initial selected value
|
||||
setDefaultDate: false,
|
||||
|
||||
// first day of week (0: Sunday, 1: Monday etc)
|
||||
firstDay: 0,
|
||||
|
||||
// the minimum/earliest date that can be selected
|
||||
minDate: null,
|
||||
// the maximum/latest date that can be selected
|
||||
maxDate: null,
|
||||
|
||||
// number of years either side, or array of upper/lower range
|
||||
yearRange: 10,
|
||||
|
||||
// used internally (don't config outside)
|
||||
minYear: 0,
|
||||
maxYear: 9999,
|
||||
minMonth: undefined,
|
||||
maxMonth: undefined,
|
||||
|
||||
isRTL: false,
|
||||
|
||||
// Additional text to append to the year in the calendar title
|
||||
yearSuffix: '',
|
||||
|
||||
// Render the month after year in the calendar title
|
||||
showMonthAfterYear: false,
|
||||
|
||||
// how many months are visible (not implemented yet)
|
||||
numberOfMonths: 1,
|
||||
|
||||
// internationalization
|
||||
i18n: {
|
||||
previousMonth : 'Previous Month',
|
||||
nextMonth : 'Next Month',
|
||||
months : ['January','February','March','April','May','June','July','August','September','October','November','December'],
|
||||
weekdays : ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],
|
||||
weekdaysShort : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
|
||||
},
|
||||
|
||||
// callback function
|
||||
onSelect: null,
|
||||
onOpen: null,
|
||||
onClose: null,
|
||||
onDraw: null
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* templating functions to abstract HTML rendering
|
||||
*/
|
||||
renderDayName = function(opts, day, abbr)
|
||||
{
|
||||
day += opts.firstDay;
|
||||
while (day >= 7) {
|
||||
day -= 7;
|
||||
}
|
||||
return abbr ? opts.i18n.weekdaysShort[day] : opts.i18n.weekdays[day];
|
||||
},
|
||||
|
||||
renderDay = function(i, isSelected, isToday, isDisabled, isEmpty)
|
||||
{
|
||||
if (isEmpty) {
|
||||
return '<td class="is-empty"></td>';
|
||||
}
|
||||
var arr = [];
|
||||
if (isDisabled) {
|
||||
arr.push('is-disabled');
|
||||
}
|
||||
if (isToday) {
|
||||
arr.push('is-today');
|
||||
}
|
||||
if (isSelected) {
|
||||
arr.push('is-selected');
|
||||
}
|
||||
return '<td data-day="' + i + '" class="' + arr.join(' ') + '"><button class="pika-button" type="button">' + i + '</button>' + '</td>';
|
||||
},
|
||||
|
||||
renderRow = function(days, isRTL)
|
||||
{
|
||||
return '<tr>' + (isRTL ? days.reverse() : days).join('') + '</tr>';
|
||||
},
|
||||
|
||||
renderBody = function(rows)
|
||||
{
|
||||
return '<tbody>' + rows.join('') + '</tbody>';
|
||||
},
|
||||
|
||||
renderHead = function(opts)
|
||||
{
|
||||
var i, arr = [];
|
||||
for (i = 0; i < 7; i++) {
|
||||
arr.push('<th scope="col"><abbr title="' + renderDayName(opts, i) + '">' + renderDayName(opts, i, true) + '</abbr></th>');
|
||||
}
|
||||
return '<thead>' + (opts.isRTL ? arr.reverse() : arr).join('') + '</thead>';
|
||||
},
|
||||
|
||||
renderTitle = function(instance)
|
||||
{
|
||||
var i, j, arr,
|
||||
opts = instance._o,
|
||||
month = instance._m,
|
||||
year = instance._y,
|
||||
isMinYear = year === opts.minYear,
|
||||
isMaxYear = year === opts.maxYear,
|
||||
html = '<div class="pika-title">',
|
||||
monthHtml,
|
||||
yearHtml,
|
||||
prev = true,
|
||||
next = true;
|
||||
|
||||
for (arr = [], i = 0; i < 12; i++) {
|
||||
arr.push('<option value="' + i + '"' +
|
||||
(i === month ? ' selected': '') +
|
||||
((isMinYear && i < opts.minMonth) || (isMaxYear && i > opts.maxMonth) ? 'disabled' : '') + '>' +
|
||||
opts.i18n.months[i] + '</option>');
|
||||
}
|
||||
monthHtml = '<div class="pika-label">' + opts.i18n.months[month] + '<select class="pika-select pika-select-month">' + arr.join('') + '</select></div>';
|
||||
|
||||
if (isArray(opts.yearRange)) {
|
||||
i = opts.yearRange[0];
|
||||
j = opts.yearRange[1] + 1;
|
||||
} else {
|
||||
i = year - opts.yearRange;
|
||||
j = 1 + year + opts.yearRange;
|
||||
}
|
||||
|
||||
for (arr = []; i < j && i <= opts.maxYear; i++) {
|
||||
if (i >= opts.minYear) {
|
||||
arr.push('<option value="' + i + '"' + (i === year ? ' selected': '') + '>' + (i) + '</option>');
|
||||
}
|
||||
}
|
||||
yearHtml = '<div class="pika-label">' + year + opts.yearSuffix + '<select class="pika-select pika-select-year">' + arr.join('') + '</select></div>';
|
||||
|
||||
if (opts.showMonthAfterYear) {
|
||||
html += yearHtml + monthHtml;
|
||||
} else {
|
||||
html += monthHtml + yearHtml;
|
||||
}
|
||||
|
||||
if (isMinYear && (month === 0 || opts.minMonth >= month)) {
|
||||
prev = false;
|
||||
}
|
||||
|
||||
if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {
|
||||
next = false;
|
||||
}
|
||||
|
||||
html += '<button class="pika-prev' + (prev ? '' : ' is-disabled') + '" type="button">' + opts.i18n.previousMonth + '</button>';
|
||||
html += '<button class="pika-next' + (next ? '' : ' is-disabled') + '" type="button">' + opts.i18n.nextMonth + '</button>';
|
||||
|
||||
return html += '</div>';
|
||||
},
|
||||
|
||||
renderTable = function(opts, data)
|
||||
{
|
||||
return '<table cellpadding="0" cellspacing="0" class="pika-table">' + renderHead(opts) + renderBody(data) + '</table>';
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Pikaday constructor
|
||||
*/
|
||||
Pikaday = function(options)
|
||||
{
|
||||
var self = this,
|
||||
opts = self.config(options);
|
||||
|
||||
self._onMouseDown = function(e)
|
||||
{
|
||||
if (!self._v) {
|
||||
return;
|
||||
}
|
||||
e = e || window.event;
|
||||
var target = e.target || e.srcElement;
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!hasClass(target, 'is-disabled')) {
|
||||
if (hasClass(target, 'pika-button') && !hasClass(target, 'is-empty')) {
|
||||
self.setDate(new Date(self._y, self._m, parseInt(target.innerHTML, 10)));
|
||||
if (opts.bound) {
|
||||
sto(function() {
|
||||
self.hide();
|
||||
}, 100);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (hasClass(target, 'pika-prev')) {
|
||||
self.prevMonth();
|
||||
}
|
||||
else if (hasClass(target, 'pika-next')) {
|
||||
self.nextMonth();
|
||||
}
|
||||
}
|
||||
if (!hasClass(target, 'pika-select')) {
|
||||
if (e.preventDefault) {
|
||||
e.preventDefault();
|
||||
} else {
|
||||
e.returnValue = false;
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
self._c = true;
|
||||
}
|
||||
};
|
||||
|
||||
self._onChange = function(e)
|
||||
{
|
||||
e = e || window.event;
|
||||
var target = e.target || e.srcElement;
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
if (hasClass(target, 'pika-select-month')) {
|
||||
self.gotoMonth(target.value);
|
||||
}
|
||||
else if (hasClass(target, 'pika-select-year')) {
|
||||
self.gotoYear(target.value);
|
||||
}
|
||||
};
|
||||
|
||||
self._onInputChange = function(e)
|
||||
{
|
||||
var date;
|
||||
|
||||
if (e.firedBy === self) {
|
||||
return;
|
||||
}
|
||||
if (hasMoment) {
|
||||
date = moment(opts.field.value, opts.format);
|
||||
date = (date && date.isValid()) ? date.toDate() : null;
|
||||
}
|
||||
else {
|
||||
date = new Date(Date.parse(opts.field.value));
|
||||
}
|
||||
self.setDate(isDate(date) ? date : null);
|
||||
if (!self._v) {
|
||||
self.show();
|
||||
}
|
||||
};
|
||||
|
||||
self._onInputFocus = function()
|
||||
{
|
||||
self.show();
|
||||
};
|
||||
|
||||
self._onInputClick = function()
|
||||
{
|
||||
self.show();
|
||||
};
|
||||
|
||||
self._onInputBlur = function()
|
||||
{
|
||||
if (!self._c) {
|
||||
self._b = sto(function() {
|
||||
self.hide();
|
||||
}, 50);
|
||||
}
|
||||
self._c = false;
|
||||
};
|
||||
|
||||
self._onClick = function(e)
|
||||
{
|
||||
e = e || window.event;
|
||||
var target = e.target || e.srcElement,
|
||||
pEl = target;
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
if (!hasEventListeners && hasClass(target, 'pika-select')) {
|
||||
if (!target.onchange) {
|
||||
target.setAttribute('onchange', 'return;');
|
||||
addEvent(target, 'change', self._onChange);
|
||||
}
|
||||
}
|
||||
do {
|
||||
if (hasClass(pEl, 'pika-single')) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
while ((pEl = pEl.parentNode));
|
||||
if (self._v && target !== opts.trigger) {
|
||||
self.hide();
|
||||
}
|
||||
};
|
||||
|
||||
self.el = document.createElement('div');
|
||||
self.el.className = 'pika-single' + (opts.isRTL ? ' is-rtl' : '');
|
||||
|
||||
addEvent(self.el, 'mousedown', self._onMouseDown, true);
|
||||
addEvent(self.el, 'change', self._onChange);
|
||||
|
||||
if (opts.field) {
|
||||
if (opts.bound) {
|
||||
document.body.appendChild(self.el);
|
||||
} else {
|
||||
opts.field.parentNode.insertBefore(self.el, opts.field.nextSibling);
|
||||
}
|
||||
addEvent(opts.field, 'change', self._onInputChange);
|
||||
|
||||
if (!opts.defaultDate) {
|
||||
if (hasMoment && opts.field.value) {
|
||||
opts.defaultDate = moment(opts.field.value, opts.format).toDate();
|
||||
} else {
|
||||
opts.defaultDate = new Date(Date.parse(opts.field.value));
|
||||
}
|
||||
opts.setDefaultDate = true;
|
||||
}
|
||||
}
|
||||
|
||||
var defDate = opts.defaultDate;
|
||||
|
||||
if (isDate(defDate)) {
|
||||
if (opts.setDefaultDate) {
|
||||
self.setDate(defDate, true);
|
||||
} else {
|
||||
self.gotoDate(defDate);
|
||||
}
|
||||
} else {
|
||||
self.gotoDate(new Date());
|
||||
}
|
||||
|
||||
if (opts.bound) {
|
||||
this.hide();
|
||||
self.el.className += ' is-bound';
|
||||
addEvent(opts.trigger, 'click', self._onInputClick);
|
||||
addEvent(opts.trigger, 'focus', self._onInputFocus);
|
||||
addEvent(opts.trigger, 'blur', self._onInputBlur);
|
||||
} else {
|
||||
this.show();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* public Pikaday API
|
||||
*/
|
||||
Pikaday.prototype = {
|
||||
|
||||
|
||||
/**
|
||||
* configure functionality
|
||||
*/
|
||||
config: function(options)
|
||||
{
|
||||
if (!this._o) {
|
||||
this._o = extend({}, defaults, true);
|
||||
}
|
||||
|
||||
var opts = extend(this._o, options, true);
|
||||
|
||||
opts.isRTL = !!opts.isRTL;
|
||||
|
||||
opts.field = (opts.field && opts.field.nodeName) ? opts.field : null;
|
||||
|
||||
opts.bound = !!(opts.bound !== undefined ? opts.field && opts.bound : opts.field);
|
||||
|
||||
opts.trigger = (opts.trigger && opts.trigger.nodeName) ? opts.trigger : opts.field;
|
||||
|
||||
var nom = parseInt(opts.numberOfMonths, 10) || 1;
|
||||
opts.numberOfMonths = nom > 4 ? 4 : nom;
|
||||
|
||||
if (!isDate(opts.minDate)) {
|
||||
opts.minDate = false;
|
||||
}
|
||||
if (!isDate(opts.maxDate)) {
|
||||
opts.maxDate = false;
|
||||
}
|
||||
if ((opts.minDate && opts.maxDate) && opts.maxDate < opts.minDate) {
|
||||
opts.maxDate = opts.minDate = false;
|
||||
}
|
||||
if (opts.minDate) {
|
||||
setToStartOfDay(opts.minDate);
|
||||
opts.minYear = opts.minDate.getFullYear();
|
||||
opts.minMonth = opts.minDate.getMonth();
|
||||
}
|
||||
if (opts.maxDate) {
|
||||
setToStartOfDay(opts.maxDate);
|
||||
opts.maxYear = opts.maxDate.getFullYear();
|
||||
opts.maxMonth = opts.maxDate.getMonth();
|
||||
}
|
||||
|
||||
if (isArray(opts.yearRange)) {
|
||||
var fallback = new Date().getFullYear() - 10;
|
||||
opts.yearRange[0] = parseInt(opts.yearRange[0], 10) || fallback;
|
||||
opts.yearRange[1] = parseInt(opts.yearRange[1], 10) || fallback;
|
||||
} else {
|
||||
opts.yearRange = Math.abs(parseInt(opts.yearRange, 10)) || defaults.yearRange;
|
||||
if (opts.yearRange > 100) {
|
||||
opts.yearRange = 100;
|
||||
}
|
||||
}
|
||||
|
||||
return opts;
|
||||
},
|
||||
|
||||
/**
|
||||
* return a formatted string of the current selection (using Moment.js if available)
|
||||
*/
|
||||
toString: function(format)
|
||||
{
|
||||
return !isDate(this._d) ? '' : hasMoment ? moment(this._d).format(format || this._o.format) : this._d.toDateString();
|
||||
},
|
||||
|
||||
/**
|
||||
* return a Moment.js object of the current selection (if available)
|
||||
*/
|
||||
getMoment: function()
|
||||
{
|
||||
return hasMoment ? moment(this._d) : null;
|
||||
},
|
||||
|
||||
/**
|
||||
* set the current selection from a Moment.js object (if available)
|
||||
*/
|
||||
setMoment: function(date, preventOnSelect)
|
||||
{
|
||||
if (hasMoment && moment.isMoment(date)) {
|
||||
this.setDate(date.toDate(), preventOnSelect);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* return a Date object of the current selection
|
||||
*/
|
||||
getDate: function()
|
||||
{
|
||||
return isDate(this._d) ? new Date(this._d.getTime()) : null;
|
||||
},
|
||||
|
||||
/**
|
||||
* set the current selection
|
||||
*/
|
||||
setDate: function(date, preventOnSelect)
|
||||
{
|
||||
if (!date) {
|
||||
this._d = null;
|
||||
return this.draw();
|
||||
}
|
||||
if (typeof date === 'string') {
|
||||
date = new Date(Date.parse(date));
|
||||
}
|
||||
if (!isDate(date)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var min = this._o.minDate,
|
||||
max = this._o.maxDate;
|
||||
|
||||
if (isDate(min) && date < min) {
|
||||
date = min;
|
||||
} else if (isDate(max) && date > max) {
|
||||
date = max;
|
||||
}
|
||||
|
||||
this._d = new Date(date.getTime());
|
||||
setToStartOfDay(this._d);
|
||||
this.gotoDate(this._d);
|
||||
|
||||
if (this._o.field) {
|
||||
this._o.field.value = this.toString();
|
||||
fireEvent(this._o.field, 'change', { firedBy: this });
|
||||
}
|
||||
if (!preventOnSelect && typeof this._o.onSelect === 'function') {
|
||||
this._o.onSelect.call(this, this.getDate());
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* change view to a specific date
|
||||
*/
|
||||
gotoDate: function(date)
|
||||
{
|
||||
if (!isDate(date)) {
|
||||
return;
|
||||
}
|
||||
this._y = date.getFullYear();
|
||||
this._m = date.getMonth();
|
||||
this.draw();
|
||||
},
|
||||
|
||||
gotoToday: function()
|
||||
{
|
||||
this.gotoDate(new Date());
|
||||
},
|
||||
|
||||
/**
|
||||
* change view to a specific month (zero-index, e.g. 0: January)
|
||||
*/
|
||||
gotoMonth: function(month)
|
||||
{
|
||||
if (!isNaN( (month = parseInt(month, 10)) )) {
|
||||
this._m = month < 0 ? 0 : month > 11 ? 11 : month;
|
||||
this.draw();
|
||||
}
|
||||
},
|
||||
|
||||
nextMonth: function()
|
||||
{
|
||||
if (++this._m > 11) {
|
||||
this._m = 0;
|
||||
this._y++;
|
||||
}
|
||||
this.draw();
|
||||
},
|
||||
|
||||
prevMonth: function()
|
||||
{
|
||||
if (--this._m < 0) {
|
||||
this._m = 11;
|
||||
this._y--;
|
||||
}
|
||||
this.draw();
|
||||
},
|
||||
|
||||
/**
|
||||
* change view to a specific full year (e.g. "2012")
|
||||
*/
|
||||
gotoYear: function(year)
|
||||
{
|
||||
if (!isNaN(year)) {
|
||||
this._y = parseInt(year, 10);
|
||||
this.draw();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* change the minDate
|
||||
*/
|
||||
setMinDate: function(value)
|
||||
{
|
||||
this._o.minDate = value;
|
||||
},
|
||||
|
||||
/**
|
||||
* change the maxDate
|
||||
*/
|
||||
setMaxDate: function(value)
|
||||
{
|
||||
this._o.maxDate = value;
|
||||
},
|
||||
|
||||
/**
|
||||
* refresh the HTML
|
||||
*/
|
||||
draw: function(force)
|
||||
{
|
||||
if (!this._v && !force) {
|
||||
return;
|
||||
}
|
||||
var opts = this._o,
|
||||
minYear = opts.minYear,
|
||||
maxYear = opts.maxYear,
|
||||
minMonth = opts.minMonth,
|
||||
maxMonth = opts.maxMonth;
|
||||
|
||||
if (this._y <= minYear) {
|
||||
this._y = minYear;
|
||||
if (!isNaN(minMonth) && this._m < minMonth) {
|
||||
this._m = minMonth;
|
||||
}
|
||||
}
|
||||
if (this._y >= maxYear) {
|
||||
this._y = maxYear;
|
||||
if (!isNaN(maxMonth) && this._m > maxMonth) {
|
||||
this._m = maxMonth;
|
||||
}
|
||||
}
|
||||
|
||||
this.el.innerHTML = renderTitle(this) + this.render(this._y, this._m);
|
||||
|
||||
if (opts.bound) {
|
||||
this.adjustPosition();
|
||||
if(opts.field.type !== 'hidden') {
|
||||
sto(function() {
|
||||
opts.trigger.focus();
|
||||
}, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof this._o.onDraw === 'function') {
|
||||
var self = this;
|
||||
sto(function() {
|
||||
self._o.onDraw.call(self);
|
||||
}, 0);
|
||||
}
|
||||
},
|
||||
|
||||
adjustPosition: function()
|
||||
{
|
||||
var field = this._o.trigger, pEl = field,
|
||||
width = this.el.offsetWidth, height = this.el.offsetHeight,
|
||||
viewportWidth = window.innerWidth || document.documentElement.clientWidth,
|
||||
viewportHeight = window.innerHeight || document.documentElement.clientHeight,
|
||||
scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop,
|
||||
left, top, clientRect;
|
||||
|
||||
if (typeof field.getBoundingClientRect === 'function') {
|
||||
clientRect = field.getBoundingClientRect();
|
||||
left = clientRect.left + window.pageXOffset;
|
||||
top = clientRect.bottom + window.pageYOffset;
|
||||
} else {
|
||||
left = pEl.offsetLeft;
|
||||
top = pEl.offsetTop + pEl.offsetHeight;
|
||||
while((pEl = pEl.offsetParent)) {
|
||||
left += pEl.offsetLeft;
|
||||
top += pEl.offsetTop;
|
||||
}
|
||||
}
|
||||
|
||||
// default position is bottom & left
|
||||
if (left + width > viewportWidth ||
|
||||
(
|
||||
this._o.position.indexOf('right') > -1 &&
|
||||
left - width + field.offsetWidth > 0
|
||||
)
|
||||
) {
|
||||
left = left - width + field.offsetWidth;
|
||||
}
|
||||
if (top + height > viewportHeight + scrollTop ||
|
||||
(
|
||||
this._o.position.indexOf('top') > -1 &&
|
||||
top - height - field.offsetHeight > 0
|
||||
)
|
||||
) {
|
||||
top = top - height - field.offsetHeight;
|
||||
}
|
||||
this.el.style.cssText = [
|
||||
'position: absolute',
|
||||
'left: ' + left + 'px',
|
||||
'top: ' + top + 'px'
|
||||
].join(';');
|
||||
},
|
||||
|
||||
/**
|
||||
* render HTML for a particular month
|
||||
*/
|
||||
render: function(year, month)
|
||||
{
|
||||
var opts = this._o,
|
||||
now = new Date(),
|
||||
days = getDaysInMonth(year, month),
|
||||
before = new Date(year, month, 1).getDay(),
|
||||
data = [],
|
||||
row = [];
|
||||
setToStartOfDay(now);
|
||||
if (opts.firstDay > 0) {
|
||||
before -= opts.firstDay;
|
||||
if (before < 0) {
|
||||
before += 7;
|
||||
}
|
||||
}
|
||||
var cells = days + before,
|
||||
after = cells;
|
||||
while(after > 7) {
|
||||
after -= 7;
|
||||
}
|
||||
cells += 7 - after;
|
||||
for (var i = 0, r = 0; i < cells; i++)
|
||||
{
|
||||
var day = new Date(year, month, 1 + (i - before)),
|
||||
isDisabled = (opts.minDate && day < opts.minDate) || (opts.maxDate && day > opts.maxDate),
|
||||
isSelected = isDate(this._d) ? compareDates(day, this._d) : false,
|
||||
isToday = compareDates(day, now),
|
||||
isEmpty = i < before || i >= (days + before);
|
||||
|
||||
row.push(renderDay(1 + (i - before), isSelected, isToday, isDisabled, isEmpty));
|
||||
|
||||
if (++r === 7) {
|
||||
data.push(renderRow(row, opts.isRTL));
|
||||
row = [];
|
||||
r = 0;
|
||||
}
|
||||
}
|
||||
return renderTable(opts, data);
|
||||
},
|
||||
|
||||
isVisible: function()
|
||||
{
|
||||
return this._v;
|
||||
},
|
||||
|
||||
show: function()
|
||||
{
|
||||
if (!this._v) {
|
||||
if (this._o.bound) {
|
||||
addEvent(document, 'click', this._onClick);
|
||||
}
|
||||
removeClass(this.el, 'is-hidden');
|
||||
this._v = true;
|
||||
this.draw();
|
||||
if (typeof this._o.onOpen === 'function') {
|
||||
this._o.onOpen.call(this);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
hide: function()
|
||||
{
|
||||
var v = this._v;
|
||||
if (v !== false) {
|
||||
if (this._o.bound) {
|
||||
removeEvent(document, 'click', this._onClick);
|
||||
}
|
||||
this.el.style.cssText = '';
|
||||
addClass(this.el, 'is-hidden');
|
||||
this._v = false;
|
||||
if (v !== undefined && typeof this._o.onClose === 'function') {
|
||||
this._o.onClose.call(this);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* GAME OVER
|
||||
*/
|
||||
destroy: function()
|
||||
{
|
||||
this.hide();
|
||||
removeEvent(this.el, 'mousedown', this._onMouseDown, true);
|
||||
removeEvent(this.el, 'change', this._onChange);
|
||||
if (this._o.field) {
|
||||
removeEvent(this._o.field, 'change', this._onInputChange);
|
||||
if (this._o.bound) {
|
||||
removeEvent(this._o.trigger, 'click', this._onInputClick);
|
||||
removeEvent(this._o.trigger, 'focus', this._onInputFocus);
|
||||
removeEvent(this._o.trigger, 'blur', this._onInputBlur);
|
||||
}
|
||||
}
|
||||
if (this.el.parentNode) {
|
||||
this.el.parentNode.removeChild(this.el);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
return Pikaday;
|
||||
|
||||
}));
|
@@ -0,0 +1,52 @@
|
||||
/*!
|
||||
* Pikaday jQuery plugin.
|
||||
*
|
||||
* Copyright © 2013 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
|
||||
*/
|
||||
|
||||
(function (root, factory)
|
||||
{
|
||||
'use strict';
|
||||
|
||||
if (typeof exports === 'object') {
|
||||
// CommonJS module
|
||||
factory(require('jquery'), require('../pikaday'));
|
||||
} else if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(['jquery', 'pikaday'], factory);
|
||||
} else {
|
||||
// Browser globals
|
||||
factory(root.jQuery, root.Pikaday);
|
||||
}
|
||||
}(this, function ($, Pikaday)
|
||||
{
|
||||
'use strict';
|
||||
|
||||
$.fn.pikaday = function()
|
||||
{
|
||||
var args = arguments;
|
||||
|
||||
if (!args || !args.length) {
|
||||
args = [{ }];
|
||||
}
|
||||
|
||||
return this.each(function()
|
||||
{
|
||||
var self = $(this),
|
||||
plugin = self.data('pikaday');
|
||||
|
||||
if (!(plugin instanceof Pikaday)) {
|
||||
if (typeof args[0] === 'object') {
|
||||
var options = $.extend({}, args[0]);
|
||||
options.field = self[0];
|
||||
self.data('pikaday', new Pikaday(options));
|
||||
}
|
||||
} else {
|
||||
if (typeof args[0] === 'string' && typeof plugin[args[0]] === 'function') {
|
||||
plugin[args[0]].apply(plugin, Array.prototype.slice.call(args,1));
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
}));
|
3729
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2.js
vendored
Normal file
3729
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2.js
vendored
Normal file
File diff suppressed because one or more lines are too long
23
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2.min.js
vendored
Normal file
23
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ar.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ar.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Arabic translation.
|
||||
*
|
||||
* Author: Adel KEDJOUR <adel@kedjour.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ar'] = {
|
||||
formatNoMatches: function () { return "لم يتم العثور على مطابقات"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; if (n == 1){ return "الرجاء إدخال حرف واحد على الأكثر"; } return n == 2 ? "الرجاء إدخال حرفين على الأكثر" : "الرجاء إدخال " + n + " على الأكثر"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; if (n == 1){ return "الرجاء إدخال حرف واحد على الأقل"; } return n == 2 ? "الرجاء إدخال حرفين على الأقل" : "الرجاء إدخال " + n + " على الأقل "; },
|
||||
formatSelectionTooBig: function (limit) { if (limit == 1){ return "يمكنك أن تختار إختيار واحد فقط"; } return limit == 2 ? "يمكنك أن تختار إختيارين فقط" : "يمكنك أن تختار " + limit + " إختيارات فقط"; },
|
||||
formatLoadMore: function (pageNumber) { return "تحميل المزيد من النتائج…"; },
|
||||
formatSearching: function () { return "البحث…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ar']);
|
||||
})(jQuery);
|
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_az.js
vendored
Normal file
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_az.js
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Select2 Azerbaijani translation.
|
||||
*
|
||||
* Author: Farhad Safarov <farhad.safarov@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['az'] = {
|
||||
formatMatches: function (matches) { return matches + " nəticə mövcuddur, hərəkət etdirmək üçün yuxarı və aşağı düymələrindən istifadə edin."; },
|
||||
formatNoMatches: function () { return "Nəticə tapılmadı"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return n + " simvol daxil edin"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return n + " simvol silin"; },
|
||||
formatSelectionTooBig: function (limit) { return "Sadəcə " + limit + " element seçə bilərsiniz"; },
|
||||
formatLoadMore: function (pageNumber) { return "Daha çox nəticə yüklənir…"; },
|
||||
formatSearching: function () { return "Axtarılır…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['az']);
|
||||
})(jQuery);
|
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_bg.js
vendored
Normal file
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_bg.js
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Select2 Bulgarian translation.
|
||||
*
|
||||
* @author Lubomir Vikev <lubomirvikev@gmail.com>
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['bg'] = {
|
||||
formatNoMatches: function () { return "Няма намерени съвпадения"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Моля въведете още " + n + " символ" + (n > 1 ? "а" : ""); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Моля въведете с " + n + " по-малко символ" + (n > 1 ? "а" : ""); },
|
||||
formatSelectionTooBig: function (limit) { return "Можете да направите до " + limit + (limit > 1 ? " избора" : " избор"); },
|
||||
formatLoadMore: function (pageNumber) { return "Зареждат се още…"; },
|
||||
formatSearching: function () { return "Търсене…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['bg']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ca.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ca.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Catalan translation.
|
||||
*
|
||||
* Author: David Planella <david.planella@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ca'] = {
|
||||
formatNoMatches: function () { return "No s'ha trobat cap coincidència"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduïu " + n + " caràcter" + (n == 1 ? "" : "s") + " més"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Introduïu " + n + " caràcter" + (n == 1? "" : "s") + "menys"; },
|
||||
formatSelectionTooBig: function (limit) { return "Només podeu seleccionar " + limit + " element" + (limit == 1 ? "" : "s"); },
|
||||
formatLoadMore: function (pageNumber) { return "S'estan carregant més resultats…"; },
|
||||
formatSearching: function () { return "S'està cercant…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ca']);
|
||||
})(jQuery);
|
51
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_cs.js
vendored
Normal file
51
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_cs.js
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* Select2 Czech translation.
|
||||
*
|
||||
* Author: Michal Marek <ahoj@michal-marek.cz>
|
||||
* Author - sklonovani: David Vallner <david@vallner.net>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
// use text for the numbers 2 through 4
|
||||
var smallNumbers = {
|
||||
2: function(masc) { return (masc ? "dva" : "dvě"); },
|
||||
3: function() { return "tři"; },
|
||||
4: function() { return "čtyři"; }
|
||||
}
|
||||
$.fn.select2.locales['cs'] = {
|
||||
formatNoMatches: function () { return "Nenalezeny žádné položky"; },
|
||||
formatInputTooShort: function (input, min) {
|
||||
var n = min - input.length;
|
||||
if (n == 1) {
|
||||
return "Prosím zadejte ještě jeden znak";
|
||||
} else if (n <= 4) {
|
||||
return "Prosím zadejte ještě další "+smallNumbers[n](true)+" znaky";
|
||||
} else {
|
||||
return "Prosím zadejte ještě dalších "+n+" znaků";
|
||||
}
|
||||
},
|
||||
formatInputTooLong: function (input, max) {
|
||||
var n = input.length - max;
|
||||
if (n == 1) {
|
||||
return "Prosím zadejte o jeden znak méně";
|
||||
} else if (n <= 4) {
|
||||
return "Prosím zadejte o "+smallNumbers[n](true)+" znaky méně";
|
||||
} else {
|
||||
return "Prosím zadejte o "+n+" znaků méně";
|
||||
}
|
||||
},
|
||||
formatSelectionTooBig: function (limit) {
|
||||
if (limit == 1) {
|
||||
return "Můžete zvolit jen jednu položku";
|
||||
} else if (limit <= 4) {
|
||||
return "Můžete zvolit maximálně "+smallNumbers[limit](false)+" položky";
|
||||
} else {
|
||||
return "Můžete zvolit maximálně "+limit+" položek";
|
||||
}
|
||||
},
|
||||
formatLoadMore: function (pageNumber) { return "Načítají se další výsledky…"; },
|
||||
formatSearching: function () { return "Vyhledávání…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['cs']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_da.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_da.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Danish translation.
|
||||
*
|
||||
* Author: Anders Jenbo <anders@jenbo.dk>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['da'] = {
|
||||
formatNoMatches: function () { return "Ingen resultater fundet"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Angiv venligst " + n + " tegn mere"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Angiv venligst " + n + " tegn mindre"; },
|
||||
formatSelectionTooBig: function (limit) { return "Du kan kun vælge " + limit + " emne" + (limit === 1 ? "" : "r"); },
|
||||
formatLoadMore: function (pageNumber) { return "Indlæser flere resultater…"; },
|
||||
formatSearching: function () { return "Søger…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['da']);
|
||||
})(jQuery);
|
18
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_de.js
vendored
Normal file
18
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_de.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Select2 German translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['de'] = {
|
||||
formatNoMatches: function () { return "Keine Übereinstimmungen gefunden"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Bitte " + n + " Zeichen mehr eingeben"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Bitte " + n + " Zeichen weniger eingeben"; },
|
||||
formatSelectionTooBig: function (limit) { return "Sie können nur " + limit + " Eintr" + (limit === 1 ? "ag" : "äge") + " auswählen"; },
|
||||
formatLoadMore: function (pageNumber) { return "Lade mehr Ergebnisse…"; },
|
||||
formatSearching: function () { return "Suche…"; },
|
||||
formatMatches: function (matches) { return matches + " Ergebnis " + (matches > 1 ? "se" : "") + " verfügbar, zum Navigieren die Hoch-/Runter-Pfeiltasten verwenden."; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['de']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_el.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_el.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Greek translation.
|
||||
*
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['el'] = {
|
||||
formatNoMatches: function () { return "Δεν βρέθηκαν αποτελέσματα"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Παρακαλούμε εισάγετε " + n + " περισσότερο" + (n > 1 ? "υς" : "") + " χαρακτήρ" + (n > 1 ? "ες" : "α"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Παρακαλούμε διαγράψτε " + n + " χαρακτήρ" + (n > 1 ? "ες" : "α"); },
|
||||
formatSelectionTooBig: function (limit) { return "Μπορείτε να επιλέξετε μόνο " + limit + " αντικείμεν" + (limit > 1 ? "α" : "ο"); },
|
||||
formatLoadMore: function (pageNumber) { return "Φόρτωση περισσότερων…"; },
|
||||
formatSearching: function () { return "Αναζήτηση…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['el']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_es.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_es.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Spanish translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['es'] = {
|
||||
formatMatches: function (matches) { if (matches === 1) { return "Un resultado disponible, presione enter para seleccionarlo."; } return matches + " resultados disponibles, use las teclas de dirección para navegar."; },
|
||||
formatNoMatches: function () { return "No se encontraron resultados"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Por favor, introduzca " + n + " car" + (n == 1? "ácter" : "acteres"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Por favor, elimine " + n + " car" + (n == 1? "ácter" : "acteres"); },
|
||||
formatSelectionTooBig: function (limit) { return "Sólo puede seleccionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
|
||||
formatLoadMore: function (pageNumber) { return "Cargando más resultados…"; },
|
||||
formatSearching: function () { return "Buscando…"; },
|
||||
formatAjaxError: function() { return "La carga falló"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['es']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_et.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_et.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Estonian translation.
|
||||
*
|
||||
* Author: Kuldar Kalvik <kuldar@kalvik.ee>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['et'] = {
|
||||
formatNoMatches: function () { return "Tulemused puuduvad"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Sisesta " + n + " täht" + (n == 1 ? "" : "e") + " rohkem"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Sisesta " + n + " täht" + (n == 1? "" : "e") + " vähem"; },
|
||||
formatSelectionTooBig: function (limit) { return "Saad vaid " + limit + " tulemus" + (limit == 1 ? "e" : "t") + " valida"; },
|
||||
formatLoadMore: function (pageNumber) { return "Laen tulemusi.."; },
|
||||
formatSearching: function () { return "Otsin.."; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['et']);
|
||||
})(jQuery);
|
45
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_eu.js
vendored
Normal file
45
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_eu.js
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Select2 Basque translation.
|
||||
*
|
||||
* Author: Julen Ruiz Aizpuru <julenx at gmail dot com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['eu'] = {
|
||||
formatNoMatches: function () {
|
||||
return "Ez da bat datorrenik aurkitu";
|
||||
},
|
||||
formatInputTooShort: function (input, min) {
|
||||
var n = min - input.length;
|
||||
if (n === 1) {
|
||||
return "Idatzi karaktere bat gehiago";
|
||||
} else {
|
||||
return "Idatzi " + n + " karaktere gehiago";
|
||||
}
|
||||
},
|
||||
formatInputTooLong: function (input, max) {
|
||||
var n = input.length - max;
|
||||
if (n === 1) {
|
||||
return "Idatzi karaktere bat gutxiago";
|
||||
} else {
|
||||
return "Idatzi " + n + " karaktere gutxiago";
|
||||
}
|
||||
},
|
||||
formatSelectionTooBig: function (limit) {
|
||||
if (limit === 1 ) {
|
||||
return "Elementu bakarra hauta dezakezu";
|
||||
} else {
|
||||
return limit + " elementu hauta ditzakezu soilik";
|
||||
}
|
||||
},
|
||||
formatLoadMore: function (pageNumber) {
|
||||
return "Emaitza gehiago kargatzen…";
|
||||
},
|
||||
formatSearching: function () {
|
||||
return "Bilatzen…";
|
||||
}
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['eu']);
|
||||
})(jQuery);
|
21
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_fa.js
vendored
Normal file
21
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_fa.js
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Select2 Persian translation.
|
||||
*
|
||||
* Author: Ali Choopan <choopan@arsh.co>
|
||||
* Author: Ebrahim Byagowi <ebrahim@gnu.org>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['fa'] = {
|
||||
formatMatches: function (matches) { return matches + " نتیجه موجود است، کلیدهای جهت بالا و پایین را برای گشتن استفاده کنید."; },
|
||||
formatNoMatches: function () { return "نتیجهای یافت نشد."; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "لطفاً " + n + " نویسه بیشتر وارد نمایید"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "لطفاً " + n + " نویسه را حذف کنید."; },
|
||||
formatSelectionTooBig: function (limit) { return "شما فقط میتوانید " + limit + " مورد را انتخاب کنید"; },
|
||||
formatLoadMore: function (pageNumber) { return "در حال بارگیری موارد بیشتر…"; },
|
||||
formatSearching: function () { return "در حال جستجو…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['fa']);
|
||||
})(jQuery);
|
30
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_fi.js
vendored
Normal file
30
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_fi.js
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Select2 Finnish translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
$.fn.select2.locales['fi'] = {
|
||||
formatNoMatches: function () {
|
||||
return "Ei tuloksia";
|
||||
},
|
||||
formatInputTooShort: function (input, min) {
|
||||
var n = min - input.length;
|
||||
return "Ole hyvä ja anna " + n + " merkkiä lisää";
|
||||
},
|
||||
formatInputTooLong: function (input, max) {
|
||||
var n = input.length - max;
|
||||
return "Ole hyvä ja anna " + n + " merkkiä vähemmän";
|
||||
},
|
||||
formatSelectionTooBig: function (limit) {
|
||||
return "Voit valita ainoastaan " + limit + " kpl";
|
||||
},
|
||||
formatLoadMore: function (pageNumber) {
|
||||
return "Ladataan lisää tuloksia…";
|
||||
},
|
||||
formatSearching: function () {
|
||||
return "Etsitään…";
|
||||
}
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['fi']);
|
||||
})(jQuery);
|
18
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_fr.js
vendored
Normal file
18
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_fr.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Select2 French translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['fr'] = {
|
||||
formatMatches: function (matches) { return matches + " résultats sont disponibles, utilisez les flèches haut et bas pour naviguer."; },
|
||||
formatNoMatches: function () { return "Aucun résultat trouvé"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Saisissez " + n + " caractère" + (n == 1? "" : "s") + " supplémentaire" + (n == 1? "" : "s") ; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Supprimez " + n + " caractère" + (n == 1? "" : "s"); },
|
||||
formatSelectionTooBig: function (limit) { return "Vous pouvez seulement sélectionner " + limit + " élément" + (limit == 1 ? "" : "s"); },
|
||||
formatLoadMore: function (pageNumber) { return "Chargement de résultats supplémentaires…"; },
|
||||
formatSearching: function () { return "Recherche en cours…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['fr']);
|
||||
})(jQuery);
|
45
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_gl.js
vendored
Normal file
45
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_gl.js
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Select2 Galician translation
|
||||
*
|
||||
* Author: Leandro Regueiro <leandro.regueiro@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['gl'] = {
|
||||
formatNoMatches: function () {
|
||||
return "Non se atoparon resultados";
|
||||
},
|
||||
formatInputTooShort: function (input, min) {
|
||||
var n = min - input.length;
|
||||
if (n === 1) {
|
||||
return "Engada un carácter";
|
||||
} else {
|
||||
return "Engada " + n + " caracteres";
|
||||
}
|
||||
},
|
||||
formatInputTooLong: function (input, max) {
|
||||
var n = input.length - max;
|
||||
if (n === 1) {
|
||||
return "Elimine un carácter";
|
||||
} else {
|
||||
return "Elimine " + n + " caracteres";
|
||||
}
|
||||
},
|
||||
formatSelectionTooBig: function (limit) {
|
||||
if (limit === 1 ) {
|
||||
return "Só pode seleccionar un elemento";
|
||||
} else {
|
||||
return "Só pode seleccionar " + limit + " elementos";
|
||||
}
|
||||
},
|
||||
formatLoadMore: function (pageNumber) {
|
||||
return "Cargando máis resultados…";
|
||||
},
|
||||
formatSearching: function () {
|
||||
return "Buscando…";
|
||||
}
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['gl']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_he.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_he.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Hebrew translation.
|
||||
*
|
||||
* Author: Yakir Sitbon <http://www.yakirs.net/>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['he'] = {
|
||||
formatNoMatches: function () { return "לא נמצאו התאמות"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "נא להזין עוד " + n + " תווים נוספים"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "נא להזין פחות " + n + " תווים"; },
|
||||
formatSelectionTooBig: function (limit) { return "ניתן לבחור " + limit + " פריטים"; },
|
||||
formatLoadMore: function (pageNumber) { return "טוען תוצאות נוספות…"; },
|
||||
formatSearching: function () { return "מחפש…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['he']);
|
||||
})(jQuery);
|
24
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_hr.js
vendored
Normal file
24
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_hr.js
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Select2 Croatian translation.
|
||||
*
|
||||
* @author Edi Modrić <edi.modric@gmail.com>
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['hr'] = {
|
||||
formatNoMatches: function () { return "Nema rezultata"; },
|
||||
formatInputTooShort: function (input, min) { return "Unesite još" + character(min - input.length); },
|
||||
formatInputTooLong: function (input, max) { return "Unesite" + character(input.length - max) + " manje"; },
|
||||
formatSelectionTooBig: function (limit) { return "Maksimalan broj odabranih stavki je " + limit; },
|
||||
formatLoadMore: function (pageNumber) { return "Učitavanje rezultata…"; },
|
||||
formatSearching: function () { return "Pretraga…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['hr']);
|
||||
|
||||
function character (n) {
|
||||
return " " + n + " znak" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "a" : "" : "ova");
|
||||
}
|
||||
})(jQuery);
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_hu.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_hu.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Hungarian translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['hu'] = {
|
||||
formatNoMatches: function () { return "Nincs találat."; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Túl rövid. Még " + n + " karakter hiányzik."; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Túl hosszú. " + n + " karakterrel több, mint kellene."; },
|
||||
formatSelectionTooBig: function (limit) { return "Csak " + limit + " elemet lehet kiválasztani."; },
|
||||
formatLoadMore: function (pageNumber) { return "Töltés…"; },
|
||||
formatSearching: function () { return "Keresés…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['hu']);
|
||||
})(jQuery);
|
21
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_id.js
vendored
Normal file
21
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_id.js
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Select2 Indonesian translation.
|
||||
*
|
||||
* Author: Ibrahim Yusuf <ibrahim7usuf@gmail.com>
|
||||
* Author: Salahuddin Hairai <mr.od3n@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['id'] = {
|
||||
formatMatches: function (matches) { if (matches === 1) { return "Satu keputusan ditemui, tekan enter untuk memilih."; } return matches + " keputusan ditemui, gunakan kekunci anak panah ke atas dan ke bawah untuk menavigasi."; },
|
||||
formatNoMatches: function () { return "Tidak ada data yang sesuai"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Masukkan " + n + " huruf lagi"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Hapuskan " + n + " huruf" ; },
|
||||
formatSelectionTooBig: function (limit) { return "Anda hanya dapat memilih " + limit + " pilihan"; },
|
||||
formatLoadMore: function (pageNumber) { return "Mengambil data…"; },
|
||||
formatSearching: function () { return "Mencari…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['id']);
|
||||
})(jQuery);
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_is.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_is.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Icelandic translation.
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['is'] = {
|
||||
formatNoMatches: function () { return "Ekkert fannst"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vinsamlegast skrifið " + n + " staf" + (n > 1 ? "i" : "") + " í viðbót"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vinsamlegast styttið texta um " + n + " staf" + (n > 1 ? "i" : ""); },
|
||||
formatSelectionTooBig: function (limit) { return "Þú getur aðeins valið " + limit + " atriði"; },
|
||||
formatLoadMore: function (pageNumber) { return "Sæki fleiri niðurstöður…"; },
|
||||
formatSearching: function () { return "Leita…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['is']);
|
||||
})(jQuery);
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_it.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_it.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Italian translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['it'] = {
|
||||
formatNoMatches: function () { return "Nessuna corrispondenza trovata"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Inserisci ancora " + n + " caratter" + (n == 1? "e" : "i"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Inserisci " + n + " caratter" + (n == 1? "e" : "i") + " in meno"; },
|
||||
formatSelectionTooBig: function (limit) { return "Puoi selezionare solo " + limit + " element" + (limit == 1 ? "o" : "i"); },
|
||||
formatLoadMore: function (pageNumber) { return "Caricamento in corso…"; },
|
||||
formatSearching: function () { return "Ricerca…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['it']);
|
||||
})(jQuery);
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ja.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ja.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Japanese translation.
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ja'] = {
|
||||
formatNoMatches: function () { return "該当なし"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "後" + n + "文字入れてください"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "検索文字列が" + n + "文字長すぎます"; },
|
||||
formatSelectionTooBig: function (limit) { return "最多で" + limit + "項目までしか選択できません"; },
|
||||
formatLoadMore: function (pageNumber) { return "読込中・・・"; },
|
||||
formatSearching: function () { return "検索中・・・"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ja']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ka.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ka.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Georgian (Kartuli) translation.
|
||||
*
|
||||
* Author: Dimitri Kurashvili dimakura@gmail.com
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ka'] = {
|
||||
formatNoMatches: function () { return "ვერ მოიძებნა"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "გთხოვთ შეიყვანოთ კიდევ " + n + " სიმბოლო"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "გთხოვთ წაშალოთ " + n + " სიმბოლო"; },
|
||||
formatSelectionTooBig: function (limit) { return "თქვენ შეგიძლიათ მხოლოდ " + limit + " ჩანაწერის მონიშვნა"; },
|
||||
formatLoadMore: function (pageNumber) { return "შედეგის ჩატვირთვა…"; },
|
||||
formatSearching: function () { return "ძებნა…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ka']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ko.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ko.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Korean translation.
|
||||
*
|
||||
* @author Swen Mun <longfinfunnel@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ko'] = {
|
||||
formatNoMatches: function () { return "결과 없음"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "너무 짧습니다. "+n+"글자 더 입력해주세요."; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "너무 깁니다. "+n+"글자 지워주세요."; },
|
||||
formatSelectionTooBig: function (limit) { return "최대 "+limit+"개까지만 선택하실 수 있습니다."; },
|
||||
formatLoadMore: function (pageNumber) { return "불러오는 중…"; },
|
||||
formatSearching: function () { return "검색 중…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ko']);
|
||||
})(jQuery);
|
26
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_lt.js
vendored
Normal file
26
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_lt.js
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Select2 Lithuanian translation.
|
||||
*
|
||||
* @author CRONUS Karmalakas <cronus dot karmalakas at gmail dot com>
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['lt'] = {
|
||||
formatNoMatches: function () { return "Atitikmenų nerasta"; },
|
||||
formatInputTooShort: function (input, min) { return "Įrašykite dar" + character(min - input.length); },
|
||||
formatInputTooLong: function (input, max) { return "Pašalinkite" + character(input.length - max); },
|
||||
formatSelectionTooBig: function (limit) {
|
||||
return "Jūs galite pasirinkti tik " + limit + " element" + ((limit%100 > 9 && limit%100 < 21) || limit%10 == 0 ? "ų" : limit%10 > 1 ? "us" : "ą");
|
||||
},
|
||||
formatLoadMore: function (pageNumber) { return "Kraunama daugiau rezultatų…"; },
|
||||
formatSearching: function () { return "Ieškoma…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['lt']);
|
||||
|
||||
function character (n) {
|
||||
return " " + n + " simbol" + ((n%100 > 9 && n%100 < 21) || n%10 == 0 ? "ių" : n%10 > 1 ? "ius" : "į");
|
||||
}
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_lv.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_lv.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Latvian translation.
|
||||
*
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['lv'] = {
|
||||
formatNoMatches: function () { return "Sakritību nav"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Lūdzu ievadiet vēl " + n + " simbol" + (n == 11 ? "us" : n%10 == 1 ? "u" : "us"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Lūdzu ievadiet par " + n + " simbol" + (n == 11 ? "iem" : n%10 == 1 ? "u" : "iem") + " mazāk"; },
|
||||
formatSelectionTooBig: function (limit) { return "Jūs varat izvēlēties ne vairāk kā " + limit + " element" + (limit == 11 ? "us" : limit%10 == 1 ? "u" : "us"); },
|
||||
formatLoadMore: function (pageNumber) { return "Datu ielāde…"; },
|
||||
formatSearching: function () { return "Meklēšana…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['lv']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_mk.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_mk.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Macedonian translation.
|
||||
*
|
||||
* Author: Marko Aleksic <psybaron@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['mk'] = {
|
||||
formatNoMatches: function () { return "Нема пронајдено совпаѓања"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Ве молиме внесете уште " + n + " карактер" + (n == 1 ? "" : "и"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Ве молиме внесете " + n + " помалку карактер" + (n == 1? "" : "и"); },
|
||||
formatSelectionTooBig: function (limit) { return "Можете да изберете само " + limit + " ставк" + (limit == 1 ? "а" : "и"); },
|
||||
formatLoadMore: function (pageNumber) { return "Вчитување резултати…"; },
|
||||
formatSearching: function () { return "Пребарување…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['mk']);
|
||||
})(jQuery);
|
21
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ms.js
vendored
Normal file
21
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ms.js
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Select2 Malay translation.
|
||||
*
|
||||
* Author: Kepoweran <kepoweran@gmail.com>
|
||||
* Author: Salahuddin Hairai <mr.od3n@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ms'] = {
|
||||
formatMatches: function (matches) { if (matches === 1) { return "Satu keputusan ditemui, tekan enter untuk memilih."; } return matches + " keputusan ditemui, gunakan kekunci anak panah ke atas dan ke bawah untuk menavigasi."; },
|
||||
formatNoMatches: function () { return "Tiada padanan yang ditemui"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Sila masukkan " + n + " aksara lagi"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Sila hapuskan " + n + " aksara"; },
|
||||
formatSelectionTooBig: function (limit) { return "Anda hanya boleh memilih " + limit + " pilihan"; },
|
||||
formatLoadMore: function (pageNumber) { return "Sedang memuatkan keputusan…"; },
|
||||
formatSearching: function () { return "Mencari…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ms']);
|
||||
})(jQuery);
|
22
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_nb.js
vendored
Normal file
22
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_nb.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Select2 Norwegian Bokmål translation.
|
||||
*
|
||||
* Author: Torgeir Veimo <torgeir.veimo@gmail.com>
|
||||
* Author: Bjørn Johansen <post@bjornjohansen.no>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['nb'] = {
|
||||
formatMatches: function (matches) { if (matches === 1) { return "Ett resultat er tilgjengelig, trykk enter for å velge det."; } return matches + " resultater er tilgjengelig. Bruk piltastene opp og ned for å navigere."; },
|
||||
formatNoMatches: function () { return "Ingen treff"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vennligst skriv inn " + n + (n>1 ? " flere tegn" : " tegn til"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vennligst fjern " + n + " tegn"; },
|
||||
formatSelectionTooBig: function (limit) { return "Du kan velge maks " + limit + " elementer"; },
|
||||
formatLoadMore: function (pageNumber) { return "Laster flere resultater …"; },
|
||||
formatSearching: function () { return "Søker …"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['no']);
|
||||
})(jQuery);
|
||||
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_nl.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_nl.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Dutch translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['nl'] = {
|
||||
formatNoMatches: function () { return "Geen resultaten gevonden"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vul nog " + n + " karakter" + (n == 1? "" : "s") + " in"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Haal " + n + " karakter" + (n == 1? "" : "s") + " weg"; },
|
||||
formatSelectionTooBig: function (limit) { return "Maximaal " + limit + " item" + (limit == 1 ? "" : "s") + " toegestaan"; },
|
||||
formatLoadMore: function (pageNumber) { return "Meer resultaten laden…"; },
|
||||
formatSearching: function () { return "Zoeken…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['nl']);
|
||||
})(jQuery);
|
54
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_pl.js
vendored
Normal file
54
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_pl.js
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Select2 Polish translation.
|
||||
*
|
||||
* @author Jan Kondratowicz <jan@kondratowicz.pl>
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
* @author Michał Połtyn <mike@poltyn.com>
|
||||
* @author Damian Zajkowski <damian.zajkowski@gmail.com>
|
||||
*/
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['pl'] = {
|
||||
formatNoMatches: function() {
|
||||
return "Brak wyników";
|
||||
},
|
||||
formatInputTooShort: function(input, min) {
|
||||
return "Wpisz co najmniej" + character(min - input.length, "znak", "i");
|
||||
},
|
||||
formatInputTooLong: function(input, max) {
|
||||
return "Wpisana fraza jest za długa o" + character(input.length - max, "znak", "i");
|
||||
},
|
||||
formatSelectionTooBig: function(limit) {
|
||||
return "Możesz zaznaczyć najwyżej" + character(limit, "element", "y");
|
||||
},
|
||||
formatLoadMore: function(pageNumber) {
|
||||
return "Ładowanie wyników…";
|
||||
},
|
||||
formatSearching: function() {
|
||||
return "Szukanie…";
|
||||
}
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['pl']);
|
||||
|
||||
function character(n, word, pluralSuffix) {
|
||||
//Liczba pojedyncza - brak suffiksu
|
||||
//jeden znak
|
||||
//jeden element
|
||||
var suffix = '';
|
||||
if (n > 1 && n < 5) {
|
||||
//Liczaba mnoga ilość od 2 do 4 - własny suffiks
|
||||
//Dwa znaki, trzy znaki, cztery znaki.
|
||||
//Dwa elementy, trzy elementy, cztery elementy
|
||||
suffix = pluralSuffix;
|
||||
} else if (n == 0 || n >= 5) {
|
||||
//Ilość 0 suffiks ów
|
||||
//Liczaba mnoga w ilości 5 i więcej - suffiks ów (nie poprawny dla wszystkich wyrazów, np. 100 wiadomości)
|
||||
//Zero znaków, Pięć znaków, sześć znaków, siedem znaków, osiem znaków.
|
||||
//Zero elementów Pięć elementów, sześć elementów, siedem elementów, osiem elementów.
|
||||
suffix = 'ów';
|
||||
}
|
||||
return " " + n + " " + word + suffix;
|
||||
}
|
||||
})(jQuery);
|
18
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_pt-BR.js
vendored
Normal file
18
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_pt-BR.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Select2 Brazilian Portuguese translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['pt-BR'] = {
|
||||
formatNoMatches: function () { return "Nenhum resultado encontrado"; },
|
||||
formatAjaxError: function () { return "Erro na busca"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Digite " + (min == 1 ? "" : "mais") + " " + n + " caracter" + (n == 1? "" : "es"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " caracter" + (n == 1? "" : "es"); },
|
||||
formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
|
||||
formatLoadMore: function (pageNumber) { return "Carregando mais resultados…"; },
|
||||
formatSearching: function () { return "Buscando…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['pt-BR']);
|
||||
})(jQuery);
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_pt-PT.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_pt-PT.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Portuguese (Portugal) translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['pt-PT'] = {
|
||||
formatNoMatches: function () { return "Nenhum resultado encontrado"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduza " + n + " car" + (n == 1 ? "ácter" : "acteres"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " car" + (n == 1 ? "ácter" : "acteres"); },
|
||||
formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
|
||||
formatLoadMore: function (pageNumber) { return "A carregar mais resultados…"; },
|
||||
formatSearching: function () { return "A pesquisar…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['pt-PT']);
|
||||
})(jQuery);
|
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ro.js
vendored
Normal file
17
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ro.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Select2 Romanian translation.
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ro'] = {
|
||||
formatNoMatches: function () { return "Nu a fost găsit nimic"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vă rugăm să introduceți incă " + n + " caracter" + (n == 1 ? "" : "e"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vă rugăm să introduceți mai puțin de " + n + " caracter" + (n == 1? "" : "e"); },
|
||||
formatSelectionTooBig: function (limit) { return "Aveți voie să selectați cel mult " + limit + " element" + (limit == 1 ? "" : "e"); },
|
||||
formatLoadMore: function (pageNumber) { return "Se încarcă…"; },
|
||||
formatSearching: function () { return "Căutare…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ro']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_rs.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_rs.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Serbian translation.
|
||||
*
|
||||
* @author Limon Monte <limon.monte@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['rs'] = {
|
||||
formatNoMatches: function () { return "Ništa nije pronađeno"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Ukucajte bar još " + n + " simbol" + (n % 10 == 1 && n % 100 != 11 ? "" : "a"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Obrišite " + n + " simbol" + (n % 10 == 1 && n % 100 != 11 ? "" : "a"); },
|
||||
formatSelectionTooBig: function (limit) { return "Možete izabrati samo " + limit + " stavk" + (limit % 10 == 1 && limit % 100 != 11 ? "u" : (limit % 10 >= 2 && limit % 10 <= 4 && (limit % 100 < 12 || limit % 100 > 14)? "e" : "i")); },
|
||||
formatLoadMore: function (pageNumber) { return "Preuzimanje još rezultata…"; },
|
||||
formatSearching: function () { return "Pretraga…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['rs']);
|
||||
})(jQuery);
|
23
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ru.js
vendored
Normal file
23
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ru.js
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Select2 Russian translation.
|
||||
*
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['ru'] = {
|
||||
formatNoMatches: function () { return "Совпадений не найдено"; },
|
||||
formatInputTooShort: function (input, min) { return "Пожалуйста, введите еще хотя бы" + character(min - input.length); },
|
||||
formatInputTooLong: function (input, max) { return "Пожалуйста, введите на" + character(input.length - max) + " меньше"; },
|
||||
formatSelectionTooBig: function (limit) { return "Вы можете выбрать не более " + limit + " элемент" + (limit%10 == 1 && limit%100 != 11 ? "а" : "ов"); },
|
||||
formatLoadMore: function (pageNumber) { return "Загрузка данных…"; },
|
||||
formatSearching: function () { return "Поиск…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ru']);
|
||||
|
||||
function character (n) {
|
||||
return " " + n + " символ" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 20) ? n%10 > 1 ? "a" : "" : "ов");
|
||||
}
|
||||
})(jQuery);
|
50
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_sk.js
vendored
Normal file
50
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_sk.js
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
* Select2 Slovak translation.
|
||||
*
|
||||
* Author: David Vallner <david@vallner.net>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
// use text for the numbers 2 through 4
|
||||
var smallNumbers = {
|
||||
2: function(masc) { return (masc ? "dva" : "dve"); },
|
||||
3: function() { return "tri"; },
|
||||
4: function() { return "štyri"; }
|
||||
};
|
||||
$.fn.select2.locales['sk'] = {
|
||||
formatNoMatches: function () { return "Nenašli sa žiadne položky"; },
|
||||
formatInputTooShort: function (input, min) {
|
||||
var n = min - input.length;
|
||||
if (n == 1) {
|
||||
return "Prosím, zadajte ešte jeden znak";
|
||||
} else if (n <= 4) {
|
||||
return "Prosím, zadajte ešte ďalšie "+smallNumbers[n](true)+" znaky";
|
||||
} else {
|
||||
return "Prosím, zadajte ešte ďalších "+n+" znakov";
|
||||
}
|
||||
},
|
||||
formatInputTooLong: function (input, max) {
|
||||
var n = input.length - max;
|
||||
if (n == 1) {
|
||||
return "Prosím, zadajte o jeden znak menej";
|
||||
} else if (n >= 2 && n <= 4) {
|
||||
return "Prosím, zadajte o "+smallNumbers[n](true)+" znaky menej";
|
||||
} else {
|
||||
return "Prosím, zadajte o "+n+" znakov menej";
|
||||
}
|
||||
},
|
||||
formatSelectionTooBig: function (limit) {
|
||||
if (limit == 1) {
|
||||
return "Môžete zvoliť len jednu položku";
|
||||
} else if (limit >= 2 && limit <= 4) {
|
||||
return "Môžete zvoliť najviac "+smallNumbers[limit](false)+" položky";
|
||||
} else {
|
||||
return "Môžete zvoliť najviac "+limit+" položiek";
|
||||
}
|
||||
},
|
||||
formatLoadMore: function (pageNumber) { return "Načítavajú sa ďalšie výsledky…"; },
|
||||
formatSearching: function () { return "Vyhľadávanie…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['sk']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_sv.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_sv.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Swedish translation.
|
||||
*
|
||||
* Author: Jens Rantil <jens.rantil@telavox.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['sv'] = {
|
||||
formatNoMatches: function () { return "Inga träffar"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Var god skriv in " + n + (n>1 ? " till tecken" : " tecken till"); },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Var god sudda ut " + n + " tecken"; },
|
||||
formatSelectionTooBig: function (limit) { return "Du kan max välja " + limit + " element"; },
|
||||
formatLoadMore: function (pageNumber) { return "Laddar fler resultat…"; },
|
||||
formatSearching: function () { return "Söker…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['sv']);
|
||||
})(jQuery);
|
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_th.js
vendored
Normal file
19
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_th.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Select2 Thai translation.
|
||||
*
|
||||
* Author: Atsawin Chaowanakritsanakul <joke@nakhon.net>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['th'] = {
|
||||
formatNoMatches: function () { return "ไม่พบข้อมูล"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "โปรดพิมพ์เพิ่มอีก " + n + " ตัวอักษร"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "โปรดลบออก " + n + " ตัวอักษร"; },
|
||||
formatSelectionTooBig: function (limit) { return "คุณสามารถเลือกได้ไม่เกิน " + limit + " รายการ"; },
|
||||
formatLoadMore: function (pageNumber) { return "กำลังค้นข้อมูลเพิ่ม…"; },
|
||||
formatSearching: function () { return "กำลังค้นข้อมูล…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['th']);
|
||||
})(jQuery);
|
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_tr.js
vendored
Normal file
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_tr.js
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Select2 Turkish translation.
|
||||
*
|
||||
* Author: Salim KAYABAŞI <salim.kayabasi@gmail.com>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['tr'] = {
|
||||
formatMatches: function (matches) { if (matches === 1) { return "Sadece bir sonuç bulundu, seçmek için enter tuşuna basabilirsiniz."; } return matches + " sonuç bulundu, yukarı ve aşağı tuşları ile seçebilirsiniz."; },
|
||||
formatNoMatches: function () { return "Sonuç bulunamadı"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "En az " + n + " karakter daha girmelisiniz"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return n + " karakter azaltmalısınız"; },
|
||||
formatSelectionTooBig: function (limit) { return "Sadece " + limit + " seçim yapabilirsiniz"; },
|
||||
formatLoadMore: function (pageNumber) { return "Daha fazla…"; },
|
||||
formatSearching: function () { return "Aranıyor…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['tr']);
|
||||
})(jQuery);
|
16
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ug-CN.js
vendored
Normal file
16
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_ug-CN.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Select2 Uyghur translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
$.fn.select2.locales['ug-CN'] = {
|
||||
formatNoMatches: function () { return "ماس كېلىدىغان ئۇچۇر تېپىلمىدى"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "يەنە " + n + " ھەرپ كىرگۈزۈڭ";},
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "" + n + "ھەرپ ئۆچۈرۈڭ";},
|
||||
formatSelectionTooBig: function (limit) { return "ئەڭ كۆپ بولغاندا" + limit + " تال ئۇچۇر تاللىيالايسىز"; },
|
||||
formatLoadMore: function (pageNumber) { return "ئۇچۇرلار ئوقۇلىۋاتىدۇ…"; },
|
||||
formatSearching: function () { return "ئىزدەۋاتىدۇ…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['ug-CN']);
|
||||
})(jQuery);
|
25
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_uk.js
vendored
Normal file
25
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_uk.js
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Select2 Ukrainian translation.
|
||||
*
|
||||
* @author bigmihail <bigmihail@bigmir.net>
|
||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['uk'] = {
|
||||
formatMatches: function (matches) { return character(matches, "результат") + " знайдено, використовуйте клавіші зі стрілками вверх та вниз для навігації."; },
|
||||
formatNoMatches: function () { return "Нічого не знайдено"; },
|
||||
formatInputTooShort: function (input, min) { return "Введіть буль ласка ще " + character(min - input.length, "символ"); },
|
||||
formatInputTooLong: function (input, max) { return "Введіть буль ласка на " + character(input.length - max, "символ") + " менше"; },
|
||||
formatSelectionTooBig: function (limit) { return "Ви можете вибрати лише " + character(limit, "елемент"); },
|
||||
formatLoadMore: function (pageNumber) { return "Завантаження даних…"; },
|
||||
formatSearching: function () { return "Пошук…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['uk']);
|
||||
|
||||
function character (n, word) {
|
||||
return n + " " + word + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "и" : "" : "ів");
|
||||
}
|
||||
})(jQuery);
|
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_vi.js
vendored
Normal file
20
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_vi.js
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Select2 Vietnamese translation.
|
||||
*
|
||||
* Author: Long Nguyen <olragon@gmail.com>, Nguyen Chien Cong
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.select2.locales['vi'] = {
|
||||
formatNoMatches: function () { return "Không tìm thấy kết quả"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vui lòng nhập nhiều hơn " + n + " ký tự"; },
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vui lòng nhập ít hơn " + n + " ký tự"; },
|
||||
formatSelectionTooBig: function (limit) { return "Chỉ có thể chọn được " + limit + " lựa chọn"; },
|
||||
formatLoadMore: function (pageNumber) { return "Đang lấy thêm kết quả…"; },
|
||||
formatSearching: function () { return "Đang tìm…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['vi']);
|
||||
})(jQuery);
|
||||
|
16
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_zh-CN.js
vendored
Normal file
16
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_zh-CN.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Select2 Chinese translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
$.fn.select2.locales['zh-CN'] = {
|
||||
formatNoMatches: function () { return "没有找到匹配项"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "请再输入" + n + "个字符";},
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "请删掉" + n + "个字符";},
|
||||
formatSelectionTooBig: function (limit) { return "你只能选择最多" + limit + "项"; },
|
||||
formatLoadMore: function (pageNumber) { return "加载结果中…"; },
|
||||
formatSearching: function () { return "搜索中…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['zh-CN']);
|
||||
})(jQuery);
|
16
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_zh-TW.js
vendored
Normal file
16
src/Bundle/ChillMainBundle/Resources/public/js/select2/select2_locale_zh-TW.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Select2 Traditional Chinese translation
|
||||
*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
$.fn.select2.locales['zh-TW'] = {
|
||||
formatNoMatches: function () { return "沒有找到相符的項目"; },
|
||||
formatInputTooShort: function (input, min) { var n = min - input.length; return "請再輸入" + n + "個字元";},
|
||||
formatInputTooLong: function (input, max) { var n = input.length - max; return "請刪掉" + n + "個字元";},
|
||||
formatSelectionTooBig: function (limit) { return "你只能選擇最多" + limit + "項"; },
|
||||
formatLoadMore: function (pageNumber) { return "載入中…"; },
|
||||
formatSearching: function () { return "搜尋中…"; }
|
||||
};
|
||||
|
||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['zh-TW']);
|
||||
})(jQuery);
|
Reference in New Issue
Block a user