whisper.cat stuff
148
weboasis/stocks/assets/css/style-theme-dark.css
Normal file
@ -0,0 +1,148 @@
|
||||
body.dark-theme {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.dark-theme * {color:#f6f6f6;}
|
||||
.dark-theme .main-conteiner {
|
||||
background: #111 ;
|
||||
}
|
||||
|
||||
.dark-theme table.dataTable thead tr {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
.dark-theme .dataTables_wrapper .bottom {background:#222;}
|
||||
|
||||
.dark-theme table.dataTable thead th .filter-btn i, .dark-theme table.dataTable tbody tr .filter-btn i {color:#eee;}
|
||||
|
||||
.dark-theme .dataTables_wrapper .bottom {
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
|
||||
.dark-theme .table-select-input,
|
||||
.dark-theme .popup-filter-input {
|
||||
background: #111;
|
||||
border: 1px solid #444;
|
||||
}
|
||||
|
||||
.dark-theme .table-select-input .table-select-input-item {
|
||||
color:#ddd;
|
||||
}
|
||||
|
||||
.dark-theme .table-select-input .table-select-input-item:hover,
|
||||
.dark-theme .table-select-input .table-select-input-item.selected {
|
||||
background:#333;
|
||||
}
|
||||
|
||||
.dark-theme .ui-select {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
.dark-theme .ui-select:hover {
|
||||
background:#444;
|
||||
|
||||
}
|
||||
|
||||
.dark-theme .dataTables_paginate .paginate_button a {
|
||||
background: #333;
|
||||
color:#ddd;
|
||||
}
|
||||
|
||||
.dark-theme .dataTables_paginate .paginate_button a:hover {
|
||||
background: #444;
|
||||
}
|
||||
|
||||
.dark-theme .dataTables_paginate .paginate_button.current a {
|
||||
background:#444;
|
||||
}
|
||||
|
||||
.dark-theme .popup-filter-input .reset-btn {
|
||||
background: #333;
|
||||
}
|
||||
.dark-theme .popup-filter-input .reset-btn:hover {background:#444;}
|
||||
.dark-theme .popup-filter-input .reset-btn i {color:#ddd}
|
||||
|
||||
.dark-theme .popup-filter-input .lbl-range {color:#aaa}
|
||||
|
||||
.dark-theme .ui-widget-header {
|
||||
background: #444;
|
||||
}
|
||||
|
||||
.dark-theme .ui-widget-content {
|
||||
background: #111;
|
||||
}
|
||||
|
||||
|
||||
.dark-theme .ui-state-default,
|
||||
.dark-theme .ui-widget-content .ui-state-default,
|
||||
.dark-theme .ui-widget-header .ui-state-default
|
||||
{
|
||||
background:#888;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
.dark-theme header .inner {
|
||||
background: #444;
|
||||
border-bottom: 1px solid #777;
|
||||
}
|
||||
|
||||
.dark-theme .popup-filter-input .lbl-range-from,.dark-theme .popup-filter-input .lbl-range-to {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
.dark-theme .ui-datepicker-calendar tr td a.ui-state-default {
|
||||
background: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
.dark-theme .ui-datepicker-calendar tr td a.ui-state-default:hover {
|
||||
background: #222;
|
||||
}
|
||||
.dark-theme .ui-datepicker-calendar tr td a.ui-state-default.ui-state-active {background:#333;}
|
||||
.dark-theme .ui-datepicker-calendar tr td a.ui-state-default.ui-state-highlight {color:#aaf;}
|
||||
|
||||
.dark-theme table thead {
|
||||
border-bottom: 1px solid #444;
|
||||
}
|
||||
|
||||
.dark-theme table tbody tr {
|
||||
border-color: #444;
|
||||
}
|
||||
.dark-theme table tbody tr:last-child {
|
||||
border-color:transparent;
|
||||
}
|
||||
.dark-theme table.dataTable tbody tr:hover {
|
||||
background: #333;
|
||||
}
|
||||
.dark-theme table.dataTable thead th:hover {
|
||||
background: #444444;
|
||||
}
|
||||
.dark-theme .header .data-view button.active,
|
||||
.dark-theme .header .data-view button:hover {
|
||||
border-bottom: 2px solid #ffffff;
|
||||
}
|
||||
|
||||
.dark-theme .swal2-modal {background:#222;}
|
||||
.dark-theme .swal2-modal .swal2-title {color:#eee;}
|
||||
.dark-theme .swal2-modal .swal2-text {color:#eee;}
|
||||
.dark-theme .swal2-modal .swal2-content {color:#eee;}
|
||||
.dark-theme button.swal2-confirm {background:#333;color:#eee;}
|
||||
.dark-theme button.swal2-confirm:hover {background:#444;}
|
||||
|
||||
.dark-theme div.modal-share-info { }
|
||||
.dark-theme div.modal-share-info div.modal-share-left { }
|
||||
.dark-theme div.modal-share-info div.modal-share-left div.modal-share-line { }
|
||||
.dark-theme div.modal-share-info div.modal-share-left div.modal-share-line label {color: #0b89c3;}
|
||||
.dark-theme div.modal-share-info div.modal-share-left div.modal-share-line span { }
|
||||
.dark-theme div.modal-share-info div.modal-share-right { }
|
||||
.dark-theme div.modal-share-info div.modal-share-right img.share-img { filter:invert(); }
|
||||
|
||||
|
||||
.dark-theme input.ui.input.filter-string-simple {
|
||||
background:#222;
|
||||
border-color:#000;
|
||||
}
|
||||
|
||||
.dark-theme input.ui.input.filter-string-simple:focus {
|
||||
border-color:#333;
|
||||
}
|
1140
weboasis/stocks/assets/css/style.css
Normal file
BIN
weboasis/stocks/assets/images/favicon/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
weboasis/stocks/assets/images/favicon/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
weboasis/stocks/assets/images/favicon/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
9
weboasis/stocks/assets/images/favicon/browserconfig.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="assets/images/favicon/mstile-150x150.png"/>
|
||||
<TileColor>#da532c</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
BIN
weboasis/stocks/assets/images/favicon/favicon-16x16.png
Normal file
After Width: | Height: | Size: 606 B |
BIN
weboasis/stocks/assets/images/favicon/favicon-32x32.png
Normal file
After Width: | Height: | Size: 862 B |
BIN
weboasis/stocks/assets/images/favicon/favicon.ico
Normal file
After Width: | Height: | Size: 7.2 KiB |
17
weboasis/stocks/assets/images/favicon/manifest.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "Stock Screener",
|
||||
"icons": [
|
||||
{
|
||||
"src": "assets\/images\/favicon\/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image\/png"
|
||||
},
|
||||
{
|
||||
"src": "assets\/images\/favicon\/android-chrome-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image\/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
BIN
weboasis/stocks/assets/images/favicon/mstile-150x150.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
36
weboasis/stocks/assets/images/favicon/safari-pinned-tab.svg
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="626.000000pt" height="626.000000pt" viewBox="0 0 626.000000 626.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,626.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M5320 3315 l0 -2345 240 0 240 0 0 2345 0 2345 -240 0 -240 0 0
|
||||
-2345z"/>
|
||||
<path d="M2710 5239 c-275 -26 -531 -135 -720 -304 -66 -59 -150 -147 -169
|
||||
-175 -9 -14 -30 -43 -46 -66 -79 -105 -170 -321 -202 -481 -24 -120 -23 -366
|
||||
1 -483 34 -164 104 -333 193 -468 l36 -54 -108 -108 -107 -108 -82 -4 c-144
|
||||
-8 -121 11 -698 -566 -570 -570 -556 -553 -566 -689 -7 -100 21 -174 94 -247
|
||||
71 -73 140 -99 244 -94 139 7 127 -3 677 547 270 271 504 508 519 528 41 54
|
||||
64 125 64 199 l0 65 108 111 109 110 54 -35 c147 -94 290 -154 449 -190 142
|
||||
-31 396 -31 535 2 256 60 465 176 642 359 234 241 355 542 356 882 0 326 -107
|
||||
611 -318 849 -263 296 -672 458 -1065 420z m370 -394 c335 -107 564 -357 636
|
||||
-693 7 -37 14 -119 14 -183 0 -354 -200 -668 -524 -820 -439 -205 -972 -23
|
||||
-1189 408 -40 78 -75 176 -87 244 -15 79 -14 275 0 347 31 152 101 294 203
|
||||
412 143 165 311 264 527 310 25 5 110 8 190 6 125 -3 157 -7 230 -31z"/>
|
||||
<path d="M4317 4893 c-4 -3 -7 -130 -7 -282 0 -243 3 -288 22 -381 31 -152 31
|
||||
-391 0 -552 l-22 -117 0 -1296 0 -1295 240 0 240 0 0 1965 0 1965 -233 0
|
||||
c-129 0 -237 -3 -240 -7z"/>
|
||||
<path d="M3677 2679 c-81 -56 -247 -141 -339 -174 l-78 -28 0 -753 0 -754 240
|
||||
0 240 0 0 875 c0 481 -1 875 -2 875 -2 0 -29 -19 -61 -41z"/>
|
||||
<path d="M2170 1725 l0 -755 240 0 240 0 0 729 0 728 -52 7 c-28 4 -88 16
|
||||
-132 27 -54 12 -117 19 -188 19 l-108 0 0 -755z"/>
|
||||
<path d="M1243 1537 l-183 -184 0 -191 0 -192 240 0 240 0 0 375 0 375 -57 0
|
||||
-58 0 -182 -183z"/>
|
||||
<path d="M0 710 l0 -110 3130 0 3130 0 0 110 0 110 -3130 0 -3130 0 0 -110z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
10
weboasis/stocks/assets/js/modal.min.js
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Stock Screener
|
||||
* --------------------
|
||||
* Version 1.7.0, built on Tuesday, November 21, 2017
|
||||
* Copyright (c) Financial Apps and Plugins <info@financialplugins.com>. All rights reserved.
|
||||
* Demo: http://financialplugins.com/products/stock-screener/
|
||||
* Purchase: https://codecanyon.net/item/stock-screener/18297488?ref=financialtechnology
|
||||
* Like: https://www.facebook.com/financialplugins/
|
||||
*/
|
||||
function modal_show(o,a,d,t,n,l){return"undefined"==typeof n&&(n=!0),function(n,e){return modal='<div id="modal-box-'+n+'" class="remodal '+(l?"modal-fullscreen":"")+'" data-remodal-id="modal">\t<button data-remodal-action="close" class="remodal-close"></button>\t<h1>'+o+"</h1>\t<p>"+a+"\t</p>\t<br>"+("undefined"!=typeof d?'<button type="button" data-remodal-action="confirm" class="remodal-confirm">'+d+"</button>":"")+'<button type="button" data-remodal-action="cancel" class="remodal-cancel">'+("undefined"==typeof d?"OK":"Cancel")+"</button></div>",modal=$(modal),$("body").append(modal),modal_inst=modal.remodal({closeOnConfirm:!1}),modal_inst.open(),modal.on("closed",function(){$(this).remove()}),$("#modal-box-"+n+" #modal_ok").on("click",function(){t(modal,modal_inst),e&&modal_inst.close()}),modal}(modal_cntr++,n)}var modal_cntr=0;
|
11
weboasis/stocks/assets/js/script.min.js
vendored
Normal file
33
weboasis/stocks/assets/js/source/modal.js
Normal file
@ -0,0 +1,33 @@
|
||||
var modal_cntr=0;
|
||||
function modal_show(title,content,btn_ok_label,callback_ok,close_on_ok,is_full_screen){
|
||||
if(typeof(close_on_ok)=='undefined')close_on_ok=true;
|
||||
return (function(x,close_on_ok){
|
||||
|
||||
modal='<div id="modal-box-'+x+'" class="remodal '+(is_full_screen?'modal-fullscreen':'')+'" data-remodal-id="modal">'+
|
||||
' <button data-remodal-action="close" class="remodal-close"></button>'+
|
||||
' <h1>'+title+'</h1>'+
|
||||
' <p>'+
|
||||
content +
|
||||
' </p>'+
|
||||
' <br>'+
|
||||
(typeof(btn_ok_label)!='undefined'?'<button type="button" data-remodal-action="confirm" class="remodal-confirm">'+btn_ok_label+'</button>':'')+
|
||||
'<button type="button" data-remodal-action="cancel" class="remodal-cancel">'+(typeof(btn_ok_label)=='undefined'?'OK':'Cancel')+'</button>'+
|
||||
'</div>';
|
||||
|
||||
modal=$(modal);
|
||||
|
||||
$('body').append(modal);
|
||||
modal_inst=modal.remodal({closeOnConfirm:false});
|
||||
modal_inst.open();
|
||||
|
||||
modal.on('closed',function(){$(this).remove();});
|
||||
|
||||
$('#modal-box-'+x+' #modal_ok').on('click',function(){
|
||||
callback_ok(modal,modal_inst);
|
||||
if(close_on_ok)
|
||||
modal_inst.close();
|
||||
});
|
||||
|
||||
return modal;
|
||||
})(modal_cntr++,close_on_ok);
|
||||
}
|
1756
weboasis/stocks/assets/js/source/script.js
Normal file
21
weboasis/stocks/assets/vendor/air-datepicker-master/LICENSE.md
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 Timofey Marochkin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
112
weboasis/stocks/assets/vendor/air-datepicker-master/README.md
vendored
Normal file
@ -0,0 +1,112 @@
|
||||
# Air Datepicker
|
||||
|
||||
Lightweight customizable cross-browser jQuery datepicker, built with es5 and css-flexbox. Works in all modern desktop and mobile browsers (tested on Android 4.4+ and iOS8+).
|
||||
|
||||

|
||||
|
||||
## Install
|
||||
|
||||
### bower
|
||||
```
|
||||
bower i --save air-datepicker
|
||||
```
|
||||
### npm
|
||||
```
|
||||
npm i --save air-datepicker
|
||||
```
|
||||
|
||||
## Usage
|
||||
```javascript
|
||||
$('.my-datepicker').datepicker([options])
|
||||
```
|
||||
|
||||
## Demo and docs
|
||||
* [In English](http://t1m0n.name/air-datepicker/docs/)
|
||||
* [In Russian](http://t1m0n.name/air-datepicker/docs/index-ru.html)
|
||||
|
||||
## Change log
|
||||
|
||||
### v2.2.3
|
||||
* fixed min,max dates in decade mode
|
||||
|
||||
### v2.2.2
|
||||
* fixed min,max dates handling
|
||||
|
||||
### v2.2.1
|
||||
* changed RegExp for recognizing date parts
|
||||
* changed jquery version dependency
|
||||
|
||||
### v2.2.0
|
||||
* added `onlyTimepicker` option
|
||||
* added `onShow` and `onHide` callbacks
|
||||
* added `VERSION` field to plugin's prototype
|
||||
* now for selecting same date in `range` mode, you should set `{toggleSelected: false}`
|
||||
* fixed `dateFormat` method (fixed wrong month name in Hungarian language)
|
||||
* fixed second call of `onRenderCallback`
|
||||
* fixed `_getCell()` throwing exception
|
||||
* new language:
|
||||
- `sk` thanks to [RobiNN1](https://github.com/RobiNN1)
|
||||
|
||||
|
||||
### v2.1.0
|
||||
* added possibility to select single date when `{range: true}`
|
||||
* added support of 12 hours mode in `altFieldDateFormat`
|
||||
* improved work with minDate and maxDate when `{timepicker: true}`
|
||||
* fixed wrong class adding when `{range: true}`
|
||||
* new languages:
|
||||
- `es` thanks to [MarioAraque](https://github.com/MarioAraque)
|
||||
- `cs` thanks to [liborm85](https://github.com/liborm85)
|
||||
- `hu` thanks to [gergo85](https://github.com/gergo85)
|
||||
- `fi` thanks to [joonaskaskisolaphz](https://github.com/joonaskaskisolaphz)
|
||||
- `pl` thanks to [xiio](https://github.com/xiio)
|
||||
- `fr` thanks to [nicooprat](https://github.com/nicooprat)
|
||||
|
||||
### v2.0.2
|
||||
* fixed dates array in `onSelect` callback
|
||||
|
||||
### v2.0.1
|
||||
* fixed version for npm
|
||||
|
||||
### v2.0.0
|
||||
* added timepicker (see [docs](http://t1m0n.name/air-datepicker/docs#timepicker) for more info)
|
||||
* added possibility to set `Date` in `todayButton`
|
||||
* global variable `Datepicker` has been removed, now all placed in `$.fn.datepicker`
|
||||
* improved `selectDate` method, now one can pass an array of dates to select
|
||||
* added `npm` package
|
||||
* fixed issue caused by `placeholder` on `readonly` inputs in IE
|
||||
* fixed issue when `range` is true and first selected date is bigger than second
|
||||
* added new languages:
|
||||
- `da` thanks to [bjarnef](https://github.com/bjarnef)
|
||||
- `nl` thanks to [JaZo](https://github.com/JaZo)
|
||||
- `pt` thanks to [cmpscabral](https://github.com/cmpscabral)
|
||||
- `pt-BR` thanks to [dowglaz](https://github.com/dowglaz)
|
||||
- `ro` thanks to [tourniquet](https://github.com/tourniquet)
|
||||
|
||||
### v1.2.4
|
||||
* fixed '$ is not defined' problem.
|
||||
|
||||
### v1.2.3
|
||||
* fixed `dateFormat` method.
|
||||
* fixed typo in Russian docs, add ids in docs headers.
|
||||
|
||||
### v1.2.2
|
||||
* fixed typo in `monthsField`
|
||||
* added German language (thanks to [Ichag](https://github.com/Ichag))
|
||||
|
||||
### v1.2.1
|
||||
* tests added
|
||||
* added Chinese language (thanks to [think2011](https://github.com/think2011))
|
||||
* fixed if '0' is passed to `firstDay`
|
||||
* fixed `showOtherYears` option
|
||||
* fixed `onSelect` event, when `range` is true
|
||||
* fixed case when `range` and `multipleDates` both set to true
|
||||
|
||||
### v1.2.0
|
||||
* add `range` feature
|
||||
* improve keyboard navigation (fixed two focused cells)
|
||||
|
||||
### v1.1.0
|
||||
* add keyboard navigation
|
||||
* add `classes` option to add custom classes
|
||||
* add `altField` option
|
||||
* bug fixes
|
35
weboasis/stocks/assets/vendor/air-datepicker-master/bower.json
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "air-datepicker",
|
||||
"version": "2.2.3",
|
||||
"authors": [
|
||||
"t1m0n <t1m0n.tr@gmail.com>"
|
||||
],
|
||||
"description": "A lightweight, customizable, powerful jQuery datepicker",
|
||||
"main": [
|
||||
"dist/js/datepicker.js",
|
||||
"dist/css/datepicker.css"
|
||||
],
|
||||
"keywords": [
|
||||
"datepicker",
|
||||
"timepicker",
|
||||
"plugin",
|
||||
"customizable",
|
||||
"powerful"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"tasks",
|
||||
"docs",
|
||||
"page",
|
||||
"package.json",
|
||||
"gulpfile.js",
|
||||
"test",
|
||||
"tests"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=2.0.0 <4.0.0"
|
||||
}
|
||||
}
|
622
weboasis/stocks/assets/vendor/air-datepicker-master/dist/css/datepicker.css
vendored
Normal file
@ -0,0 +1,622 @@
|
||||
.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
|
||||
color: #c5c5c5; }
|
||||
.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
|
||||
color: #fff;
|
||||
background: #a2ddf6; }
|
||||
.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background: #8ad5f4; }
|
||||
.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
color: #cccccc; }
|
||||
.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.2); }
|
||||
.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
|
||||
background: none;
|
||||
border: none; }
|
||||
|
||||
/* -------------------------------------------------
|
||||
Datepicker cells
|
||||
------------------------------------------------- */
|
||||
.datepicker--cells {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-wrap: wrap;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap; }
|
||||
|
||||
.datepicker--cell {
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
position: relative;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
height: 32px;
|
||||
z-index: 1; }
|
||||
.datepicker--cell.-focus- {
|
||||
background: #f0f0f0; }
|
||||
.datepicker--cell.-current- {
|
||||
color: #4EB5E6; }
|
||||
.datepicker--cell.-current-.-focus- {
|
||||
color: #4a4a4a; }
|
||||
.datepicker--cell.-current-.-in-range- {
|
||||
color: #4EB5E6; }
|
||||
.datepicker--cell.-in-range- {
|
||||
background: rgba(92, 196, 239, 0.1);
|
||||
color: #4a4a4a;
|
||||
border-radius: 0; }
|
||||
.datepicker--cell.-in-range-.-focus- {
|
||||
background-color: rgba(92, 196, 239, 0.2); }
|
||||
.datepicker--cell.-disabled- {
|
||||
cursor: default;
|
||||
color: #aeaeae; }
|
||||
.datepicker--cell.-disabled-.-focus- {
|
||||
color: #aeaeae; }
|
||||
.datepicker--cell.-disabled-.-in-range- {
|
||||
color: #a1a1a1; }
|
||||
.datepicker--cell.-disabled-.-current-.-focus- {
|
||||
color: #aeaeae; }
|
||||
.datepicker--cell.-range-from- {
|
||||
border: 1px solid rgba(92, 196, 239, 0.5);
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
border-radius: 4px 0 0 4px; }
|
||||
.datepicker--cell.-range-to- {
|
||||
border: 1px solid rgba(92, 196, 239, 0.5);
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
border-radius: 0 4px 4px 0; }
|
||||
.datepicker--cell.-range-from-.-range-to- {
|
||||
border-radius: 4px; }
|
||||
.datepicker--cell.-selected- {
|
||||
color: #fff;
|
||||
border: none;
|
||||
background: #5cc4ef; }
|
||||
.datepicker--cell.-selected-.-current- {
|
||||
color: #fff;
|
||||
background: #5cc4ef; }
|
||||
.datepicker--cell.-selected-.-focus- {
|
||||
background: #45bced; }
|
||||
.datepicker--cell:empty {
|
||||
cursor: default; }
|
||||
|
||||
.datepicker--days-names {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-wrap: wrap;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin: 8px 0 3px; }
|
||||
|
||||
.datepicker--day-name {
|
||||
color: #FF9A19;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: .8em; }
|
||||
|
||||
.datepicker--cell-day {
|
||||
width: 14.28571%; }
|
||||
|
||||
.datepicker--cells-months {
|
||||
height: 170px; }
|
||||
|
||||
.datepicker--cell-month {
|
||||
width: 33.33%;
|
||||
height: 25%; }
|
||||
|
||||
.datepicker--years {
|
||||
height: 170px; }
|
||||
|
||||
.datepicker--cells-years {
|
||||
height: 170px; }
|
||||
|
||||
.datepicker--cell-year {
|
||||
width: 25%;
|
||||
height: 33.33%; }
|
||||
|
||||
.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
|
||||
color: #c5c5c5; }
|
||||
.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
|
||||
color: #fff;
|
||||
background: #a2ddf6; }
|
||||
.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background: #8ad5f4; }
|
||||
.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
color: #cccccc; }
|
||||
.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.2); }
|
||||
.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
|
||||
background: none;
|
||||
border: none; }
|
||||
|
||||
/* -------------------------------------------------
|
||||
Datepicker
|
||||
------------------------------------------------- */
|
||||
.datepickers-container {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0; }
|
||||
@media print {
|
||||
.datepickers-container {
|
||||
display: none; } }
|
||||
|
||||
.datepicker {
|
||||
background: #fff;
|
||||
border: 1px solid #dbdbdb;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||
border-radius: 4px;
|
||||
box-sizing: content-box;
|
||||
font-family: Tahoma, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #4a4a4a;
|
||||
width: 250px;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
|
||||
z-index: 100; }
|
||||
.datepicker.-from-top- {
|
||||
-webkit-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
.datepicker.-from-right- {
|
||||
-webkit-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
.datepicker.-from-bottom- {
|
||||
-webkit-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
.datepicker.-from-left- {
|
||||
-webkit-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
.datepicker.active {
|
||||
opacity: 1;
|
||||
-webkit-transform: translate(0);
|
||||
transform: translate(0);
|
||||
transition: opacity 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease; }
|
||||
|
||||
.datepicker-inline .datepicker {
|
||||
border-color: #d7d7d7;
|
||||
box-shadow: none;
|
||||
position: static;
|
||||
left: auto;
|
||||
right: auto;
|
||||
opacity: 1;
|
||||
-webkit-transform: none;
|
||||
transform: none; }
|
||||
|
||||
.datepicker-inline .datepicker--pointer {
|
||||
display: none; }
|
||||
|
||||
.datepicker--content {
|
||||
box-sizing: content-box;
|
||||
padding: 4px; }
|
||||
.-only-timepicker- .datepicker--content {
|
||||
display: none; }
|
||||
|
||||
.datepicker--pointer {
|
||||
position: absolute;
|
||||
background: #fff;
|
||||
border-top: 1px solid #dbdbdb;
|
||||
border-right: 1px solid #dbdbdb;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
z-index: -1; }
|
||||
.-top-left- .datepicker--pointer, .-top-center- .datepicker--pointer, .-top-right- .datepicker--pointer {
|
||||
top: calc(100% - 4px);
|
||||
-webkit-transform: rotate(135deg);
|
||||
transform: rotate(135deg); }
|
||||
.-right-top- .datepicker--pointer, .-right-center- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
|
||||
right: calc(100% - 4px);
|
||||
-webkit-transform: rotate(225deg);
|
||||
transform: rotate(225deg); }
|
||||
.-bottom-left- .datepicker--pointer, .-bottom-center- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
|
||||
bottom: calc(100% - 4px);
|
||||
-webkit-transform: rotate(315deg);
|
||||
transform: rotate(315deg); }
|
||||
.-left-top- .datepicker--pointer, .-left-center- .datepicker--pointer, .-left-bottom- .datepicker--pointer {
|
||||
left: calc(100% - 4px);
|
||||
-webkit-transform: rotate(45deg);
|
||||
transform: rotate(45deg); }
|
||||
.-top-left- .datepicker--pointer, .-bottom-left- .datepicker--pointer {
|
||||
left: 10px; }
|
||||
.-top-right- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
|
||||
right: 10px; }
|
||||
.-top-center- .datepicker--pointer, .-bottom-center- .datepicker--pointer {
|
||||
left: calc(50% - 10px / 2); }
|
||||
.-left-top- .datepicker--pointer, .-right-top- .datepicker--pointer {
|
||||
top: 10px; }
|
||||
.-left-bottom- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
|
||||
bottom: 10px; }
|
||||
.-left-center- .datepicker--pointer, .-right-center- .datepicker--pointer {
|
||||
top: calc(50% - 10px / 2); }
|
||||
|
||||
.datepicker--body {
|
||||
display: none; }
|
||||
.datepicker--body.active {
|
||||
display: block; }
|
||||
|
||||
.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
|
||||
color: #c5c5c5; }
|
||||
.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
|
||||
color: #fff;
|
||||
background: #a2ddf6; }
|
||||
.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background: #8ad5f4; }
|
||||
.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
color: #cccccc; }
|
||||
.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.2); }
|
||||
.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
|
||||
background: none;
|
||||
border: none; }
|
||||
|
||||
/* -------------------------------------------------
|
||||
Navigation
|
||||
------------------------------------------------- */
|
||||
.datepicker--nav {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-justify-content: space-between;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #efefef;
|
||||
min-height: 32px;
|
||||
padding: 4px; }
|
||||
.-only-timepicker- .datepicker--nav {
|
||||
display: none; }
|
||||
|
||||
.datepicker--nav-title,
|
||||
.datepicker--nav-action {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center; }
|
||||
|
||||
.datepicker--nav-action {
|
||||
width: 32px;
|
||||
border-radius: 4px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none; }
|
||||
.datepicker--nav-action:hover {
|
||||
background: #f0f0f0; }
|
||||
.datepicker--nav-action.-disabled- {
|
||||
visibility: hidden; }
|
||||
.datepicker--nav-action svg {
|
||||
width: 32px;
|
||||
height: 32px; }
|
||||
.datepicker--nav-action path {
|
||||
fill: none;
|
||||
stroke: #9c9c9c;
|
||||
stroke-width: 2px; }
|
||||
|
||||
.datepicker--nav-title {
|
||||
border-radius: 4px;
|
||||
padding: 0 8px; }
|
||||
.datepicker--nav-title i {
|
||||
font-style: normal;
|
||||
color: #9c9c9c;
|
||||
margin-left: 5px; }
|
||||
.datepicker--nav-title:hover {
|
||||
background: #f0f0f0; }
|
||||
.datepicker--nav-title.-disabled- {
|
||||
cursor: default;
|
||||
background: none; }
|
||||
|
||||
.datepicker--buttons {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
padding: 4px;
|
||||
border-top: 1px solid #efefef; }
|
||||
|
||||
.datepicker--button {
|
||||
color: #4EB5E6;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
-webkit-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
display: -webkit-inline-flex;
|
||||
display: -ms-inline-flexbox;
|
||||
display: inline-flex;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
height: 32px; }
|
||||
.datepicker--button:hover {
|
||||
color: #4a4a4a;
|
||||
background: #f0f0f0; }
|
||||
|
||||
.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
|
||||
color: #c5c5c5; }
|
||||
.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
|
||||
color: #fff;
|
||||
background: #a2ddf6; }
|
||||
.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background: #8ad5f4; }
|
||||
.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
color: #cccccc; }
|
||||
.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.2); }
|
||||
.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
|
||||
background: none;
|
||||
border: none; }
|
||||
|
||||
/* -------------------------------------------------
|
||||
Timepicker
|
||||
------------------------------------------------- */
|
||||
.datepicker--time {
|
||||
border-top: 1px solid #efefef;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 4px;
|
||||
position: relative; }
|
||||
.datepicker--time.-am-pm- .datepicker--time-sliders {
|
||||
-webkit-flex: 0 1 138px;
|
||||
-ms-flex: 0 1 138px;
|
||||
flex: 0 1 138px;
|
||||
max-width: 138px; }
|
||||
.-only-timepicker- .datepicker--time {
|
||||
border-top: none; }
|
||||
|
||||
.datepicker--time-sliders {
|
||||
-webkit-flex: 0 1 153px;
|
||||
-ms-flex: 0 1 153px;
|
||||
flex: 0 1 153px;
|
||||
margin-right: 10px;
|
||||
max-width: 153px; }
|
||||
|
||||
.datepicker--time-label {
|
||||
display: none;
|
||||
font-size: 12px; }
|
||||
|
||||
.datepicker--time-current {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
margin: 0 0 0 10px; }
|
||||
|
||||
.datepicker--time-current-colon {
|
||||
margin: 0 2px 3px;
|
||||
line-height: 1; }
|
||||
|
||||
.datepicker--time-current-hours,
|
||||
.datepicker--time-current-minutes {
|
||||
line-height: 1;
|
||||
font-size: 19px;
|
||||
font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
|
||||
position: relative;
|
||||
z-index: 1; }
|
||||
.datepicker--time-current-hours:after,
|
||||
.datepicker--time-current-minutes:after {
|
||||
content: '';
|
||||
background: #f0f0f0;
|
||||
border-radius: 4px;
|
||||
position: absolute;
|
||||
left: -2px;
|
||||
top: -3px;
|
||||
right: -2px;
|
||||
bottom: -2px;
|
||||
z-index: -1;
|
||||
opacity: 0; }
|
||||
.datepicker--time-current-hours.-focus-:after,
|
||||
.datepicker--time-current-minutes.-focus-:after {
|
||||
opacity: 1; }
|
||||
|
||||
.datepicker--time-current-ampm {
|
||||
text-transform: uppercase;
|
||||
-webkit-align-self: flex-end;
|
||||
-ms-flex-item-align: end;
|
||||
align-self: flex-end;
|
||||
color: #9c9c9c;
|
||||
margin-left: 6px;
|
||||
font-size: 11px;
|
||||
margin-bottom: 1px; }
|
||||
|
||||
.datepicker--time-row {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
font-size: 11px;
|
||||
height: 17px;
|
||||
background: linear-gradient(to right, #dedede, #dedede) left 50%/100% 1px no-repeat; }
|
||||
.datepicker--time-row:first-child {
|
||||
margin-bottom: 4px; }
|
||||
.datepicker--time-row input[type='range'] {
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
-webkit-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
-webkit-appearance: none; }
|
||||
.datepicker--time-row input[type='range']::-webkit-slider-thumb {
|
||||
-webkit-appearance: none; }
|
||||
.datepicker--time-row input[type='range']::-ms-tooltip {
|
||||
display: none; }
|
||||
.datepicker--time-row input[type='range']:hover::-webkit-slider-thumb {
|
||||
border-color: #b8b8b8; }
|
||||
.datepicker--time-row input[type='range']:hover::-moz-range-thumb {
|
||||
border-color: #b8b8b8; }
|
||||
.datepicker--time-row input[type='range']:hover::-ms-thumb {
|
||||
border-color: #b8b8b8; }
|
||||
.datepicker--time-row input[type='range']:focus {
|
||||
outline: none; }
|
||||
.datepicker--time-row input[type='range']:focus::-webkit-slider-thumb {
|
||||
background: #5cc4ef;
|
||||
border-color: #5cc4ef; }
|
||||
.datepicker--time-row input[type='range']:focus::-moz-range-thumb {
|
||||
background: #5cc4ef;
|
||||
border-color: #5cc4ef; }
|
||||
.datepicker--time-row input[type='range']:focus::-ms-thumb {
|
||||
background: #5cc4ef;
|
||||
border-color: #5cc4ef; }
|
||||
.datepicker--time-row input[type='range']::-webkit-slider-thumb {
|
||||
box-sizing: border-box;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #dedede;
|
||||
background: #fff;
|
||||
cursor: pointer;
|
||||
transition: background .2s; }
|
||||
.datepicker--time-row input[type='range']::-moz-range-thumb {
|
||||
box-sizing: border-box;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #dedede;
|
||||
background: #fff;
|
||||
cursor: pointer;
|
||||
transition: background .2s; }
|
||||
.datepicker--time-row input[type='range']::-ms-thumb {
|
||||
box-sizing: border-box;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #dedede;
|
||||
background: #fff;
|
||||
cursor: pointer;
|
||||
transition: background .2s; }
|
||||
.datepicker--time-row input[type='range']::-webkit-slider-thumb {
|
||||
margin-top: -6px; }
|
||||
.datepicker--time-row input[type='range']::-webkit-slider-runnable-track {
|
||||
border: none;
|
||||
height: 1px;
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
background: transparent; }
|
||||
.datepicker--time-row input[type='range']::-moz-range-track {
|
||||
border: none;
|
||||
height: 1px;
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
background: transparent; }
|
||||
.datepicker--time-row input[type='range']::-ms-track {
|
||||
border: none;
|
||||
height: 1px;
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
background: transparent; }
|
||||
.datepicker--time-row input[type='range']::-ms-fill-lower {
|
||||
background: transparent; }
|
||||
.datepicker--time-row input[type='range']::-ms-fill-upper {
|
||||
background: transparent; }
|
||||
.datepicker--time-row span {
|
||||
padding: 0 12px; }
|
||||
|
||||
.datepicker--time-icon {
|
||||
color: #9c9c9c;
|
||||
border: 1px solid;
|
||||
border-radius: 50%;
|
||||
font-size: 16px;
|
||||
position: relative;
|
||||
margin: 0 5px -1px 0;
|
||||
width: 1em;
|
||||
height: 1em; }
|
||||
.datepicker--time-icon:after, .datepicker--time-icon:before {
|
||||
content: '';
|
||||
background: currentColor;
|
||||
position: absolute; }
|
||||
.datepicker--time-icon:after {
|
||||
height: .4em;
|
||||
width: 1px;
|
||||
left: calc(50% - 1px);
|
||||
top: calc(50% + 1px);
|
||||
-webkit-transform: translateY(-100%);
|
||||
transform: translateY(-100%); }
|
||||
.datepicker--time-icon:before {
|
||||
width: .4em;
|
||||
height: 1px;
|
||||
top: calc(50% + 1px);
|
||||
left: calc(50% - 1px); }
|
||||
|
||||
.datepicker--cell-day.-other-month-, .datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.datepicker--cell-day.-other-month-:hover, .datepicker--cell-year.-other-decade-:hover {
|
||||
color: #c5c5c5; }
|
||||
.-disabled-.-focus-.datepicker--cell-day.-other-month-, .-disabled-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede; }
|
||||
.-selected-.datepicker--cell-day.-other-month-, .-selected-.datepicker--cell-year.-other-decade- {
|
||||
color: #fff;
|
||||
background: #a2ddf6; }
|
||||
.-selected-.-focus-.datepicker--cell-day.-other-month-, .-selected-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background: #8ad5f4; }
|
||||
.-in-range-.datepicker--cell-day.-other-month-, .-in-range-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
color: #cccccc; }
|
||||
.-in-range-.-focus-.datepicker--cell-day.-other-month-, .-in-range-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.2); }
|
||||
.datepicker--cell-day.-other-month-:empty, .datepicker--cell-year.-other-decade-:empty {
|
||||
background: none;
|
||||
border: none; }
|
1
weboasis/stocks/assets/vendor/air-datepicker-master/dist/css/datepicker.min.css
vendored
Normal file
2236
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/datepicker.js
vendored
Normal file
2
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/datepicker.min.js
vendored
Normal file
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.cs.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['cs'] = {
|
||||
days: ['Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'],
|
||||
daysShort: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
|
||||
daysMin: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
|
||||
months: ['Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec'],
|
||||
monthsShort: ['Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čvn', 'Čvc', 'Srp', 'Zář', 'Říj', 'Lis', 'Pro'],
|
||||
today: 'Dnes',
|
||||
clear: 'Vymazat',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.da.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['da'] = {
|
||||
days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'],
|
||||
daysShort: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'],
|
||||
daysMin: ['Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø'],
|
||||
months: ['Januar','Februar','Marts','April','Maj','Juni', 'Juli','August','September','Oktober','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'I dag',
|
||||
clear: 'Nulstil',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
13
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.de.js
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
;(function ($) { $.fn.datepicker.language['de'] = {
|
||||
days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
|
||||
daysShort: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],
|
||||
daysMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
|
||||
months: ['Januar','Februar','März','April','Mai','Juni', 'Juli','August','September','Oktober','November','Dezember'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
|
||||
today: 'Heute',
|
||||
clear: 'Aufräumen',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
||||
})(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.en.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['en'] = {
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
||||
daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
||||
months: ['January','February','March','April','May','June', 'July','August','September','October','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
today: 'Today',
|
||||
clear: 'Clear',
|
||||
dateFormat: 'mm/dd/yyyy',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 0
|
||||
}; })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.es.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['es'] = {
|
||||
days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
|
||||
daysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
|
||||
daysMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
|
||||
months: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', 'Julio','Augosto','Septiembre','Octubre','Noviembre','Diciembre'],
|
||||
monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
|
||||
today: 'Hoy',
|
||||
clear: 'Limpiar',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
13
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.fi.js
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
;(function ($) { $.fn.datepicker.language['fi'] = {
|
||||
days: ['Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai'],
|
||||
daysShort: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
|
||||
daysMin: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
|
||||
months: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu', 'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
|
||||
monthsShort: ['Tammi', 'Helmi', 'Maalis', 'Huhti', 'Touko', 'Kesä', 'Heinä', 'Elo', 'Syys', 'Loka', 'Marras', 'Joulu'],
|
||||
today: 'Tänään',
|
||||
clear: 'Tyhjennä',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
||||
})(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.fr.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['fr'] = {
|
||||
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
||||
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
|
||||
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
|
||||
months: ['Janvier','Février','Mars','Avril','Mai','Juin', 'Juillet','Août','Septembre','Octobre','Novembre','Decembre'],
|
||||
monthsShort: ['Jan', 'Fév', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
today: "Aujourd'hui",
|
||||
clear: 'Effacer',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.hu.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { ;(function ($) { $.fn.datepicker.language['hu'] = {
|
||||
days: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
|
||||
daysShort: ['Va', 'Hé', 'Ke', 'Sze', 'Cs', 'Pé', 'Szo'],
|
||||
daysMin: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],
|
||||
months: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'Ma',
|
||||
clear: 'Törlés',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 1
|
||||
}; })(jQuery); })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.nl.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['nl'] = {
|
||||
days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
|
||||
daysShort: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
|
||||
daysMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
|
||||
months: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'Vandaag',
|
||||
clear: 'Legen',
|
||||
dateFormat: 'dd-MM-yy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 0
|
||||
}; })(jQuery);
|
13
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.pl.js
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
;(function ($) { $.fn.datepicker.language['pl'] = {
|
||||
days: ['Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota'],
|
||||
daysShort: ['Nie', 'Pon', 'Wto', 'Śro', 'Czw', 'Pią', 'Sob'],
|
||||
daysMin: ['Nd', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So'],
|
||||
months: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec', 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
|
||||
monthsShort: ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'],
|
||||
today: 'Dzisiaj',
|
||||
clear: 'Wyczyść',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
timeFormat: 'hh:ii:aa',
|
||||
firstDay: 1
|
||||
};
|
||||
})(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.pt-BR.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['pt-BR'] = {
|
||||
days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
|
||||
daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
|
||||
daysMin: ['Do', 'Se', 'Te', 'Qu', 'Qu', 'Se', 'Sa'],
|
||||
months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
|
||||
today: 'Hoje',
|
||||
clear: 'Limpar',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 0
|
||||
}; })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.pt.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['pt'] = {
|
||||
days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
|
||||
daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
|
||||
daysMin: ['Do', 'Se', 'Te', 'Qa', 'Qi', 'Sx', 'Sa'],
|
||||
months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
|
||||
today: 'Hoje',
|
||||
clear: 'Limpar',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
13
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.ro.js
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
;(function ($) { $.fn.datepicker.language['ro'] = {
|
||||
days: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'],
|
||||
daysShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'],
|
||||
daysMin: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'],
|
||||
months: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'],
|
||||
monthsShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
|
||||
today: 'Azi',
|
||||
clear: 'Şterge',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
||||
})(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.sk.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['sk'] = {
|
||||
days: ['Nedeľa', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'],
|
||||
daysShort: ['Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'],
|
||||
daysMin: ['Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So'],
|
||||
months: ['Január','Február','Marec','Apríl','Máj','Jún', 'Júl','August','September','Október','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'Dnes',
|
||||
clear: 'Vymazať',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/dist/js/i18n/datepicker.zh.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['zh'] = {
|
||||
days: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
daysShort: ['日', '一', '二', '三', '四', '五', '六'],
|
||||
daysMin: ['日', '一', '二', '三', '四', '五', '六'],
|
||||
months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
||||
monthsShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
||||
today: '今天',
|
||||
clear: '清除',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
218
weboasis/stocks/assets/vendor/air-datepicker-master/docs/css/github-gist.css
vendored
Normal file
@ -0,0 +1,218 @@
|
||||
/**
|
||||
* GitHub Gist Theme
|
||||
* Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
-webkit-text-size-adjust: none;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.bash .hljs-shebang,
|
||||
.java .hljs-javadoc,
|
||||
.javascript .hljs-javadoc,
|
||||
.rust .hljs-preprocessor {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.apache .hljs-sqbracket,
|
||||
.coffeescript .hljs-subst,
|
||||
.coffeescript .hljs-regexp,
|
||||
.cpp .hljs-preprocessor,
|
||||
.c .hljs-preprocessor,
|
||||
.javascript .hljs-regexp,
|
||||
.json .hljs-attribute,
|
||||
.makefile .hljs-variable,
|
||||
.markdown .hljs-value,
|
||||
.markdown .hljs-link_label,
|
||||
.markdown .hljs-strong,
|
||||
.markdown .hljs-emphasis,
|
||||
.markdown .hljs-blockquote,
|
||||
.nginx .hljs-regexp,
|
||||
.nginx .hljs-number,
|
||||
.objectivec .hljs-preprocessor .hljs-title,
|
||||
.perl .hljs-regexp,
|
||||
.php .hljs-regexp,
|
||||
.xml .hljs-value,
|
||||
.less .hljs-built_in,
|
||||
.scss .hljs-built_in {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.css .hljs-at_rule,
|
||||
.css .hljs-important,
|
||||
.http .hljs-request,
|
||||
.ini .hljs-setting,
|
||||
.haskell .hljs-type,
|
||||
.java .hljs-javadoctag,
|
||||
.javascript .hljs-tag,
|
||||
.javascript .hljs-javadoctag,
|
||||
.nginx .hljs-title,
|
||||
.objectivec .hljs-preprocessor,
|
||||
.php .hljs-phpdoc,
|
||||
.sql .hljs-built_in,
|
||||
.less .hljs-tag,
|
||||
.less .hljs-at_rule,
|
||||
.scss .hljs-tag,
|
||||
.scss .hljs-at_rule,
|
||||
.scss .hljs-important,
|
||||
.stylus .hljs-at_rule,
|
||||
.go .hljs-typename,
|
||||
.swift .hljs-preprocessor {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.apache .hljs-common,
|
||||
.apache .hljs-cbracket,
|
||||
.apache .hljs-keyword,
|
||||
.bash .hljs-literal,
|
||||
.bash .hljs-built_in,
|
||||
.coffeescript .hljs-literal,
|
||||
.coffeescript .hljs-built_in,
|
||||
.coffeescript .hljs-number,
|
||||
.cpp .hljs-number,
|
||||
.cpp .hljs-built_in,
|
||||
.c .hljs-number,
|
||||
.c .hljs-built_in,
|
||||
.cs .hljs-number,
|
||||
.cs .hljs-built_in,
|
||||
.css .hljs-attribute,
|
||||
.css .hljs-hexcolor,
|
||||
.css .hljs-number,
|
||||
.css .hljs-function,
|
||||
.haskell .hljs-number,
|
||||
.http .hljs-literal,
|
||||
.http .hljs-attribute,
|
||||
.java .hljs-number,
|
||||
.javascript .hljs-built_in,
|
||||
.javascript .hljs-literal,
|
||||
.javascript .hljs-number,
|
||||
.json .hljs-number,
|
||||
.makefile .hljs-keyword,
|
||||
.markdown .hljs-link_reference,
|
||||
.nginx .hljs-built_in,
|
||||
.objectivec .hljs-literal,
|
||||
.objectivec .hljs-number,
|
||||
.objectivec .hljs-built_in,
|
||||
.php .hljs-literal,
|
||||
.php .hljs-number,
|
||||
.python .hljs-number,
|
||||
.ruby .hljs-prompt,
|
||||
.ruby .hljs-constant,
|
||||
.ruby .hljs-number,
|
||||
.ruby .hljs-subst .hljs-keyword,
|
||||
.ruby .hljs-symbol,
|
||||
.rust .hljs-number,
|
||||
.sql .hljs-number,
|
||||
.puppet .hljs-function,
|
||||
.less .hljs-number,
|
||||
.less .hljs-hexcolor,
|
||||
.less .hljs-function,
|
||||
.less .hljs-attribute,
|
||||
.scss .hljs-preprocessor,
|
||||
.scss .hljs-number,
|
||||
.scss .hljs-hexcolor,
|
||||
.scss .hljs-function,
|
||||
.scss .hljs-attribute,
|
||||
.stylus .hljs-number,
|
||||
.stylus .hljs-hexcolor,
|
||||
.stylus .hljs-attribute,
|
||||
.stylus .hljs-params,
|
||||
.go .hljs-built_in,
|
||||
.go .hljs-constant,
|
||||
.swift .hljs-built_in,
|
||||
.swift .hljs-number {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.apache .hljs-tag,
|
||||
.cs .hljs-xmlDocTag,
|
||||
.css .hljs-tag,
|
||||
.xml .hljs-title,
|
||||
.stylus .hljs-tag {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.bash .hljs-variable,
|
||||
.cs .hljs-preprocessor,
|
||||
.cs .hljs-preprocessor .hljs-keyword,
|
||||
.css .hljs-attr_selector,
|
||||
.css .hljs-value,
|
||||
.ini .hljs-value,
|
||||
.ini .hljs-keyword,
|
||||
.javascript .hljs-tag .hljs-title,
|
||||
.makefile .hljs-constant,
|
||||
.nginx .hljs-variable,
|
||||
.xml .hljs-tag,
|
||||
.scss .hljs-variable {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.bash .hljs-title,
|
||||
.coffeescript .hljs-title,
|
||||
.cpp .hljs-title,
|
||||
.c .hljs-title,
|
||||
.cs .hljs-title,
|
||||
.css .hljs-id,
|
||||
.css .hljs-class,
|
||||
.css .hljs-pseudo,
|
||||
.ini .hljs-title,
|
||||
.haskell .hljs-title,
|
||||
.haskell .hljs-pragma,
|
||||
.java .hljs-title,
|
||||
.javascript .hljs-title,
|
||||
.makefile .hljs-title,
|
||||
.objectivec .hljs-title,
|
||||
.perl .hljs-sub,
|
||||
.php .hljs-title,
|
||||
.python .hljs-decorator,
|
||||
.python .hljs-title,
|
||||
.ruby .hljs-parent,
|
||||
.ruby .hljs-title,
|
||||
.rust .hljs-title,
|
||||
.xml .hljs-attribute,
|
||||
.puppet .hljs-title,
|
||||
.less .hljs-id,
|
||||
.less .hljs-pseudo,
|
||||
.less .hljs-class,
|
||||
.scss .hljs-id,
|
||||
.scss .hljs-pseudo,
|
||||
.scss .hljs-class,
|
||||
.stylus .hljs-class,
|
||||
.stylus .hljs-id,
|
||||
.stylus .hljs-pseudo,
|
||||
.stylus .hljs-title,
|
||||
.swift .hljs-title,
|
||||
.diff .hljs-chunk {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.coffeescript .hljs-reserved,
|
||||
.coffeescript .hljs-attribute {
|
||||
color: #1d3e81;
|
||||
}
|
||||
|
||||
.diff .hljs-chunk {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.diff .hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.diff .hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.markdown .hljs-link_url {
|
||||
text-decoration: underline;
|
||||
}
|
1
weboasis/stocks/assets/vendor/air-datepicker-master/docs/css/style.css
vendored
Normal file
BIN
weboasis/stocks/assets/vendor/air-datepicker-master/docs/img/en.png
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
weboasis/stocks/assets/vendor/air-datepicker-master/docs/img/promo-img-time.png
vendored
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
weboasis/stocks/assets/vendor/air-datepicker-master/docs/img/ru.png
vendored
Normal file
After Width: | Height: | Size: 520 B |
339
weboasis/stocks/assets/vendor/air-datepicker-master/docs/index-ru.html
vendored
Normal file
334
weboasis/stocks/assets/vendor/air-datepicker-master/docs/index.html
vendored
Normal file
41
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/layout.jade
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
include mixins/example
|
||||
include mixins/example-content
|
||||
include mixins/example-code
|
||||
include mixins/example-inline
|
||||
include mixins/param
|
||||
include mixins/param-header
|
||||
|
||||
doctype html
|
||||
html
|
||||
head
|
||||
title Air Datepicker
|
||||
meta(charset='UTF-8')
|
||||
meta(name="viewport" content="width=device-width, initial-scale=1")
|
||||
link(href='css/style.css', rel='stylesheet', type='text/css')
|
||||
link(href='css/github-gist.css', rel='stylesheet', type='text/css')
|
||||
link(href='../dist/css/datepicker.min.css', rel='stylesheet', type='text/css')
|
||||
link(href='https://fonts.googleapis.com/css?family=Fira+Sans:400,300,500&subset=latin,cyrillic', rel='stylesheet', type='text/css')
|
||||
script(src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js')
|
||||
script(src='http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js')
|
||||
script(src='http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js')
|
||||
script(src='../dist/js/datepicker.js')
|
||||
script(src='../dist/js/i18n/datepicker.en.js')
|
||||
script(src='js/logger.js')
|
||||
body
|
||||
div.wrapper
|
||||
main.main(role='main')
|
||||
.container
|
||||
.buttons
|
||||
a(aria-label="Star t1m0n/air-datepicker on GitHub" data-count-aria-label="# stargazers on GitHub" data-count-api="/repos/t1m0n/air-datepicker#stargazers_count" data-count-href="/t1m0n/air-datepicker/stargazers" data-icon="octicon-star" href="https://github.com/t1m0n/air-datepicker" class="github-button") Star
|
||||
block content
|
||||
|
||||
script(src='js/navigation.js')
|
||||
script.
|
||||
var $code = $('code');
|
||||
$code.each(function (i, el) {
|
||||
hljs.highlightBlock(el);
|
||||
})
|
||||
|
||||
navigation.init();
|
||||
|
||||
script(async defer id="github-bjs" src="https://buttons.github.io/buttons.js")
|
4
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/mixins/example-code.jade
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
mixin example-code(cl)
|
||||
pre.example-code
|
||||
code(class=cl)
|
||||
block
|
3
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/mixins/example-content.jade
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
mixin example-content()
|
||||
.example-content
|
||||
block
|
4
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/mixins/example-inline.jade
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
mixin example-inline(content, type)
|
||||
span.example-inline
|
||||
code(class= type).
|
||||
#{content}
|
6
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/mixins/example.jade
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
mixin example()
|
||||
-var label = 'Пример';
|
||||
-if (lang == 'en') label = 'Example';
|
||||
.example
|
||||
.example--label= label
|
||||
block
|
18
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/mixins/param-header.jade
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
mixin param-header(name, type, defaults, id)
|
||||
-var typeLabel = 'Тип';
|
||||
-var defaultLabel = 'Значение по умолчанию';
|
||||
-if (lang == 'en') {typeLabel = 'Type'; defaultLabel = 'Defaults'};
|
||||
|
||||
header.param-header
|
||||
h3(id = id)= name
|
||||
if type
|
||||
p.param-header--row
|
||||
span.param-header--label= typeLabel
|
||||
+example-inline(type, 'js')
|
||||
if (defaults || block)
|
||||
p.param-header--row
|
||||
span.param-header--label= defaultLabel
|
||||
if defaults
|
||||
+example-inline(defaults, 'js')
|
||||
if block
|
||||
block
|
5
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/mixins/param.jade
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
mixin param(content, type)
|
||||
span.param-inline
|
||||
strong !{content}
|
||||
if type
|
||||
i= type
|
1081
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/pages/index-ru.jade
vendored
Normal file
1031
weboasis/stocks/assets/vendor/air-datepicker-master/docs/jade/pages/index.jade
vendored
Normal file
1
weboasis/stocks/assets/vendor/air-datepicker-master/docs/js/highlight.pack.js
vendored
Normal file
29
weboasis/stocks/assets/vendor/air-datepicker-master/docs/js/logger.js
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
var logger;
|
||||
(function (window) {
|
||||
logger = function (el, clearText) {
|
||||
var $el = $(el);
|
||||
|
||||
addContent($el);
|
||||
addClearButton(clearText, $el);
|
||||
|
||||
$('.logger--clear', $el).on('click', clear.bind('', $el));
|
||||
|
||||
return function(text) {
|
||||
var count = $('p', $el).length,
|
||||
$content = $('.logger--content', $el);
|
||||
$content.append('<p><span>' + ++count + '.</span> ' + text + '</p>').scrollTop(100000)
|
||||
}
|
||||
};
|
||||
|
||||
function addClearButton (text, el) {
|
||||
el.append('<span class="logger--clear">' + text + '</span>')
|
||||
}
|
||||
|
||||
function addContent (el) {
|
||||
el.html('<div class="logger--content"></div>')
|
||||
}
|
||||
|
||||
function clear (el) {
|
||||
$('.logger--content', el).html('');
|
||||
}
|
||||
})(window);
|
123
weboasis/stocks/assets/vendor/air-datepicker-master/docs/js/navigation.js
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
var navigation;
|
||||
|
||||
(function (window, $) {
|
||||
var $sections = $('article'),
|
||||
idCounter = 1,
|
||||
idPrefix = 'sub-section-',
|
||||
navTemplate = '<div class="nav-wrap"><nav class="nav" id="nav"></nav></div>',
|
||||
$nav,
|
||||
cache = {};
|
||||
|
||||
function init () {
|
||||
updateCache();
|
||||
createHtml();
|
||||
|
||||
$($nav).on('click', 'a', onClickNavItem);
|
||||
}
|
||||
|
||||
function createHtml () {
|
||||
var html = '',
|
||||
section,
|
||||
curSection,
|
||||
subsection,
|
||||
curSubSection;
|
||||
|
||||
$(navTemplate).appendTo('body');
|
||||
$nav = $('#nav');
|
||||
|
||||
for (section in cache) {
|
||||
curSection = cache[section];
|
||||
|
||||
html += '<div class="nav--section">' +
|
||||
'<h2 class="nav--section-title">' +
|
||||
'<a href="#' + section + '">' + curSection.title +'</a>' +
|
||||
'</h2>';
|
||||
|
||||
if (curSection.subSections) {
|
||||
html += '<div class="nav--subsection">';
|
||||
|
||||
for (subsection in curSection.subSections) {
|
||||
curSubSection = curSection.subSections[subsection];
|
||||
html += '' +
|
||||
'<h3 class="nav--subsection-title">' +
|
||||
'<a href="#' + subsection + '">' + curSubSection.title + '</a>' +
|
||||
'</h3>'
|
||||
|
||||
}
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
$nav.html(html);
|
||||
}
|
||||
|
||||
function updateCache () {
|
||||
cache = {};
|
||||
idCounter = 1;
|
||||
|
||||
var id,
|
||||
title,
|
||||
subTitles,
|
||||
$subTitle,
|
||||
$current;
|
||||
|
||||
$sections.each(function () {
|
||||
$current = $(this);
|
||||
title = $('h2', $current);
|
||||
subTitles = $('h3', $current);
|
||||
id = title.attr('id');
|
||||
|
||||
cache[id] = {
|
||||
title: title.text(),
|
||||
offset: title.offset().top,
|
||||
subSections: ''
|
||||
};
|
||||
|
||||
if (subTitles.length) {
|
||||
cache[id].subSections = {};
|
||||
|
||||
subTitles.each(function () {
|
||||
var $subTitle = $(this),
|
||||
subId = $(this).attr('id');
|
||||
|
||||
if (!subId) {
|
||||
subId = idPrefix + idCounter++;
|
||||
$subTitle.attr('id', subId);
|
||||
}
|
||||
|
||||
cache[id].subSections[subId] = {
|
||||
title: $subTitle.text(),
|
||||
offset: $subTitle.offset().top
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function scrollTo (pos) {
|
||||
$('body, html').animate({
|
||||
scrollTop: pos
|
||||
}, 700, 'easeInOutCubic')
|
||||
}
|
||||
|
||||
function onClickNavItem (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var $link = $(e.target),
|
||||
$section = $($link.attr('href'));
|
||||
|
||||
$section.addClass('-hilited-');
|
||||
|
||||
setTimeout(function () {
|
||||
$section.removeClass('-hilited-');
|
||||
}, 1400)
|
||||
|
||||
scrollTo($section.offset().top - 16)
|
||||
}
|
||||
|
||||
navigation = {
|
||||
init: init
|
||||
}
|
||||
})(window, jQuery);
|
569
weboasis/stocks/assets/vendor/air-datepicker-master/docs/sass/_docs.scss
vendored
Normal file
@ -0,0 +1,569 @@
|
||||
/* -------------------------------------------------
|
||||
Page styles
|
||||
------------------------------------------------- */
|
||||
|
||||
$minWidthBreakPoint: 650px;
|
||||
|
||||
$fontFamily: Tahoma, sans-serif;
|
||||
|
||||
html {
|
||||
color: #333;
|
||||
font-family: $fontFamily;
|
||||
font-size: 14px;
|
||||
min-width: 320px;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.3;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
font-family: 'Fira Sans', sans-serif;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-weight: 100;
|
||||
font-size: 32px;
|
||||
margin: 48px 0 8px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-weight: 500;
|
||||
font-size: 18px;
|
||||
margin: 24px 0 8px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-weight: normal;
|
||||
color: #939393;
|
||||
font-size: 16px;
|
||||
margin: 24px 0 0;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
> * {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
article {
|
||||
h2, h3 {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
background: rgba(#439cff, .2);
|
||||
border-radius: 4px;
|
||||
opacity: 0;
|
||||
left: -8px;
|
||||
right: -8px;
|
||||
top: -10px;
|
||||
bottom: -4px;
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
transition: all .4s .3s linear;
|
||||
}
|
||||
|
||||
&.-hilited- {
|
||||
&:after {
|
||||
opacity: 1;
|
||||
transition: all .4s .7s linear;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.container {
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 1px 0;
|
||||
position: relative;
|
||||
|
||||
article {
|
||||
margin: 60px 0 30px;
|
||||
}
|
||||
|
||||
@media all and (max-width: 1525px) {
|
||||
margin-left: 270px;
|
||||
}
|
||||
|
||||
@media all and (max-width: 1280px) {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
@media all and (max-width: $minWidthBreakPoint) {
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.list-inline {
|
||||
display: flex;
|
||||
margin: -8px -8px 0;
|
||||
> * {
|
||||
margin: 8px 8px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.buttons {
|
||||
position: absolute;
|
||||
top: 19px;
|
||||
}
|
||||
|
||||
.lang-link {
|
||||
position: absolute;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
right: 0;
|
||||
top: 15px;
|
||||
|
||||
img {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
@media all and (max-width: 650px) {
|
||||
span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.-text-center- {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
input[type='text'] {
|
||||
outline: none;
|
||||
height: 32px;
|
||||
border: 1px solid #b5b5b5;
|
||||
padding: 0 8px;
|
||||
margin: 0 0 14px;
|
||||
color: #444;
|
||||
font-family: $fontFamily;
|
||||
transition: all .2s;
|
||||
width: 250px;
|
||||
|
||||
&:focus {
|
||||
border-color: #ffd75c;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0 0 16px;
|
||||
li {
|
||||
list-style: none;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Example
|
||||
------------------------------------------------- */
|
||||
|
||||
%example-label {
|
||||
background: #ececec;
|
||||
border-radius: 0 0 4px 4px;
|
||||
position: absolute;
|
||||
padding: 4px 12px;
|
||||
right: 8px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
$exampleBorderRadius: 4px;
|
||||
|
||||
.hljs {
|
||||
font-family: Consolas, monospace;
|
||||
line-height: 1.2;
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
.example {
|
||||
border: 1px solid #ececec;
|
||||
border-radius: $exampleBorderRadius;
|
||||
position: relative;
|
||||
margin: 16px 0;
|
||||
|
||||
.example-code {
|
||||
border: none;
|
||||
border-radius: 0 0 $exampleBorderRadius $exampleBorderRadius;
|
||||
border-top: 1px solid #ececec;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.example-inline {
|
||||
background: red;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0 4px;
|
||||
|
||||
.hljs {
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.example--label {
|
||||
@extend %example-label;
|
||||
}
|
||||
|
||||
.example-content {
|
||||
padding: 32px;
|
||||
|
||||
@media all and (max-width: $minWidthBreakPoint) {
|
||||
padding-left: 4%;
|
||||
padding-right: 4%;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
>*:last-child {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: #47A6EC;
|
||||
|
||||
&:hover {
|
||||
color: #ff767e;
|
||||
}
|
||||
}
|
||||
|
||||
.example-code {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: $exampleBorderRadius;
|
||||
overflow: hidden;
|
||||
margin: 16px 0;
|
||||
font-size: 13px;
|
||||
|
||||
code {
|
||||
padding: 16px 32px;
|
||||
}
|
||||
}
|
||||
|
||||
// Param
|
||||
// -------------------------------------------------
|
||||
|
||||
|
||||
.param-inline {
|
||||
font-family: Consolas, monospace;
|
||||
strong {
|
||||
background: #efefef;
|
||||
color: #333;
|
||||
border-radius: $exampleBorderRadius;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 3px 6px 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
i {
|
||||
color: #838383;
|
||||
font-size: .95em;
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-family: 'Fira Sans', sans-serif;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
// Promo block
|
||||
// -------------------------------------------------
|
||||
|
||||
.promo-header {
|
||||
font-size: 48px;
|
||||
font-weight: 100;
|
||||
text-align: center;
|
||||
margin-top: 54px;
|
||||
|
||||
span {
|
||||
display: block;
|
||||
font-size: .5em;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker-promo {
|
||||
text-align: center;
|
||||
|
||||
.datepicker-inline {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
// Range example
|
||||
// -------------------------------------------------
|
||||
|
||||
.range-example {
|
||||
input[type='text'] {
|
||||
width: 150px;
|
||||
}
|
||||
span {
|
||||
display: inline-block;
|
||||
margin: 0 8px;
|
||||
}
|
||||
}
|
||||
|
||||
// Param header
|
||||
// -------------------------------------------------
|
||||
|
||||
.param-header {
|
||||
margin-bottom: 8px;
|
||||
h3 {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.param-header--row {
|
||||
|
||||
}
|
||||
|
||||
.param {
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.param-header--label {
|
||||
color: #707070;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
// Navigation
|
||||
// -------------------------------------------------
|
||||
|
||||
.nav-wrap {
|
||||
background: #fff;
|
||||
position: fixed;
|
||||
overflow: hidden;
|
||||
width: 250px;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
box-shadow: 0 0 4px rgba(0, 0, 0, .3);
|
||||
|
||||
@media all and (max-width: $minWidthBreakPoint) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:after, &:before {
|
||||
content: '';
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.nav {
|
||||
position: absolute;
|
||||
padding: 18px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
overflow-y: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.nav--section {
|
||||
margin-bottom: 20px;
|
||||
|
||||
|
||||
}
|
||||
.nav--section-title {
|
||||
line-height: 1;
|
||||
font-size: 22px;
|
||||
margin: 0 0 8px;
|
||||
|
||||
a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
color: #ff767e;
|
||||
}
|
||||
}
|
||||
}
|
||||
.nav--subsection {
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.nav--subsection-title {
|
||||
font-size: 13px;
|
||||
margin: 0 0 8px;
|
||||
font-weight: normal;
|
||||
font-family: Tahoma, sans-serif;
|
||||
|
||||
|
||||
a {
|
||||
color: #787878;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
color: #ff767e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Cell note
|
||||
// -------------------------
|
||||
|
||||
.dp-note {
|
||||
position: absolute;
|
||||
background: #cccccc;
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
border-radius: 50%;
|
||||
left: 50%;
|
||||
bottom: 1px;
|
||||
transform: translateX(-50%);
|
||||
|
||||
.-selected- & {
|
||||
bottom: 2px;
|
||||
background: #fff;
|
||||
opacity: .5;
|
||||
}
|
||||
}
|
||||
|
||||
// Visual tests
|
||||
// -------------------------------------------------
|
||||
|
||||
.visual-tests {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 120px;
|
||||
|
||||
h1 {
|
||||
color: #555;
|
||||
font-size: 20px;
|
||||
margin: 0;
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
.row {
|
||||
border-bottom: 1px solid #eee;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 16px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
article:last-child {
|
||||
.row {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vt-tile {
|
||||
padding: 16px;
|
||||
width: 284px;
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: monospace;
|
||||
font-size: 14px;
|
||||
margin: 0 0 8px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.v-log {
|
||||
position: fixed;
|
||||
padding: 8px;
|
||||
font-size: 12px;
|
||||
font-family: monospace;
|
||||
background: rgba(0, 0, 0, .7);
|
||||
height: 100px;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
overflow: auto;
|
||||
z-index: 10;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
color: greenyellow;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
|
||||
// Logger
|
||||
// -------------------------------------------------
|
||||
|
||||
.logger {
|
||||
background: rgba(0, 0, 0, .7);
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
font-family: Monospace, monospace;
|
||||
height: 150px;
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.logger--content {
|
||||
padding: 4px 8px;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
color: greenyellow;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
|
||||
.logger--clear {
|
||||
color: #333;
|
||||
border-radius: 4px 4px 0 0;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
height: 32px;
|
||||
padding: 0 8px;
|
||||
font-family: 'Tahoma', sans-serif;
|
||||
font-size: 13px;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: rgba(255, 255, 255, .5);
|
||||
right: 24px;
|
||||
bottom: 0;
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, .8);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background: rgba(255, 255, 255, .3);
|
||||
}
|
||||
}
|
82
weboasis/stocks/assets/vendor/air-datepicker-master/docs/sass/_reset.scss
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
/* -------------------------------------------------
|
||||
Reset
|
||||
------------------------------------------------- */
|
||||
|
||||
applet, object, iframe, p,
|
||||
blockquote, pre, a, abbr, acronym, address, big,
|
||||
cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, sub, sup, tt, var, u, i, center, dl,
|
||||
dt, dd, ol, ul, li, fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed, figure, figcaption,
|
||||
footer, header, menu, nav, output, ruby, section,
|
||||
summary, time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*:after, *:before {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
// HTML 5 roles for ie8/eie9
|
||||
// -------------------------------------------------
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
// Default font weight
|
||||
// -------------------------------------------------
|
||||
|
||||
b, strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// Default font style
|
||||
// -------------------------------------------------
|
||||
|
||||
i {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
// Remove link outline
|
||||
// -------------------------------------------------
|
||||
|
||||
a {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
// Remove scroll in ie
|
||||
// -------------------------------------------------
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
2
weboasis/stocks/assets/vendor/air-datepicker-master/docs/sass/init.scss
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
@import "reset";
|
||||
@import "docs";
|
38
weboasis/stocks/assets/vendor/air-datepicker-master/gulpfile.js
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
var gulp = require('gulp'),
|
||||
watch = require('gulp-watch'),
|
||||
livereload = require('gulp-livereload');
|
||||
|
||||
gulp.task('css', require('./tasks/css'));
|
||||
gulp.task('js', require('./tasks/js'));
|
||||
gulp.task('i18n', require('./tasks/i18n'));
|
||||
gulp.task('cssPage', require('./tasks/cssPage'));
|
||||
gulp.task('jade-ru', require('./tasks/jade').ru);
|
||||
gulp.task('jade-en', require('./tasks/jade').en);
|
||||
gulp.task('gzip', require('./tasks/gzip'));
|
||||
|
||||
gulp.task('watch', function () {
|
||||
livereload.listen();
|
||||
|
||||
gulp.watch('src/sass/*.scss', ['css']).on('change', function (file) {
|
||||
livereload.changed(file)
|
||||
});
|
||||
|
||||
gulp.watch('src/js/**/*.js', ['js']).on('change', function (file) {
|
||||
livereload.changed(file)
|
||||
});
|
||||
|
||||
gulp.watch('docs/sass/*.scss', ['cssPage']).on('change', function (file) {
|
||||
livereload.changed(file)
|
||||
});
|
||||
|
||||
gulp.watch('docs/jade/**/*.jade', ['jade-ru', 'jade-en']).on('change', function (file) {
|
||||
livereload.changed(file)
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task('dev', ['css','js','i18n', 'cssPage', 'jade-ru', 'jade-en', 'watch']);
|
||||
gulp.task('build', ['css','js','i18n', 'jade-ru', 'jade-en']);
|
||||
|
||||
|
||||
|
||||
|
53
weboasis/stocks/assets/vendor/air-datepicker-master/package.json
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
"name": "air-datepicker",
|
||||
"version": "2.2.3",
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^6.1.0",
|
||||
"browserify": "^13.0.0",
|
||||
"chai": "^3.4.1",
|
||||
"gulp": "^3.9.0",
|
||||
"gulp-clone": "^1.0.0",
|
||||
"gulp-concat": "^2.6.0",
|
||||
"gulp-gzip": "^1.2.0",
|
||||
"gulp-jade": "^1.1.0",
|
||||
"gulp-livereload": "^3.8.0",
|
||||
"gulp-minify-css": "^1.2.1",
|
||||
"gulp-plumber": "^1.0.1",
|
||||
"gulp-postcss": "^6.0.1",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-sass": "^2.0.4",
|
||||
"gulp-uglify": "^1.2.0",
|
||||
"gulp-watch": "^4.3.5",
|
||||
"gulp-wrap": "^0.11.0",
|
||||
"jade": "^1.11.0",
|
||||
"mocha": "^2.3.4",
|
||||
"node-static": "^0.7.7",
|
||||
"vinyl-source-stream": "^1.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"jquery": ">=2.0.0 <4.0.0"
|
||||
},
|
||||
"description": "Lightweight customizable cross-browser jQuery datepicker, built with es5 and css-flexbox. Works in all modern desktop and mobile browsers (tested no Android 4.4+ and iOS8+)\r ",
|
||||
"main": "src/js/air-datepicker.js",
|
||||
"directories": {
|
||||
"doc": "docs",
|
||||
"test": "tests"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/t1m0n/air-datepicker.git"
|
||||
},
|
||||
"keywords": [
|
||||
"datepicker",
|
||||
"timepicker",
|
||||
"plugin",
|
||||
"customizable",
|
||||
"powerful"
|
||||
],
|
||||
"author": "t1m0n <t1m0n.tr@gmail.com>",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/t1m0n/air-datepicker/issues"
|
||||
},
|
||||
"homepage": "http://t1m0n.name/air-datepicker/docs/"
|
||||
}
|
4
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/air-datepicker.js
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
require('./datepicker');
|
||||
require('./body');
|
||||
require('./navigation');
|
||||
require('./timepicker');
|
311
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/body.js
vendored
Normal file
@ -0,0 +1,311 @@
|
||||
;(function () {
|
||||
var templates = {
|
||||
days:'' +
|
||||
'<div class="datepicker--days datepicker--body">' +
|
||||
'<div class="datepicker--days-names"></div>' +
|
||||
'<div class="datepicker--cells datepicker--cells-days"></div>' +
|
||||
'</div>',
|
||||
months: '' +
|
||||
'<div class="datepicker--months datepicker--body">' +
|
||||
'<div class="datepicker--cells datepicker--cells-months"></div>' +
|
||||
'</div>',
|
||||
years: '' +
|
||||
'<div class="datepicker--years datepicker--body">' +
|
||||
'<div class="datepicker--cells datepicker--cells-years"></div>' +
|
||||
'</div>'
|
||||
},
|
||||
datepicker = $.fn.datepicker,
|
||||
dp = datepicker.Constructor;
|
||||
|
||||
datepicker.Body = function (d, type, opts) {
|
||||
this.d = d;
|
||||
this.type = type;
|
||||
this.opts = opts;
|
||||
this.$el = $('');
|
||||
|
||||
if (this.opts.onlyTimepicker) return;
|
||||
this.init();
|
||||
};
|
||||
|
||||
datepicker.Body.prototype = {
|
||||
init: function () {
|
||||
this._buildBaseHtml();
|
||||
this._render();
|
||||
|
||||
this._bindEvents();
|
||||
},
|
||||
|
||||
_bindEvents: function () {
|
||||
this.$el.on('click', '.datepicker--cell', $.proxy(this._onClickCell, this));
|
||||
},
|
||||
|
||||
_buildBaseHtml: function () {
|
||||
this.$el = $(templates[this.type]).appendTo(this.d.$content);
|
||||
this.$names = $('.datepicker--days-names', this.$el);
|
||||
this.$cells = $('.datepicker--cells', this.$el);
|
||||
},
|
||||
|
||||
_getDayNamesHtml: function (firstDay, curDay, html, i) {
|
||||
curDay = curDay != undefined ? curDay : firstDay;
|
||||
html = html ? html : '';
|
||||
i = i != undefined ? i : 0;
|
||||
|
||||
if (i > 7) return html;
|
||||
if (curDay == 7) return this._getDayNamesHtml(firstDay, 0, html, ++i);
|
||||
|
||||
html += '<div class="datepicker--day-name' + (this.d.isWeekend(curDay) ? " -weekend-" : "") + '">' + this.d.loc.daysMin[curDay] + '</div>';
|
||||
|
||||
return this._getDayNamesHtml(firstDay, ++curDay, html, ++i);
|
||||
},
|
||||
|
||||
_getCellContents: function (date, type) {
|
||||
var classes = "datepicker--cell datepicker--cell-" + type,
|
||||
currentDate = new Date(),
|
||||
parent = this.d,
|
||||
minRange = dp.resetTime(parent.minRange),
|
||||
maxRange = dp.resetTime(parent.maxRange),
|
||||
opts = parent.opts,
|
||||
d = dp.getParsedDate(date),
|
||||
render = {},
|
||||
html = d.date;
|
||||
|
||||
switch (type) {
|
||||
case 'day':
|
||||
if (parent.isWeekend(d.day)) classes += " -weekend-";
|
||||
if (d.month != this.d.parsedDate.month) {
|
||||
classes += " -other-month-";
|
||||
if (!opts.selectOtherMonths) {
|
||||
classes += " -disabled-";
|
||||
}
|
||||
if (!opts.showOtherMonths) html = '';
|
||||
}
|
||||
break;
|
||||
case 'month':
|
||||
html = parent.loc[parent.opts.monthsField][d.month];
|
||||
break;
|
||||
case 'year':
|
||||
var decade = parent.curDecade;
|
||||
html = d.year;
|
||||
if (d.year < decade[0] || d.year > decade[1]) {
|
||||
classes += ' -other-decade-';
|
||||
if (!opts.selectOtherYears) {
|
||||
classes += " -disabled-";
|
||||
}
|
||||
if (!opts.showOtherYears) html = '';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (opts.onRenderCell) {
|
||||
render = opts.onRenderCell(date, type) || {};
|
||||
html = render.html ? render.html : html;
|
||||
classes += render.classes ? ' ' + render.classes : '';
|
||||
}
|
||||
|
||||
if (opts.range) {
|
||||
if (dp.isSame(minRange, date, type)) classes += ' -range-from-';
|
||||
if (dp.isSame(maxRange, date, type)) classes += ' -range-to-';
|
||||
|
||||
if (parent.selectedDates.length == 1 && parent.focused) {
|
||||
if (
|
||||
(dp.bigger(minRange, date) && dp.less(parent.focused, date)) ||
|
||||
(dp.less(maxRange, date) && dp.bigger(parent.focused, date)))
|
||||
{
|
||||
classes += ' -in-range-'
|
||||
}
|
||||
|
||||
if (dp.less(maxRange, date) && dp.isSame(parent.focused, date)) {
|
||||
classes += ' -range-from-'
|
||||
}
|
||||
if (dp.bigger(minRange, date) && dp.isSame(parent.focused, date)) {
|
||||
classes += ' -range-to-'
|
||||
}
|
||||
|
||||
} else if (parent.selectedDates.length == 2) {
|
||||
if (dp.bigger(minRange, date) && dp.less(maxRange, date)) {
|
||||
classes += ' -in-range-'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (dp.isSame(currentDate, date, type)) classes += ' -current-';
|
||||
if (parent.focused && dp.isSame(date, parent.focused, type)) classes += ' -focus-';
|
||||
if (parent._isSelected(date, type)) classes += ' -selected-';
|
||||
if (!parent._isInRange(date, type) || render.disabled) classes += ' -disabled-';
|
||||
|
||||
return {
|
||||
html: html,
|
||||
classes: classes
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Calculates days number to render. Generates days html and returns it.
|
||||
* @param {object} date - Date object
|
||||
* @returns {string}
|
||||
* @private
|
||||
*/
|
||||
_getDaysHtml: function (date) {
|
||||
var totalMonthDays = dp.getDaysCount(date),
|
||||
firstMonthDay = new Date(date.getFullYear(), date.getMonth(), 1).getDay(),
|
||||
lastMonthDay = new Date(date.getFullYear(), date.getMonth(), totalMonthDays).getDay(),
|
||||
daysFromPevMonth = firstMonthDay - this.d.loc.firstDay,
|
||||
daysFromNextMonth = 6 - lastMonthDay + this.d.loc.firstDay;
|
||||
|
||||
daysFromPevMonth = daysFromPevMonth < 0 ? daysFromPevMonth + 7 : daysFromPevMonth;
|
||||
daysFromNextMonth = daysFromNextMonth > 6 ? daysFromNextMonth - 7 : daysFromNextMonth;
|
||||
|
||||
var startDayIndex = -daysFromPevMonth + 1,
|
||||
m, y,
|
||||
html = '';
|
||||
|
||||
for (var i = startDayIndex, max = totalMonthDays + daysFromNextMonth; i <= max; i++) {
|
||||
y = date.getFullYear();
|
||||
m = date.getMonth();
|
||||
|
||||
html += this._getDayHtml(new Date(y, m, i))
|
||||
}
|
||||
|
||||
return html;
|
||||
},
|
||||
|
||||
_getDayHtml: function (date) {
|
||||
var content = this._getCellContents(date, 'day');
|
||||
|
||||
return '<div class="' + content.classes + '" ' +
|
||||
'data-date="' + date.getDate() + '" ' +
|
||||
'data-month="' + date.getMonth() + '" ' +
|
||||
'data-year="' + date.getFullYear() + '">' + content.html + '</div>';
|
||||
},
|
||||
|
||||
/**
|
||||
* Generates months html
|
||||
* @param {object} date - date instance
|
||||
* @returns {string}
|
||||
* @private
|
||||
*/
|
||||
_getMonthsHtml: function (date) {
|
||||
var html = '',
|
||||
d = dp.getParsedDate(date),
|
||||
i = 0;
|
||||
|
||||
while(i < 12) {
|
||||
html += this._getMonthHtml(new Date(d.year, i));
|
||||
i++
|
||||
}
|
||||
|
||||
return html;
|
||||
},
|
||||
|
||||
_getMonthHtml: function (date) {
|
||||
var content = this._getCellContents(date, 'month');
|
||||
|
||||
return '<div class="' + content.classes + '" data-month="' + date.getMonth() + '">' + content.html + '</div>'
|
||||
},
|
||||
|
||||
_getYearsHtml: function (date) {
|
||||
var d = dp.getParsedDate(date),
|
||||
decade = dp.getDecade(date),
|
||||
firstYear = decade[0] - 1,
|
||||
html = '',
|
||||
i = firstYear;
|
||||
|
||||
for (i; i <= decade[1] + 1; i++) {
|
||||
html += this._getYearHtml(new Date(i , 0));
|
||||
}
|
||||
|
||||
return html;
|
||||
},
|
||||
|
||||
_getYearHtml: function (date) {
|
||||
var content = this._getCellContents(date, 'year');
|
||||
|
||||
return '<div class="' + content.classes + '" data-year="' + date.getFullYear() + '">' + content.html + '</div>'
|
||||
},
|
||||
|
||||
_renderTypes: {
|
||||
days: function () {
|
||||
var dayNames = this._getDayNamesHtml(this.d.loc.firstDay),
|
||||
days = this._getDaysHtml(this.d.currentDate);
|
||||
|
||||
this.$cells.html(days);
|
||||
this.$names.html(dayNames)
|
||||
},
|
||||
months: function () {
|
||||
var html = this._getMonthsHtml(this.d.currentDate);
|
||||
|
||||
this.$cells.html(html)
|
||||
},
|
||||
years: function () {
|
||||
var html = this._getYearsHtml(this.d.currentDate);
|
||||
|
||||
this.$cells.html(html)
|
||||
}
|
||||
},
|
||||
|
||||
_render: function () {
|
||||
if (this.opts.onlyTimepicker) return;
|
||||
this._renderTypes[this.type].bind(this)();
|
||||
},
|
||||
|
||||
_update: function () {
|
||||
var $cells = $('.datepicker--cell', this.$cells),
|
||||
_this = this,
|
||||
classes,
|
||||
$cell,
|
||||
date;
|
||||
$cells.each(function (cell, i) {
|
||||
$cell = $(this);
|
||||
date = _this.d._getDateFromCell($(this));
|
||||
classes = _this._getCellContents(date, _this.d.cellType);
|
||||
$cell.attr('class',classes.classes)
|
||||
});
|
||||
},
|
||||
|
||||
show: function () {
|
||||
if (this.opts.onlyTimepicker) return;
|
||||
this.$el.addClass('active');
|
||||
this.acitve = true;
|
||||
},
|
||||
|
||||
hide: function () {
|
||||
this.$el.removeClass('active');
|
||||
this.active = false;
|
||||
},
|
||||
|
||||
// Events
|
||||
// -------------------------------------------------
|
||||
|
||||
_handleClick: function (el) {
|
||||
var date = el.data('date') || 1,
|
||||
month = el.data('month') || 0,
|
||||
year = el.data('year') || this.d.parsedDate.year,
|
||||
dp = this.d;
|
||||
// Change view if min view does not reach yet
|
||||
if (dp.view != this.opts.minView) {
|
||||
dp.down(new Date(year, month, date));
|
||||
return;
|
||||
}
|
||||
// Select date if min view is reached
|
||||
var selectedDate = new Date(year, month, date),
|
||||
alreadySelected = this.d._isSelected(selectedDate, this.d.cellType);
|
||||
|
||||
if (!alreadySelected) {
|
||||
dp._trigger('clickCell', selectedDate);
|
||||
return;
|
||||
}
|
||||
|
||||
dp._handleAlreadySelectedDates.bind(dp, alreadySelected, selectedDate)();
|
||||
|
||||
},
|
||||
|
||||
_onClickCell: function (e) {
|
||||
var $el = $(e.target).closest('.datepicker--cell');
|
||||
|
||||
if ($el.hasClass('-disabled-')) return;
|
||||
|
||||
this._handleClick.bind(this)($el);
|
||||
}
|
||||
};
|
||||
})();
|
1493
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/datepicker.js
vendored
Normal file
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.cs.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['cs'] = {
|
||||
days: ['Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'],
|
||||
daysShort: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
|
||||
daysMin: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
|
||||
months: ['Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec'],
|
||||
monthsShort: ['Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čvn', 'Čvc', 'Srp', 'Zář', 'Říj', 'Lis', 'Pro'],
|
||||
today: 'Dnes',
|
||||
clear: 'Vymazat',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.da.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['da'] = {
|
||||
days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'],
|
||||
daysShort: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'],
|
||||
daysMin: ['Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø'],
|
||||
months: ['Januar','Februar','Marts','April','Maj','Juni', 'Juli','August','September','Oktober','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'I dag',
|
||||
clear: 'Nulstil',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.de.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['de'] = {
|
||||
days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
|
||||
daysShort: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],
|
||||
daysMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
|
||||
months: ['Januar','Februar','März','April','Mai','Juni', 'Juli','August','September','Oktober','November','Dezember'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
|
||||
today: 'Heute',
|
||||
clear: 'Aufräumen',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.en.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['en'] = {
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
||||
daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
||||
months: ['January','February','March','April','May','June', 'July','August','September','October','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
today: 'Today',
|
||||
clear: 'Clear',
|
||||
dateFormat: 'mm/dd/yyyy',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 0
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.es.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['es'] = {
|
||||
days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
|
||||
daysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
|
||||
daysMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
|
||||
months: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', 'Julio','Augosto','Septiembre','Octubre','Noviembre','Diciembre'],
|
||||
monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
|
||||
today: 'Hoy',
|
||||
clear: 'Limpiar',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.fi.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['fi'] = {
|
||||
days: ['Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai'],
|
||||
daysShort: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
|
||||
daysMin: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
|
||||
months: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu', 'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
|
||||
monthsShort: ['Tammi', 'Helmi', 'Maalis', 'Huhti', 'Touko', 'Kesä', 'Heinä', 'Elo', 'Syys', 'Loka', 'Marras', 'Joulu'],
|
||||
today: 'Tänään',
|
||||
clear: 'Tyhjennä',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.fr.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['fr'] = {
|
||||
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
||||
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
|
||||
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
|
||||
months: ['Janvier','Février','Mars','Avril','Mai','Juin', 'Juillet','Août','Septembre','Octobre','Novembre','Decembre'],
|
||||
monthsShort: ['Jan', 'Fév', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
today: "Aujourd'hui",
|
||||
clear: 'Effacer',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.hu.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
;(function ($) { $.fn.datepicker.language['hu'] = {
|
||||
days: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
|
||||
daysShort: ['Va', 'Hé', 'Ke', 'Sze', 'Cs', 'Pé', 'Szo'],
|
||||
daysMin: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],
|
||||
months: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'Ma',
|
||||
clear: 'Törlés',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.nl.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['nl'] = {
|
||||
days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
|
||||
daysShort: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
|
||||
daysMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
|
||||
months: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'Vandaag',
|
||||
clear: 'Legen',
|
||||
dateFormat: 'dd-MM-yy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 0
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.pl.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['pl'] = {
|
||||
days: ['Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota'],
|
||||
daysShort: ['Nie', 'Pon', 'Wto', 'Śro', 'Czw', 'Pią', 'Sob'],
|
||||
daysMin: ['Nd', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So'],
|
||||
months: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec', 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
|
||||
monthsShort: ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'],
|
||||
today: 'Dzisiaj',
|
||||
clear: 'Wyczyść',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
timeFormat: 'hh:ii:aa',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.pt-BR.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['pt-BR'] = {
|
||||
days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
|
||||
daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
|
||||
daysMin: ['Do', 'Se', 'Te', 'Qu', 'Qu', 'Se', 'Sa'],
|
||||
months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
|
||||
today: 'Hoje',
|
||||
clear: 'Limpar',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 0
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.pt.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['pt'] = {
|
||||
days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
|
||||
daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
|
||||
daysMin: ['Do', 'Se', 'Te', 'Qa', 'Qi', 'Sx', 'Sa'],
|
||||
months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
|
||||
today: 'Hoje',
|
||||
clear: 'Limpar',
|
||||
dateFormat: 'dd/mm/yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.ro.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['ro'] = {
|
||||
days: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'],
|
||||
daysShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'],
|
||||
daysMin: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'],
|
||||
months: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'],
|
||||
monthsShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
|
||||
today: 'Azi',
|
||||
clear: 'Şterge',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.sk.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['sk'] = {
|
||||
days: ['Nedeľa', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'],
|
||||
daysShort: ['Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'],
|
||||
daysMin: ['Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So'],
|
||||
months: ['Január','Február','Marec','Apríl','Máj','Jún', 'Júl','August','September','Október','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
|
||||
today: 'Dnes',
|
||||
clear: 'Vymazať',
|
||||
dateFormat: 'dd.mm.yyyy',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/i18n/datepicker.zh.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
$.fn.datepicker.language['zh'] = {
|
||||
days: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
daysShort: ['日', '一', '二', '三', '四', '五', '六'],
|
||||
daysMin: ['日', '一', '二', '三', '四', '五', '六'],
|
||||
months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
||||
monthsShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
||||
today: '今天',
|
||||
clear: '清除',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
timeFormat: 'hh:ii',
|
||||
firstDay: 1
|
||||
};
|
145
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/navigation.js
vendored
Normal file
@ -0,0 +1,145 @@
|
||||
;(function () {
|
||||
var template = '' +
|
||||
'<div class="datepicker--nav-action" data-action="prev">#{prevHtml}</div>' +
|
||||
'<div class="datepicker--nav-title">#{title}</div>' +
|
||||
'<div class="datepicker--nav-action" data-action="next">#{nextHtml}</div>',
|
||||
buttonsContainerTemplate = '<div class="datepicker--buttons"></div>',
|
||||
button = '<span class="datepicker--button" data-action="#{action}">#{label}</span>',
|
||||
datepicker = $.fn.datepicker,
|
||||
dp = datepicker.Constructor;
|
||||
|
||||
datepicker.Navigation = function (d, opts) {
|
||||
this.d = d;
|
||||
this.opts = opts;
|
||||
|
||||
this.$buttonsContainer = '';
|
||||
|
||||
this.init();
|
||||
};
|
||||
|
||||
datepicker.Navigation.prototype = {
|
||||
init: function () {
|
||||
this._buildBaseHtml();
|
||||
this._bindEvents();
|
||||
},
|
||||
|
||||
_bindEvents: function () {
|
||||
this.d.$nav.on('click', '.datepicker--nav-action', $.proxy(this._onClickNavButton, this));
|
||||
this.d.$nav.on('click', '.datepicker--nav-title', $.proxy(this._onClickNavTitle, this));
|
||||
this.d.$datepicker.on('click', '.datepicker--button', $.proxy(this._onClickNavButton, this));
|
||||
},
|
||||
|
||||
_buildBaseHtml: function () {
|
||||
if (!this.opts.onlyTimepicker) {
|
||||
this._render();
|
||||
}
|
||||
this._addButtonsIfNeed();
|
||||
},
|
||||
|
||||
_addButtonsIfNeed: function () {
|
||||
if (this.opts.todayButton) {
|
||||
this._addButton('today')
|
||||
}
|
||||
if (this.opts.clearButton) {
|
||||
this._addButton('clear')
|
||||
}
|
||||
},
|
||||
|
||||
_render: function () {
|
||||
var title = this._getTitle(this.d.currentDate),
|
||||
html = dp.template(template, $.extend({title: title}, this.opts));
|
||||
this.d.$nav.html(html);
|
||||
if (this.d.view == 'years') {
|
||||
$('.datepicker--nav-title', this.d.$nav).addClass('-disabled-');
|
||||
}
|
||||
this.setNavStatus();
|
||||
},
|
||||
|
||||
_getTitle: function (date) {
|
||||
return this.d.formatDate(this.opts.navTitles[this.d.view], date)
|
||||
},
|
||||
|
||||
_addButton: function (type) {
|
||||
if (!this.$buttonsContainer.length) {
|
||||
this._addButtonsContainer();
|
||||
}
|
||||
|
||||
var data = {
|
||||
action: type,
|
||||
label: this.d.loc[type]
|
||||
},
|
||||
html = dp.template(button, data);
|
||||
|
||||
if ($('[data-action=' + type + ']', this.$buttonsContainer).length) return;
|
||||
this.$buttonsContainer.append(html);
|
||||
},
|
||||
|
||||
_addButtonsContainer: function () {
|
||||
this.d.$datepicker.append(buttonsContainerTemplate);
|
||||
this.$buttonsContainer = $('.datepicker--buttons', this.d.$datepicker);
|
||||
},
|
||||
|
||||
setNavStatus: function () {
|
||||
if (!(this.opts.minDate || this.opts.maxDate) || !this.opts.disableNavWhenOutOfRange) return;
|
||||
|
||||
var date = this.d.parsedDate,
|
||||
m = date.month,
|
||||
y = date.year,
|
||||
d = date.date;
|
||||
|
||||
switch (this.d.view) {
|
||||
case 'days':
|
||||
if (!this.d._isInRange(new Date(y, m-1, 1), 'month')) {
|
||||
this._disableNav('prev')
|
||||
}
|
||||
if (!this.d._isInRange(new Date(y, m+1, 1), 'month')) {
|
||||
this._disableNav('next')
|
||||
}
|
||||
break;
|
||||
case 'months':
|
||||
if (!this.d._isInRange(new Date(y-1, m, d), 'year')) {
|
||||
this._disableNav('prev')
|
||||
}
|
||||
if (!this.d._isInRange(new Date(y+1, m, d), 'year')) {
|
||||
this._disableNav('next')
|
||||
}
|
||||
break;
|
||||
case 'years':
|
||||
var decade = dp.getDecade(this.d.date);
|
||||
if (!this.d._isInRange(new Date(decade[0] - 1, 0, 1), 'year')) {
|
||||
this._disableNav('prev')
|
||||
}
|
||||
if (!this.d._isInRange(new Date(decade[1] + 1, 0, 1), 'year')) {
|
||||
this._disableNav('next')
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
_disableNav: function (nav) {
|
||||
$('[data-action="' + nav + '"]', this.d.$nav).addClass('-disabled-')
|
||||
},
|
||||
|
||||
_activateNav: function (nav) {
|
||||
$('[data-action="' + nav + '"]', this.d.$nav).removeClass('-disabled-')
|
||||
},
|
||||
|
||||
_onClickNavButton: function (e) {
|
||||
var $el = $(e.target).closest('[data-action]'),
|
||||
action = $el.data('action');
|
||||
|
||||
this.d[action]();
|
||||
},
|
||||
|
||||
_onClickNavTitle: function (e) {
|
||||
if ($(e.target).hasClass('-disabled-')) return;
|
||||
|
||||
if (this.d.view == 'days') {
|
||||
return this.d.view = 'months'
|
||||
}
|
||||
|
||||
this.d.view = 'years';
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
283
weboasis/stocks/assets/vendor/air-datepicker-master/src/js/timepicker.js
vendored
Normal file
@ -0,0 +1,283 @@
|
||||
;(function () {
|
||||
var template = '<div class="datepicker--time">' +
|
||||
'<div class="datepicker--time-current">' +
|
||||
' <span class="datepicker--time-current-hours">#{hourVisible}</span>' +
|
||||
' <span class="datepicker--time-current-colon">:</span>' +
|
||||
' <span class="datepicker--time-current-minutes">#{minValue}</span>' +
|
||||
'</div>' +
|
||||
'<div class="datepicker--time-sliders">' +
|
||||
' <div class="datepicker--time-row">' +
|
||||
' <input type="range" name="hours" value="#{hourValue}" min="#{hourMin}" max="#{hourMax}" step="#{hourStep}"/>' +
|
||||
' </div>' +
|
||||
' <div class="datepicker--time-row">' +
|
||||
' <input type="range" name="minutes" value="#{minValue}" min="#{minMin}" max="#{minMax}" step="#{minStep}"/>' +
|
||||
' </div>' +
|
||||
'</div>' +
|
||||
'</div>',
|
||||
datepicker = $.fn.datepicker,
|
||||
dp = datepicker.Constructor;
|
||||
|
||||
datepicker.Timepicker = function (inst, opts) {
|
||||
this.d = inst;
|
||||
this.opts = opts;
|
||||
|
||||
this.init();
|
||||
};
|
||||
|
||||
datepicker.Timepicker.prototype = {
|
||||
init: function () {
|
||||
var input = 'input';
|
||||
this._setTime(this.d.date);
|
||||
this._buildHTML();
|
||||
|
||||
if (navigator.userAgent.match(/trident/gi)) {
|
||||
input = 'change';
|
||||
}
|
||||
|
||||
this.d.$el.on('selectDate', this._onSelectDate.bind(this));
|
||||
this.$ranges.on(input, this._onChangeRange.bind(this));
|
||||
this.$ranges.on('mouseup', this._onMouseUpRange.bind(this));
|
||||
this.$ranges.on('mousemove focus ', this._onMouseEnterRange.bind(this));
|
||||
this.$ranges.on('mouseout blur', this._onMouseOutRange.bind(this));
|
||||
},
|
||||
|
||||
_setTime: function (date) {
|
||||
var _date = dp.getParsedDate(date);
|
||||
|
||||
this._handleDate(date);
|
||||
this.hours = _date.hours < this.minHours ? this.minHours : _date.hours;
|
||||
this.minutes = _date.minutes < this.minMinutes ? this.minMinutes : _date.minutes;
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets minHours and minMinutes from date (usually it's a minDate)
|
||||
* Also changes minMinutes if current hours are bigger then @date hours
|
||||
* @param date {Date}
|
||||
* @private
|
||||
*/
|
||||
_setMinTimeFromDate: function (date) {
|
||||
this.minHours = date.getHours();
|
||||
this.minMinutes = date.getMinutes();
|
||||
|
||||
// If, for example, min hours are 10, and current hours are 12,
|
||||
// update minMinutes to default value, to be able to choose whole range of values
|
||||
if (this.d.lastSelectedDate) {
|
||||
if (this.d.lastSelectedDate.getHours() > date.getHours()) {
|
||||
this.minMinutes = this.opts.minMinutes;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_setMaxTimeFromDate: function (date) {
|
||||
this.maxHours = date.getHours();
|
||||
this.maxMinutes = date.getMinutes();
|
||||
|
||||
if (this.d.lastSelectedDate) {
|
||||
if (this.d.lastSelectedDate.getHours() < date.getHours()) {
|
||||
this.maxMinutes = this.opts.maxMinutes;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_setDefaultMinMaxTime: function () {
|
||||
var maxHours = 23,
|
||||
maxMinutes = 59,
|
||||
opts = this.opts;
|
||||
|
||||
this.minHours = opts.minHours < 0 || opts.minHours > maxHours ? 0 : opts.minHours;
|
||||
this.minMinutes = opts.minMinutes < 0 || opts.minMinutes > maxMinutes ? 0 : opts.minMinutes;
|
||||
this.maxHours = opts.maxHours < 0 || opts.maxHours > maxHours ? maxHours : opts.maxHours;
|
||||
this.maxMinutes = opts.maxMinutes < 0 || opts.maxMinutes > maxMinutes ? maxMinutes : opts.maxMinutes;
|
||||
},
|
||||
|
||||
/**
|
||||
* Looks for min/max hours/minutes and if current values
|
||||
* are out of range sets valid values.
|
||||
* @private
|
||||
*/
|
||||
_validateHoursMinutes: function (date) {
|
||||
if (this.hours < this.minHours) {
|
||||
this.hours = this.minHours;
|
||||
} else if (this.hours > this.maxHours) {
|
||||
this.hours = this.maxHours;
|
||||
}
|
||||
|
||||
if (this.minutes < this.minMinutes) {
|
||||
this.minutes = this.minMinutes;
|
||||
} else if (this.minutes > this.maxMinutes) {
|
||||
this.minutes = this.maxMinutes;
|
||||
}
|
||||
},
|
||||
|
||||
_buildHTML: function () {
|
||||
var lz = dp.getLeadingZeroNum,
|
||||
data = {
|
||||
hourMin: this.minHours,
|
||||
hourMax: lz(this.maxHours),
|
||||
hourStep: this.opts.hoursStep,
|
||||
hourValue: this.hours,
|
||||
hourVisible: lz(this.displayHours),
|
||||
minMin: this.minMinutes,
|
||||
minMax: lz(this.maxMinutes),
|
||||
minStep: this.opts.minutesStep,
|
||||
minValue: lz(this.minutes)
|
||||
},
|
||||
_template = dp.template(template, data);
|
||||
|
||||
this.$timepicker = $(_template).appendTo(this.d.$datepicker);
|
||||
this.$ranges = $('[type="range"]', this.$timepicker);
|
||||
this.$hours = $('[name="hours"]', this.$timepicker);
|
||||
this.$minutes = $('[name="minutes"]', this.$timepicker);
|
||||
this.$hoursText = $('.datepicker--time-current-hours', this.$timepicker);
|
||||
this.$minutesText = $('.datepicker--time-current-minutes', this.$timepicker);
|
||||
|
||||
if (this.d.ampm) {
|
||||
this.$ampm = $('<span class="datepicker--time-current-ampm">')
|
||||
.appendTo($('.datepicker--time-current', this.$timepicker))
|
||||
.html(this.dayPeriod);
|
||||
|
||||
this.$timepicker.addClass('-am-pm-');
|
||||
}
|
||||
},
|
||||
|
||||
_updateCurrentTime: function () {
|
||||
var h = dp.getLeadingZeroNum(this.displayHours),
|
||||
m = dp.getLeadingZeroNum(this.minutes);
|
||||
|
||||
this.$hoursText.html(h);
|
||||
this.$minutesText.html(m);
|
||||
|
||||
if (this.d.ampm) {
|
||||
this.$ampm.html(this.dayPeriod);
|
||||
}
|
||||
},
|
||||
|
||||
_updateRanges: function () {
|
||||
this.$hours.attr({
|
||||
min: this.minHours,
|
||||
max: this.maxHours
|
||||
}).val(this.hours);
|
||||
|
||||
this.$minutes.attr({
|
||||
min: this.minMinutes,
|
||||
max: this.maxMinutes
|
||||
}).val(this.minutes)
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets minHours, minMinutes etc. from date. If date is not passed, than sets
|
||||
* values from options
|
||||
* @param [date] {object} - Date object, to get values from
|
||||
* @private
|
||||
*/
|
||||
_handleDate: function (date) {
|
||||
this._setDefaultMinMaxTime();
|
||||
if (date) {
|
||||
if (dp.isSame(date, this.d.opts.minDate)) {
|
||||
this._setMinTimeFromDate(this.d.opts.minDate);
|
||||
} else if (dp.isSame(date, this.d.opts.maxDate)) {
|
||||
this._setMaxTimeFromDate(this.d.opts.maxDate);
|
||||
}
|
||||
}
|
||||
|
||||
this._validateHoursMinutes(date);
|
||||
},
|
||||
|
||||
update: function () {
|
||||
this._updateRanges();
|
||||
this._updateCurrentTime();
|
||||
},
|
||||
|
||||
/**
|
||||
* Calculates valid hour value to display in text input and datepicker's body.
|
||||
* @param date {Date|Number} - date or hours
|
||||
* @param [ampm] {Boolean} - 12 hours mode
|
||||
* @returns {{hours: *, dayPeriod: string}}
|
||||
* @private
|
||||
*/
|
||||
_getValidHoursFromDate: function (date, ampm) {
|
||||
var d = date,
|
||||
hours = date;
|
||||
|
||||
if (date instanceof Date) {
|
||||
d = dp.getParsedDate(date);
|
||||
hours = d.hours;
|
||||
}
|
||||
|
||||
var _ampm = ampm || this.d.ampm,
|
||||
dayPeriod = 'am';
|
||||
|
||||
if (_ampm) {
|
||||
switch(true) {
|
||||
case hours == 0:
|
||||
hours = 12;
|
||||
break;
|
||||
case hours == 12:
|
||||
dayPeriod = 'pm';
|
||||
break;
|
||||
case hours > 11:
|
||||
hours = hours - 12;
|
||||
dayPeriod = 'pm';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
hours: hours,
|
||||
dayPeriod: dayPeriod
|
||||
}
|
||||
},
|
||||
|
||||
set hours (val) {
|
||||
this._hours = val;
|
||||
|
||||
var displayHours = this._getValidHoursFromDate(val);
|
||||
|
||||
this.displayHours = displayHours.hours;
|
||||
this.dayPeriod = displayHours.dayPeriod;
|
||||
},
|
||||
|
||||
get hours() {
|
||||
return this._hours;
|
||||
},
|
||||
|
||||
// Events
|
||||
// -------------------------------------------------
|
||||
|
||||
_onChangeRange: function (e) {
|
||||
var $target = $(e.target),
|
||||
name = $target.attr('name');
|
||||
|
||||
this.d.timepickerIsActive = true;
|
||||
|
||||
this[name] = $target.val();
|
||||
this._updateCurrentTime();
|
||||
this.d._trigger('timeChange', [this.hours, this.minutes]);
|
||||
|
||||
this._handleDate(this.d.lastSelectedDate);
|
||||
this.update()
|
||||
},
|
||||
|
||||
_onSelectDate: function (e, data) {
|
||||
this._handleDate(data);
|
||||
this.update();
|
||||
},
|
||||
|
||||
_onMouseEnterRange: function (e) {
|
||||
var name = $(e.target).attr('name');
|
||||
$('.datepicker--time-current-' + name, this.$timepicker).addClass('-focus-');
|
||||
},
|
||||
|
||||
_onMouseOutRange: function (e) {
|
||||
var name = $(e.target).attr('name');
|
||||
if (this.d.inFocus) return; // Prevent removing focus when mouse out of range slider
|
||||
$('.datepicker--time-current-' + name, this.$timepicker).removeClass('-focus-');
|
||||
},
|
||||
|
||||
_onMouseUpRange: function (e) {
|
||||
this.d.timepickerIsActive = false;
|
||||
}
|
||||
};
|
||||
})();
|
84
weboasis/stocks/assets/vendor/air-datepicker-master/src/sass/_datepicker-config.scss
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
$datepickerDayCellSize: 32px !default;
|
||||
$datepickerWidth: 250px !default;
|
||||
$datepickerMinBodyHeight: 170px !default;
|
||||
$datepickerBorderRadius: 4px !default;
|
||||
$datepickerPadding: 4px !default;
|
||||
$datepickerZIndex: 100 !default;
|
||||
|
||||
$datepickerFontFamily: Tahoma !default;
|
||||
$datepickerFontSize: 14px !default;
|
||||
|
||||
$datepickerYearsPerRow: 4 !default;
|
||||
|
||||
$datepickerTextColor: (
|
||||
button: #5cc4ef,
|
||||
otherMonth: #dedede,
|
||||
otherMonthInRange: #ccc,
|
||||
disabled: #aeaeae,
|
||||
currentDate: #4EB5E6,
|
||||
common: #4a4a4a,
|
||||
dayNames: #FF9A19,
|
||||
navArrows: #9c9c9c
|
||||
) !default;
|
||||
|
||||
$datepickerBG: (
|
||||
selected: #5cc4ef,
|
||||
selectedHover: darken(#5cc4ef, 5),
|
||||
inRange: rgba(#5cc4ef, .1),
|
||||
hover: #f0f0f0
|
||||
) !default;
|
||||
|
||||
$datepickerBorderColor: (
|
||||
nav: #efefef,
|
||||
inline: #d7d7d7,
|
||||
default: #dbdbdb
|
||||
) !default;
|
||||
|
||||
$datepickerNavigationHeight: 32px !default;
|
||||
$datepickerNavigationButtonsOffset: 2px !default;
|
||||
|
||||
$datepickerPointerSize: 10px !default;
|
||||
$datepickerPointerOffset: 10px !default;
|
||||
|
||||
// Transitions
|
||||
$datepickerTransitionSpeed: .3s !default;
|
||||
$datepickerTransitionEase: ease !default;
|
||||
$datepickerTransitionOffset: 8px !default;
|
||||
|
||||
// Objects
|
||||
%otherMonth {
|
||||
color: map_get($datepickerTextColor, otherMonth);
|
||||
|
||||
&:hover {
|
||||
color: darken(map_get($datepickerTextColor, otherMonth), 10);
|
||||
}
|
||||
|
||||
&.-disabled- {
|
||||
&.-focus- {
|
||||
color: map_get($datepickerTextColor, otherMonth);
|
||||
}
|
||||
}
|
||||
|
||||
&.-selected- {
|
||||
color: #fff;
|
||||
background: lighten(map_get($datepickerBG, selected), 15);
|
||||
&.-focus- {
|
||||
background: lighten(map_get($datepickerBG, selected), 10);
|
||||
}
|
||||
}
|
||||
|
||||
&.-in-range- {
|
||||
background-color: map_get($datepickerBG, inRange);
|
||||
color: darken(map_get($datepickerTextColor, otherMonth), 7);
|
||||
|
||||
&.-focus- {
|
||||
background-color: rgba(map_get($datepickerBG, inRange), .2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&:empty {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
}
|
173
weboasis/stocks/assets/vendor/air-datepicker-master/src/sass/cell.scss
vendored
Normal file
@ -0,0 +1,173 @@
|
||||
@import "datepicker-config";
|
||||
|
||||
/* -------------------------------------------------
|
||||
Datepicker cells
|
||||
------------------------------------------------- */
|
||||
|
||||
.datepicker--cells {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.datepicker--cell {
|
||||
border-radius: $datepickerBorderRadius;
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: $datepickerDayCellSize;
|
||||
z-index: 1;
|
||||
|
||||
&.-focus- {
|
||||
background: map_get($datepickerBG, hover);
|
||||
}
|
||||
|
||||
&.-current- {
|
||||
color: map_get($datepickerTextColor, currentDate);
|
||||
|
||||
&.-focus- {
|
||||
color: map_get($datepickerTextColor, common);
|
||||
}
|
||||
|
||||
&.-in-range- {
|
||||
color: map_get($datepickerTextColor, currentDate);
|
||||
}
|
||||
}
|
||||
|
||||
&.-in-range- {
|
||||
background: map_get($datepickerBG, inRange);
|
||||
color: map_get($datepickerTextColor, common);
|
||||
border-radius: 0;
|
||||
|
||||
&.-focus- {
|
||||
background-color: rgba(map_get($datepickerBG, inRange), .2);
|
||||
}
|
||||
}
|
||||
|
||||
&.-disabled- {
|
||||
cursor: default;
|
||||
color: map_get($datepickerTextColor, disabled);
|
||||
|
||||
&.-focus- {
|
||||
color: map_get($datepickerTextColor, disabled);
|
||||
}
|
||||
|
||||
&.-in-range- {
|
||||
color: darken(map_get($datepickerTextColor, disabled), 5);
|
||||
}
|
||||
|
||||
&.-current- {
|
||||
&.-focus- {
|
||||
color: map_get($datepickerTextColor, disabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.-range-from- {
|
||||
border: 1px solid rgba(map_get($datepickerBG, selected), .5);
|
||||
background-color: map_get($datepickerBG, inRange);
|
||||
border-radius: $datepickerBorderRadius 0 0 $datepickerBorderRadius;
|
||||
}
|
||||
&.-range-to- {
|
||||
border: 1px solid rgba(map_get($datepickerBG, selected), .5);
|
||||
background-color: map_get($datepickerBG, inRange);
|
||||
border-radius: 0 $datepickerBorderRadius $datepickerBorderRadius 0;
|
||||
}
|
||||
|
||||
&.-range-from-.-range-to- {
|
||||
border-radius: $datepickerBorderRadius;
|
||||
|
||||
}
|
||||
|
||||
&.-selected- {
|
||||
color: #fff;
|
||||
border: none;
|
||||
background: map_get($datepickerBG, selected);
|
||||
|
||||
&.-current- {
|
||||
color: #fff;
|
||||
background: map_get($datepickerBG, selected);
|
||||
}
|
||||
|
||||
&.-focus- {
|
||||
background: map_get($datepickerBG, selectedHover);
|
||||
}
|
||||
}
|
||||
|
||||
&:empty {
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
|
||||
// Day names
|
||||
// -------------------------------------------------
|
||||
|
||||
.datepicker--days-names {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 8px 0 3px;
|
||||
}
|
||||
|
||||
.datepicker--day-name {
|
||||
color: map_get($datepickerTextColor, dayNames);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
// Day cell
|
||||
// -------------------------------------------------
|
||||
|
||||
.datepicker--cell-day {
|
||||
width: (100/7)#{'%'};
|
||||
|
||||
&.-other-month- {
|
||||
@extend %otherMonth;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Months
|
||||
// -------------------------------------------------
|
||||
|
||||
.datepicker--months {}
|
||||
|
||||
.datepicker--cells-months {
|
||||
height: $datepickerMinBodyHeight;
|
||||
}
|
||||
|
||||
// Month cell
|
||||
// -------------------------
|
||||
|
||||
.datepicker--cell-month {
|
||||
width: 33.33%;
|
||||
height: 25%;
|
||||
}
|
||||
|
||||
// Years
|
||||
// -------------------------------------------------
|
||||
|
||||
.datepicker--years {
|
||||
height: $datepickerMinBodyHeight;
|
||||
}
|
||||
|
||||
.datepicker--cells-years {
|
||||
height: $datepickerMinBodyHeight;
|
||||
}
|
||||
// Year cell
|
||||
// -------------------------
|
||||
|
||||
.datepicker--cell-year {
|
||||
width: 100% / $datepickerYearsPerRow;
|
||||
height: 33.33%;
|
||||
|
||||
&.-other-decade- {
|
||||
@extend %otherMonth;
|
||||
}
|
||||
}
|
149
weboasis/stocks/assets/vendor/air-datepicker-master/src/sass/datepicker.scss
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
@import "datepicker-config";
|
||||
|
||||
/* -------------------------------------------------
|
||||
Datepicker
|
||||
------------------------------------------------- */
|
||||
|
||||
.datepickers-container {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker {
|
||||
background: #fff;
|
||||
border: 1px solid map_get($datepickerBorderColor, default);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
|
||||
border-radius: $datepickerBorderRadius;
|
||||
box-sizing: content-box;
|
||||
font-family: $datepickerFontFamily, sans-serif;
|
||||
font-size: $datepickerFontSize;
|
||||
color: map_get($datepickerTextColor, common);
|
||||
width: $datepickerWidth;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
opacity: 0;
|
||||
transition: opacity $datepickerTransitionSpeed $datepickerTransitionEase, transform $datepickerTransitionSpeed $datepickerTransitionEase, left 0s $datepickerTransitionSpeed;
|
||||
z-index: $datepickerZIndex;
|
||||
|
||||
&.-from-top- {
|
||||
transform: translateY(-$datepickerTransitionOffset);
|
||||
}
|
||||
&.-from-right- {
|
||||
transform: translateX($datepickerTransitionOffset);
|
||||
}
|
||||
&.-from-bottom- {
|
||||
transform: translateY($datepickerTransitionOffset);
|
||||
}
|
||||
&.-from-left- {
|
||||
transform: translateX(-$datepickerTransitionOffset);
|
||||
}
|
||||
|
||||
|
||||
&.active {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
transition: opacity $datepickerTransitionSpeed $datepickerTransitionEase, transform $datepickerTransitionSpeed $datepickerTransitionEase, left 0s 0s;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker-inline {
|
||||
.datepicker {
|
||||
border-color: map-get($datepickerBorderColor, inline);
|
||||
box-shadow: none;
|
||||
position: static;
|
||||
left: auto;
|
||||
right: auto;
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.datepicker--pointer {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker--content {
|
||||
box-sizing: content-box;
|
||||
padding: $datepickerPadding;
|
||||
|
||||
.-only-timepicker- & {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Pointer
|
||||
// -------------------------------------------------
|
||||
$pointerHalfSize: $datepickerPointerSize / 2 - 1;
|
||||
|
||||
.datepicker--pointer {
|
||||
position: absolute;
|
||||
background: #fff;
|
||||
border-top: 1px solid map-get($datepickerBorderColor, default);
|
||||
border-right: 1px solid map-get($datepickerBorderColor, default);
|
||||
width: $datepickerPointerSize;
|
||||
height: $datepickerPointerSize;
|
||||
z-index: -1;
|
||||
|
||||
// Main axis
|
||||
// -------------------------
|
||||
|
||||
.-top-left- &, .-top-center- &, .-top-right- & {
|
||||
top: calc(100% - #{$pointerHalfSize});
|
||||
transform: rotate(135deg);
|
||||
}
|
||||
|
||||
.-right-top- &, .-right-center- &, .-right-bottom- & {
|
||||
right: calc(100% - #{$pointerHalfSize});
|
||||
transform: rotate(225deg);
|
||||
}
|
||||
|
||||
.-bottom-left- &, .-bottom-center- &, .-bottom-right- & {
|
||||
bottom: calc(100% - #{$pointerHalfSize});
|
||||
transform: rotate(315deg);
|
||||
}
|
||||
|
||||
.-left-top- &, .-left-center- &, .-left-bottom- & {
|
||||
left: calc(100% - #{$pointerHalfSize});
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
// Secondary axis
|
||||
// -------------------------
|
||||
|
||||
.-top-left- &, .-bottom-left- & {
|
||||
left: $datepickerPointerOffset;
|
||||
}
|
||||
.-top-right- &, .-bottom-right- & {
|
||||
right: $datepickerPointerOffset;
|
||||
}
|
||||
.-top-center- &, .-bottom-center- & {
|
||||
left: calc(50% - #{$datepickerPointerSize} / 2);
|
||||
}
|
||||
|
||||
.-left-top- &, .-right-top- & {
|
||||
top: $datepickerPointerOffset;
|
||||
}
|
||||
.-left-bottom- &, .-right-bottom- & {
|
||||
bottom: $datepickerPointerOffset;
|
||||
}
|
||||
.-left-center- &, .-right-center- & {
|
||||
top: calc(50% - #{$datepickerPointerSize} / 2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Body
|
||||
// -------------------------------------------------
|
||||
|
||||
.datepicker--body {
|
||||
display: none;
|
||||
|
||||
&.active {
|
||||
display: block;
|
||||
}
|
||||
}
|
95
weboasis/stocks/assets/vendor/air-datepicker-master/src/sass/navigation.scss
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
@import "datepicker-config";
|
||||
|
||||
/* -------------------------------------------------
|
||||
Navigation
|
||||
------------------------------------------------- */
|
||||
|
||||
.datepicker--nav {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid map_get($datepickerBorderColor, nav);
|
||||
min-height: $datepickerNavigationHeight;
|
||||
padding: $datepickerPadding;
|
||||
|
||||
.-only-timepicker- & {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker--nav-title,
|
||||
.datepicker--nav-action {
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.datepicker--nav-action {
|
||||
width: $datepickerDayCellSize;
|
||||
border-radius: $datepickerBorderRadius;
|
||||
user-select: none;
|
||||
|
||||
&:hover {
|
||||
background: map_get($datepickerBG, hover);
|
||||
}
|
||||
|
||||
&.-disabled- {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
svg {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
path {
|
||||
fill: none;
|
||||
stroke: map_get($datepickerTextColor, navArrows);
|
||||
stroke-width: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker--nav-title {
|
||||
border-radius: $datepickerBorderRadius;
|
||||
padding: 0 8px;
|
||||
|
||||
i {
|
||||
font-style: normal;
|
||||
color: map_get($datepickerTextColor, navArrows);
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: map_get($datepickerBG, hover);
|
||||
}
|
||||
|
||||
&.-disabled- {
|
||||
cursor: default;
|
||||
background: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Buttons
|
||||
// -------------------------------------------------
|
||||
|
||||
.datepicker--buttons {
|
||||
display: flex;
|
||||
padding: $datepickerPadding;
|
||||
border-top: 1px solid map_get($datepickerBorderColor, nav);
|
||||
}
|
||||
|
||||
.datepicker--button {
|
||||
color: map_get($datepickerTextColor, currentDate);
|
||||
cursor: pointer;
|
||||
border-radius: $datepickerBorderRadius;
|
||||
flex: 1;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 32px;
|
||||
|
||||
&:hover {
|
||||
color: map_get($datepickerTextColor, common);
|
||||
background: map_get($datepickerBG, hover);
|
||||
}
|
||||
}
|
251
weboasis/stocks/assets/vendor/air-datepicker-master/src/sass/timepicker.scss
vendored
Normal file
@ -0,0 +1,251 @@
|
||||
@import "datepicker-config";
|
||||
|
||||
/* -------------------------------------------------
|
||||
Timepicker
|
||||
------------------------------------------------- */
|
||||
|
||||
$rangeTrackHeight: 1px;
|
||||
$rangeTrackBg: #dedede;
|
||||
$rangeThumbSize: 12px;
|
||||
$rangeThumbBg: #dedede;
|
||||
|
||||
@mixin trackSelector {
|
||||
&::-webkit-slider-runnable-track {
|
||||
@content;
|
||||
}
|
||||
|
||||
&::-moz-range-track {
|
||||
@content;
|
||||
}
|
||||
|
||||
&::-ms-track {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin thumbSelector {
|
||||
&::-webkit-slider-thumb {
|
||||
@content;
|
||||
}
|
||||
|
||||
&::-moz-range-thumb {
|
||||
@content;
|
||||
}
|
||||
|
||||
&::-ms-thumb {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin thumb {
|
||||
box-sizing: border-box;
|
||||
height: $rangeThumbSize;
|
||||
width: $rangeThumbSize;
|
||||
border-radius: 3px;
|
||||
border: 1px solid $rangeTrackBg;
|
||||
background: #fff;
|
||||
cursor: pointer;
|
||||
|
||||
transition: background .2s;
|
||||
}
|
||||
|
||||
@mixin track {
|
||||
border: none;
|
||||
height: $rangeTrackHeight;
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.datepicker--time {
|
||||
border-top: 1px solid map_get($datepickerBorderColor, nav);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
padding: $datepickerPadding;
|
||||
position: relative;
|
||||
|
||||
&.-am-pm- {
|
||||
.datepicker--time-sliders {
|
||||
flex: 0 1 138px;
|
||||
max-width: 138px;
|
||||
}
|
||||
}
|
||||
|
||||
.-only-timepicker- & {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker--time-sliders {
|
||||
flex: 0 1 153px;
|
||||
margin-right: 10px;
|
||||
max-width: 153px;
|
||||
}
|
||||
|
||||
.datepicker--time-label {
|
||||
display: none;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.datepicker--time-current {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
margin: 0 0 0 10px;
|
||||
}
|
||||
|
||||
.datepicker--time-current-colon {
|
||||
margin: 0 2px 3px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.datepicker--time-current-hours,
|
||||
.datepicker--time-current-minutes {
|
||||
line-height: 1;
|
||||
font-size: 19px;
|
||||
font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
background: map_get($datepickerBG, hover);
|
||||
border-radius: $datepickerBorderRadius;
|
||||
position: absolute;
|
||||
left: -2px;
|
||||
top: -3px;
|
||||
right: -2px;
|
||||
bottom: -2px;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&.-focus- {
|
||||
&:after {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker--time-current-ampm {
|
||||
text-transform: uppercase;
|
||||
align-self: flex-end;
|
||||
color: map_get($datepickerTextColor, navArrows);
|
||||
margin-left: 6px;
|
||||
font-size: 11px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
.datepicker--time-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 11px;
|
||||
height: 17px;
|
||||
background: linear-gradient(to right,$rangeTrackBg, $rangeTrackBg) left 50%/100% $rangeTrackHeight no-repeat;
|
||||
|
||||
&:first-child {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
input[type='range'] {
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
-webkit-appearance: none;
|
||||
|
||||
&::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
&::-ms-tooltip {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
@include thumbSelector() {
|
||||
border-color: darken($rangeTrackBg, 15);
|
||||
}
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
|
||||
@include thumbSelector() {
|
||||
background: map_get($datepickerBG, selected);
|
||||
border-color: map_get($datepickerBG, selected);
|
||||
}
|
||||
}
|
||||
|
||||
// Thumb
|
||||
// -------------------------------------------------
|
||||
|
||||
@include thumbSelector() {
|
||||
@include thumb;
|
||||
}
|
||||
|
||||
&::-webkit-slider-thumb {
|
||||
margin-top: -$rangeThumbSize/2;
|
||||
}
|
||||
|
||||
// Track
|
||||
// -------------------------------------------------
|
||||
@include trackSelector() {
|
||||
@include track;
|
||||
}
|
||||
|
||||
&::-ms-fill-lower {
|
||||
background: transparent;
|
||||
}
|
||||
&:focus::-ms-fill-lower {
|
||||
|
||||
}
|
||||
&::-ms-fill-upper {
|
||||
background: transparent;
|
||||
}
|
||||
&:focus::-ms-fill-upper {
|
||||
|
||||
}
|
||||
}
|
||||
span {
|
||||
padding: 0 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker--time-icon {
|
||||
color: map_get($datepickerTextColor, navArrows);
|
||||
border: 1px solid;
|
||||
border-radius: 50%;
|
||||
font-size: 16px;
|
||||
position: relative;
|
||||
margin: 0 5px -1px 0;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
|
||||
&:after, &:before {
|
||||
content: '';
|
||||
background: currentColor;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
&:after {
|
||||
height: .4em;
|
||||
width: 1px;
|
||||
left: calc(50% - 1px);
|
||||
top: calc(50% + 1px);
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
&:before {
|
||||
width: .4em;
|
||||
height: 1px;
|
||||
top: calc(50% + 1px);
|
||||
left: calc(50% - 1px);
|
||||
}
|
||||
}
|
||||
|
10
weboasis/stocks/assets/vendor/air-datepicker-master/static-server.js
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
var static = require('node-static'),
|
||||
http = require('http');
|
||||
|
||||
var file = new static.Server('.');
|
||||
|
||||
http.createServer(function (request, response) {
|
||||
request.addListener('end', function () {
|
||||
file.serve(request, response);
|
||||
}).resume();
|
||||
}).listen(3000);
|
24
weboasis/stocks/assets/vendor/air-datepicker-master/tasks/css.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
var gulp = require('gulp'),
|
||||
rename = require('gulp-rename'),
|
||||
sass = require('gulp-sass'),
|
||||
postcss = require('gulp-postcss'),
|
||||
autoprefixer = require('autoprefixer')({ browsers: ['last 2 versions'] }),
|
||||
clone = require('gulp-clone'),
|
||||
minify = require('gulp-minify-css'),
|
||||
concat = require('gulp-concat');
|
||||
|
||||
module.exports = function () {
|
||||
var stream = gulp.src('src/sass/*.scss')
|
||||
.pipe(concat('datepicker.scss'))
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(postcss([autoprefixer]));
|
||||
|
||||
stream.pipe(clone())
|
||||
.pipe(minify())
|
||||
.pipe(rename('datepicker.min.css'))
|
||||
.pipe(gulp.dest('dist/css'));
|
||||
|
||||
stream.pipe(clone())
|
||||
.pipe(rename('datepicker.css'))
|
||||
.pipe(gulp.dest('dist/css'))
|
||||
};
|
17
weboasis/stocks/assets/vendor/air-datepicker-master/tasks/cssPage.js
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
var gulp = require('gulp'),
|
||||
rename = require('gulp-rename'),
|
||||
sass = require('gulp-sass'),
|
||||
postcss = require('gulp-postcss'),
|
||||
autoprefixer = require('autoprefixer')({ browsers: ['last 2 versions'] }),
|
||||
clone = require('gulp-clone'),
|
||||
minify = require('gulp-minify-css'),
|
||||
concat = require('gulp-concat');
|
||||
|
||||
module.exports = function () {
|
||||
gulp.src('docs/sass/init.scss')
|
||||
.pipe(concat('style.css'))
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(postcss([autoprefixer]))
|
||||
.pipe(minify())
|
||||
.pipe(gulp.dest('docs/css'))
|
||||
};
|
9
weboasis/stocks/assets/vendor/air-datepicker-master/tasks/gzip.js
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
var gulp = require('gulp'),
|
||||
gzip = require('gulp-gzip');
|
||||
|
||||
module.exports = function (cb) {
|
||||
gulp.src('dist/js/datepicker.min.js')
|
||||
.pipe(gzip())
|
||||
.pipe(gulp.dest('dist/'))
|
||||
};
|
||||
|
12
weboasis/stocks/assets/vendor/air-datepicker-master/tasks/i18n.js
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var gulp = require('gulp'),
|
||||
rename = require('gulp-rename'),
|
||||
wrap = require('gulp-wrap'),
|
||||
sass = require('gulp-sass'),
|
||||
clone = require('gulp-clone'),
|
||||
concat = require('gulp-concat');
|
||||
|
||||
module.exports = function () {
|
||||
gulp.src('src/js/i18n/*.js')
|
||||
.pipe(wrap(';(function ($) { <%=contents%> })(jQuery);'))
|
||||
.pipe(gulp.dest('dist/js/i18n'))
|
||||
};
|
38
weboasis/stocks/assets/vendor/air-datepicker-master/tasks/jade.js
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
var gulp = require('gulp'),
|
||||
plumber = require('gulp-plumber'),
|
||||
_jade = require('jade'),
|
||||
jade = require('gulp-jade');
|
||||
|
||||
_jade.filters.code = function( block ) {
|
||||
return block
|
||||
.replace( /\…/g, '…' )
|
||||
.replace( /&/g, '&' )
|
||||
.replace( /</g, '<' )
|
||||
.replace( />/g, '>' )
|
||||
.replace( /"/g, '"' )
|
||||
.replace( /#/g, '#' )
|
||||
.replace( /\\/g, '\\\\' );
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
ru: function () {
|
||||
gulp.src('docs/jade/pages/index-ru.jade')
|
||||
.pipe(plumber())
|
||||
.pipe(jade({
|
||||
data: {
|
||||
lang: 'ru'
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest('docs/'))
|
||||
},
|
||||
en: function () {
|
||||
gulp.src('docs/jade/pages/index.jade')
|
||||
.pipe(plumber())
|
||||
.pipe(jade({
|
||||
data: {
|
||||
lang: 'en'
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest('docs/'))
|
||||
}
|
||||
};
|
26
weboasis/stocks/assets/vendor/air-datepicker-master/tasks/js.js
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
var gulp = require('gulp'),
|
||||
rename = require('gulp-rename'),
|
||||
uglify = require('gulp-uglify'),
|
||||
clone = require('gulp-clone'),
|
||||
wrap = require('gulp-wrap'),
|
||||
concat = require('gulp-concat');
|
||||
|
||||
module.exports = function () {
|
||||
var stream = gulp.src([
|
||||
'src/js/datepicker.js',
|
||||
'src/js/body.js',
|
||||
'src/js/navigation.js',
|
||||
'src/js/timepicker.js'
|
||||
])
|
||||
.pipe(concat('datepicker.js'))
|
||||
.pipe(wrap(';(function (window, $, undefined) { <%=contents%> })(window, jQuery);'));
|
||||
|
||||
stream.pipe(clone())
|
||||
.pipe(gulp.dest('dist/js'));
|
||||
|
||||
stream.pipe(clone())
|
||||
.pipe(uglify())
|
||||
.pipe(rename('datepicker.min.js'))
|
||||
.pipe(gulp.dest('dist/js'))
|
||||
|
||||
};
|
37
weboasis/stocks/assets/vendor/air-datepicker-master/tests/index.html
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Air Datepicker tests</title>
|
||||
<link rel="stylesheet" href="../dist/css/datepicker.min.css"/>
|
||||
<link rel="stylesheet" href="../node_modules/mocha/mocha.css"/>
|
||||
<script type="text/javascript" src="../bower_components/jquery/dist/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../dist/js/datepicker.js"></script>
|
||||
<script type="text/javascript" src="../dist/js/i18n/datepicker.en.js"></script>
|
||||
<script type="text/javascript" src="../dist/js/i18n/datepicker.de.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../node_modules/mocha/mocha.js"></script>
|
||||
<script type="text/javascript" src="../node_modules/chai/chai.js"></script>
|
||||
<script type="text/javascript">
|
||||
mocha.setup('bdd');
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="specs/options.js"></script>
|
||||
<script type="text/javascript" src="specs/events.js"></script>
|
||||
<script type="text/javascript" src="specs/static-methods.js"></script>
|
||||
<script type="text/javascript" src="specs/api.js"></script>
|
||||
<style type="text/css">
|
||||
/* Remove transitions to test position options*/
|
||||
.datepicker {
|
||||
transition-duration: 0s !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container"></div>
|
||||
<div id="mocha"></div>
|
||||
<script type="text/javascript">
|
||||
mocha.run();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
65
weboasis/stocks/assets/vendor/air-datepicker-master/tests/specs/api.js
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
describe('API', function () {
|
||||
|
||||
var assert = chai.assert,
|
||||
expect = chai.expect,
|
||||
destroy = true,
|
||||
$altInput,
|
||||
$input, dp;
|
||||
|
||||
before(function () {
|
||||
$input = $('<input>').appendTo('#container');
|
||||
$altInput = $('<input class="alt-field">').appendTo('#container');
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
if (dp && destroy) {
|
||||
dp.destroy();
|
||||
}
|
||||
|
||||
destroy = true;
|
||||
});
|
||||
|
||||
after(function () {
|
||||
$input.remove();
|
||||
$altInput.remove();
|
||||
});
|
||||
|
||||
describe('selectDate', function () {
|
||||
it('should select passed date', function () {
|
||||
dp = $input.datepicker().data('datepicker');
|
||||
|
||||
var date = new Date();
|
||||
|
||||
dp.selectDate(date);
|
||||
|
||||
expect(dp.selectedDates).to.have.length(1);
|
||||
expect(dp.selectedDates[0]).to.be.equal(date)
|
||||
});
|
||||
it('should select multiple dates if {multipleDates: true}', function () {
|
||||
dp = $input.datepicker({
|
||||
multipleDates: true
|
||||
}).data('datepicker');
|
||||
|
||||
var date = new Date(2016, 4, 16),
|
||||
date2 = new Date(2016, 4, 18);
|
||||
|
||||
dp.selectDate(date);
|
||||
dp.selectDate(date2);
|
||||
|
||||
expect(dp.selectedDates).to.have.length(2);
|
||||
});
|
||||
it('should swap dates if {range: true} and second date is smaller then first', function () {
|
||||
dp = $input.datepicker({
|
||||
range: true
|
||||
}).data('datepicker');
|
||||
|
||||
var date = new Date(2016, 4, 18),
|
||||
date2 = new Date(2016, 4, 16);
|
||||
|
||||
dp.selectDate(date);
|
||||
dp.selectDate(date2);
|
||||
|
||||
expect(dp.selectedDates[0]).to.be.equal(date2);
|
||||
})
|
||||
});
|
||||
});
|
199
weboasis/stocks/assets/vendor/air-datepicker-master/tests/specs/events.js
vendored
Normal file
@ -0,0 +1,199 @@
|
||||
describe('Events', function () {
|
||||
var assert = chai.assert,
|
||||
expect = chai.expect,
|
||||
destroy = true,
|
||||
$span,
|
||||
$altInput,
|
||||
$input, dp;
|
||||
|
||||
before(function () {
|
||||
$input = $('<input>').appendTo('#container');
|
||||
$span = $('<span>').appendTo('#container');
|
||||
$altInput = $('<input class="alt-field">').appendTo('#container');
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
if (dp && destroy) {
|
||||
dp.destroy();
|
||||
dp = '';
|
||||
}
|
||||
|
||||
destroy = true;
|
||||
});
|
||||
|
||||
after(function () {
|
||||
$input.remove();
|
||||
$span.remove();
|
||||
$altInput.remove();
|
||||
});
|
||||
|
||||
describe('onSelect', function () {
|
||||
it('should add callback when user selects date', function () {
|
||||
var date = new Date(2016,0,13);
|
||||
|
||||
dp = $input.datepicker({
|
||||
onSelect: function (fd, d, inst) {
|
||||
expect(fd).to.be.equal('13.01.2016');
|
||||
expect(d).to.be.instanceof(Date);
|
||||
expect(inst).to.be.instanceof($.fn.datepicker.Constructor);
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
|
||||
});
|
||||
|
||||
it('should receive array of dates when "multipleDates" set to true', function () {
|
||||
var date = new Date(2016,0,22),
|
||||
date2 = new Date(2016,0,23),
|
||||
dates = [];
|
||||
|
||||
dp = $input.datepicker({
|
||||
multipleDates: true,
|
||||
onSelect: function (fd, d, inst) {
|
||||
dates = d;
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
dp.selectDate(date2);
|
||||
|
||||
expect(dates).to.have.length(2)
|
||||
|
||||
})
|
||||
it('should receive array of dates when "range" set to true', function () {
|
||||
var date = new Date(2016,0,22),
|
||||
date2 = new Date(2016,0,23),
|
||||
dates = [];
|
||||
|
||||
dp = $input.datepicker({
|
||||
range: true,
|
||||
onSelect: function (fd, d, inst) {
|
||||
dates = d;
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
dp.selectDate(date2);
|
||||
|
||||
expect(dates).to.have.length(2)
|
||||
})
|
||||
});
|
||||
|
||||
describe('onShow', function () {
|
||||
it('should add callback when datepicker is showing', function () {
|
||||
var test = '';
|
||||
dp = $input.datepicker({
|
||||
onShow: function (dp, completed) {
|
||||
if (!completed) {
|
||||
test = dp;
|
||||
}
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.show();
|
||||
expect(test).to.be.equal(dp);
|
||||
})
|
||||
});
|
||||
|
||||
describe('onHide', function () {
|
||||
it('should add callback when datepicker is hiding (after transition completed)', function () {
|
||||
var test = '';
|
||||
dp = $input.datepicker({
|
||||
onHide: function (dp, completed) {
|
||||
if (!completed) {
|
||||
test = dp;
|
||||
}
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.show();
|
||||
dp.hide();
|
||||
expect(test).to.be.equal(dp);
|
||||
});
|
||||
});
|
||||
|
||||
describe('onRenderCell', function () {
|
||||
it('should add callback when cell is rendered', function () {
|
||||
dp = $input.datepicker({
|
||||
onRenderCell: function (d, type) {
|
||||
expect(d).to.be.instanceOf(Date);
|
||||
expect(type).to.be.equal('day');
|
||||
}
|
||||
}).data('datepicker');
|
||||
})
|
||||
});
|
||||
|
||||
describe('onChangeView', function () {
|
||||
it('should add callback when view is changed', function () {
|
||||
var _view;
|
||||
|
||||
dp = $input.datepicker({
|
||||
onChangeView: function (view) {
|
||||
_view = view;
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.view = 'months';
|
||||
expect(_view).to.be.equal('months')
|
||||
})
|
||||
});
|
||||
|
||||
describe('onChangeMonth', function () {
|
||||
it('should add callback when month is changed', function () {
|
||||
var _month, _year;
|
||||
|
||||
dp = $input.datepicker({
|
||||
startDate: new Date(2016, 0, 22),
|
||||
onChangeMonth: function (month, year) {
|
||||
_month = month;
|
||||
_year = year;
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
$('.datepicker--nav-action[data-action="next"]',dp.$datepicker).click();
|
||||
|
||||
expect(_month).to.be.equal(1);
|
||||
expect(_year).to.be.equal(2016)
|
||||
})
|
||||
});
|
||||
|
||||
describe('onChangeYear', function () {
|
||||
it('should add callback when year is changed', function () {
|
||||
var _year;
|
||||
|
||||
dp = $input.datepicker({
|
||||
startDate: new Date(2016, 0, 22),
|
||||
view: 'months',
|
||||
onChangeYear: function (year) {
|
||||
_year = year;
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
$('.datepicker--nav-action[data-action="next"]',dp.$datepicker).click();
|
||||
|
||||
expect(_year).to.be.equal(2017)
|
||||
})
|
||||
});
|
||||
|
||||
describe('onChangeDecade', function () {
|
||||
it('should add callback when decade is changed', function () {
|
||||
var _decade;
|
||||
|
||||
dp = $input.datepicker({
|
||||
startDate: new Date(2016, 0, 22),
|
||||
view: 'years',
|
||||
onChangeDecade: function (decade) {
|
||||
_decade = decade;
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
$('.datepicker--nav-action[data-action="next"]',dp.$datepicker).click();
|
||||
|
||||
expect(_decade).to.have.length(2);
|
||||
expect(_decade[0]).to.be.equal(2020);
|
||||
expect(_decade[1]).to.be.equal(2029);
|
||||
})
|
||||
});
|
||||
|
||||
});
|
973
weboasis/stocks/assets/vendor/air-datepicker-master/tests/specs/options.js
vendored
Normal file
@ -0,0 +1,973 @@
|
||||
describe('Options', function () {
|
||||
|
||||
var assert = chai.assert,
|
||||
expect = chai.expect,
|
||||
destroy = true,
|
||||
$altInput,
|
||||
$input, dp;
|
||||
|
||||
before(function () {
|
||||
$input = $('<input>').appendTo('#container');
|
||||
$altInput = $('<input class="alt-field">').appendTo('#container');
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
if (dp && destroy) {
|
||||
dp.destroy();
|
||||
}
|
||||
|
||||
destroy = true;
|
||||
});
|
||||
|
||||
after(function () {
|
||||
$input.remove();
|
||||
$altInput.remove();
|
||||
});
|
||||
|
||||
describe('classes', function () {
|
||||
it('should add extra classes to datepicker', function () {
|
||||
dp = $input.datepicker({
|
||||
classes: 'custom-class'
|
||||
}).data('datepicker');
|
||||
|
||||
expect(dp.$datepicker.attr('class')).to.have.string('custom-class')
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('inline', function () {
|
||||
it('if true, should be always visible', function () {
|
||||
dp = $input.datepicker({
|
||||
inline: true
|
||||
}).data('datepicker');
|
||||
|
||||
expect(dp.$datepicker.parent().attr('class')).to.have.string('datepicker-inline');
|
||||
});
|
||||
it('if false, should be hidden', function () {
|
||||
dp = $input.datepicker({
|
||||
inline: false
|
||||
}).data('datepicker');
|
||||
|
||||
expect(dp.$datepicker.parent().attr('class')).to.have.string('datepickers-container');
|
||||
})
|
||||
});
|
||||
|
||||
describe('language', function () {
|
||||
it('should change language to English if it `en`', function () {
|
||||
dp = $input.datepicker({
|
||||
language: 'en'
|
||||
}).data('datepicker');
|
||||
|
||||
expect(dp.loc.days).to.eql($.fn.datepicker.language.en.days);
|
||||
});
|
||||
it('should change language to custom if object is passed', function () {
|
||||
var daysMin = ['В','П','В','С','Ч','П','С'];
|
||||
dp = $input.datepicker({
|
||||
language: {
|
||||
daysMin: daysMin
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
expect(dp.loc.daysMin).to.eql(daysMin);
|
||||
expect(dp.loc.days).to.eql($.fn.datepicker.language.ru.days);
|
||||
})
|
||||
});
|
||||
|
||||
describe('startDate', function () {
|
||||
it('should change initial viewing date', function () {
|
||||
dp = $input.datepicker({
|
||||
startDate: new Date(2014,11,12)
|
||||
}).data('datepicker');
|
||||
|
||||
expect(dp.$nav.text()).to.have.string('Декабрь');
|
||||
expect(dp.$nav.text()).to.have.string('2014');
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('firstDay', function () {
|
||||
it('should change first day of week', function () {
|
||||
dp = $input.datepicker({
|
||||
firstDay: 2
|
||||
}).data('datepicker');
|
||||
|
||||
var firstCell = $('.datepicker--days-names .datepicker--day-name', dp.$datepicker).eq(0);
|
||||
|
||||
assert.equal(firstCell.text(),'Вт')
|
||||
})
|
||||
it('should change first day of week to `Воскресенье` if it `0`', function () {
|
||||
dp = $input.datepicker({
|
||||
firstDay: 0
|
||||
}).data('datepicker');
|
||||
|
||||
var firstCell = $('.datepicker--days-names .datepicker--day-name', dp.$datepicker).eq(0);
|
||||
|
||||
assert.equal(firstCell.text(),'Вс')
|
||||
})
|
||||
});
|
||||
|
||||
describe('weekends', function () {
|
||||
it('should change days, which should considered to be weekends', function () {
|
||||
dp = $input.datepicker({
|
||||
weekends: [0, 2],
|
||||
firstDay: 0
|
||||
}).data('datepicker');
|
||||
|
||||
var $cells = $('.datepicker--cell-day', dp.$datepicker);
|
||||
|
||||
expect($cells.eq(0).attr('class')).to.have.string('-weekend-')
|
||||
expect($cells.eq(2).attr('class')).to.have.string('-weekend-')
|
||||
})
|
||||
});
|
||||
|
||||
describe('dateFormat', function () {
|
||||
var date = new Date(2015, 6, 4, 11, 5),
|
||||
formats = {
|
||||
'@': date.getTime(),
|
||||
'aa': 'am',
|
||||
'AA': 'AM',
|
||||
'h': 11,
|
||||
'hh': 11,
|
||||
'i': 5,
|
||||
'ii': '05',
|
||||
'dd': '04',
|
||||
'd': 4,
|
||||
'DD': 'Суббота',
|
||||
'D': 'Суб',
|
||||
'mm': '07',
|
||||
'm': 7,
|
||||
'MM': 'Июль',
|
||||
'M': 'Июл',
|
||||
'yyyy' : 2015,
|
||||
'yy': 15,
|
||||
'yyyy1': 2010,
|
||||
'yyyy2': 2019
|
||||
};
|
||||
|
||||
for (var format in formats) {
|
||||
(function (format) {
|
||||
it(format, function () {
|
||||
dp = $input.datepicker({
|
||||
dateFormat: 'Selected date: ' + format
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
assert.equal(dp.$el.val(), 'Selected date: ' + formats[format]);
|
||||
})
|
||||
}(format))
|
||||
}
|
||||
|
||||
it('should work with special characters', function () {
|
||||
dp = $input.datepicker({
|
||||
language: 'de',
|
||||
dateFormat: 'Month is MM'
|
||||
}).data('datepicker');
|
||||
dp.selectDate(new Date(2016, 2, 1));
|
||||
expect(dp.$el.val()).to.be.equal('Month is März');
|
||||
})
|
||||
});
|
||||
|
||||
describe('altField', function () {
|
||||
it('should define `$altField` if selector or jQuery object is passed', function () {
|
||||
dp = $input.datepicker({
|
||||
altField: '.alt-field'
|
||||
}).data('datepicker');
|
||||
|
||||
assert(dp.$altField.length);
|
||||
})
|
||||
})
|
||||
|
||||
describe('altFieldFormat', function () {
|
||||
it('should define date format for alternative field', function () {
|
||||
var date = new Date(2015, 11, 17);
|
||||
|
||||
dp = $input.datepicker({
|
||||
altField: '.alt-field',
|
||||
altFieldDateFormat: 'dd-mm-yyyy'
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
|
||||
assert.equal(dp.$altField.val(), '17-12-2015');
|
||||
});
|
||||
|
||||
it('should support 24 hour mode, even if main date format is in 12', function () {
|
||||
var date = new Date(2015, 11, 17, 22, 47);
|
||||
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
timeFormat: 'hh:ii aa',
|
||||
altField: '.alt-field',
|
||||
altFieldDateFormat: 'dd-mm-yyyy hh:ii'
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
|
||||
assert.equal(dp.$altField.val(), '17-12-2015 22:47');
|
||||
});
|
||||
|
||||
it('should support 12 hour mode', function () {
|
||||
var date = new Date(2015, 11, 17, 22, 47);
|
||||
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
timeFormat: 'hh:ii',
|
||||
altField: '.alt-field',
|
||||
altFieldDateFormat: 'dd-mm-yyyy hh:ii aa'
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
|
||||
assert.equal(dp.$altField.val(), '17-12-2015 10:47 pm');
|
||||
})
|
||||
});
|
||||
|
||||
describe('toggleSelected', function () {
|
||||
it('when true, click on selected cells should remove selection', function () {
|
||||
var date = new Date(2015, 11, 17);
|
||||
|
||||
dp = $input.datepicker().data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
dp._getCell(date, 'day').click();
|
||||
|
||||
expect(dp.selectedDates).to.have.length(0)
|
||||
});
|
||||
|
||||
it('when false, click on selected cell must do nothing', function () {
|
||||
var date = new Date(2015, 11, 17);
|
||||
|
||||
dp = $input.datepicker({
|
||||
toggleSelected: false
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
dp._getCell(date, 'day').click();
|
||||
|
||||
expect(dp.selectedDates).to.have.length(1)
|
||||
})
|
||||
});
|
||||
|
||||
describe('keyboardNav', function () {
|
||||
var year = 2015,
|
||||
month = 10,
|
||||
day = 18,
|
||||
date = new Date(year, month, day),
|
||||
cases = [
|
||||
{
|
||||
it: '→: should focus next cell',
|
||||
keys: [39],
|
||||
validDate: new Date(year, month, day + 1)
|
||||
},
|
||||
{
|
||||
it: '←: should focus previous cell',
|
||||
keys: [37],
|
||||
validDate: new Date(year, month, day - 1)
|
||||
},
|
||||
{
|
||||
it: '↑: should focus +7 day cell',
|
||||
keys: [40],
|
||||
validDate: new Date(year, month, day + 7)
|
||||
},
|
||||
{
|
||||
it: '↓: should focus -7 day cell',
|
||||
keys: [38],
|
||||
validDate: new Date(year, month, day - 7)
|
||||
},
|
||||
{
|
||||
it: 'Ctrl + →: should focus next month',
|
||||
keys: [17, 39],
|
||||
validDate: new Date(year, month + 1, day)
|
||||
},
|
||||
{
|
||||
it: 'Ctrl + ←: should focus previous month',
|
||||
keys: [17, 37],
|
||||
validDate: new Date(year, month - 1, day)
|
||||
},
|
||||
{
|
||||
it: 'Shift + →: should focus next year',
|
||||
keys: [16, 39],
|
||||
validDate: new Date(year + 1, month, day)
|
||||
},
|
||||
{
|
||||
it: 'Shift + ←: should focus previous year',
|
||||
keys: [16, 37],
|
||||
validDate: new Date(year - 1, month, day)
|
||||
},
|
||||
{
|
||||
it: 'Alt + →: should focus on +10 year cell',
|
||||
keys: [18, 39],
|
||||
validDate: new Date(year + 10, month, day)
|
||||
},
|
||||
{
|
||||
it: 'Alt + ←: should focus on -10 year cell',
|
||||
keys: [18, 37],
|
||||
validDate: new Date(year - 10, month, day)
|
||||
},
|
||||
{
|
||||
it: 'Ctrl + Shift + ↑: should change view to months',
|
||||
keys: [16, 17, 38],
|
||||
view: 'months'
|
||||
}
|
||||
];
|
||||
|
||||
cases.forEach(function (currentCase) {
|
||||
var keys = currentCase.keys,
|
||||
valid = currentCase.validDate;
|
||||
|
||||
it(currentCase.it, function () {
|
||||
dp = $input.datepicker().data('datepicker');
|
||||
dp.selectDate(date);
|
||||
|
||||
keys.forEach(function (key) {
|
||||
$input.trigger($.Event('keydown', {which: key}));
|
||||
});
|
||||
|
||||
var focused = dp.focused;
|
||||
|
||||
|
||||
if (currentCase.validDate) {
|
||||
assert.equal(valid.getFullYear(), focused.getFullYear());
|
||||
assert.equal(valid.getMonth(), focused.getMonth());
|
||||
assert.equal(valid.getDate(), focused.getDate());
|
||||
}
|
||||
|
||||
if (currentCase.view) {
|
||||
assert.equal(currentCase.view, dp.view)
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
describe('position', function () {
|
||||
var iDims, dpDims,
|
||||
offset;
|
||||
|
||||
function prepare (position) {
|
||||
dp = $input.datepicker({position: position}).data('datepicker');
|
||||
$input.focus();
|
||||
|
||||
iDims = {
|
||||
width: $input.outerWidth(),
|
||||
height: $input.outerHeight(),
|
||||
left: $input.offset().left,
|
||||
top: $input.offset().top
|
||||
};
|
||||
|
||||
dpDims = {
|
||||
width: dp.$datepicker.outerWidth(),
|
||||
height: dp.$datepicker.outerHeight(),
|
||||
left: dp.$datepicker.offset().left,
|
||||
top: dp.$datepicker.offset().top
|
||||
};
|
||||
|
||||
offset = dp.opts.offset;
|
||||
}
|
||||
|
||||
it('should set `bottom left` position', function () {
|
||||
prepare('bottom left');
|
||||
|
||||
assert.equal(iDims.top + iDims.height + offset, dpDims.top);
|
||||
assert.equal(iDims.left, dpDims.left);
|
||||
});
|
||||
it('should set `top right` position', function () {
|
||||
prepare('top right');
|
||||
|
||||
assert.equal(iDims.top, dpDims.top + dpDims.height + offset);
|
||||
assert.equal(iDims.left + iDims.width, dpDims.left + dpDims.width);
|
||||
});
|
||||
it('should set `right bottom` position', function () {
|
||||
prepare('right bottom');
|
||||
|
||||
assert.equal(iDims.left + iDims.width + offset, dpDims.left);
|
||||
assert.equal(iDims.top + iDims.height, dpDims.top + dpDims.height);
|
||||
});
|
||||
it('should set `left center` position', function () {
|
||||
prepare('left center');
|
||||
|
||||
assert.equal(iDims.left - offset, dpDims.left + dpDims.width);
|
||||
assert.equal(iDims.top + iDims.height/2, dpDims.top + dpDims.height/2);
|
||||
});
|
||||
it('should set `bottom center` position', function () {
|
||||
prepare('bottom center');
|
||||
|
||||
assert.equal(iDims.top + iDims.height + offset, dpDims.top);
|
||||
assert.equal(iDims.left + iDims.width/2, dpDims.left + dpDims.width/2);
|
||||
})
|
||||
});
|
||||
|
||||
describe('offset', function () {
|
||||
var iDims, dpDims,
|
||||
offset;
|
||||
|
||||
var i = 0;
|
||||
while(i < 5) {
|
||||
offset = Math.round(Math.random() * 50);
|
||||
|
||||
(function (offset) {
|
||||
it('should set offset ' + offset + ' from main axis', function () {
|
||||
dp = $input.datepicker({
|
||||
offset: offset
|
||||
}).data('datepicker');
|
||||
$input.focus();
|
||||
|
||||
iDims = {
|
||||
width: $input.outerWidth(),
|
||||
height: $input.outerHeight(),
|
||||
left: $input.offset().left,
|
||||
top: $input.offset().top
|
||||
};
|
||||
|
||||
dpDims = {
|
||||
width: dp.$datepicker.outerWidth(),
|
||||
height: dp.$datepicker.outerHeight(),
|
||||
left: dp.$datepicker.offset().left,
|
||||
top: dp.$datepicker.offset().top
|
||||
};
|
||||
|
||||
assert.equal(iDims.top + iDims.height + offset, dpDims.top);
|
||||
});
|
||||
})(offset);
|
||||
|
||||
i++;
|
||||
}
|
||||
});
|
||||
|
||||
describe('view', function () {
|
||||
it('should set initial datepicker view to `months`', function () {
|
||||
dp = $input.datepicker({view: 'months'}).data('datepicker');
|
||||
assert.equal('months', dp.view)
|
||||
});
|
||||
it('should set initial datepicker view to `years`', function () {
|
||||
dp = $input.datepicker({view: 'years'}).data('datepicker');
|
||||
assert.equal('years', dp.view)
|
||||
})
|
||||
});
|
||||
|
||||
describe('minView', function () {
|
||||
it('should set minimum possible view', function () {
|
||||
dp = $input.datepicker({
|
||||
view: 'months',
|
||||
minView: 'months'
|
||||
}).data('datepicker');
|
||||
|
||||
$('.datepicker--cell-month', dp.$datepicker).eq(0).click();
|
||||
assert.equal('months', dp.view)
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('showOtherMonths', function () {
|
||||
var date = new Date(2015, 11, 22);
|
||||
|
||||
it('if `true` should show days from other months', function () {
|
||||
dp = $input.datepicker().data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day.-other-month-', dp.$datepicker).eq(0);
|
||||
|
||||
assert($cell.text(), 'must have text')
|
||||
});
|
||||
|
||||
it('if `false` should hide days from other months', function () {
|
||||
dp = $input.datepicker({showOtherMonths: false}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day.-other-month-', dp.$datepicker).eq(0);
|
||||
|
||||
expect($cell.text()).to.be.empty;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('selectOtherMonths', function () {
|
||||
var date = new Date(2015, 11, 22);
|
||||
|
||||
it('if `true` you can select cells from other months', function () {
|
||||
dp = $input.datepicker().data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day.-other-month-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
expect(dp.selectedDates).to.have.length(1)
|
||||
});
|
||||
|
||||
it('if `false` you can not select cells from other months ', function () {
|
||||
dp = $input.datepicker({selectOtherMonths: false}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day.-other-month-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
expect(dp.selectedDates).to.have.length(0)
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('moveToOtherMonthsOnSelect', function () {
|
||||
var date = new Date(2015, 11, 22);
|
||||
|
||||
it('if `true` datepicker will translate to other month if date from other month is selected', function () {
|
||||
dp = $input.datepicker().data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day.-other-month-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
|
||||
assert.equal(dp.date.getMonth(), 10)
|
||||
|
||||
});
|
||||
|
||||
it('if `false` datepicker will stay on same month when selecting dates from other month', function () {
|
||||
dp = $input.datepicker({moveToOtherMonthsOnSelect: false}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day.-other-month-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
|
||||
assert.equal(dp.date.getMonth(), 11)
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('showOtherYears', function () {
|
||||
var date = new Date(2015, 11, 22);
|
||||
it('if `true` should show years from other decades', function () {
|
||||
dp = $input.datepicker({
|
||||
view: 'years'
|
||||
}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-year.-other-decade-', dp.$datepicker).eq(0);
|
||||
|
||||
assert($cell.text(), 'must have text')
|
||||
});
|
||||
|
||||
it('if `false` should hide years from other decades', function () {
|
||||
destroy = false;
|
||||
dp = $input.datepicker({
|
||||
view: 'years',
|
||||
showOtherYears: false
|
||||
}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-year.-other-decade-', dp.$datepicker).eq(0);
|
||||
|
||||
expect($cell.text()).to.be.empty;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('selectOtherYears', function () {
|
||||
var date = new Date(2015, 11, 22);
|
||||
|
||||
it('if `true` you can select cells from other decades', function () {
|
||||
dp = $input.datepicker({
|
||||
view: 'years',
|
||||
minView: 'years',
|
||||
selectOtherYears: true
|
||||
}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-year.-other-decade-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
expect(dp.selectedDates).to.have.length(1)
|
||||
});
|
||||
|
||||
it('if `false` you can not select cells from other months ', function () {
|
||||
dp = $input.datepicker({
|
||||
view: 'years',
|
||||
minView: 'years',
|
||||
selectOtherYears: false
|
||||
}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-year.-other-decade-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
expect(dp.selectedDates).to.have.length(0)
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('moveToOtherYearsOnSelect', function () {
|
||||
var date = new Date(2015, 11, 22);
|
||||
|
||||
it('if `true` datepicker will translate to other decade if date from other decade is selected', function () {
|
||||
dp = $input.datepicker({
|
||||
view: 'years',
|
||||
minView: 'years',
|
||||
moveToOtherYearsOnSelect: true
|
||||
}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-year.-other-decade-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
|
||||
assert.equal(dp.date.getFullYear(), 2009)
|
||||
|
||||
});
|
||||
|
||||
it('if `false` datepicker will stay on same decade when selecting dates from other decade', function () {
|
||||
dp = $input.datepicker({
|
||||
view: 'years',
|
||||
minView: 'years',
|
||||
moveToOtherYearsOnSelect: false
|
||||
}).data('datepicker');
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-year.-other-decade-', dp.$datepicker).eq(0);
|
||||
$cell.click();
|
||||
|
||||
assert.equal(dp.date.getFullYear(), 2015)
|
||||
});
|
||||
});
|
||||
|
||||
describe('minDate', function () {
|
||||
it('should set minimum possible date to choose', function () {
|
||||
var date = new Date(2015, 11, 30);
|
||||
|
||||
dp = $input.datepicker({
|
||||
minDate: date
|
||||
}).data('datepicker');
|
||||
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day[data-year="2015"][data-month="11"][data-date="30"]', dp.$datepicker);
|
||||
|
||||
expect($cell.prev().attr('class')).to.have.string('-disabled-')
|
||||
})
|
||||
});
|
||||
|
||||
describe('maxDate', function () {
|
||||
it('should set maximum possible date to choose', function () {
|
||||
var date = new Date(2015, 11, 30);
|
||||
|
||||
dp = $input.datepicker({
|
||||
maxDate: date
|
||||
}).data('datepicker');
|
||||
|
||||
dp.date = date;
|
||||
|
||||
var $cell = $('.datepicker--cell-day[data-year="2015"][data-month="11"][data-date="30"]', dp.$datepicker);
|
||||
|
||||
expect($cell.next().attr('class')).to.have.string('-disabled-')
|
||||
})
|
||||
});
|
||||
|
||||
describe('disableNavWhenOutOfRange', function () {
|
||||
it('if `true` then navigation buttons will be disabled if there is no more possible dates to select to in next or prev month', function () {
|
||||
var date = new Date(2015, 11, 30);
|
||||
|
||||
dp = $input.datepicker({
|
||||
minDate: date,
|
||||
inline: true
|
||||
}).data('datepicker');
|
||||
|
||||
dp.date = date;
|
||||
|
||||
var $prev = $('.datepicker--nav-action[data-action="prev"]', dp.$datepicker);
|
||||
|
||||
expect($prev.attr('class')).to.have.string('-disabled-')
|
||||
})
|
||||
});
|
||||
|
||||
describe('multipleDates', function () {
|
||||
it('if `true` then one can select multiple dates', function () {
|
||||
dp = $input.datepicker({
|
||||
multipleDates: true
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(new Date(2016, 0, 7));
|
||||
dp.selectDate(new Date(2016, 0, 8));
|
||||
dp.selectDate(new Date(2016, 0, 9));
|
||||
|
||||
expect(dp.selectedDates).to.have.length(3)
|
||||
});
|
||||
|
||||
it('if `number` should limit length of selected dates by its value', function () {
|
||||
dp = $input.datepicker({
|
||||
multipleDates: 3
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(new Date(2016, 0, 7));
|
||||
dp.selectDate(new Date(2016, 0, 8));
|
||||
dp.selectDate(new Date(2016, 0, 9));
|
||||
dp.selectDate(new Date(2016, 0, 10));
|
||||
dp.selectDate(new Date(2016, 0, 11));
|
||||
|
||||
expect(dp.selectedDates).to.have.length(3)
|
||||
})
|
||||
});
|
||||
|
||||
describe('multipleDatesSeparator', function () {
|
||||
it('defines multiple dates separator sign', function () {
|
||||
dp = $input.datepicker({
|
||||
multipleDates: true,
|
||||
multipleDatesSeparator: ' separator '
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(new Date(2016, 0, 12));
|
||||
dp.selectDate(new Date(2016, 0, 13))
|
||||
|
||||
expect($input.val()).to.have.string(' separator ')
|
||||
})
|
||||
});
|
||||
|
||||
describe('todayButton', function () {
|
||||
it('should add "today" button if true', function () {
|
||||
|
||||
dp = $input.datepicker({
|
||||
todayButton: true
|
||||
}).data('datepicker');
|
||||
|
||||
var $button = $('.datepicker--button', dp.$datepicker);
|
||||
|
||||
expect($button.length).to.be.equal(1);
|
||||
expect($button.data('action')).to.be.equal('today');
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('clearButton', function () {
|
||||
it('should add "clear" button if true', function () {
|
||||
|
||||
dp = $input.datepicker({
|
||||
clearButton: true
|
||||
}).data('datepicker');
|
||||
|
||||
var $button = $('.datepicker--button', dp.$datepicker);
|
||||
|
||||
expect($button.length).to.be.equal(1);
|
||||
expect($button.data('action')).to.be.equal('clear');
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('showEvent', function () {
|
||||
it('should define event type on which datepicker will be shown', function () {
|
||||
dp = $input.datepicker({
|
||||
showEvent: 'click'
|
||||
}).data('datepicker');
|
||||
|
||||
$input.click();
|
||||
|
||||
expect(dp.visible).to.be.equal(true)
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
describe('autoClose', function () {
|
||||
it('if true, when datepicker will close after date was selected', function () {
|
||||
dp = $input.datepicker({
|
||||
autoClose: true
|
||||
}).data('datepicker');
|
||||
|
||||
dp.show();
|
||||
dp.selectDate(new Date());
|
||||
|
||||
expect(dp.visible).to.be.equal(false)
|
||||
|
||||
});
|
||||
|
||||
it('if false, when datepicker will not close after date was selected', function () {
|
||||
dp = $input.datepicker({
|
||||
autoClose: false
|
||||
}).data('datepicker');
|
||||
|
||||
dp.show();
|
||||
dp.selectDate(new Date());
|
||||
|
||||
expect(dp.visible).to.be.equal(true)
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('monthsField', function () {
|
||||
it('defines which field from localization must be used as source for months name in "months view"', function () {
|
||||
dp = $input.datepicker({
|
||||
monthsField: 'months',
|
||||
view: 'months'
|
||||
}).data('datepicker');
|
||||
|
||||
var $cell = $('.datepicker--cell-month').eq(0);
|
||||
|
||||
expect($cell.text()).to.be.equal('Январь');
|
||||
});
|
||||
});
|
||||
|
||||
describe('prevHtml', function () {
|
||||
it('defines html which should be used in "previous" button', function () {
|
||||
dp = $input.datepicker({
|
||||
prevHtml: 'previous'
|
||||
}).data('datepicker');
|
||||
|
||||
var $prev = $('[data-action="prev"]', dp.$datepicker);
|
||||
|
||||
expect($prev.html()).to.be.equal('previous');
|
||||
});
|
||||
});
|
||||
|
||||
describe('nextHtml', function () {
|
||||
it('defines html which should be used in "next" button', function () {
|
||||
dp = $input.datepicker({
|
||||
nextHtml: 'next'
|
||||
}).data('datepicker');
|
||||
|
||||
var $next = $('[data-action="next"]', dp.$datepicker);
|
||||
|
||||
expect($next.html()).to.be.equal('next');
|
||||
});
|
||||
});
|
||||
|
||||
describe('navTitles', function () {
|
||||
it('defines datepicker titles', function () {
|
||||
dp = $input.datepicker({
|
||||
navTitles: {
|
||||
days: 'Days',
|
||||
months: 'Months',
|
||||
years: 'Years'
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
var $title = $('.datepicker--nav-title', dp.$datepicker);
|
||||
expect($title.html()).to.have.string('Days');
|
||||
|
||||
dp.view = 'months';
|
||||
$title = $('.datepicker--nav-title', dp.$datepicker);
|
||||
expect($title.html()).to.have.string('Months');
|
||||
|
||||
dp.view = 'years';
|
||||
$title = $('.datepicker--nav-title', dp.$datepicker);
|
||||
expect($title.html()).to.have.string('Years');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
describe('timepicker', function () {
|
||||
it('should add timepicker to calendar', function () {
|
||||
dp = $input.datepicker({
|
||||
timepicker: true
|
||||
}).data('datepicker');
|
||||
|
||||
var $time = $('.datepicker--time', dp.$datepicker);
|
||||
expect($time).to.have.length(1)
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('onlyTimepicker', function () {
|
||||
it('only timepicker should be visible', function () {
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
onlyTimepicker: true
|
||||
}).data('datepicker');
|
||||
|
||||
var $time = $('.datepicker--time', dp.$datepicker),
|
||||
$cells = $('.datepicker--cells', dp.$datepicker),
|
||||
$nav = $('.datepicker--nav-title', dp.$datepicker),
|
||||
_class = dp.$datepicker.hasClass('-only-timepicker-');
|
||||
|
||||
expect($time).to.have.length(1);
|
||||
expect($cells).to.have.length(0);
|
||||
expect($nav).to.have.length(0);
|
||||
expect(_class).to.be.equal(true);
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('dateTimeSeparator', function () {
|
||||
it('should define separator between date string and time', function () {
|
||||
var date = new Date(2016,2,9,11,24);
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
onSelect: function (fd, d) {
|
||||
expect(fd).to.be.equal('09.03.2016 time separator 11:24')
|
||||
},
|
||||
dateTimeSeparator: ' time separator '
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
describe('timeFormat', function () {
|
||||
it('should define time format', function () {
|
||||
var date = new Date(2016,2,9,9,4);
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
timeFormat: 'h - ii',
|
||||
onSelect: function (fd, d) {
|
||||
expect(fd).to.be.equal('09.03.2016 9 - 04')
|
||||
}
|
||||
}).data('datepicker');
|
||||
|
||||
dp.selectDate(date);
|
||||
})
|
||||
});
|
||||
|
||||
describe('minHours', function () {
|
||||
it('should set minimum hours value', function () {
|
||||
var date = new Date();
|
||||
date.setHours(9);
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
minHours: 10,
|
||||
onSelect: function (fd, d) {
|
||||
var hours = d.getHours();
|
||||
expect(hours).to.be.equal(10)
|
||||
}
|
||||
}).data('datepicker');
|
||||
dp.selectDate(date);
|
||||
})
|
||||
});
|
||||
|
||||
describe('minMinutes', function () {
|
||||
it('should set minimum minutes value', function () {
|
||||
var date = new Date();
|
||||
date.setMinutes(20);
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
minMinutes: 30,
|
||||
onSelect: function (fd, d) {
|
||||
var minutes = d.getMinutes();
|
||||
expect(minutes).to.be.equal(30)
|
||||
}
|
||||
}).data('datepicker');
|
||||
dp.selectDate(date);
|
||||
})
|
||||
});
|
||||
|
||||
describe('maxHours', function () {
|
||||
it('should set maximum hours value', function () {
|
||||
var date = new Date();
|
||||
date.setHours(20);
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
maxHours: 18,
|
||||
onSelect: function (fd, d) {
|
||||
var hours = d.getHours();
|
||||
expect(hours).to.be.equal(18)
|
||||
}
|
||||
}).data('datepicker');
|
||||
dp.selectDate(date);
|
||||
})
|
||||
});
|
||||
|
||||
describe('maxMinutes', function () {
|
||||
it('should set maximum minutes value', function () {
|
||||
var date = new Date();
|
||||
date.setMinutes(50);
|
||||
dp = $input.datepicker({
|
||||
timepicker: true,
|
||||
maxMinutes: 30,
|
||||
onSelect: function (fd, d) {
|
||||
var minutes = d.getMinutes();
|
||||
expect(minutes).to.be.equal(30)
|
||||
}
|
||||
}).data('datepicker');
|
||||
dp.selectDate(date);
|
||||
})
|
||||
})
|
||||
});
|
131
weboasis/stocks/assets/vendor/air-datepicker-master/tests/specs/static-methods.js
vendored
Normal file
@ -0,0 +1,131 @@
|
||||
var assert = chai.assert,
|
||||
expect = chai.expect,
|
||||
plugin = $.fn.datepicker.Constructor;
|
||||
|
||||
describe('Datepicker', function () {
|
||||
describe('getDaysCount', function () {
|
||||
it('should return 31 days in December', function () {
|
||||
assert.equal(plugin.getDaysCount(new Date(2015, 11)), 31)
|
||||
});
|
||||
it('should return 30 days in September', function () {
|
||||
assert.equal(plugin.getDaysCount(new Date(2015, 8)), 30)
|
||||
});
|
||||
it('should return 28 days in February', function () {
|
||||
assert.equal(plugin.getDaysCount(new Date(2015, 1)), 28)
|
||||
})
|
||||
});
|
||||
|
||||
describe('getParsedDate', function () {
|
||||
var currentDate = new Date(),
|
||||
date = plugin.getParsedDate(currentDate);
|
||||
|
||||
it('should return object with detailed date fields', function () {
|
||||
expect(date).to.have.all.keys(['year','month','fullMonth','date', 'fullDate', 'day','hours', 'fullHours', 'minutes', 'fullMinutes']);
|
||||
});
|
||||
|
||||
describe('.year', function () {
|
||||
it('`year` must be equal to current year', function () {
|
||||
assert.equal(currentDate.getFullYear(), date.year);
|
||||
})
|
||||
});
|
||||
describe('.month', function () {
|
||||
it('`month` must be equal to current month', function () {
|
||||
assert.equal(currentDate.getMonth(), date.month);
|
||||
})
|
||||
});
|
||||
describe('.fullMonth', function () {
|
||||
it('`fullMonth` must be equal to current month + 1 with leading zero', function () {
|
||||
assert.equal(currentDate.getMonth() < 10 ? '0' + (currentDate.getMonth() + 1) : currentDate.getMonth() + 1 , date.fullMonth);
|
||||
})
|
||||
});
|
||||
describe('.date', function () {
|
||||
it('`date` must be equal to current date', function () {
|
||||
assert.equal(currentDate.getDate() , date.date);
|
||||
})
|
||||
});
|
||||
describe('.fullDate', function () {
|
||||
it('`fullDate` must be equal to current date with leading zero', function () {
|
||||
assert.equal(currentDate.getDate() < 10 ? '0' + currentDate.getDate() : currentDate.getDate() , date.fullDate);
|
||||
})
|
||||
});
|
||||
describe('.day', function () {
|
||||
it('`day` must be equal to current day', function () {
|
||||
assert.equal(currentDate.getDay(), date.day);
|
||||
})
|
||||
});
|
||||
describe('.hours', function () {
|
||||
it('`hours` must be equal to current hours', function () {
|
||||
assert.equal(currentDate.getHours(), date.hours);
|
||||
})
|
||||
});
|
||||
describe('.fullHours', function () {
|
||||
it('`fullHours` must be equal to current hours with leading zero', function () {
|
||||
assert.equal(currentDate.getHours() < 10 ? '0' + currentDate.getHours() : currentDate.getHours(), date.hours);
|
||||
})
|
||||
});
|
||||
describe('.minutes', function () {
|
||||
it('`minutes` must be equal to current minutes', function () {
|
||||
assert.equal(currentDate.getMinutes(), date.minutes);
|
||||
})
|
||||
});
|
||||
describe('.fullMinutes', function () {
|
||||
it('`fullMinutes` must be equal to current hours with leading zero', function () {
|
||||
assert.equal(currentDate.getMinutes() < 10 ? '0' + currentDate.getMinutes() : currentDate.getMinutes(), date.fullMinutes);
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
describe('getDecade', function () {
|
||||
it('should return array with first and last years in decade', function () {
|
||||
var decade = plugin.getDecade(new Date(2015, 1));
|
||||
|
||||
expect(decade).to.be.an('array');
|
||||
assert.equal(decade[0], 2010)
|
||||
assert.equal(decade[1], 2019)
|
||||
})
|
||||
})
|
||||
|
||||
describe('template', function () {
|
||||
it('should return string with replaced #{} signs', function () {
|
||||
var template = 'Hello #{who}';
|
||||
assert.equal(plugin.template(template, {who:'World!'}), 'Hello World!')
|
||||
})
|
||||
})
|
||||
|
||||
describe('isSame', function () {
|
||||
var date1 = new Date(2015, 11, 14),
|
||||
date2 = new Date(2015, 11, 14),
|
||||
date3 = new Date(2015, 10, 14),
|
||||
date4 = new Date(2016, 11, 14);
|
||||
|
||||
it('should return true if dates are equal', function () {
|
||||
assert(plugin.isSame(date1,date2))
|
||||
})
|
||||
it('should return false when checking dates with different months', function () {
|
||||
assert.isFalse(plugin.isSame(date1,date3))
|
||||
})
|
||||
it('should return false when checking dates with different years', function () {
|
||||
assert.isFalse(plugin.isSame(date1,date4))
|
||||
})
|
||||
it('should return true when comparing months', function () {
|
||||
assert(plugin.isSame(date1, date2,'month'))
|
||||
})
|
||||
it('should return false when comparing months from different years', function () {
|
||||
assert.isFalse(plugin.isSame(date1, date4, 'month'))
|
||||
})
|
||||
it('should return true when comparing years', function () {
|
||||
assert(plugin.isSame(date1, date2, 'year'))
|
||||
})
|
||||
})
|
||||
|
||||
describe('less(date1, date2)', function () {
|
||||
it('should return true if date2 less then date1', function () {
|
||||
assert(plugin.less(new Date(2015, 11, 14), new Date(2015, 11, 13)))
|
||||
})
|
||||
})
|
||||
describe('bigger(date1, date2)', function () {
|
||||
it('should return true if date2 bigger then date1', function () {
|
||||
assert(plugin.bigger(new Date(2015, 11, 14), new Date(2015, 11, 15)))
|
||||
})
|
||||
})
|
||||
});
|
112
weboasis/stocks/assets/vendor/air-datepicker-master/visual-tests.html
vendored
Normal file
@ -0,0 +1,112 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Air datepicker visual tests</title>
|
||||
<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="dist/js/datepicker.js"></script>
|
||||
<link rel="stylesheet" href="dist/css/datepicker.css"/>
|
||||
<link rel="stylesheet" href="docs/css/style.css"/>
|
||||
<script type="text/javascript">
|
||||
var log;
|
||||
function logger (el) {
|
||||
var $el = $(el);
|
||||
|
||||
return function(text) {
|
||||
var count = $('p', $el).length;
|
||||
$el.append('<p><span>' + count++ + '.</span> ' + text + '</p>').scrollTop(100000)
|
||||
}
|
||||
}
|
||||
|
||||
$(function () {
|
||||
log = logger('#v-log');
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="v-log" id="v-log"></div>
|
||||
<div class="visual-tests">
|
||||
<article>
|
||||
<h1>Basic</h1>
|
||||
<div class="row">
|
||||
<div class="vt-tile">
|
||||
<h2>Default</h2>
|
||||
<div class="datepicker-here"></div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h1>Range</h1>
|
||||
<div class="row">
|
||||
<div class="vt-tile">
|
||||
<h2>{range: true}</h2>
|
||||
<div class="datepicker-here" data-range="true"></div>
|
||||
</div>
|
||||
<div class="vt-tile">
|
||||
<h2>{range: true, onSelect: ...}</h2>
|
||||
<div class="datepicker-here" id="dp-3" data-range="true"></div>
|
||||
<script type="text/javascript">
|
||||
$('#dp-3').datepicker({
|
||||
onSelect: function (fd) {
|
||||
log(fd)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
<div class="vt-tile">
|
||||
<h2>{range: true, onSelect: ...}</h2>
|
||||
<input class="datepicker-here" id="dp-4" data-range="true"/>
|
||||
<script type="text/javascript">
|
||||
$('#dp-4').datepicker({
|
||||
onSelect: function (fd) {
|
||||
log(fd)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h1>Timepicker</h1>
|
||||
<div class="row">
|
||||
<div class="vt-tile">
|
||||
<h2>{timepicker: true}</h2>
|
||||
<div class="datepicker-here" data-timepicker="true"></div>
|
||||
</div>
|
||||
<div class="vt-tile">
|
||||
<h2>{onChange: ..., toggleSelected: false, range: true}</h2>
|
||||
<input id="dp-5" class="datepicker-here" data-timepicker="true" />
|
||||
<script type="text/javascript">
|
||||
$('#dp-5').datepicker({
|
||||
toggleSelected: false,
|
||||
inline: true,
|
||||
range: true,
|
||||
onSelect: function (fd) {
|
||||
log(fd)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
<div class="vt-tile">
|
||||
<h2>{timepicker: true}</h2>
|
||||
<input class="datepicker-here" data-timepicker="true" />
|
||||
</div>
|
||||
<div class="vt-tile">
|
||||
<h2>{timepicker: true, minDate: new Date()}</h2>
|
||||
<input class="datepicker-here" id="dp-6"/>
|
||||
<script type="text/javascript">
|
||||
$('#dp-6').datepicker({
|
||||
minDate: new Date(),
|
||||
inline: true,
|
||||
timepicker: true
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|