Merge lp:~openerp-dev/openerp-web/trunk-ui-to-bootstrap-datetimepicker into lp:openerp-web
- trunk-ui-to-bootstrap-datetimepicker
- Merge into trunk
Status: | Work in progress |
---|---|
Proposed branch: | lp:~openerp-dev/openerp-web/trunk-ui-to-bootstrap-datetimepicker |
Merge into: | lp:openerp-web |
Diff against target: |
8402 lines (+6520/-1419) 74 files modified
addons/web/__openerp__.py (+4/-2) addons/web/static/lib/bootstrap-datetimepicker/README.md (+127/-0) addons/web/static/lib/bootstrap-datetimepicker/moment/moment.js (+6/-0) addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.css (+184/-0) addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.min.css (+8/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js (+1111/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.min.js (+28/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar-ma.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bg.js (+86/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.br.js (+107/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bs.js (+139/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ca.js (+66/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cs.js (+155/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cv.js (+59/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.da.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.de.js (+71/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.el.js (+79/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-au.js (+62/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-ca.js (+59/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-gb.js (+63/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eo.js (+65/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.es.js (+66/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.et.js (+60/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eu.js (+60/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fa.js (+97/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fi.js (+103/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr-ca.js (+54/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr.js (+58/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.gl.js (+71/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.he.js (+77/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hi.js (+105/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hr.js (+140/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hu.js (+98/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.id.js (+67/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.is.js (+124/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.it.js (+59/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ja.js (+58/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ka.js (+108/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ko.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lt.js (+118/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lv.js (+77/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ml.js (+64/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.mr.js (+104/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ms-my.js (+66/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nb.js (+57/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ne.js (+105/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nl.js (+67/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nn.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.pl.js (+98/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.pt-BR.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.pt.js (+60/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ro.js (+56/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ru.js (+163/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sk.js (+156/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sl.js (+144/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sq.js (+57/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sv.js (+63/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.th.js (+58/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.tr.js (+93/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.tzm-la.js (+55/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.tzm.js (+55/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.uk.js (+157/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.uz.js (+55/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.vn.js (+62/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.zh-CN.js (+108/-0) addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.zh-TW.js (+84/-0) addons/web/static/lib/jquery.ui.timepicker/css/jquery-ui-timepicker-addon.css (+0/-6) addons/web/static/lib/jquery.ui.timepicker/js/jquery-ui-timepicker-addon.js (+0/-1326) addons/web/static/src/css/base.css (+19/-1) addons/web/static/src/css/base.sass (+13/-0) addons/web/static/src/js/formats.js (+49/-0) addons/web/static/src/js/view_form.js (+29/-76) addons/web/static/src/xml/base.xml (+8/-8) |
To merge this branch: | bzr merge lp:~openerp-dev/openerp-web/trunk-ui-to-bootstrap-datetimepicker |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenERP R&D Web Team | Pending | ||
Review via email: mp+206502@code.launchpad.net |
Commit message
Description of the change
Unmerged revisions
- 3922. By Paramjit Singh Sahota(OpenERP)
-
[MERGE] Merged lp:openerp-web
- 3921. By Paramjit Singh Sahota(OpenERP)
-
For right now fixed the issue by hacking the lib.
- 3920. By Paramjit Singh Sahota(OpenERP)
-
Uncommit the last change of revno 3919 which breaks the datetimepicker functionality
- 3919. By Paramjit Singh Sahota(OpenERP)
-
[FIX] Right now fixed the issue from library but will be do it properly soon when the datejs lib will completely be removed.
- 3918. By Paramjit Singh Sahota(OpenERP)
-
[MERGE] Merged lp:openerp-web.
- 3917. By Paramjit Singh Sahota(OpenERP)
-
[FIX] After changing the date time format in languages its not loading the new translation untill the server restarts.
- 3916. By Paramjit Singh Sahota(OpenERP)
-
[IMP] Added code for converting python.strftime format into moment.js format.
- 3915. By Paramjit Singh Sahota(OpenERP)
-
[LIB] Updated the lib with one feature of displaying calendarWeeks and proposal of this feature to add in the library is sent.
- 3914. By Paramjit Singh Sahota(OpenERP)
-
[MERGE] Merged lp:openerp-web
- 3913. By Paramjit Singh Sahota(OpenERP)
-
[IMP] Improved code according to the new improvements in the library.
The seconds are now visible.
Preview Diff
1 | === modified file 'addons/web/__openerp__.py' |
2 | --- addons/web/__openerp__.py 2014-01-23 15:19:34 +0000 |
3 | +++ addons/web/__openerp__.py 2014-02-14 15:04:13 +0000 |
4 | @@ -32,7 +32,6 @@ |
5 | "static/lib/jquery.hotkeys/jquery.hotkeys.js", |
6 | "static/lib/jquery.placeholder/jquery.placeholder.js", |
7 | "static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js", |
8 | - "static/lib/jquery.ui.timepicker/js/jquery-ui-timepicker-addon.js", |
9 | "static/lib/jquery.ui.notify/js/jquery.notify.js", |
10 | "static/lib/jquery.deferred-queue/jquery.deferred-queue.js", |
11 | "static/lib/jquery.scrollTo/jquery.scrollTo-min.js", |
12 | @@ -40,6 +39,9 @@ |
13 | "static/lib/jquery.textext/jquery.textext.js", |
14 | "static/lib/jquery.timeago/jquery.timeago.js", |
15 | "static/lib/bootstrap/js/bootstrap.js", |
16 | + "static/lib/bootstrap-datetimepicker/moment/moment.js", |
17 | + "static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js", |
18 | + "static/lib/bootstrap-datetimepicker/src/js/locales/*.js", |
19 | "static/lib/qweb/qweb2.js", |
20 | "static/lib/underscore/underscore.js", |
21 | "static/lib/underscore.string/lib/underscore.string.js", |
22 | @@ -65,7 +67,7 @@ |
23 | ], |
24 | 'css' : [ |
25 | "static/lib/jquery.ui.bootstrap/css/custom-theme/jquery-ui-1.9.0.custom.css", |
26 | - "static/lib/jquery.ui.timepicker/css/jquery-ui-timepicker-addon.css", |
27 | + "static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.css", |
28 | "static/lib/jquery.ui.notify/css/ui.notify.css", |
29 | "static/lib/jquery.tipsy/tipsy.css", |
30 | "static/lib/jquery.textext/jquery.textext.css", |
31 | |
32 | === added directory 'addons/web/static/lib/bootstrap-datetimepicker' |
33 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/README.md' |
34 | --- addons/web/static/lib/bootstrap-datetimepicker/README.md 1970-01-01 00:00:00 +0000 |
35 | +++ addons/web/static/lib/bootstrap-datetimepicker/README.md 2014-02-14 15:04:13 +0000 |
36 | @@ -0,0 +1,127 @@ |
37 | +# Bootstrap v3 datetimepicker widget |
38 | + |
39 | +![DateTimePicker](http://i.imgur.com/nfnvh5g.png) |
40 | + |
41 | +### [⇢ View the manual and demos](http://eonasdan.github.io/bootstrap-datetimepicker/) |
42 | + |
43 | +##Where do you use this? |
44 | +I'd love to know if your public site is using this plugin and list your logo on the documentation site. Please email me `eonasdan at outlook dot com` |
45 | + |
46 | +## Quick installation using |
47 | + |
48 | +## [bower](http://bower.io): |
49 | + |
50 | +Run the following command: |
51 | +```` |
52 | +bower install eonasdan-bootstrap-datetimepicker#latest --save |
53 | +```` |
54 | +## [Nuget](https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker/): |
55 | +```` |
56 | +PM> Install-Package Bootstrap.v3.Datetimepicker |
57 | +```` |
58 | + |
59 | +## See the [Change Log](#change-log) for important changes and updates |
60 | + |
61 | +Include necessary scripts and styles: |
62 | +````html |
63 | +<head> |
64 | + <!-- ... --> |
65 | + <script type="text/javascript" src="/bower_components/jquery/jquery.min.js"></script> |
66 | + <script type="text/javascript" src="/bower_components/moment/min/moment.min.js"></script> |
67 | + <script type="text/javascript" src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script> |
68 | + <script type="text/javascript" src="/bower_components/eonasdan-bootstrap-datetimepicker/build/bootstrap-datetimepicker.min.js"></script> |
69 | + <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/boostrap.min.css" /> |
70 | + <link rel="stylesheet" href="/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" /> |
71 | +</head> |
72 | +```` |
73 | + |
74 | +Done! [Now take a look at the manual](http://eonasdan.github.io/bootstrap-datetimepicker/) for examples and available options. |
75 | + |
76 | + |
77 | + |
78 | +## Manual installation |
79 | + |
80 | +### [Moment.js](https://github.com/moment/moment) |
81 | +Datetimepicker requires moment.js. This allows for better support for various date formats and locales. See [documentation](http://eonasdan.github.io/bootstrap-datetimepicker/) for examples. Check [Momentjs' homepage](http://momentjs.com/) for documentation on date formats. If you can't use moment.js there's still older version of datetimewidget [available here](https://github.com/Eonasdan/bootstrap-datetimepicker/tree/version1). |
82 | + |
83 | +````html |
84 | +<script type="text/javascript" src="/path/to/moment.js"></script> |
85 | +```` |
86 | + |
87 | +### Bootstrap 3 collapse and transition plugins |
88 | +Make sure to include *.JS files for plugins [collapse](http://getbootstrap.com/javascript/#collapse) and [transitions](http://getbootstrap.com/javascript/#transitions). They are included with [bootstrap in js/ directory](https://github.com/twbs/bootstrap/tree/master/js) |
89 | + |
90 | +````html |
91 | +<script type="text/javascript" src="/path/to/bootstrap/js/transition.js"></script> |
92 | +<script type="text/javascript" src="/path/to/bootstrap/js/collapse.js"></script> |
93 | +```` |
94 | + |
95 | +Alternatively you could include the whole bundle of bootstrap plugins from [bootstrap.js](https://github.com/twbs/bootstrap/tree/master/dist/js) |
96 | + |
97 | +````html |
98 | +<script type="text/javascript" src="/path/to/bootstrap/dist/bootstrap.min.js"></script> |
99 | +```` |
100 | + |
101 | + |
102 | +### CSS styles |
103 | + |
104 | +#### Using LESS |
105 | +````css |
106 | +@import "/path/to/bootstrap/less/variables"; |
107 | +@import "/path/to/bootstrap-datetimepicker/src/less/bootstrap-datetimepicker"; |
108 | + |
109 | +// [...] your custom styles and variables |
110 | +```` |
111 | + |
112 | +#### Using CSS (default color palette) |
113 | +````html |
114 | +<link rel="stylesheet" href="/path/to/bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" /> |
115 | +```` |
116 | + |
117 | +### Main JS file |
118 | + |
119 | +Finally include the main javascript file. |
120 | +````html |
121 | +<script type="text/javascript" src="/path/to/bootstrap-datetimepicker.min.js"></script> |
122 | +```` |
123 | + |
124 | +# Change Log |
125 | + |
126 | +## New features (2.1.20)! |
127 | +* Fix for #83: Changes to the picker should fire native `change` event for knockout and the like as well as `change.dp` which contains the old date and the new date |
128 | +* Fix for #78: Script has been update for breaking changes in Moment 2.4.0 |
129 | +* Fix for #73: IE8 should be working now |
130 | + |
131 | +* Enhancement for #79: `minuteStepping` option takes a number (default is 1). Changing the minutes in the time picker will step by this number. |
132 | +* Enhancement for #74 and #65: `useMinutes` and `useSeconds` are now options. Disabling seconds will hide the seconds spinner. Disabling minutes will display `00` and hide the arrows |
133 | +* Enhancement for #67: Picker will now attempt to convert all `data-OPTION` into its appropriate option |
134 | + |
135 | +## New features (2.1.11)! |
136 | +* Fix for #51, #60 |
137 | +* Fix for #52: Picker has its own `moment` object since moment 2.4.0 has removed global reference |
138 | +* Fix for #57: New option for `useStrict`. When validating dates in `update` and `change`, the picker can use a stricter formatting validation |
139 | +* Fix for #61: Picker should now properly take formatted date. Should also have correct start of the week for locales. |
140 | +* Fix for #62: Default format will properly validate time picker only. |
141 | + |
142 | +## New features (2.1.5)! |
143 | +* Custom icons, such as Font Awesome, are now supported. (#49) See [Example#9](http://eonasdan.github.io/bootstrap-datetimepicker/#example9) |
144 | +* If more then one `input-group-addon` is present use `datepickerbutton` to identify where the picker should popup from. (#48) |
145 | +* New Event: `error.dp`. Fires when Moment cannot parse the date or when the timepicker cannot change because of a `disabledDates` setting. Returns a Moment date object. The specific error can be found be using `invalidAt()`. For more information see [Moment's docs](http://momentjs.com/docs/#/parsing/is-valid/) |
146 | +* Fix for #42, plugin will now check for `A` or `a` in the format string to determine if the AM/PM selector should display. |
147 | +* Fix for #45, fixed null/empty and invalid dates |
148 | +* Fix for #46, fixed active date highlighting |
149 | +* Fix for #47, `change.dp` event to also include the previous date. |
150 | + |
151 | +####New features (2.0.1)! |
152 | +* New event `error.dp` fires when plugin cannot parse date or when increase/descreasing hours/minutes to a disabled date. See [Example#7](http://eonasdan.github.io/bootstrap-datetimepicker/#example7) |
153 | +* Minor fixes |
154 | + |
155 | +####New features (2.0.0)! |
156 | +* `disabledDates` is now an option to set the disabled dates. It accepts date objects like `new Date("November 12, 2013 00:00:00")` and `12/25/2013' and `moment` date objects. See [Example#7](http://eonasdan.github.io/bootstrap-datetimepicker/#example7) for usage. |
157 | +* Events are easier to use; see [Example#8](http://eonasdan.github.io/bootstrap-datetimepicker/#example8) |
158 | + |
159 | +###Removed features |
160 | +* pickSeconds |
161 | +* pick12HourFormat |
162 | +* maskInput |
163 | + |
164 | |
165 | === added directory 'addons/web/static/lib/bootstrap-datetimepicker/moment' |
166 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/moment/moment.js' |
167 | --- addons/web/static/lib/bootstrap-datetimepicker/moment/moment.js 1970-01-01 00:00:00 +0000 |
168 | +++ addons/web/static/lib/bootstrap-datetimepicker/moment/moment.js 2014-02-14 15:04:13 +0000 |
169 | @@ -0,0 +1,6 @@ |
170 | +//! moment.js |
171 | +//! version : 2.5.0 |
172 | +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors |
173 | +//! license : MIT |
174 | +//! momentjs.com |
175 | +(function(a){function b(a,b){return function(c){return i(a.call(this,c),b)}}function c(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function d(){}function e(a){u(a),g(this,a)}function f(a){var b=o(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function g(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function h(a){return 0>a?Math.ceil(a):Math.floor(a)}function i(a,b,c){for(var d=Math.abs(a)+"",e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function j(a,b,c,d){var e,f,g=b._milliseconds,h=b._days,i=b._months;g&&a._d.setTime(+a._d+g*c),(h||i)&&(e=a.minute(),f=a.hour()),h&&a.date(a.date()+h*c),i&&a.month(a.month()+i*c),g&&!d&&cb.updateOffset(a),(h||i)&&(a.minute(e),a.hour(f))}function k(a){return"[object Array]"===Object.prototype.toString.call(a)}function l(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function m(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function n(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Qb[a]||Rb[b]||b}return a}function o(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=n(c),b&&(d[b]=a[c]));return d}function p(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}cb[b]=function(e,f){var g,h,i=cb.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=cb().utc().set(d,a);return i.call(cb.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function r(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function s(a){return t(a)?366:365}function t(a){return a%4===0&&a%100!==0||a%400===0}function u(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[ib]<0||a._a[ib]>11?ib:a._a[jb]<1||a._a[jb]>r(a._a[hb],a._a[ib])?jb:a._a[kb]<0||a._a[kb]>23?kb:a._a[lb]<0||a._a[lb]>59?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>999?nb:-1,a._pf._overflowDayOfYear&&(hb>b||b>jb)&&(b=jb),a._pf.overflow=b)}function v(a){a._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function w(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function x(a){return a?a.toLowerCase().replace("_","-"):a}function y(a,b){return b._isUTC?cb(a).zone(b._offset||0):cb(a).local()}function z(a,b){return b.abbr=a,ob[a]||(ob[a]=new d),ob[a].set(b),ob[a]}function A(a){delete ob[a]}function B(a){var b,c,d,e,f=0,g=function(a){if(!ob[a]&&pb)try{require("./lang/"+a)}catch(b){}return ob[a]};if(!a)return cb.fn._lang;if(!k(a)){if(c=g(a))return c;a=[a]}for(;f<a.length;){for(e=x(a[f]).split("-"),b=e.length,d=x(a[f+1]),d=d?d.split("-"):null;b>0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&m(e,d,!0)>=b-1)break;b--}f++}return cb.fn._lang}function C(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function D(a){var b,c,d=a.match(tb);for(b=0,c=d.length;c>b;b++)d[b]=Vb[d[b]]?Vb[d[b]]:C(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function E(a,b){return a.isValid()?(b=F(b,a.lang()),Sb[b]||(Sb[b]=D(b)),Sb[b](a)):a.lang().invalidDate()}function F(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(ub.lastIndex=0;d>=0&&ub.test(a);)a=a.replace(ub,c),ub.lastIndex=0,d-=1;return a}function G(a,b){var c,d=b._strict;switch(a){case"DDDD":return Gb;case"YYYY":case"GGGG":case"gggg":return d?Hb:xb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Ib:yb;case"S":if(d)return Eb;case"SS":if(d)return Fb;case"SSS":case"DDD":return d?Gb:wb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ab;case"a":case"A":return B(b._l)._meridiemParse;case"X":return Db;case"Z":case"ZZ":return Bb;case"T":return Cb;case"SSSS":return zb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Fb:vb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return d?Eb:vb;default:return c=new RegExp(O(N(a.replace("\\","")),"i"))}}function H(a){a=a||"";var b=a.match(Bb)||[],c=b[b.length-1]||[],d=(c+"").match(Nb)||["-",0,0],e=+(60*d[1])+q(d[2]);return"+"===d[0]?-e:e}function I(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[ib]=q(b)-1);break;case"MMM":case"MMMM":d=B(c._l).monthsParse(b),null!=d?e[ib]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[jb]=q(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=q(b));break;case"YY":e[hb]=q(b)+(q(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":e[hb]=q(b);break;case"a":case"A":c._isPm=B(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[kb]=q(b);break;case"m":case"mm":e[lb]=q(b);break;case"s":case"ss":e[mb]=q(b);break;case"S":case"SS":case"SSS":case"SSSS":e[nb]=q(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=H(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function J(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=L(a),a._w&&null==a._a[jb]&&null==a._a[ib]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[hb]?cb().weekYear():a._a[hb]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=Y(f(g.GG),g.W||1,g.E,4,1):(i=B(a._l),j=null!=g.d?U(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&j<i._week.dow&&k++,h=Y(f(g.gg),k,j,i._week.doy,i._week.dow)),a._a[hb]=h.year,a._dayOfYear=h.dayOfYear),a._dayOfYear&&(e=null==a._a[hb]?d[hb]:a._a[hb],a._dayOfYear>s(e)&&(a._pf._overflowDayOfYear=!0),c=T(e,0,a._dayOfYear),a._a[ib]=c.getUTCMonth(),a._a[jb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[kb]+=q((a._tzm||0)/60),l[lb]+=q((a._tzm||0)%60),a._d=(a._useUTC?T:S).apply(null,l)}}function K(a){var b;a._d||(b=o(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],J(a))}function L(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function M(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=B(a._l),h=""+a._i,i=h.length,j=0;for(d=F(a._f,g).match(tb)||[],b=0;b<d.length;b++)e=d[b],c=(h.match(G(e,a))||[])[0],c&&(f=h.substr(0,h.indexOf(c)),f.length>0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Vb[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),I(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[kb]<12&&(a._a[kb]+=12),a._isPm===!1&&12===a._a[kb]&&(a._a[kb]=0),J(a),u(a)}function N(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function O(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function P(a){var b,c,d,e,f;if(0===a._f.length)return a._pf.invalidFormat=!0,a._d=new Date(0/0),void 0;for(e=0;e<a._f.length;e++)f=0,b=g({},a),v(b),b._f=a._f[e],M(b),w(b)&&(f+=b._pf.charsLeftOver,f+=10*b._pf.unusedTokens.length,b._pf.score=f,(null==d||d>f)&&(d=f,c=b));g(a,c||b)}function Q(a){var b,c=a._i,d=Jb.exec(c);if(d){for(a._pf.iso=!0,b=4;b>0;b--)if(d[b]){a._f=Lb[b-1]+(d[6]||" ");break}for(b=0;4>b;b++)if(Mb[b][1].exec(c)){a._f+=Mb[b][0];break}c.match(Bb)&&(a._f+="Z"),M(a)}else a._d=new Date(c)}function R(b){var c=b._i,d=qb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?Q(b):k(c)?(b._a=c.slice(0),J(b)):l(c)?b._d=new Date(+c):"object"==typeof c?K(b):b._d=new Date(c)}function S(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function T(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function U(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function V(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function W(a,b,c){var d=gb(Math.abs(a)/1e3),e=gb(d/60),f=gb(e/60),g=gb(f/24),h=gb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",gb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,V.apply({},i)}function X(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=cb(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function Y(a,b,c,d,e){var f,g,h=new Date(i(a,6,!0)+"-01-01").getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:s(a-1)+g}}function Z(a){var b=a._i,c=a._f;return"undefined"==typeof a._pf&&v(a),null===b?cb.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=B().preparse(b)),cb.isMoment(b)?(a=g({},b),a._d=new Date(+b._d)):c?k(c)?P(a):M(a):R(a),new e(a))}function $(a,b){cb.fn[a]=cb.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),cb.updateOffset(this),this):this._d["get"+c+b]()}}function _(a){cb.duration.fn[a]=function(){return this._data[a]}}function ab(a,b){cb.duration.fn["as"+a]=function(){return+this/b}}function bb(a){var b=!1,c=cb;"undefined"==typeof ender&&(a?(fb.moment=function(){return!b&&console&&console.warn&&(b=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),c.apply(null,arguments)},g(fb.moment,c)):fb.moment=cb)}for(var cb,db,eb="2.5.0",fb=this,gb=Math.round,hb=0,ib=1,jb=2,kb=3,lb=4,mb=5,nb=6,ob={},pb="undefined"!=typeof module&&module.exports&&"undefined"!=typeof require,qb=/^\/?Date\((\-?\d+)/i,rb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,sb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,tb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,ub=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,vb=/\d\d?/,wb=/\d{1,3}/,xb=/\d{1,4}/,yb=/[+\-]?\d{1,6}/,zb=/\d+/,Ab=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Bb=/Z|[\+\-]\d\d:?\d\d/gi,Cb=/T/i,Db=/[\+\-]?\d+(\.\d{1,3})?/,Eb=/\d/,Fb=/\d\d/,Gb=/\d{3}/,Hb=/\d{4}/,Ib=/[+\-]?\d{6}/,Jb=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Kb="YYYY-MM-DDTHH:mm:ssZ",Lb=["YYYY-MM-DD","GGGG-[W]WW","GGGG-[W]WW-E","YYYY-DDD"],Mb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Nb=/([\+\-]|\d\d)/gi,Ob="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Pb={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Qb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Rb={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Sb={},Tb="DDD w W M D d".split(" "),Ub="M D H h m s w W".split(" "),Vb={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return i(this.year()%100,2)},YYYY:function(){return i(this.year(),4)},YYYYY:function(){return i(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+i(Math.abs(a),6)},gg:function(){return i(this.weekYear()%100,2)},gggg:function(){return this.weekYear()},ggggg:function(){return i(this.weekYear(),5)},GG:function(){return i(this.isoWeekYear()%100,2)},GGGG:function(){return this.isoWeekYear()},GGGGG:function(){return i(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return q(this.milliseconds()/100)},SS:function(){return i(q(this.milliseconds()/10),2)},SSS:function(){return i(this.milliseconds(),3)},SSSS:function(){return i(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+i(q(a/60),2)+":"+i(q(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+i(q(a/60),2)+i(q(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Wb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Tb.length;)db=Tb.pop(),Vb[db+"o"]=c(Vb[db],db);for(;Ub.length;)db=Ub.pop(),Vb[db+db]=b(Vb[db],2);for(Vb.DDDD=b(Vb.DDD,3),g(d.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=cb.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=cb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return X(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),cb=function(b,c,d,e){return"boolean"==typeof d&&(e=d,d=a),Z({_i:b,_f:c,_l:d,_strict:e,_isUTC:!1})},cb.utc=function(b,c,d,e){var f;return"boolean"==typeof d&&(e=d,d=a),f=Z({_useUTC:!0,_isUTC:!0,_l:d,_i:b,_f:c,_strict:e}).utc()},cb.unix=function(a){return cb(1e3*a)},cb.duration=function(a,b){var c,d,e,g=a,h=null;return cb.isDuration(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=rb.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:q(h[jb])*c,h:q(h[kb])*c,m:q(h[lb])*c,s:q(h[mb])*c,ms:q(h[nb])*c}):(h=sb.exec(a))&&(c="-"===h[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},g={y:e(h[2]),M:e(h[3]),d:e(h[4]),h:e(h[5]),m:e(h[6]),s:e(h[7]),w:e(h[8])}),d=new f(g),cb.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},cb.version=eb,cb.defaultFormat=Kb,cb.updateOffset=function(){},cb.lang=function(a,b){var c;return a?(b?z(x(a),b):null===b?(A(a),a="en"):ob[a]||B(a),c=cb.duration.fn._lang=cb.fn._lang=B(a),c._abbr):cb.fn._lang._abbr},cb.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),B(a)},cb.isMoment=function(a){return a instanceof e},cb.isDuration=function(a){return a instanceof f},db=Wb.length-1;db>=0;--db)p(Wb[db]);for(cb.normalizeUnits=function(a){return n(a)},cb.invalid=function(a){var b=cb.utc(0/0);return null!=a?g(b._pf,a):b._pf.userInvalidated=!0,b},cb.parseZone=function(a){return cb(a).parseZone()},g(cb.fn=e.prototype,{clone:function(){return cb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=cb(this).utc();return 0<a.year()&&a.year()<=9999?E(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):E(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return w(this)},isDSTShifted:function(){return this._a?this.isValid()&&m(this._a,(this._isUTC?cb.utc(this._a):cb(this._a)).toArray())>0:!1},parsingFlags:function(){return g({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=E(this,a||cb.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?cb.duration(+b,a):cb.duration(a,b),j(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?cb.duration(+b,a):cb.duration(a,b),j(this,c,-1),this},diff:function(a,b,c){var d,e,f=y(a,this),g=6e4*(this.zone()-f.zone());return b=n(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-cb(this).startOf("month")-(f-cb(f).startOf("month")))/d,e-=6e4*(this.zone()-cb(this).startOf("month").zone()-(f.zone()-cb(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:h(e)},from:function(a,b){return cb.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(cb(),a)},calendar:function(){var a=y(cb(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return t(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=U(a,this.lang()),this.add({d:a-b})):b},month:function(a){var b,c=this._isUTC?"UTC":"";return null!=a?"string"==typeof a&&(a=this.lang().monthsParse(a),"number"!=typeof a)?this:(b=this.date(),this.date(1),this._d["set"+c+"Month"](a),this.date(Math.min(b,this.daysInMonth())),cb.updateOffset(this),this):this._d["get"+c+"Month"]()},startOf:function(a){switch(a=n(a)){case"year":this.month(0);case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),this},endOf:function(a){return a=n(a),this.startOf(a).add("isoWeek"===a?"week":a,1).subtract("ms",1)},isAfter:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)>+cb(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+cb(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+y(a,this).startOf(b)},min:function(a){return a=cb.apply(null,arguments),this>a?this:a},max:function(a){return a=cb.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=H(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&j(this,cb.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?cb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return r(this.year(),this.month())},dayOfYear:function(a){var b=gb((cb(this).startOf("day")-cb(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(a){var b=X(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=X(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=X(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=n(a),this[a]()},set:function(a,b){return a=n(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=B(b),this)}}),db=0;db<Ob.length;db++)$(Ob[db].toLowerCase().replace(/s$/,""),Ob[db]);$("year","FullYear"),cb.fn.days=cb.fn.day,cb.fn.months=cb.fn.month,cb.fn.weeks=cb.fn.week,cb.fn.isoWeeks=cb.fn.isoWeek,cb.fn.toJSON=cb.fn.toISOString,g(cb.duration.fn=f.prototype,{_bubble:function(){var a,b,c,d,e=this._milliseconds,f=this._days,g=this._months,i=this._data;i.milliseconds=e%1e3,a=h(e/1e3),i.seconds=a%60,b=h(a/60),i.minutes=b%60,c=h(b/60),i.hours=c%24,f+=h(c/24),i.days=f%30,g+=h(f/30),i.months=g%12,d=h(g/12),i.years=d},weeks:function(){return h(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12)},humanize:function(a){var b=+this,c=W(b,!a,this.lang());return a&&(c=this.lang().pastFuture(b,c)),this.lang().postformat(c)},add:function(a,b){var c=cb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=cb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=n(a),this[a.toLowerCase()+"s"]()},as:function(a){return a=n(a),this["as"+a.charAt(0).toUpperCase()+a.slice(1)+"s"]()},lang:cb.fn.lang,toIsoString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}});for(db in Pb)Pb.hasOwnProperty(db)&&(ab(db,Pb[db]),_(db.toLowerCase()));ab("Weeks",6048e5),cb.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()},cb.lang("en",{ordinal:function(a){var b=a%10,c=1===q(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),pb?(module.exports=cb,bb(!0)):"function"==typeof define&&define.amd?define("moment",function(b,c,d){return d.config&&d.config()&&d.config().noGlobal!==!0&&bb(d.config().noGlobal===a),cb}):bb()}).call(this); |
176 | \ No newline at end of file |
177 | |
178 | === added directory 'addons/web/static/lib/bootstrap-datetimepicker/src' |
179 | === added directory 'addons/web/static/lib/bootstrap-datetimepicker/src/css' |
180 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.css' |
181 | --- addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.css 1970-01-01 00:00:00 +0000 |
182 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.css 2014-02-14 15:04:13 +0000 |
183 | @@ -0,0 +1,184 @@ |
184 | +/** |
185 | + * Build file for the dist version of datetimepicker.css |
186 | + */ |
187 | +/*! |
188 | + * Datetimepicker for Bootstrap v3 |
189 | + * https://github.com/Eonasdan/bootstrap-datetimepicker/ |
190 | + * Copyright 2012 Stefan Petre |
191 | + * Licensed under the Apache License v2.0 |
192 | + * http://www.apache.org/licenses/LICENSE-2.0 |
193 | + * |
194 | + */ |
195 | +.bootstrap-datetimepicker-widget { |
196 | + top: 0; |
197 | + left: 0; |
198 | + width: 250px; |
199 | + padding: 4px; |
200 | + margin-top: 1px; |
201 | + z-index: 9999; |
202 | + border-radius: 4px; |
203 | + /*.dow { |
204 | + border-top: 1px solid #ddd !important; |
205 | + }*/ |
206 | +} |
207 | +.bootstrap-datetimepicker-widget .btn { |
208 | + padding: 6px; |
209 | +} |
210 | +.bootstrap-datetimepicker-widget:before { |
211 | + content: ''; |
212 | + display: inline-block; |
213 | + border-left: 7px solid transparent; |
214 | + border-right: 7px solid transparent; |
215 | + border-bottom: 7px solid #ccc; |
216 | + border-bottom-color: rgba(0, 0, 0, 0.2); |
217 | + position: absolute; |
218 | + top: -7px; |
219 | + left: 6px; |
220 | +} |
221 | +.bootstrap-datetimepicker-widget:after { |
222 | + content: ''; |
223 | + display: inline-block; |
224 | + border-left: 6px solid transparent; |
225 | + border-right: 6px solid transparent; |
226 | + border-bottom: 6px solid white; |
227 | + position: absolute; |
228 | + top: -6px; |
229 | + left: 7px; |
230 | +} |
231 | +.bootstrap-datetimepicker-widget.pull-right:before { |
232 | + left: auto; |
233 | + right: 6px; |
234 | +} |
235 | +.bootstrap-datetimepicker-widget.pull-right:after { |
236 | + left: auto; |
237 | + right: 7px; |
238 | +} |
239 | +.bootstrap-datetimepicker-widget > ul { |
240 | + list-style-type: none; |
241 | + margin: 0; |
242 | +} |
243 | +.bootstrap-datetimepicker-widget .timepicker-hour, |
244 | +.bootstrap-datetimepicker-widget .timepicker-minute, |
245 | +.bootstrap-datetimepicker-widget .timepicker-second { |
246 | + width: 100%; |
247 | + font-weight: bold; |
248 | + font-size: 1.2em; |
249 | +} |
250 | +.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator { |
251 | + width: 4px; |
252 | + padding: 0; |
253 | + margin: 0; |
254 | +} |
255 | +.bootstrap-datetimepicker-widget .datepicker > div { |
256 | + display: none; |
257 | +} |
258 | +.bootstrap-datetimepicker-widget .picker-switch { |
259 | + text-align: center; |
260 | +} |
261 | +.bootstrap-datetimepicker-widget table { |
262 | + width: 100%; |
263 | + margin: 0; |
264 | +} |
265 | +.bootstrap-datetimepicker-widget td, |
266 | +.bootstrap-datetimepicker-widget th { |
267 | + text-align: center; |
268 | + width: 20px; |
269 | + height: 20px; |
270 | + border-radius: 4px; |
271 | +} |
272 | +.bootstrap-datetimepicker-widget td.day:hover, |
273 | +.bootstrap-datetimepicker-widget td.hour:hover, |
274 | +.bootstrap-datetimepicker-widget td.minute:hover, |
275 | +.bootstrap-datetimepicker-widget td.second:hover { |
276 | + background: #eeeeee; |
277 | + cursor: pointer; |
278 | +} |
279 | +.bootstrap-datetimepicker-widget td.old, |
280 | +.bootstrap-datetimepicker-widget td.new { |
281 | + color: #999999; |
282 | +} |
283 | +.bootstrap-datetimepicker-widget td.active, |
284 | +.bootstrap-datetimepicker-widget td.active:hover { |
285 | + background-color: #428bca; |
286 | + color: #fff; |
287 | + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); |
288 | +} |
289 | +.bootstrap-datetimepicker-widget td.disabled, |
290 | +.bootstrap-datetimepicker-widget td.disabled:hover { |
291 | + background: none; |
292 | + color: #999999; |
293 | + cursor: not-allowed; |
294 | +} |
295 | +.bootstrap-datetimepicker-widget td span { |
296 | + display: block; |
297 | + width: 47px; |
298 | + height: 54px; |
299 | + line-height: 54px; |
300 | + float: left; |
301 | + margin: 2px; |
302 | + cursor: pointer; |
303 | + border-radius: 4px; |
304 | +} |
305 | +.bootstrap-datetimepicker-widget td span:hover { |
306 | + background: #eeeeee; |
307 | +} |
308 | +.bootstrap-datetimepicker-widget td span.active { |
309 | + background-color: #428bca; |
310 | + color: #fff; |
311 | + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); |
312 | +} |
313 | +.bootstrap-datetimepicker-widget td span.old { |
314 | + color: #999999; |
315 | +} |
316 | +.bootstrap-datetimepicker-widget td span.disabled, |
317 | +.bootstrap-datetimepicker-widget td span.disabled:hover { |
318 | + background: none; |
319 | + color: #999999; |
320 | + cursor: not-allowed; |
321 | +} |
322 | +.bootstrap-datetimepicker-widget th.switch { |
323 | + width: 145px; |
324 | +} |
325 | +.bootstrap-datetimepicker-widget th.next, |
326 | +.bootstrap-datetimepicker-widget th.prev { |
327 | + font-size: 21px; |
328 | +} |
329 | +.bootstrap-datetimepicker-widget th.disabled, |
330 | +.bootstrap-datetimepicker-widget th.disabled:hover { |
331 | + background: none; |
332 | + color: #999999; |
333 | + cursor: not-allowed; |
334 | +} |
335 | +.bootstrap-datetimepicker-widget thead tr:first-child th { |
336 | + cursor: pointer; |
337 | +} |
338 | +.bootstrap-datetimepicker-widget thead tr:first-child th:hover { |
339 | + background: #eeeeee; |
340 | +} |
341 | +.input-group.date .input-group-addon span { |
342 | + display: block; |
343 | + cursor: pointer; |
344 | + width: 16px; |
345 | + height: 16px; |
346 | +} |
347 | +.bootstrap-datetimepicker-widget.left-oriented:before { |
348 | + left: auto; |
349 | + right: 6px; |
350 | +} |
351 | +.bootstrap-datetimepicker-widget.left-oriented:after { |
352 | + left: auto; |
353 | + right: 7px; |
354 | +} |
355 | +.bootstrap-datetimepicker-widget ul.list-unstyled li.in div.timepicker div.timepicker-picker table.table-condensed tbody > tr > td { |
356 | + padding: 0px !important; |
357 | +} |
358 | +.bootstrap-datetimepicker-widget .cw { |
359 | + font-size: 10px; |
360 | + width: 12px; |
361 | + padding: 0 2px 0 5px; |
362 | + vertical-align: middle; |
363 | +} |
364 | +.bootstrap-datetimepicker-widget thead tr:first-child th.cw { |
365 | + cursor: default; |
366 | + background-color: transparent; |
367 | +} |
368 | \ No newline at end of file |
369 | |
370 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.min.css' |
371 | --- addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.min.css 1970-01-01 00:00:00 +0000 |
372 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/css/bootstrap-datetimepicker.min.css 2014-02-14 15:04:13 +0000 |
373 | @@ -0,0 +1,8 @@ |
374 | +/*! |
375 | + * Datetimepicker for Bootstrap v3 |
376 | + * https://github.com/Eonasdan/bootstrap-datetimepicker/ |
377 | + * Copyright 2012 Stefan Petre |
378 | + * Licensed under the Apache License v2.0 |
379 | + * http://www.apache.org/licenses/LICENSE-2.0 |
380 | + * |
381 | + */.bootstrap-datetimepicker-widget{top:0;left:0;width:250px;padding:4px;margin-top:1px;z-index:9999;border-radius:4px}.bootstrap-datetimepicker-widget .btn{padding:6px}.bootstrap-datetimepicker-widget:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:6px}.bootstrap-datetimepicker-widget:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.bootstrap-datetimepicker-widget.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget>ul{list-style-type:none;margin:0}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:100%;font-weight:bold;font-size:1.2em}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator{width:4px;padding:0;margin:0}.bootstrap-datetimepicker-widget .datepicker>div{display:none}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th{text-align:center;width:20px;height:20px;border-radius:4px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget td.old,.bootstrap-datetimepicker-widget td.new{color:#999}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget td.disabled,.bootstrap-datetimepicker-widget td.disabled:hover{background:none;color:#999;cursor:not-allowed}.bootstrap-datetimepicker-widget td span{display:block;width:47px;height:54px;line-height:54px;float:left;margin:2px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget td span:hover{background:#eee}.bootstrap-datetimepicker-widget td span.active{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget td span.old{color:#999}.bootstrap-datetimepicker-widget td span.disabled,.bootstrap-datetimepicker-widget td span.disabled:hover{background:none;color:#999;cursor:not-allowed}.bootstrap-datetimepicker-widget th.switch{width:145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev{font-size:21px}.bootstrap-datetimepicker-widget th.disabled,.bootstrap-datetimepicker-widget th.disabled:hover{background:none;color:#999;cursor:not-allowed}.bootstrap-datetimepicker-widget thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover{background:#eee}.input-group.date .input-group-addon span{display:block;cursor:pointer;width:16px;height:16px}.bootstrap-datetimepicker-widget.left-oriented:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.left-oriented:after{left:auto;right:7px}.bootstrap-datetimepicker-widget ul.list-unstyled li.in div.timepicker div.timepicker-picker table.table-condensed tbody>tr>td{padding:0 !important}.bootstrap-datetimepicker-widget .cw {font-size: 10px;width: 12px;padding: 0 2px 0 5px;vertical-align: middle;}.bootstrap-datetimepicker-widget thead tr:first-child th.cw {cursor: default;background-color: transparent;} |
382 | \ No newline at end of file |
383 | |
384 | === added directory 'addons/web/static/lib/bootstrap-datetimepicker/src/js' |
385 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js' |
386 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js 1970-01-01 00:00:00 +0000 |
387 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js 2014-02-14 15:04:13 +0000 |
388 | @@ -0,0 +1,1111 @@ |
389 | +/** |
390 | + * version 2.1.20 |
391 | + * @license |
392 | + * ========================================================= |
393 | + * bootstrap-datetimepicker.js |
394 | + * http://www.eyecon.ro/bootstrap-datepicker |
395 | + * ========================================================= |
396 | + * Copyright 2012 Stefan Petre |
397 | + * |
398 | + * Contributions: |
399 | + * - updated for Bootstrap v3 by Jonathan Peterson (@Eonasdan) and (almost) |
400 | + * completely rewritten to use Momentjs |
401 | + * - based on tarruda's bootstrap-datepicker |
402 | + * |
403 | + * Licensed under the Apache License, Version 2.0 (the "License"); |
404 | + * you may not use this file except in compliance with the License. |
405 | + * You may obtain a copy of the License at |
406 | + * |
407 | + * http://www.apache.org/licenses/LICENSE-2.0 |
408 | + * |
409 | + * Unless required by applicable law or agreed to in writing, software |
410 | + * distributed under the License is distributed on an "AS IS" BASIS, |
411 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
412 | + * See the License for the specific language governing permissions and |
413 | + * limitations under the License. |
414 | + * ========================================================= |
415 | + */ |
416 | +(function (factory) { |
417 | + if (typeof define === 'function' && define.amd) { |
418 | + // AMD is used - Register as an anonymous module. |
419 | + define(['jquery', 'moment'], factory); |
420 | + } else { |
421 | + // AMD is not used - Attempt to fetch dependencies from scope. |
422 | + if(!jQuery){ |
423 | + throw 'bootstrap-datetimepicker requires jQuery to be loaded first'; |
424 | + }else if(!moment) { |
425 | + throw 'bootstrap-datetimepicker requires moment.js to be loaded first'; |
426 | + }else{ |
427 | + factory(jQuery, moment); |
428 | + } |
429 | + } |
430 | +} |
431 | + |
432 | +(function ($, moment) { |
433 | + if (typeof moment === 'undefined') { |
434 | + alert("momentjs is requried"); |
435 | + throw new Error('momentjs is requried'); |
436 | + }; |
437 | + |
438 | + var dpgId = 0, |
439 | + |
440 | + pMoment = moment, |
441 | + |
442 | +// ReSharper disable once InconsistentNaming |
443 | + DateTimePicker = function (element, options) { |
444 | + var defaults = { |
445 | + pickDate: true, |
446 | + pickTime: true, |
447 | + useMinutes: true, |
448 | + useSeconds: false, |
449 | + minuteStepping: 1, |
450 | + startDate: new pMoment({ y: 1970 }), |
451 | + endDate: new pMoment().add(50, "y"), |
452 | + collapse: true, |
453 | + language: "en", |
454 | + defaultDate: "", |
455 | + disabledDates: [], |
456 | + enabledDates: false, |
457 | + icons: {}, |
458 | + useStrict: false, |
459 | + calendarWeeks: false, |
460 | + }, |
461 | + |
462 | + icons = { |
463 | + time: 'glyphicon glyphicon-time', |
464 | + date: 'glyphicon glyphicon-calendar', |
465 | + up: 'glyphicon glyphicon-chevron-up', |
466 | + down: 'glyphicon glyphicon-chevron-down' |
467 | + }, |
468 | + |
469 | + picker = this, |
470 | + |
471 | + init = function () { |
472 | + |
473 | + var icon = false, i, dDate, longDateFormat; |
474 | + picker.options = $.extend({}, defaults, options); |
475 | + picker.options.icons = $.extend({}, icons, picker.options.icons); |
476 | + |
477 | + picker.element = $(element); |
478 | + |
479 | + dataToOptions(); |
480 | + |
481 | + if (!(picker.options.pickTime || picker.options.pickDate)) |
482 | + throw new Error('Must choose at least one picker'); |
483 | + |
484 | + picker.id = dpgId++; |
485 | + pMoment.lang(picker.options.language); |
486 | + picker.date = pMoment(); |
487 | + picker.unset = false; |
488 | + picker.isInput = picker.element.is('input'); |
489 | + picker.component = false; |
490 | + |
491 | + if (picker.element.hasClass('input-group')) { |
492 | + if (picker.element.find('.datepickerbutton').size() == 0) {//in case there is more then one 'input-group-addon` #48 |
493 | + picker.component = picker.element.find("[class^='input-group-']"); |
494 | + } |
495 | + else { |
496 | + picker.component = picker.element.find('.datepickerbutton'); |
497 | + } |
498 | + } |
499 | + picker.format = picker.options.format; |
500 | + |
501 | + longDateFormat = pMoment()._lang._longDateFormat; |
502 | + |
503 | + if (!picker.format) { |
504 | + if (picker.isInput) picker.format = picker.element.data('format'); |
505 | + else picker.format = picker.element.find('input').data('format'); |
506 | + if (!picker.format) { |
507 | + picker.format = (picker.options.pickDate ? longDateFormat.L : ''); |
508 | + if (picker.options.pickDate && picker.options.pickTime) picker.format += ' '; |
509 | + picker.format += (picker.options.pickTime ? longDateFormat.LT : ''); |
510 | + if (picker.options.useSeconds) { |
511 | + if (~longDateFormat.LT.indexOf(' A')) { |
512 | + picker.format = picker.format.split(" A")[0] + ":ss A"; |
513 | + } |
514 | + else { |
515 | + picker.format += ':ss'; |
516 | + } |
517 | + } |
518 | + } |
519 | + } |
520 | + |
521 | + picker.options.use24hours = picker.format.toLowerCase().indexOf("a") < 1; |
522 | + |
523 | + if (picker.component) icon = picker.component.find('span'); |
524 | + |
525 | + if (picker.options.pickTime) { |
526 | + if (icon) icon.addClass(picker.options.icons.time); |
527 | + } |
528 | + if (picker.options.pickDate) { |
529 | + if (icon) { |
530 | + icon.removeClass(picker.options.icons.time); |
531 | + icon.addClass(picker.options.icons.date); |
532 | + } |
533 | + } |
534 | + |
535 | + picker.widget = $(getTemplate(picker.options.pickDate, picker.options.pickTime, picker.options.collapse)).appendTo('body'); |
536 | + picker.minViewMode = picker.options.minViewMode || picker.element.data('date-minviewmode') || 0; |
537 | + if (typeof picker.minViewMode === 'string') { |
538 | + switch (picker.minViewMode) { |
539 | + case 'months': |
540 | + picker.minViewMode = 1; |
541 | + break; |
542 | + case 'years': |
543 | + picker.minViewMode = 2; |
544 | + break; |
545 | + default: |
546 | + picker.minViewMode = 0; |
547 | + break; |
548 | + } |
549 | + } |
550 | + |
551 | + if (picker.options.calendarWeeks) |
552 | + picker.widget.find('tfoot th.today') |
553 | + .attr('colspan', function(i, val){ |
554 | + return parseInt(val) + 1; |
555 | + }); |
556 | + |
557 | + picker.viewMode = picker.options.viewMode || picker.element.data('date-viewmode') || 0; |
558 | + if (typeof picker.viewMode === 'string') { |
559 | + switch (picker.viewMode) { |
560 | + case 'months': |
561 | + picker.viewMode = 1; |
562 | + break; |
563 | + case 'years': |
564 | + picker.viewMode = 2; |
565 | + break; |
566 | + default: |
567 | + picker.viewMode = 0; |
568 | + break; |
569 | + } |
570 | + } |
571 | + |
572 | + for (i = 0; i < picker.options.disabledDates.length; i++) { |
573 | + dDate = picker.options.disabledDates[i]; |
574 | + dDate = pMoment(dDate); |
575 | + //if this is not a valid date then set it to the startdate -1 day so it's disabled. |
576 | + if (!dDate.isValid()) dDate = pMoment(picker.options.startDate).subtract(1, "day"); |
577 | + picker.options.disabledDates[i] = dDate.format("L"); |
578 | + } |
579 | + |
580 | + for (i = 0; i < picker.options.enabledDates.length; i++) { |
581 | + dDate = picker.options.enabledDates[i]; |
582 | + dDate = pMoment(dDate); |
583 | + //if this is not a valid date then set it to the startdate -1 day so it's disabled. |
584 | + if (!dDate.isValid()) dDate = pMoment(picker.options.startDate).subtract(1, "day"); |
585 | + picker.options.enabledDates[i] = dDate.format("L"); |
586 | + } |
587 | + picker.startViewMode = picker.viewMode; |
588 | + picker.setStartDate(picker.options.startDate || picker.element.data('date-startdate')); |
589 | + picker.setEndDate(picker.options.endDate || picker.element.data('date-enddate')); |
590 | + fillDow(); |
591 | + fillMonths(); |
592 | + fillHours(); |
593 | + fillMinutes(); |
594 | + fillSeconds(); |
595 | + update(); |
596 | + showMode(); |
597 | + attachDatePickerEvents(); |
598 | + if (picker.options.defaultDate !== "") picker.setValue(picker.options.defaultDate); |
599 | + }, |
600 | + |
601 | + dataToOptions = function () { |
602 | + var eData = picker.element.data(); |
603 | + if (eData.pickdate !== undefined) picker.options.pickDate = eData.pickdate; |
604 | + if (eData.picktime !== undefined) picker.options.pickTime = eData.picktime; |
605 | + if (eData.useminutes !== undefined) picker.options.useMinutes = eData.useminutes; |
606 | + if (eData.useseconds !== undefined) picker.options.useSeconds = eData.useseconds; |
607 | + if (eData.minutestepping !== undefined) picker.options.minuteStepping = eData.minutestepping; |
608 | + if (eData.startdate !== undefined) picker.options.startDate = eData.startdate; |
609 | + if (eData.enddate !== undefined) picker.options.endDate = eData.enddate; |
610 | + if (eData.collapse !== undefined) picker.options.collapse = eData.collapse; |
611 | + if (eData.language !== undefined) picker.options.language = eData.language; |
612 | + if (eData.defaultdate !== undefined) picker.options.defaultDate = eData.defaultdate; |
613 | + if (eData.disableddates !== undefined) picker.options.disabledDates = eData.disableddates; |
614 | + if (eData.enableddates !== undefined) picker.options.enabledDates = eData.enableddates; |
615 | + if (eData.icons !== undefined) picker.options.icons = eData.icons; |
616 | + if (eData.usestrict !== undefined) picker.options.useStrict = eData.usestrict; |
617 | + if (eData.calendarWeeks !== undefined) picker.options.calendarWeeks = eData.calendarWeeks; |
618 | + }, |
619 | + |
620 | + place = function () { |
621 | + var position = 'absolute', |
622 | + offset = picker.component ? picker.component.offset() : picker.element.offset(), $window = $(window); |
623 | + picker.width = picker.component ? picker.component.outerWidth() : picker.element.outerWidth(); |
624 | + offset.top = offset.top + picker.element.outerHeight(); |
625 | + |
626 | + //if (offset.top + picker.widget.height() > $window.height()) offset.top = offset.top - (picker.widget.height() + picker.height + 10); |
627 | + |
628 | + if (picker.options.width !== undefined) { |
629 | + picker.widget.width(picker.options.width); |
630 | + } |
631 | + |
632 | + if (picker.options.orientation === 'left') { |
633 | + picker.widget.addClass('left-oriented'); |
634 | + offset.left = offset.left - picker.widget.width() + 20; |
635 | + } |
636 | + |
637 | + if (isInFixed()) { |
638 | + position = 'fixed'; |
639 | + offset.top -= $window.scrollTop(); |
640 | + offset.left -= $window.scrollLeft(); |
641 | + } |
642 | + |
643 | + if ($window.width() < offset.left + picker.widget.outerWidth()) { |
644 | + offset.right = $window.width() - offset.left - picker.width; |
645 | + offset.left = 'auto'; |
646 | + picker.widget.addClass('pull-right'); |
647 | + } else { |
648 | + offset.right = 'auto'; |
649 | + picker.widget.removeClass('pull-right'); |
650 | + } |
651 | + |
652 | + picker.widget.css({ |
653 | + position: position, |
654 | + top: offset.top, |
655 | + left: offset.left, |
656 | + right: offset.right |
657 | + }); |
658 | + }, |
659 | + |
660 | + notifyChange = function (oldDate, eventType) { |
661 | + picker.element.trigger({ |
662 | + type: 'change.dp', |
663 | + date: pMoment(picker.date), |
664 | + oldDate: pMoment(oldDate) |
665 | + }); |
666 | + |
667 | + //if (eventType !== 'change') |
668 | + //picker.element.change(); |
669 | + }, |
670 | + |
671 | + notifyError = function (date) { |
672 | + picker.element.trigger({ |
673 | + type: 'error.dp', |
674 | + date: pMoment(date) |
675 | + }); |
676 | + }, |
677 | + |
678 | + update = function (newDate) { |
679 | + pMoment.lang(picker.options.language); |
680 | + var dateStr = newDate; |
681 | + if (!dateStr) { |
682 | + if (picker.isInput) { |
683 | + dateStr = picker.element.val(); |
684 | + } else { |
685 | + dateStr = picker.element.find('input').val(); |
686 | + } |
687 | + if (dateStr) picker.date = pMoment(dateStr, picker.format, picker.options.useStrict); |
688 | + if (!picker.date) picker.date = pMoment(); |
689 | + } |
690 | + picker.viewDate = pMoment(picker.date).startOf("month"); |
691 | + fillDate(); |
692 | + fillTime(); |
693 | + }, |
694 | + |
695 | + |
696 | + fillDow = function () { |
697 | + pMoment.lang(picker.options.language); |
698 | + var html = $('<tr>'), weekdaysMin = pMoment.weekdaysMin(), i; |
699 | + if(picker.options.calendarWeeks){ |
700 | + var cell = '<th class="cw">Wk</th>'; |
701 | + html.append(cell); |
702 | + // picker.widget.find('.datepicker-days thead tr:first-child').prepend(cell); |
703 | + } |
704 | + if (pMoment()._lang._week.dow == 0) { // starts on Sunday |
705 | + for(i = 0; i < 7; i++) { |
706 | + html.append('<th class="dow">' + weekdaysMin[i] + '</th>'); |
707 | + } |
708 | + } else { |
709 | + for (i = 1; i < 8; i++) { |
710 | + if (i == 7) { |
711 | + html.append('<th class="dow">' + weekdaysMin[0] + '</th>'); |
712 | + } else { |
713 | + html.append('<th class="dow">' + weekdaysMin[i] + '</th>'); |
714 | + } |
715 | + } |
716 | + } |
717 | + picker.widget.find('.datepicker-days thead').append(html); |
718 | + }, |
719 | + |
720 | + fillMonths = function () { |
721 | + pMoment.lang(picker.options.language); |
722 | + var html = '', i = 0, monthsShort = pMoment.monthsShort(); |
723 | + while (i < 12) { |
724 | + html += '<span class="month">' + monthsShort[i++] + '</span>'; |
725 | + } |
726 | + picker.widget.find('.datepicker-months td').append(html); |
727 | + }, |
728 | + |
729 | + d = function() { |
730 | + return new Date(Date.UTC.apply(Date, arguments)) |
731 | + }, |
732 | + |
733 | + fillDate = function () { |
734 | + pMoment.lang(picker.options.language); |
735 | + var year = picker.viewDate.year(), |
736 | + month = picker.viewDate.month(), |
737 | + startYear = picker.options.startDate.year(), |
738 | + startMonth = picker.options.startDate.month(), |
739 | + endYear = picker.options.endDate.year(), |
740 | + endMonth = picker.options.endDate.month(), |
741 | + prevMonth, nextMonth, html = [], row, clsName, i, days, yearCont, currentYear, months = pMoment.months(); |
742 | + |
743 | + picker.widget.find('.datepicker-days').find('.disabled').removeClass('disabled'); |
744 | + picker.widget.find('.datepicker-months').find('.disabled').removeClass('disabled'); |
745 | + picker.widget.find('.datepicker-years').find('.disabled').removeClass('disabled'); |
746 | + |
747 | + picker.widget.find('.datepicker-days th:eq(1)').text( |
748 | + months[month] + ' ' + year); |
749 | + |
750 | + prevMonth = pMoment(picker.viewDate).subtract("months", 1); |
751 | + days = prevMonth.daysInMonth(); |
752 | + prevMonth.date(days).startOf('week'); |
753 | + if ((year == startYear && month <= startMonth) || year < startYear) { |
754 | + picker.widget.find('.datepicker-days th:eq(0)').addClass('disabled'); |
755 | + } |
756 | + if ((year == endYear && month >= endMonth) || year > endYear) { |
757 | + picker.widget.find('.datepicker-days th:eq(2)').addClass('disabled'); |
758 | + } |
759 | + |
760 | + nextMonth = pMoment(prevMonth).add(42, "d"); |
761 | + while (prevMonth.isBefore(nextMonth)) { |
762 | + if (prevMonth.weekday() === pMoment().startOf('week').weekday()) { |
763 | + row = $('<tr>'); |
764 | + html.push(row); |
765 | + if(picker.options.calendarWeeks){ |
766 | + var |
767 | + ws = new Date(+prevMonth + (pMoment().startOf('week').weekday() - prevMonth.weekday() - 7) % 7 * 864e5), |
768 | + th = new Date(+ws + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), |
769 | + yth = new Date(+(yth = d(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5), |
770 | + calWeek = (th - yth) / 864e5 / 7 + 1; |
771 | + row.append('<td class="cw">'+ parseInt(calWeek) +'</td>'); |
772 | + } |
773 | + } |
774 | + clsName = ''; |
775 | + if (prevMonth.year() < year || (prevMonth.year() == year && prevMonth.month() < month)) { |
776 | + clsName += ' old'; |
777 | + } else if (prevMonth.year() > year || (prevMonth.year() == year && prevMonth.month() > month)) { |
778 | + clsName += ' new'; |
779 | + } |
780 | + if (prevMonth.isSame(pMoment({ y: picker.date.year(), M: picker.date.month(), d: picker.date.date() }))) { |
781 | + clsName += ' active'; |
782 | + } |
783 | + if ((pMoment(prevMonth).add(1, "d") <= picker.options.startDate) || (prevMonth > picker.options.endDate) || isInDisableDates(prevMonth) || !isInEnableDates(prevMonth)) { |
784 | + clsName += ' disabled'; |
785 | + } |
786 | + row.append('<td class="day' + clsName + '">' + prevMonth.date() + '</td>'); |
787 | + prevMonth.add(1, "d"); |
788 | + } |
789 | + picker.widget.find('.datepicker-days tbody').empty().append(html); |
790 | + currentYear = pMoment().year(), months = picker.widget.find('.datepicker-months') |
791 | + .find('th:eq(1)').text(year).end().find('span').removeClass('active'); |
792 | + if (currentYear === year) { |
793 | + months.eq(pMoment().month()).addClass('active'); |
794 | + } |
795 | + if (currentYear - 1 < startYear) { |
796 | + picker.widget.find('.datepicker-months th:eq(0)').addClass('disabled'); |
797 | + } |
798 | + if (currentYear + 1 > endYear) { |
799 | + picker.widget.find('.datepicker-months th:eq(2)').addClass('disabled'); |
800 | + } |
801 | + for (i = 0; i < 12; i++) { |
802 | + if ((year == startYear && startMonth > i) || (year < startYear)) { |
803 | + $(months[i]).addClass('disabled'); |
804 | + } else if ((year == endYear && endMonth < i) || (year > endYear)) { |
805 | + $(months[i]).addClass('disabled'); |
806 | + } |
807 | + } |
808 | + |
809 | + html = ''; |
810 | + year = parseInt(year / 10, 10) * 10; |
811 | + yearCont = picker.widget.find('.datepicker-years').find( |
812 | + 'th:eq(1)').text(year + '-' + (year + 9)).end().find('td'); |
813 | + picker.widget.find('.datepicker-years').find('th').removeClass('disabled'); |
814 | + if (startYear > year) { |
815 | + picker.widget.find('.datepicker-years').find('th:eq(0)').addClass('disabled'); |
816 | + } |
817 | + if (endYear < year + 9) { |
818 | + picker.widget.find('.datepicker-years').find('th:eq(2)').addClass('disabled'); |
819 | + } |
820 | + year -= 1; |
821 | + for (i = -1; i < 11; i++) { |
822 | + html += '<span class="year' + (i === -1 || i === 10 ? ' old' : '') + (currentYear === year ? ' active' : '') + ((year < startYear || year > endYear) ? ' disabled' : '') + '">' + year + '</span>'; |
823 | + year += 1; |
824 | + } |
825 | + yearCont.html(html); |
826 | + }, |
827 | + |
828 | + fillHours = function () { |
829 | + pMoment.lang(picker.options.language); |
830 | + var table = picker.widget.find('.timepicker .timepicker-hours table'), html = '', current, i, j; |
831 | + table.parent().hide(); |
832 | + if (picker.options.use24hours) { |
833 | + current = 0; |
834 | + for (i = 0; i < 6; i += 1) { |
835 | + html += '<tr>'; |
836 | + for (j = 0; j < 4; j += 1) { |
837 | + html += '<td class="hour">' + padLeft(current.toString()) + '</td>'; |
838 | + current++; |
839 | + } |
840 | + html += '</tr>'; |
841 | + } |
842 | + } |
843 | + else { |
844 | + current = 1; |
845 | + for (i = 0; i < 3; i += 1) { |
846 | + html += '<tr>'; |
847 | + for (j = 0; j < 4; j += 1) { |
848 | + html += '<td class="hour">' + padLeft(current.toString()) + '</td>'; |
849 | + current++; |
850 | + } |
851 | + html += '</tr>'; |
852 | + } |
853 | + } |
854 | + table.html(html); |
855 | + }, |
856 | + |
857 | + fillMinutes = function () { |
858 | + var table = picker.widget.find('.timepicker .timepicker-minutes table'), html = '', current = 0, i, j; |
859 | + table.parent().hide(); |
860 | + for (i = 0; i < 5; i++) { |
861 | + html += '<tr>'; |
862 | + for (j = 0; j < 4; j += 1) { |
863 | + html += '<td class="minute">' + padLeft(current.toString()) + '</td>'; |
864 | + current += 3; |
865 | + } |
866 | + html += '</tr>'; |
867 | + } |
868 | + table.html(html); |
869 | + }, |
870 | + |
871 | + fillSeconds = function () { |
872 | + var table = picker.widget.find('.timepicker .timepicker-seconds table'), html = '', current = 0, i, j; |
873 | + table.parent().hide(); |
874 | + for (i = 0; i < 5; i++) { |
875 | + html += '<tr>'; |
876 | + for (j = 0; j < 4; j += 1) { |
877 | + html += '<td class="second">' + padLeft(current.toString()) + '</td>'; |
878 | + current += 3; |
879 | + } |
880 | + html += '</tr>'; |
881 | + } |
882 | + table.html(html); |
883 | + }, |
884 | + |
885 | + fillTime = function () { |
886 | + if (!picker.date) return; |
887 | + var timeComponents = picker.widget.find('.timepicker span[data-time-component]'), |
888 | + hour = picker.date.hours(), |
889 | + period = 'AM'; |
890 | + if (!picker.options.use24hours) { |
891 | + if (hour >= 12) period = 'PM'; |
892 | + if (hour === 0) hour = 12; |
893 | + else if (hour != 12) hour = hour % 12; |
894 | + picker.widget.find('.timepicker [data-action=togglePeriod]').text(period); |
895 | + } |
896 | + timeComponents.filter('[data-time-component=hours]').text(padLeft(hour)); |
897 | + timeComponents.filter('[data-time-component=minutes]').text(padLeft(picker.date.minutes())); |
898 | + timeComponents.filter('[data-time-component=seconds]').text(padLeft(picker.date.second())); |
899 | + }, |
900 | + |
901 | + click = function (e) { |
902 | + e.stopPropagation(); |
903 | + e.preventDefault(); |
904 | + picker.unset = false; |
905 | + var target = $(e.target).closest('span, td, th'), month, year, step, day, oldDate = pMoment(picker.date); |
906 | + if (target.length === 1) { |
907 | + if (!target.is('.disabled')) { |
908 | + switch (target[0].nodeName.toLowerCase()) { |
909 | + case 'th': |
910 | + switch (target[0].className) { |
911 | + case 'switch': |
912 | + showMode(1); |
913 | + break; |
914 | + case 'prev': |
915 | + case 'next': |
916 | + step = dpGlobal.modes[picker.viewMode].navStep; |
917 | + if (target[0].className === 'prev') step = step * -1; |
918 | + picker.viewDate.add(step, dpGlobal.modes[picker.viewMode].navFnc); |
919 | + fillDate(); |
920 | + break; |
921 | + } |
922 | + break; |
923 | + case 'span': |
924 | + if (target.is('.month')) { |
925 | + month = target.parent().find('span').index(target); |
926 | + picker.viewDate.month(month); |
927 | + } else { |
928 | + year = parseInt(target.text(), 10) || 0; |
929 | + picker.viewDate.year(year); |
930 | + } |
931 | + if (picker.viewMode !== 0) { |
932 | + picker.date = pMoment({ |
933 | + y: picker.viewDate.year(), |
934 | + M: picker.viewDate.month(), |
935 | + d: picker.viewDate.date(), |
936 | + h: picker.date.hours(), |
937 | + m: picker.date.minutes() |
938 | + }); |
939 | + notifyChange(oldDate, e.type); |
940 | + } |
941 | + showMode(-1); |
942 | + fillDate(); |
943 | + break; |
944 | + case 'td': |
945 | + if (target.is('.day')) { |
946 | + day = parseInt(target.text(), 10) || 1; |
947 | + month = picker.viewDate.month(); |
948 | + year = picker.viewDate.year(); |
949 | + if (target.is('.old')) { |
950 | + if (month === 0) { |
951 | + month = 11; |
952 | + year -= 1; |
953 | + } else { |
954 | + month -= 1; |
955 | + } |
956 | + } else if (target.is('.new')) { |
957 | + if (month == 11) { |
958 | + month = 0; |
959 | + year += 1; |
960 | + } else { |
961 | + month += 1; |
962 | + } |
963 | + } |
964 | + picker.date = pMoment({ |
965 | + y: year, |
966 | + M: month, |
967 | + d: day, |
968 | + h: picker.date.hours(), |
969 | + m: picker.date.minutes() |
970 | + } |
971 | + ); |
972 | + picker.viewDate = pMoment({ |
973 | + y: year, M: month, d: Math.min(28, day) |
974 | + }); |
975 | + fillDate(); |
976 | + set(); |
977 | + notifyChange(oldDate, e.type); |
978 | + } |
979 | + break; |
980 | + } |
981 | + } |
982 | + } |
983 | + }, |
984 | + |
985 | + actions = { |
986 | + incrementHours: function () { |
987 | + checkDate("add", "hours", 1); |
988 | + }, |
989 | + |
990 | + incrementMinutes: function () { |
991 | + checkDate("add", "minutes", picker.options.minuteStepping); |
992 | + }, |
993 | + |
994 | + incrementSeconds: function () { |
995 | + checkDate("add", "seconds", 1); |
996 | + }, |
997 | + |
998 | + decrementHours: function () { |
999 | + checkDate("subtract", "hours", 1); |
1000 | + }, |
1001 | + |
1002 | + decrementMinutes: function () { |
1003 | + checkDate("subtract", "minutes", picker.options.minuteStepping); |
1004 | + }, |
1005 | + |
1006 | + decrementSeconds: function () { |
1007 | + checkDate("subtract", "seconds", 1); |
1008 | + }, |
1009 | + |
1010 | + togglePeriod: function () { |
1011 | + var hour = picker.date.hours(); |
1012 | + if (hour >= 12) hour -= 12; |
1013 | + else hour += 12; |
1014 | + picker.date.hours(hour); |
1015 | + }, |
1016 | + |
1017 | + showPicker: function () { |
1018 | + picker.widget.find('.timepicker > div:not(.timepicker-picker)').hide(); |
1019 | + picker.widget.find('.timepicker .timepicker-picker').show(); |
1020 | + }, |
1021 | + |
1022 | + showHours: function () { |
1023 | + picker.widget.find('.timepicker .timepicker-picker').hide(); |
1024 | + picker.widget.find('.timepicker .timepicker-hours').show(); |
1025 | + }, |
1026 | + |
1027 | + showMinutes: function () { |
1028 | + picker.widget.find('.timepicker .timepicker-picker').hide(); |
1029 | + picker.widget.find('.timepicker .timepicker-minutes').show(); |
1030 | + }, |
1031 | + |
1032 | + showSeconds: function () { |
1033 | + picker.widget.find('.timepicker .timepicker-picker').hide(); |
1034 | + picker.widget.find('.timepicker .timepicker-seconds').show(); |
1035 | + }, |
1036 | + |
1037 | + selectHour: function (e) { |
1038 | + picker.date.hours(parseInt($(e.target).text(), 10)); |
1039 | + actions.showPicker.call(picker); |
1040 | + }, |
1041 | + |
1042 | + selectMinute: function (e) { |
1043 | + picker.date.minutes(parseInt($(e.target).text(), 10)); |
1044 | + actions.showPicker.call(picker); |
1045 | + }, |
1046 | + |
1047 | + selectSecond: function (e) { |
1048 | + picker.date.seconds(parseInt($(e.target).text(), 10)); |
1049 | + actions.showPicker.call(picker); |
1050 | + } |
1051 | + }, |
1052 | + |
1053 | + doAction = function (e) { |
1054 | + var oldDate = pMoment(picker.date), action = $(e.currentTarget).data('action'), rv = actions[action].apply(picker, arguments); |
1055 | + stopEvent(e); |
1056 | + if (!picker.date) picker.date = pMoment({ y: 1970 }); |
1057 | + set(); |
1058 | + fillTime(); |
1059 | + notifyChange(oldDate); |
1060 | + return rv; |
1061 | + }, |
1062 | + |
1063 | + stopEvent = function (e) { |
1064 | + e.stopPropagation(); |
1065 | + e.preventDefault(); |
1066 | + }, |
1067 | + |
1068 | + change = function (e) { |
1069 | + pMoment.lang(picker.options.language); |
1070 | + var input = $(e.target), oldDate = pMoment(picker.date), d = pMoment(input.val(), Date.parse(picker.format), picker.options.useStrict); |
1071 | + if (d.isValid()) { |
1072 | + update(); |
1073 | + picker.setValue(d); |
1074 | + notifyChange(oldDate); |
1075 | + set(); |
1076 | + } |
1077 | + else { |
1078 | + picker.viewDate = oldDate; |
1079 | + //picker.setValue(""); // unset the date when the input is erased |
1080 | + notifyChange(oldDate); |
1081 | + // notifyError(d); // We don't won't the error message. |
1082 | + picker.unset = true; |
1083 | + // input.val(''); // We don't need to clear the value of the inputbox. |
1084 | + } |
1085 | + }, |
1086 | + |
1087 | + showMode = function (dir) { |
1088 | + if (dir) { |
1089 | + picker.viewMode = Math.max(picker.minViewMode, Math.min(2, picker.viewMode + dir)); |
1090 | + } |
1091 | + |
1092 | + picker.widget.find('.datepicker > div').hide().filter('.datepicker-' + dpGlobal.modes[picker.viewMode].clsName).show(); |
1093 | + }, |
1094 | + |
1095 | + attachDatePickerEvents = function () { |
1096 | + var $this, $parent, expanded, closed, collapseData; |
1097 | + picker.widget.on('click', '.datepicker *', $.proxy(click, this)); // this handles date picker clicks |
1098 | + picker.widget.on('click', '[data-action]', $.proxy(doAction, this)); // this handles time picker clicks |
1099 | + picker.widget.on('mousedown', $.proxy(stopEvent, this)); |
1100 | + if (picker.options.pickDate && picker.options.pickTime) { |
1101 | + picker.widget.on('click.togglePicker', '.accordion-toggle', function (e) { |
1102 | + e.stopPropagation(); |
1103 | + $this = $(this); |
1104 | + $parent = $this.closest('ul'); |
1105 | + expanded = $parent.find('.in'); |
1106 | + closed = $parent.find('.collapse:not(.in)'); |
1107 | + |
1108 | + if (expanded && expanded.length) { |
1109 | + collapseData = expanded.data('collapse'); |
1110 | + if (collapseData && collapseData.transitioning) return; |
1111 | + expanded.collapse('hide'); |
1112 | + closed.collapse('show'); |
1113 | + $this.find('span').toggleClass(picker.options.icons.time + ' ' + picker.options.icons.date); |
1114 | + picker.element.find('.input-group-addon span').toggleClass(picker.options.icons.time + ' ' + picker.options.icons.date); |
1115 | + } |
1116 | + }); |
1117 | + } |
1118 | + if (picker.isInput) { |
1119 | + picker.element.on({ |
1120 | + 'focus': $.proxy(picker.show, this), |
1121 | + 'change': $.proxy(change, this), |
1122 | + 'blur': $.proxy(picker.hide, this) |
1123 | + }); |
1124 | + } else { |
1125 | + picker.element.on({ |
1126 | + 'change': $.proxy(change, this) |
1127 | + }, 'input'); |
1128 | + if (picker.component) { |
1129 | + picker.component.on('click', $.proxy(picker.show, this)); |
1130 | + } else { |
1131 | + picker.element.on('click', $.proxy(picker.show, this)); |
1132 | + } |
1133 | + } |
1134 | + }, |
1135 | + |
1136 | + attachDatePickerGlobalEvents = function () { |
1137 | + $(window).on( |
1138 | + 'resize.datetimepicker' + picker.id, $.proxy(place, this)); |
1139 | + if (!picker.isInput) { |
1140 | + $(document).on( |
1141 | + 'mousedown.datetimepicker' + picker.id, $.proxy(picker.hide, this)); |
1142 | + } |
1143 | + }, |
1144 | + |
1145 | + detachDatePickerEvents = function () { |
1146 | + picker.widget.off('click', '.datepicker *', picker.click); |
1147 | + picker.widget.off('click', '[data-action]'); |
1148 | + picker.widget.off('mousedown', picker.stopEvent); |
1149 | + if (picker.options.pickDate && picker.options.pickTime) { |
1150 | + picker.widget.off('click.togglePicker'); |
1151 | + } |
1152 | + if (picker.isInput) { |
1153 | + picker.element.off({ |
1154 | + 'focus': picker.show, |
1155 | + 'change': picker.change |
1156 | + }); |
1157 | + } else { |
1158 | + picker.element.off({ |
1159 | + 'change': picker.change |
1160 | + }, 'input'); |
1161 | + if (picker.component) { |
1162 | + picker.component.off('click', picker.show); |
1163 | + } else { |
1164 | + picker.element.off('click', picker.show); |
1165 | + } |
1166 | + } |
1167 | + }, |
1168 | + |
1169 | + detachDatePickerGlobalEvents = function () { |
1170 | + $(window).off('resize.datetimepicker' + picker.id); |
1171 | + if (!picker.isInput) { |
1172 | + $(document).off('mousedown.datetimepicker' + picker.id); |
1173 | + } |
1174 | + }, |
1175 | + |
1176 | + isInFixed = function () { |
1177 | + if (picker.element) { |
1178 | + var parents = picker.element.parents(), inFixed = false, i; |
1179 | + for (i = 0; i < parents.length; i++) { |
1180 | + if ($(parents[i]).css('position') == 'fixed') { |
1181 | + inFixed = true; |
1182 | + break; |
1183 | + } |
1184 | + } |
1185 | + ; |
1186 | + return inFixed; |
1187 | + } else { |
1188 | + return false; |
1189 | + } |
1190 | + }, |
1191 | + |
1192 | + set = function () { |
1193 | + pMoment.lang(picker.options.language); |
1194 | + var formatted = '', input; |
1195 | + if (!picker.unset) formatted = pMoment(picker.date).format(picker.format); |
1196 | + if (!picker.isInput) { |
1197 | + if (picker.component) { |
1198 | + input = picker.element.find('input'); |
1199 | + input.val(formatted); |
1200 | + } |
1201 | + picker.element.data('date', formatted); |
1202 | + } else { |
1203 | + picker.element.val(formatted); |
1204 | + } |
1205 | + if (!picker.options.pickTime) picker.hide(); |
1206 | + }, |
1207 | + |
1208 | + checkDate = function (direction, unit, amount) { |
1209 | + pMoment.lang(picker.options.language); |
1210 | + var newDate; |
1211 | + if (direction == "add") { |
1212 | + newDate = pMoment(picker.date); |
1213 | + if (newDate.hours() == 23) newDate.add(amount, unit); |
1214 | + newDate.add(amount, unit); |
1215 | + } |
1216 | + else { |
1217 | + newDate = pMoment(picker.date).subtract(amount, unit); |
1218 | + } |
1219 | + if (newDate.isAfter(picker.options.endDate) || pMoment(newDate.subtract(amount, unit)).isBefore(picker.options.startDate) || isInDisableDates(newDate)) { |
1220 | + notifyError(newDate.format(picker.format)); |
1221 | + return; |
1222 | + } |
1223 | + |
1224 | + if (direction == "add") { |
1225 | + picker.date.add(amount, unit); |
1226 | + } |
1227 | + else { |
1228 | + picker.date.subtract(amount, unit); |
1229 | + } |
1230 | + }, |
1231 | + |
1232 | + isInDisableDates = function (date) { |
1233 | + pMoment.lang(picker.options.language); |
1234 | + var disabled = picker.options.disabledDates, i; |
1235 | + for (i in disabled) { |
1236 | + if (disabled[i] == pMoment(date).format("L")) { |
1237 | + return true; |
1238 | + } |
1239 | + } |
1240 | + return false; |
1241 | + }, |
1242 | + |
1243 | + isInEnableDates = function (date) { |
1244 | + pMoment.lang(picker.options.language); |
1245 | + var enabled = picker.options.enabledDates, i; |
1246 | + if (enabled.length) { |
1247 | + for (i in enabled) { |
1248 | + if (enabled[i] == pMoment(date).format("L")) { |
1249 | + return true; |
1250 | + } |
1251 | + } |
1252 | + return false; |
1253 | + } |
1254 | + return enabled === false ? true : false; |
1255 | + }, |
1256 | + padLeft = function (string) { |
1257 | + string = string.toString(); |
1258 | + if (string.length >= 2) return string; |
1259 | + else return '0' + string; |
1260 | + }, |
1261 | + |
1262 | + getTemplate = function (pickDate, pickTime, collapse) { |
1263 | + if (pickDate && pickTime) { |
1264 | + return ( |
1265 | + '<div class="bootstrap-datetimepicker-widget dropdown-menu" style="z-index:9999 !important;">' + |
1266 | + '<ul class="list-unstyled">' + |
1267 | + '<li' + (collapse ? ' class="collapse in"' : '') + '>' + |
1268 | + '<div class="datepicker">' + dpGlobal.template + '</div>' + |
1269 | + '</li>' + |
1270 | + '<li class="picker-switch accordion-toggle"><a class="btn" style="width:100%"><span class="' + picker.options.icons.time + '"></span></a></li>' + |
1271 | + '<li' + (collapse ? ' class="collapse"' : '') + '>' + |
1272 | + '<div class="timepicker">' + tpGlobal.getTemplate() + '</div>' + |
1273 | + '</li>' + |
1274 | + '</ul>' + |
1275 | + '</div>' |
1276 | + ); |
1277 | + } else if (pickTime) { |
1278 | + return ( |
1279 | + '<div class="bootstrap-datetimepicker-widget dropdown-menu">' + |
1280 | + '<div class="timepicker">' + tpGlobal.getTemplate() + '</div>' + |
1281 | + '</div>' |
1282 | + ); |
1283 | + } else { |
1284 | + return ( |
1285 | + '<div class="bootstrap-datetimepicker-widget dropdown-menu">' + |
1286 | + '<div class="datepicker">' + dpGlobal.template + '</div>' + |
1287 | + '</div>' |
1288 | + ); |
1289 | + } |
1290 | + }, |
1291 | + |
1292 | + dpGlobal = { |
1293 | + modes: [ |
1294 | + { |
1295 | + clsName: 'days', |
1296 | + navFnc: 'month', |
1297 | + navStep: 1 |
1298 | + }, |
1299 | + { |
1300 | + clsName: 'months', |
1301 | + navFnc: 'year', |
1302 | + navStep: 1 |
1303 | + }, |
1304 | + { |
1305 | + clsName: 'years', |
1306 | + navFnc: 'year', |
1307 | + navStep: 10 |
1308 | + }], |
1309 | + headTemplate: |
1310 | + '<thead>' + |
1311 | + '<tr>' + |
1312 | + '<th class="prev">‹</th><th colspan="5" class="switch"></th><th class="next">›</th>' + |
1313 | + '</tr>' + |
1314 | + '</thead>', |
1315 | + contTemplate: |
1316 | + '<tbody><tr><td colspan="7"></td></tr></tbody>' |
1317 | + }, |
1318 | + |
1319 | + tpGlobal = { |
1320 | + hourTemplate: '<span data-action="showHours" data-time-component="hours" class="timepicker-hour"></span>', |
1321 | + minuteTemplate: '<span data-action="showMinutes" data-time-component="minutes" class="timepicker-minute"></span>', |
1322 | + secondTemplate: '<span data-action="showSeconds" data-time-component="seconds" class="timepicker-second"></span>' |
1323 | + }; |
1324 | + |
1325 | + dpGlobal.template = |
1326 | + '<div class="datepicker-days">' + |
1327 | + '<table class="table-condensed">' + dpGlobal.headTemplate + '<tbody></tbody></table>' + |
1328 | + '</div>' + |
1329 | + '<div class="datepicker-months">' + |
1330 | + '<table class="table-condensed">' + dpGlobal.headTemplate + dpGlobal.contTemplate + '</table>' + |
1331 | + '</div>' + |
1332 | + '<div class="datepicker-years">' + |
1333 | + '<table class="table-condensed">' + dpGlobal.headTemplate + dpGlobal.contTemplate + '</table>' + |
1334 | + '</div>'; |
1335 | + |
1336 | + tpGlobal.getTemplate = function () { |
1337 | + return ( |
1338 | + '<div class="timepicker-picker">' + |
1339 | + '<table class="table-condensed">' + |
1340 | + '<tr>' + |
1341 | + '<td><a href="#" class="btn" data-action="incrementHours"><span class="' + picker.options.icons.up + '"></span></a></td>' + |
1342 | + '<td class="separator"></td>' + |
1343 | + '<td>' + (picker.options.useMinutes ? '<a href="#" class="btn" data-action="incrementMinutes"><span class="' + picker.options.icons.up + '"></span></a>' : '') + '</td>' + |
1344 | + (picker.options.useSeconds ? |
1345 | + '<td class="separator"></td><td><a href="#" class="btn" data-action="incrementSeconds"><span class="' + picker.options.icons.up + '"></span></a></td>' : '') + |
1346 | + (picker.options.use24hours ? '' : '<td class="separator"></td>') + |
1347 | + '</tr>' + |
1348 | + '<tr>' + |
1349 | + '<td>' + tpGlobal.hourTemplate + '</td> ' + |
1350 | + '<td class="separator">:</td>' + |
1351 | + '<td>' + (picker.options.useMinutes ? tpGlobal.minuteTemplate : '<span class="timepicker-minute">00</span>') + '</td> ' + |
1352 | + (picker.options.useSeconds ? |
1353 | + '<td class="separator">:</td><td>' + tpGlobal.secondTemplate + '</td>' : '') + |
1354 | + (picker.options.use24hours ? '' : '<td class="separator"></td>' + |
1355 | + '<td><button type="button" class="btn btn-primary" data-action="togglePeriod"></button></td>') + |
1356 | + '</tr>' + |
1357 | + '<tr>' + |
1358 | + '<td><a href="#" class="btn" data-action="decrementHours"><span class="' + picker.options.icons.down + '"></span></a></td>' + |
1359 | + '<td class="separator"></td>' + |
1360 | + '<td>' + (picker.options.useMinutes ? '<a href="#" class="btn" data-action="decrementMinutes"><span class="' + picker.options.icons.down + '"></span></a>' : '') + '</td>' + |
1361 | + (picker.options.useSeconds ? |
1362 | + '<td class="separator"></td><td><a href="#" class="btn" data-action="decrementSeconds"><span class="' + picker.options.icons.down + '"></span></a></td>' : '') + |
1363 | + (picker.options.use24hours ? '' : '<td class="separator"></td>') + |
1364 | + '</tr>' + |
1365 | + '</table>' + |
1366 | + '</div>' + |
1367 | + '<div class="timepicker-hours" data-action="selectHour">' + |
1368 | + '<table class="table-condensed"></table>' + |
1369 | + '</div>' + |
1370 | + '<div class="timepicker-minutes" data-action="selectMinute">' + |
1371 | + '<table class="table-condensed"></table>' + |
1372 | + '</div>' + |
1373 | + (picker.options.useSeconds ? |
1374 | + '<div class="timepicker-seconds" data-action="selectSecond"><table class="table-condensed"></table></div>' : '') |
1375 | + ); |
1376 | + }; |
1377 | + |
1378 | + picker.destroy = function () { |
1379 | + detachDatePickerEvents(); |
1380 | + detachDatePickerGlobalEvents(); |
1381 | + picker.widget.remove(); |
1382 | + picker.element.removeData('DateTimePicker'); |
1383 | + if (picker.component) |
1384 | + picker.component.removeData('DateTimePicker'); |
1385 | + }; |
1386 | + |
1387 | + picker.show = function (e) { |
1388 | + picker.widget.show(); |
1389 | + picker.height = picker.component ? picker.component.outerHeight() : picker.element.outerHeight(); |
1390 | + place(); |
1391 | + picker.element.trigger({ |
1392 | + type: 'show.dp', |
1393 | + date: pMoment(picker.date) |
1394 | + }); |
1395 | + attachDatePickerGlobalEvents(); |
1396 | + if (e) { |
1397 | + stopEvent(e); |
1398 | + } |
1399 | + }, |
1400 | + |
1401 | + picker.disable = function () { |
1402 | + var input = picker.element.find('input'); |
1403 | + if(!input.prop('disabled')) return; |
1404 | + |
1405 | + input.prop('disabled', true); |
1406 | + detachDatePickerEvents(); |
1407 | + }, |
1408 | + |
1409 | + picker.enable = function () { |
1410 | + var input = picker.element.find('input'); |
1411 | + if(!input.prop('disabled')) return; |
1412 | + |
1413 | + input.prop('disabled', true); |
1414 | + attachDatePickerEvents(); |
1415 | + }, |
1416 | + |
1417 | + picker.hide = function (event) { |
1418 | + if (event && $(event.target).is(picker.element.attr("id"))) |
1419 | + return; |
1420 | + // Ignore event if in the middle of a picker transition |
1421 | + var collapse = picker.widget.find('.collapse'), i, collapseData; |
1422 | + for (i = 0; i < collapse.length; i++) { |
1423 | + collapseData = collapse.eq(i).data('collapse'); |
1424 | + if (collapseData && collapseData.transitioning) |
1425 | + return; |
1426 | + } |
1427 | + picker.widget.hide(); |
1428 | + picker.viewMode = picker.startViewMode; |
1429 | + showMode(); |
1430 | + picker.element.trigger({ |
1431 | + type: 'hide.dp', |
1432 | + date: pMoment(picker.date) |
1433 | + }); |
1434 | + detachDatePickerGlobalEvents(); |
1435 | + }, |
1436 | + |
1437 | + picker.setValue = function (newDate) { |
1438 | + pMoment.lang(picker.options.language); |
1439 | + if (!newDate) { |
1440 | + picker.unset = true; |
1441 | + } else { |
1442 | + picker.unset = false; |
1443 | + } |
1444 | + if (!pMoment.isMoment(newDate)) newDate = pMoment(newDate); |
1445 | + if (newDate.isValid()) { |
1446 | + picker.date = newDate; |
1447 | + set(); |
1448 | + picker.viewDate = pMoment({ y: picker.date.year(), M: picker.date.month() }); |
1449 | + fillDate(); |
1450 | + fillTime(); |
1451 | + } |
1452 | + else { |
1453 | + notifyError(newDate); |
1454 | + } |
1455 | + }, |
1456 | + |
1457 | + picker.getDate = function () { |
1458 | + if (picker.unset) return null; |
1459 | + return picker.date; |
1460 | + }, |
1461 | + |
1462 | + picker.setDate = function (date) { |
1463 | + date = pMoment(date); |
1464 | + if (!date) picker.setValue(null); |
1465 | + else picker.setValue(date); |
1466 | + }, |
1467 | + |
1468 | + picker.setEnabledDates = function (dates) { |
1469 | + if (!dates) picker.options.enabledDates = false; |
1470 | + else picker.options.enabledDates = dates; |
1471 | + if (picker.viewDate) update(); |
1472 | + }, |
1473 | + |
1474 | + picker.setEndDate = function (date) { |
1475 | + picker.options.endDate = pMoment(date); |
1476 | + if (!picker.options.endDate.isValid()) { |
1477 | + picker.options.endDate = pMoment().add(50, "y"); |
1478 | + } |
1479 | + if (picker.viewDate) update(); |
1480 | + }, |
1481 | + |
1482 | + picker.setStartDate = function (date) { |
1483 | + picker.options.startDate = pMoment(date); |
1484 | + if (!picker.options.startDate.isValid()) { |
1485 | + picker.options.startDate = pMoment({ y: 1970 }); |
1486 | + } |
1487 | + if (picker.viewDate) update(); |
1488 | + }; |
1489 | + |
1490 | + init(); |
1491 | + }; |
1492 | + |
1493 | + $.fn.datetimepicker = function (options) { |
1494 | + return this.each(function () { |
1495 | + var $this = $(this), data = $this.data('DateTimePicker'); |
1496 | + if (!data) $this.data('DateTimePicker', new DateTimePicker(this, options)); |
1497 | + }); |
1498 | + }; |
1499 | +})); |
1500 | |
1501 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.min.js' |
1502 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.min.js 1970-01-01 00:00:00 +0000 |
1503 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.min.js 2014-02-14 15:04:13 +0000 |
1504 | @@ -0,0 +1,28 @@ |
1505 | +/** |
1506 | + * version 2.1.20 |
1507 | + * @license |
1508 | + * ========================================================= |
1509 | + * bootstrap-datetimepicker.js |
1510 | + * http://www.eyecon.ro/bootstrap-datepicker |
1511 | + * ========================================================= |
1512 | + * Copyright 2012 Stefan Petre |
1513 | + * |
1514 | + * Contributions: |
1515 | + * - updated for Bootstrap v3 by Jonathan Peterson (@Eonasdan) and (almost) |
1516 | + * completely rewritten to use Momentjs |
1517 | + * - based on tarruda's bootstrap-datepicker |
1518 | + * |
1519 | + * Licensed under the Apache License, Version 2.0 (the "License"); |
1520 | + * you may not use this file except in compliance with the License. |
1521 | + * You may obtain a copy of the License at |
1522 | + * |
1523 | + * http://www.apache.org/licenses/LICENSE-2.0 |
1524 | + * |
1525 | + * Unless required by applicable law or agreed to in writing, software |
1526 | + * distributed under the License is distributed on an "AS IS" BASIS, |
1527 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
1528 | + * See the License for the specific language governing permissions and |
1529 | + * limitations under the License. |
1530 | + * ========================================================= |
1531 | + */ |
1532 | +(function(e){if(typeof define==="function"&&define.amd){define(["jquery","moment"],e)}else{if(!jQuery){throw"bootstrap-datetimepicker requires jQuery to be loaded first"}else if(!moment){throw"bootstrap-datetimepicker requires moment.js to be loaded first"}else{e(jQuery,moment)}}})(function(e,t){if(typeof t==="undefined"){alert("momentjs is requried");throw new Error("momentjs is requried")}var n=0,r=t,i=function(t,i){var s={pickDate:true,pickTime:true,useMinutes:true,useSeconds:false,minuteStepping:1,startDate:new r({y:1970}),endDate:(new r).add(50,"y"),collapse:true,language:"en",defaultDate:"",disabledDates:[],enabledDates:false,icons:{},useStrict:false,calendarWeeks:false},o={time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down"},u=this,a=function(){var a=false,l,c,h;u.options=e.extend({},s,i);u.options.icons=e.extend({},o,u.options.icons);u.element=e(t);f();if(!(u.options.pickTime||u.options.pickDate))throw new Error("Must choose at least one picker");u.id=n++;r.lang(u.options.language);u.date=r();u.unset=false;u.isInput=u.element.is("input");u.component=false;if(u.element.hasClass("input-group")){if(u.element.find(".datepickerbutton").size()==0){u.component=u.element.find("[class^='input-group-']")}else{u.component=u.element.find(".datepickerbutton")}}u.format=u.options.format;h=r()._lang._longDateFormat;if(!u.format){if(u.isInput)u.format=u.element.data("format");else u.format=u.element.find("input").data("format");if(!u.format){u.format=u.options.pickDate?h.L:"";if(u.options.pickDate&&u.options.pickTime)u.format+=" ";u.format+=u.options.pickTime?h.LT:"";if(u.options.useSeconds){if(~h.LT.indexOf(" A")){u.format=u.format.split(" A")[0]+":ss A"}else{u.format+=":ss"}}}}u.options.use24hours=u.format.toLowerCase().indexOf("a")<1;if(u.component)a=u.component.find("span");if(u.options.pickTime){if(a)a.addClass(u.options.icons.time)}if(u.options.pickDate){if(a){a.removeClass(u.options.icons.time);a.addClass(u.options.icons.date)}}u.widget=e(F(u.options.pickDate,u.options.pickTime,u.options.collapse)).appendTo("body");u.minViewMode=u.options.minViewMode||u.element.data("date-minviewmode")||0;if(typeof u.minViewMode==="string"){switch(u.minViewMode){case"months":u.minViewMode=1;break;case"years":u.minViewMode=2;break;default:u.minViewMode=0;break}}if(u.options.calendarWeeks)u.widget.find("tfoot th.today").attr("colspan",function(e,t){return parseInt(t)+1});u.viewMode=u.options.viewMode||u.element.data("date-viewmode")||0;if(typeof u.viewMode==="string"){switch(u.viewMode){case"months":u.viewMode=1;break;case"years":u.viewMode=2;break;default:u.viewMode=0;break}}for(l=0;l<u.options.disabledDates.length;l++){c=u.options.disabledDates[l];c=r(c);if(!c.isValid())c=r(u.options.startDate).subtract(1,"day");u.options.disabledDates[l]=c.format("L")}for(l=0;l<u.options.enabledDates.length;l++){c=u.options.enabledDates[l];c=r(c);if(!c.isValid())c=r(u.options.startDate).subtract(1,"day");u.options.enabledDates[l]=c.format("L")}u.startViewMode=u.viewMode;u.setStartDate(u.options.startDate||u.element.data("date-startdate"));u.setEndDate(u.options.endDate||u.element.data("date-enddate"));d();v();y();b();w();p();k();L();if(u.options.defaultDate!=="")u.setValue(u.options.defaultDate)},f=function(){var e=u.element.data();if(e.pickdate!==undefined)u.options.pickDate=e.pickdate;if(e.picktime!==undefined)u.options.pickTime=e.picktime;if(e.useminutes!==undefined)u.options.useMinutes=e.useminutes;if(e.useseconds!==undefined)u.options.useSeconds=e.useseconds;if(e.minutestepping!==undefined)u.options.minuteStepping=e.minutestepping;if(e.startdate!==undefined)u.options.startDate=e.startdate;if(e.enddate!==undefined)u.options.endDate=e.enddate;if(e.collapse!==undefined)u.options.collapse=e.collapse;if(e.language!==undefined)u.options.language=e.language;if(e.defaultdate!==undefined)u.options.defaultDate=e.defaultdate;if(e.disableddates!==undefined)u.options.disabledDates=e.disableddates;if(e.enableddates!==undefined)u.options.enabledDates=e.enableddates;if(e.icons!==undefined)u.options.icons=e.icons;if(e.usestrict!==undefined)u.options.useStrict=e.usestrict;if(e.calendarWeeks!==undefined)u.options.calendarWeeks=e.calendarWeeks},l=function(){var t="absolute",n=u.component?u.component.offset():u.element.offset(),r=e(window);u.width=u.component?u.component.outerWidth():u.element.outerWidth();n.top=n.top+u.element.outerHeight();if(u.options.width!==undefined){u.widget.width(u.options.width)}if(u.options.orientation==="left"){u.widget.addClass("left-oriented");n.left=n.left-u.widget.width()+20}if(_()){t="fixed";n.top-=r.scrollTop();n.left-=r.scrollLeft()}if(r.width()<n.left+u.widget.outerWidth()){n.right=r.width()-n.left-u.width;n.left="auto";u.widget.addClass("pull-right")}else{n.right="auto";u.widget.removeClass("pull-right")}u.widget.css({position:t,top:n.top,left:n.left,right:n.right})},c=function(e,t){u.element.trigger({type:"change.dp",date:r(u.date),oldDate:r(e)})},h=function(e){u.element.trigger({type:"error.dp",date:r(e)})},p=function(e){r.lang(u.options.language);var t=e;if(!t){if(u.isInput){t=u.element.val()}else{t=u.element.find("input").val()}if(t)u.date=r(t,u.format,u.options.useStrict);if(!u.date)u.date=r()}u.viewDate=r(u.date).startOf("month");g();E()},d=function(){r.lang(u.options.language);var t=e("<tr>"),n=r.weekdaysMin(),i;if(u.options.calendarWeeks){var s='<th class="cw">Wk</th>';t.append(s)}if(r()._lang._week.dow==0){for(i=0;i<7;i++){t.append('<th class="dow">'+n[i]+"</th>")}}else{for(i=1;i<8;i++){if(i==7){t.append('<th class="dow">'+n[0]+"</th>")}else{t.append('<th class="dow">'+n[i]+"</th>")}}}u.widget.find(".datepicker-days thead").append(t)},v=function(){r.lang(u.options.language);var e="",t=0,n=r.monthsShort();while(t<12){e+='<span class="month">'+n[t++]+"</span>"}u.widget.find(".datepicker-months td").append(e)},m=function(){return new Date(Date.UTC.apply(Date,arguments))},g=function(){r.lang(u.options.language);var t=u.viewDate.year(),n=u.viewDate.month(),i=u.options.startDate.year(),s=u.options.startDate.month(),o=u.options.endDate.year(),a=u.options.endDate.month(),f,l,c=[],h,p,d,v,g,y,b=r.months();u.widget.find(".datepicker-days").find(".disabled").removeClass("disabled");u.widget.find(".datepicker-months").find(".disabled").removeClass("disabled");u.widget.find(".datepicker-years").find(".disabled").removeClass("disabled");u.widget.find(".datepicker-days th:eq(1)").text(b[n]+" "+t);f=r(u.viewDate).subtract("months",1);v=f.daysInMonth();f.date(v).startOf("week");if(t==i&&n<=s||t<i){u.widget.find(".datepicker-days th:eq(0)").addClass("disabled")}if(t==o&&n>=a||t>o){u.widget.find(".datepicker-days th:eq(2)").addClass("disabled")}l=r(f).add(42,"d");while(f.isBefore(l)){if(f.weekday()===r().startOf("week").weekday()){h=e("<tr>");c.push(h);if(u.options.calendarWeeks){var w=new Date(+f+(r().startOf("week").weekday()-f.weekday()-7)%7*864e5),E=new Date(+w+(7+4-w.getUTCDay())%7*864e5),S=new Date(+(S=m(E.getUTCFullYear(),0,1))+(7+4-S.getUTCDay())%7*864e5),x=(E-S)/864e5/7+1;h.append('<td class="cw">'+parseInt(x)+"</td>")}}p="";if(f.year()<t||f.year()==t&&f.month()<n){p+=" old"}else if(f.year()>t||f.year()==t&&f.month()>n){p+=" new"}if(f.isSame(r({y:u.date.year(),M:u.date.month(),d:u.date.date()}))){p+=" active"}if(r(f).add(1,"d")<=u.options.startDate||f>u.options.endDate||H(f)||!B(f)){p+=" disabled"}h.append('<td class="day'+p+'">'+f.date()+"</td>");f.add(1,"d")}u.widget.find(".datepicker-days tbody").empty().append(c);y=r().year(),b=u.widget.find(".datepicker-months").find("th:eq(1)").text(t).end().find("span").removeClass("active");if(y===t){b.eq(r().month()).addClass("active")}if(y-1<i){u.widget.find(".datepicker-months th:eq(0)").addClass("disabled")}if(y+1>o){u.widget.find(".datepicker-months th:eq(2)").addClass("disabled")}for(d=0;d<12;d++){if(t==i&&s>d||t<i){e(b[d]).addClass("disabled")}else if(t==o&&a<d||t>o){e(b[d]).addClass("disabled")}}c="";t=parseInt(t/10,10)*10;g=u.widget.find(".datepicker-years").find("th:eq(1)").text(t+"-"+(t+9)).end().find("td");u.widget.find(".datepicker-years").find("th").removeClass("disabled");if(i>t){u.widget.find(".datepicker-years").find("th:eq(0)").addClass("disabled")}if(o<t+9){u.widget.find(".datepicker-years").find("th:eq(2)").addClass("disabled")}t-=1;for(d=-1;d<11;d++){c+='<span class="year'+(d===-1||d===10?" old":"")+(y===t?" active":"")+(t<i||t>o?" disabled":"")+'">'+t+"</span>";t+=1}g.html(c)},y=function(){r.lang(u.options.language);var e=u.widget.find(".timepicker .timepicker-hours table"),t="",n,i,s;e.parent().hide();if(u.options.use24hours){n=0;for(i=0;i<6;i+=1){t+="<tr>";for(s=0;s<4;s+=1){t+='<td class="hour">'+j(n.toString())+"</td>";n++}t+="</tr>"}}else{n=1;for(i=0;i<3;i+=1){t+="<tr>";for(s=0;s<4;s+=1){t+='<td class="hour">'+j(n.toString())+"</td>";n++}t+="</tr>"}}e.html(t)},b=function(){var e=u.widget.find(".timepicker .timepicker-minutes table"),t="",n=0,r,i;e.parent().hide();for(r=0;r<5;r++){t+="<tr>";for(i=0;i<4;i+=1){t+='<td class="minute">'+j(n.toString())+"</td>";n+=3}t+="</tr>"}e.html(t)},w=function(){var e=u.widget.find(".timepicker .timepicker-seconds table"),t="",n=0,r,i;e.parent().hide();for(r=0;r<5;r++){t+="<tr>";for(i=0;i<4;i+=1){t+='<td class="second">'+j(n.toString())+"</td>";n+=3}t+="</tr>"}e.html(t)},E=function(){if(!u.date)return;var e=u.widget.find(".timepicker span[data-time-component]"),t=u.date.hours(),n="AM";if(!u.options.use24hours){if(t>=12)n="PM";if(t===0)t=12;else if(t!=12)t=t%12;u.widget.find(".timepicker [data-action=togglePeriod]").text(n)}e.filter("[data-time-component=hours]").text(j(t));e.filter("[data-time-component=minutes]").text(j(u.date.minutes()));e.filter("[data-time-component=seconds]").text(j(u.date.second()))},S=function(t){t.stopPropagation();t.preventDefault();u.unset=false;var n=e(t.target).closest("span, td, th"),i,s,o,a,f=r(u.date);if(n.length===1){if(!n.is(".disabled")){switch(n[0].nodeName.toLowerCase()){case"th":switch(n[0].className){case"switch":k(1);break;case"prev":case"next":o=I.modes[u.viewMode].navStep;if(n[0].className==="prev")o=o*-1;u.viewDate.add(o,I.modes[u.viewMode].navFnc);g();break}break;case"span":if(n.is(".month")){i=n.parent().find("span").index(n);u.viewDate.month(i)}else{s=parseInt(n.text(),10)||0;u.viewDate.year(s)}if(u.viewMode!==0){u.date=r({y:u.viewDate.year(),M:u.viewDate.month(),d:u.viewDate.date(),h:u.date.hours(),m:u.date.minutes()});c(f,t.type)}k(-1);g();break;case"td":if(n.is(".day")){a=parseInt(n.text(),10)||1;i=u.viewDate.month();s=u.viewDate.year();if(n.is(".old")){if(i===0){i=11;s-=1}else{i-=1}}else if(n.is(".new")){if(i==11){i=0;s+=1}else{i+=1}}u.date=r({y:s,M:i,d:a,h:u.date.hours(),m:u.date.minutes()});u.viewDate=r({y:s,M:i,d:Math.min(28,a)});g();D();c(f,t.type)}break}}}},x={incrementHours:function(){P("add","hours",1)},incrementMinutes:function(){P("add","minutes",u.options.minuteStepping)},incrementSeconds:function(){P("add","seconds",1)},decrementHours:function(){P("subtract","hours",1)},decrementMinutes:function(){P("subtract","minutes",u.options.minuteStepping)},decrementSeconds:function(){P("subtract","seconds",1)},togglePeriod:function(){var e=u.date.hours();if(e>=12)e-=12;else e+=12;u.date.hours(e)},showPicker:function(){u.widget.find(".timepicker > div:not(.timepicker-picker)").hide();u.widget.find(".timepicker .timepicker-picker").show()},showHours:function(){u.widget.find(".timepicker .timepicker-picker").hide();u.widget.find(".timepicker .timepicker-hours").show()},showMinutes:function(){u.widget.find(".timepicker .timepicker-picker").hide();u.widget.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){u.widget.find(".timepicker .timepicker-picker").hide();u.widget.find(".timepicker .timepicker-seconds").show()},selectHour:function(t){u.date.hours(parseInt(e(t.target).text(),10));x.showPicker.call(u)},selectMinute:function(t){u.date.minutes(parseInt(e(t.target).text(),10));x.showPicker.call(u)},selectSecond:function(t){u.date.seconds(parseInt(e(t.target).text(),10));x.showPicker.call(u)}},T=function(t){var n=r(u.date),i=e(t.currentTarget).data("action"),s=x[i].apply(u,arguments);N(t);if(!u.date)u.date=r({y:1970});D();E();c(n);return s},N=function(e){e.stopPropagation();e.preventDefault()},C=function(t){r.lang(u.options.language);var n=e(t.target),i=r(u.date),s=r(n.val(),u.format,u.options.useStrict);if(s.isValid()){p();u.setValue(s);c(i);D()}else{u.viewDate=i;c(i);h(s);u.unset=true;n.val("")}},k=function(e){if(e){u.viewMode=Math.max(u.minViewMode,Math.min(2,u.viewMode+e))}u.widget.find(".datepicker > div").hide().filter(".datepicker-"+I.modes[u.viewMode].clsName).show()},L=function(){var t,n,r,i,s;u.widget.on("click",".datepicker *",e.proxy(S,this));u.widget.on("click","[data-action]",e.proxy(T,this));u.widget.on("mousedown",e.proxy(N,this));if(u.options.pickDate&&u.options.pickTime){u.widget.on("click.togglePicker",".accordion-toggle",function(o){o.stopPropagation();t=e(this);n=t.closest("ul");r=n.find(".in");i=n.find(".collapse:not(.in)");if(r&&r.length){s=r.data("collapse");if(s&&s.transitioning)return;r.collapse("hide");i.collapse("show");t.find("span").toggleClass(u.options.icons.time+" "+u.options.icons.date);u.element.find(".input-group-addon span").toggleClass(u.options.icons.time+" "+u.options.icons.date)}})}if(u.isInput){u.element.on({focus:e.proxy(u.show,this),change:e.proxy(C,this),blur:e.proxy(u.hide,this)})}else{u.element.on({change:e.proxy(C,this)},"input");if(u.component){u.component.on("click",e.proxy(u.show,this))}else{u.element.on("click",e.proxy(u.show,this))}}},A=function(){e(window).on("resize.datetimepicker"+u.id,e.proxy(l,this));if(!u.isInput){e(document).on("mousedown.datetimepicker"+u.id,e.proxy(u.hide,this))}},O=function(){u.widget.off("click",".datepicker *",u.click);u.widget.off("click","[data-action]");u.widget.off("mousedown",u.stopEvent);if(u.options.pickDate&&u.options.pickTime){u.widget.off("click.togglePicker")}if(u.isInput){u.element.off({focus:u.show,change:u.change})}else{u.element.off({change:u.change},"input");if(u.component){u.component.off("click",u.show)}else{u.element.off("click",u.show)}}},M=function(){e(window).off("resize.datetimepicker"+u.id);if(!u.isInput){e(document).off("mousedown.datetimepicker"+u.id)}},_=function(){if(u.element){var t=u.element.parents(),n=false,r;for(r=0;r<t.length;r++){if(e(t[r]).css("position")=="fixed"){n=true;break}}return n}else{return false}},D=function(){r.lang(u.options.language);var e="",t;if(!u.unset)e=r(u.date).format(u.format);if(!u.isInput){if(u.component){t=u.element.find("input");t.val(e)}u.element.data("date",e)}else{u.element.val(e)}if(!u.options.pickTime)u.hide()},P=function(e,t,n){r.lang(u.options.language);var i;if(e=="add"){i=r(u.date);if(i.hours()==23)i.add(n,t);i.add(n,t)}else{i=r(u.date).subtract(n,t)}if(i.isAfter(u.options.endDate)||r(i.subtract(n,t)).isBefore(u.options.startDate)||H(i)){h(i.format(u.format));return}if(e=="add"){u.date.add(n,t)}else{u.date.subtract(n,t)}},H=function(e){r.lang(u.options.language);var t=u.options.disabledDates,n;for(n in t){if(t[n]==r(e).format("L")){return true}}return false},B=function(e){r.lang(u.options.language);var t=u.options.enabledDates,n;if(t.length){for(n in t){if(t[n]==r(e).format("L")){return true}}return false}return t===false?true:false},j=function(e){e=e.toString();if(e.length>=2)return e;else return"0"+e},F=function(e,t,n){if(e&&t){return'<div class="bootstrap-datetimepicker-widget dropdown-menu" style="z-index:9999 !important;">'+'<ul class="list-unstyled">'+"<li"+(n?' class="collapse in"':"")+">"+'<div class="datepicker">'+I.template+"</div>"+"</li>"+'<li class="picker-switch accordion-toggle"><a class="btn" style="width:100%"><span class="'+u.options.icons.time+'"></span></a></li>'+"<li"+(n?' class="collapse"':"")+">"+'<div class="timepicker">'+q.getTemplate()+"</div>"+"</li>"+"</ul>"+"</div>"}else if(t){return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+'<div class="timepicker">'+q.getTemplate()+"</div>"+"</div>"}else{return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+'<div class="datepicker">'+I.template+"</div>"+"</div>"}},I={modes:[{clsName:"days",navFnc:"month",navStep:1},{clsName:"months",navFnc:"year",navStep:1},{clsName:"years",navFnc:"year",navStep:10}],headTemplate:"<thead>"+"<tr>"+'<th class="prev">‹</th><th colspan="5" class="switch"></th><th class="next">›</th>'+"</tr>"+"</thead>",contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>'},q={hourTemplate:'<span data-action="showHours" data-time-component="hours" class="timepicker-hour"></span>',minuteTemplate:'<span data-action="showMinutes" data-time-component="minutes" class="timepicker-minute"></span>',secondTemplate:'<span data-action="showSeconds" data-time-component="seconds" class="timepicker-second"></span>'};I.template='<div class="datepicker-days">'+'<table class="table-condensed">'+I.headTemplate+"<tbody></tbody></table>"+"</div>"+'<div class="datepicker-months">'+'<table class="table-condensed">'+I.headTemplate+I.contTemplate+"</table>"+"</div>"+'<div class="datepicker-years">'+'<table class="table-condensed">'+I.headTemplate+I.contTemplate+"</table>"+"</div>";q.getTemplate=function(){return'<div class="timepicker-picker">'+'<table class="table-condensed">'+"<tr>"+'<td><a href="#" class="btn" data-action="incrementHours"><span class="'+u.options.icons.up+'"></span></a></td>'+'<td class="separator"></td>'+"<td>"+(u.options.useMinutes?'<a href="#" class="btn" data-action="incrementMinutes"><span class="'+u.options.icons.up+'"></span></a>':"")+"</td>"+(u.options.useSeconds?'<td class="separator"></td><td><a href="#" class="btn" data-action="incrementSeconds"><span class="'+u.options.icons.up+'"></span></a></td>':"")+(u.options.use24hours?"":'<td class="separator"></td>')+"</tr>"+"<tr>"+"<td>"+q.hourTemplate+"</td> "+'<td class="separator">:</td>'+"<td>"+(u.options.useMinutes?q.minuteTemplate:'<span class="timepicker-minute">00</span>')+"</td> "+(u.options.useSeconds?'<td class="separator">:</td><td>'+q.secondTemplate+"</td>":"")+(u.options.use24hours?"":'<td class="separator"></td>'+'<td><button type="button" class="btn btn-primary" data-action="togglePeriod"></button></td>')+"</tr>"+"<tr>"+'<td><a href="#" class="btn" data-action="decrementHours"><span class="'+u.options.icons.down+'"></span></a></td>'+'<td class="separator"></td>'+"<td>"+(u.options.useMinutes?'<a href="#" class="btn" data-action="decrementMinutes"><span class="'+u.options.icons.down+'"></span></a>':"")+"</td>"+(u.options.useSeconds?'<td class="separator"></td><td><a href="#" class="btn" data-action="decrementSeconds"><span class="'+u.options.icons.down+'"></span></a></td>':"")+(u.options.use24hours?"":'<td class="separator"></td>')+"</tr>"+"</table>"+"</div>"+'<div class="timepicker-hours" data-action="selectHour">'+'<table class="table-condensed"></table>'+"</div>"+'<div class="timepicker-minutes" data-action="selectMinute">'+'<table class="table-condensed"></table>'+"</div>"+(u.options.useSeconds?'<div class="timepicker-seconds" data-action="selectSecond"><table class="table-condensed"></table></div>':"")};u.destroy=function(){O();M();u.widget.remove();u.element.removeData("DateTimePicker");if(u.component)u.component.removeData("DateTimePicker")};u.show=function(e){u.widget.show();u.height=u.component?u.component.outerHeight():u.element.outerHeight();l();u.element.trigger({type:"show.dp",date:r(u.date)});A();if(e){N(e)}},u.disable=function(){var e=u.element.find("input");if(!e.prop("disabled"))return;e.prop("disabled",true);O()},u.enable=function(){var e=u.element.find("input");if(!e.prop("disabled"))return;e.prop("disabled",true);L()},u.hide=function(t){if(t&&e(t.target).is(u.element.attr("id")))return;var n=u.widget.find(".collapse"),i,s;for(i=0;i<n.length;i++){s=n.eq(i).data("collapse");if(s&&s.transitioning)return}u.widget.hide();u.viewMode=u.startViewMode;k();u.element.trigger({type:"hide.dp",date:r(u.date)});M()},u.setValue=function(e){r.lang(u.options.language);if(!e){u.unset=true}else{u.unset=false}if(!r.isMoment(e))e=r(e);if(e.isValid()){u.date=e;D();u.viewDate=r({y:u.date.year(),M:u.date.month()});g();E()}else{h(e)}},u.getDate=function(){if(u.unset)return null;return u.date},u.setDate=function(e){e=r(e);if(!e)u.setValue(null);else u.setValue(e)},u.setEnabledDates=function(e){if(!e)u.options.enabledDates=false;else u.options.enabledDates=e;if(u.viewDate)p()},u.setEndDate=function(e){u.options.endDate=r(e);if(!u.options.endDate.isValid()){u.options.endDate=r().add(50,"y")}if(u.viewDate)p()},u.setStartDate=function(e){u.options.startDate=r(e);if(!u.options.startDate.isValid()){u.options.startDate=r({y:1970})}if(u.viewDate)p()};a()};e.fn.datetimepicker=function(t){return this.each(function(){var n=e(this),r=n.data("DateTimePicker");if(!r)n.data("DateTimePicker",new i(this,t))})}}); |
1533 | |
1534 | === added directory 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales' |
1535 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar-ma.js' |
1536 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar-ma.js 1970-01-01 00:00:00 +0000 |
1537 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar-ma.js 2014-02-14 15:04:13 +0000 |
1538 | @@ -0,0 +1,56 @@ |
1539 | +// moment.js language configuration |
1540 | +// language : Moroccan Arabic (ar-ma) |
1541 | +// author : ElFadili Yassine : https://github.com/ElFadiliY |
1542 | +// author : Abdel Said : https://github.com/abdelsaid |
1543 | + |
1544 | +(function (factory) { |
1545 | + if (typeof define === 'function' && define.amd) { |
1546 | + define(['moment'], factory); // AMD |
1547 | + } else if (typeof exports === 'object') { |
1548 | + module.exports = factory(require('../moment')); // Node |
1549 | + } else { |
1550 | + factory(window.moment); // Browser global |
1551 | + } |
1552 | +}(function (moment) { |
1553 | + return moment.lang('ar-ma', { |
1554 | + months : "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"), |
1555 | + monthsShort : "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"), |
1556 | + weekdays : "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), |
1557 | + weekdaysShort : "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"), |
1558 | + weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"), |
1559 | + longDateFormat : { |
1560 | + LT : "HH:mm", |
1561 | + L : "DD/MM/YYYY", |
1562 | + LL : "D MMMM YYYY", |
1563 | + LLL : "D MMMM YYYY LT", |
1564 | + LLLL : "dddd D MMMM YYYY LT" |
1565 | + }, |
1566 | + calendar : { |
1567 | + sameDay: "[اليوم على الساعة] LT", |
1568 | + nextDay: '[غدا على الساعة] LT', |
1569 | + nextWeek: 'dddd [على الساعة] LT', |
1570 | + lastDay: '[أمس على الساعة] LT', |
1571 | + lastWeek: 'dddd [على الساعة] LT', |
1572 | + sameElse: 'L' |
1573 | + }, |
1574 | + relativeTime : { |
1575 | + future : "في %s", |
1576 | + past : "منذ %s", |
1577 | + s : "ثوان", |
1578 | + m : "دقيقة", |
1579 | + mm : "%d دقائق", |
1580 | + h : "ساعة", |
1581 | + hh : "%d ساعات", |
1582 | + d : "يوم", |
1583 | + dd : "%d أيام", |
1584 | + M : "شهر", |
1585 | + MM : "%d أشهر", |
1586 | + y : "سنة", |
1587 | + yy : "%d سنوات" |
1588 | + }, |
1589 | + week : { |
1590 | + dow : 6, // Saturday is the first day of the week. |
1591 | + doy : 12 // The week that contains Jan 1st is the first week of the year. |
1592 | + } |
1593 | + }); |
1594 | +})); |
1595 | |
1596 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar.js' |
1597 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar.js 1970-01-01 00:00:00 +0000 |
1598 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar.js 2014-02-14 15:04:13 +0000 |
1599 | @@ -0,0 +1,56 @@ |
1600 | +// moment.js language configuration |
1601 | +// language : Arabic (ar) |
1602 | +// author : Abdel Said : https://github.com/abdelsaid |
1603 | +// changes in months, weekdays : Ahmed Elkhatib |
1604 | + |
1605 | +(function (factory) { |
1606 | + if (typeof define === 'function' && define.amd) { |
1607 | + define(['moment'], factory); // AMD |
1608 | + } else if (typeof exports === 'object') { |
1609 | + module.exports = factory(require('../moment')); // Node |
1610 | + } else { |
1611 | + factory(window.moment); // Browser global |
1612 | + } |
1613 | +}(function (moment) { |
1614 | + return moment.lang('ar', { |
1615 | + months : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"), |
1616 | + monthsShort : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"), |
1617 | + weekdays : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), |
1618 | + weekdaysShort : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), |
1619 | + weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"), |
1620 | + longDateFormat : { |
1621 | + LT : "HH:mm", |
1622 | + L : "DD/MM/YYYY", |
1623 | + LL : "D MMMM YYYY", |
1624 | + LLL : "D MMMM YYYY LT", |
1625 | + LLLL : "dddd D MMMM YYYY LT" |
1626 | + }, |
1627 | + calendar : { |
1628 | + sameDay: "[اليوم على الساعة] LT", |
1629 | + nextDay: '[غدا على الساعة] LT', |
1630 | + nextWeek: 'dddd [على الساعة] LT', |
1631 | + lastDay: '[أمس على الساعة] LT', |
1632 | + lastWeek: 'dddd [على الساعة] LT', |
1633 | + sameElse: 'L' |
1634 | + }, |
1635 | + relativeTime : { |
1636 | + future : "في %s", |
1637 | + past : "منذ %s", |
1638 | + s : "ثوان", |
1639 | + m : "دقيقة", |
1640 | + mm : "%d دقائق", |
1641 | + h : "ساعة", |
1642 | + hh : "%d ساعات", |
1643 | + d : "يوم", |
1644 | + dd : "%d أيام", |
1645 | + M : "شهر", |
1646 | + MM : "%d أشهر", |
1647 | + y : "سنة", |
1648 | + yy : "%d سنوات" |
1649 | + }, |
1650 | + week : { |
1651 | + dow : 6, // Saturday is the first day of the week. |
1652 | + doy : 12 // The week that contains Jan 1st is the first week of the year. |
1653 | + } |
1654 | + }); |
1655 | +})); |
1656 | |
1657 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bg.js' |
1658 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bg.js 1970-01-01 00:00:00 +0000 |
1659 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bg.js 2014-02-14 15:04:13 +0000 |
1660 | @@ -0,0 +1,86 @@ |
1661 | +// moment.js language configuration |
1662 | +// language : bulgarian (bg) |
1663 | +// author : Krasen Borisov : https://github.com/kraz |
1664 | + |
1665 | +(function (factory) { |
1666 | + if (typeof define === 'function' && define.amd) { |
1667 | + define(['moment'], factory); // AMD |
1668 | + } else if (typeof exports === 'object') { |
1669 | + module.exports = factory(require('../moment')); // Node |
1670 | + } else { |
1671 | + factory(window.moment); // Browser global |
1672 | + } |
1673 | +}(function (moment) { |
1674 | + return moment.lang('bg', { |
1675 | + months : "януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"), |
1676 | + monthsShort : "янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"), |
1677 | + weekdays : "неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"), |
1678 | + weekdaysShort : "нед_пон_вто_сря_чет_пет_съб".split("_"), |
1679 | + weekdaysMin : "нд_пн_вт_ср_чт_пт_сб".split("_"), |
1680 | + longDateFormat : { |
1681 | + LT : "H:mm", |
1682 | + L : "D.MM.YYYY", |
1683 | + LL : "D MMMM YYYY", |
1684 | + LLL : "D MMMM YYYY LT", |
1685 | + LLLL : "dddd, D MMMM YYYY LT" |
1686 | + }, |
1687 | + calendar : { |
1688 | + sameDay : '[Днес в] LT', |
1689 | + nextDay : '[Утре в] LT', |
1690 | + nextWeek : 'dddd [в] LT', |
1691 | + lastDay : '[Вчера в] LT', |
1692 | + lastWeek : function () { |
1693 | + switch (this.day()) { |
1694 | + case 0: |
1695 | + case 3: |
1696 | + case 6: |
1697 | + return '[В изминалата] dddd [в] LT'; |
1698 | + case 1: |
1699 | + case 2: |
1700 | + case 4: |
1701 | + case 5: |
1702 | + return '[В изминалия] dddd [в] LT'; |
1703 | + } |
1704 | + }, |
1705 | + sameElse : 'L' |
1706 | + }, |
1707 | + relativeTime : { |
1708 | + future : "след %s", |
1709 | + past : "преди %s", |
1710 | + s : "няколко секунди", |
1711 | + m : "минута", |
1712 | + mm : "%d минути", |
1713 | + h : "час", |
1714 | + hh : "%d часа", |
1715 | + d : "ден", |
1716 | + dd : "%d дни", |
1717 | + M : "месец", |
1718 | + MM : "%d месеца", |
1719 | + y : "година", |
1720 | + yy : "%d години" |
1721 | + }, |
1722 | + ordinal : function (number) { |
1723 | + var lastDigit = number % 10, |
1724 | + last2Digits = number % 100; |
1725 | + if (number === 0) { |
1726 | + return number + '-ев'; |
1727 | + } else if (last2Digits === 0) { |
1728 | + return number + '-ен'; |
1729 | + } else if (last2Digits > 10 && last2Digits < 20) { |
1730 | + return number + '-ти'; |
1731 | + } else if (lastDigit === 1) { |
1732 | + return number + '-ви'; |
1733 | + } else if (lastDigit === 2) { |
1734 | + return number + '-ри'; |
1735 | + } else if (lastDigit === 7 || lastDigit === 8) { |
1736 | + return number + '-ми'; |
1737 | + } else { |
1738 | + return number + '-ти'; |
1739 | + } |
1740 | + }, |
1741 | + week : { |
1742 | + dow : 1, // Monday is the first day of the week. |
1743 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
1744 | + } |
1745 | + }); |
1746 | +})); |
1747 | |
1748 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.br.js' |
1749 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.br.js 1970-01-01 00:00:00 +0000 |
1750 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.br.js 2014-02-14 15:04:13 +0000 |
1751 | @@ -0,0 +1,107 @@ |
1752 | +// moment.js language configuration |
1753 | +// language : breton (br) |
1754 | +// author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou |
1755 | + |
1756 | +(function (factory) { |
1757 | + if (typeof define === 'function' && define.amd) { |
1758 | + define(['moment'], factory); // AMD |
1759 | + } else if (typeof exports === 'object') { |
1760 | + module.exports = factory(require('../moment')); // Node |
1761 | + } else { |
1762 | + factory(window.moment); // Browser global |
1763 | + } |
1764 | +}(function (moment) { |
1765 | + function relativeTimeWithMutation(number, withoutSuffix, key) { |
1766 | + var format = { |
1767 | + 'mm': "munutenn", |
1768 | + 'MM': "miz", |
1769 | + 'dd': "devezh" |
1770 | + }; |
1771 | + return number + ' ' + mutation(format[key], number); |
1772 | + } |
1773 | + |
1774 | + function specialMutationForYears(number) { |
1775 | + switch (lastNumber(number)) { |
1776 | + case 1: |
1777 | + case 3: |
1778 | + case 4: |
1779 | + case 5: |
1780 | + case 9: |
1781 | + return number + ' bloaz'; |
1782 | + default: |
1783 | + return number + ' vloaz'; |
1784 | + } |
1785 | + } |
1786 | + |
1787 | + function lastNumber(number) { |
1788 | + if (number > 9) { |
1789 | + return lastNumber(number % 10); |
1790 | + } |
1791 | + return number; |
1792 | + } |
1793 | + |
1794 | + function mutation(text, number) { |
1795 | + if (number === 2) { |
1796 | + return softMutation(text); |
1797 | + } |
1798 | + return text; |
1799 | + } |
1800 | + |
1801 | + function softMutation(text) { |
1802 | + var mutationTable = { |
1803 | + 'm': 'v', |
1804 | + 'b': 'v', |
1805 | + 'd': 'z' |
1806 | + }; |
1807 | + if (mutationTable[text.charAt(0)] === undefined) { |
1808 | + return text; |
1809 | + } |
1810 | + return mutationTable[text.charAt(0)] + text.substring(1); |
1811 | + } |
1812 | + |
1813 | + return moment.lang('br', { |
1814 | + months : "Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"), |
1815 | + monthsShort : "Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"), |
1816 | + weekdays : "Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"), |
1817 | + weekdaysShort : "Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"), |
1818 | + weekdaysMin : "Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"), |
1819 | + longDateFormat : { |
1820 | + LT : "h[e]mm A", |
1821 | + L : "DD/MM/YYYY", |
1822 | + LL : "D [a viz] MMMM YYYY", |
1823 | + LLL : "D [a viz] MMMM YYYY LT", |
1824 | + LLLL : "dddd, D [a viz] MMMM YYYY LT" |
1825 | + }, |
1826 | + calendar : { |
1827 | + sameDay : '[Hiziv da] LT', |
1828 | + nextDay : '[Warc\'hoazh da] LT', |
1829 | + nextWeek : 'dddd [da] LT', |
1830 | + lastDay : '[Dec\'h da] LT', |
1831 | + lastWeek : 'dddd [paset da] LT', |
1832 | + sameElse : 'L' |
1833 | + }, |
1834 | + relativeTime : { |
1835 | + future : "a-benn %s", |
1836 | + past : "%s 'zo", |
1837 | + s : "un nebeud segondennoù", |
1838 | + m : "ur vunutenn", |
1839 | + mm : relativeTimeWithMutation, |
1840 | + h : "un eur", |
1841 | + hh : "%d eur", |
1842 | + d : "un devezh", |
1843 | + dd : relativeTimeWithMutation, |
1844 | + M : "ur miz", |
1845 | + MM : relativeTimeWithMutation, |
1846 | + y : "ur bloaz", |
1847 | + yy : specialMutationForYears |
1848 | + }, |
1849 | + ordinal : function (number) { |
1850 | + var output = (number === 1) ? 'añ' : 'vet'; |
1851 | + return number + output; |
1852 | + }, |
1853 | + week : { |
1854 | + dow : 1, // Monday is the first day of the week. |
1855 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
1856 | + } |
1857 | + }); |
1858 | +})); |
1859 | |
1860 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bs.js' |
1861 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bs.js 1970-01-01 00:00:00 +0000 |
1862 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bs.js 2014-02-14 15:04:13 +0000 |
1863 | @@ -0,0 +1,139 @@ |
1864 | +// moment.js language configuration |
1865 | +// language : bosnian (bs) |
1866 | +// author : Nedim Cholich : https://github.com/frontyard |
1867 | +// based on (hr) translation by Bojan Marković |
1868 | + |
1869 | +(function (factory) { |
1870 | + if (typeof define === 'function' && define.amd) { |
1871 | + define(['moment'], factory); // AMD |
1872 | + } else if (typeof exports === 'object') { |
1873 | + module.exports = factory(require('../moment')); // Node |
1874 | + } else { |
1875 | + factory(window.moment); // Browser global |
1876 | + } |
1877 | +}(function (moment) { |
1878 | + |
1879 | + function translate(number, withoutSuffix, key) { |
1880 | + var result = number + " "; |
1881 | + switch (key) { |
1882 | + case 'm': |
1883 | + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; |
1884 | + case 'mm': |
1885 | + if (number === 1) { |
1886 | + result += 'minuta'; |
1887 | + } else if (number === 2 || number === 3 || number === 4) { |
1888 | + result += 'minute'; |
1889 | + } else { |
1890 | + result += 'minuta'; |
1891 | + } |
1892 | + return result; |
1893 | + case 'h': |
1894 | + return withoutSuffix ? 'jedan sat' : 'jednog sata'; |
1895 | + case 'hh': |
1896 | + if (number === 1) { |
1897 | + result += 'sat'; |
1898 | + } else if (number === 2 || number === 3 || number === 4) { |
1899 | + result += 'sata'; |
1900 | + } else { |
1901 | + result += 'sati'; |
1902 | + } |
1903 | + return result; |
1904 | + case 'dd': |
1905 | + if (number === 1) { |
1906 | + result += 'dan'; |
1907 | + } else { |
1908 | + result += 'dana'; |
1909 | + } |
1910 | + return result; |
1911 | + case 'MM': |
1912 | + if (number === 1) { |
1913 | + result += 'mjesec'; |
1914 | + } else if (number === 2 || number === 3 || number === 4) { |
1915 | + result += 'mjeseca'; |
1916 | + } else { |
1917 | + result += 'mjeseci'; |
1918 | + } |
1919 | + return result; |
1920 | + case 'yy': |
1921 | + if (number === 1) { |
1922 | + result += 'godina'; |
1923 | + } else if (number === 2 || number === 3 || number === 4) { |
1924 | + result += 'godine'; |
1925 | + } else { |
1926 | + result += 'godina'; |
1927 | + } |
1928 | + return result; |
1929 | + } |
1930 | + } |
1931 | + |
1932 | + return moment.lang('bs', { |
1933 | + months : "januar_februar_mart_april_maj_juni_juli_avgust_septembar_oktobar_novembar_decembar".split("_"), |
1934 | + monthsShort : "jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"), |
1935 | + weekdays : "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"), |
1936 | + weekdaysShort : "ned._pon._uto._sri._čet._pet._sub.".split("_"), |
1937 | + weekdaysMin : "ne_po_ut_sr_če_pe_su".split("_"), |
1938 | + longDateFormat : { |
1939 | + LT : "H:mm", |
1940 | + L : "DD. MM. YYYY", |
1941 | + LL : "D. MMMM YYYY", |
1942 | + LLL : "D. MMMM YYYY LT", |
1943 | + LLLL : "dddd, D. MMMM YYYY LT" |
1944 | + }, |
1945 | + calendar : { |
1946 | + sameDay : '[danas u] LT', |
1947 | + nextDay : '[sutra u] LT', |
1948 | + |
1949 | + nextWeek : function () { |
1950 | + switch (this.day()) { |
1951 | + case 0: |
1952 | + return '[u] [nedjelju] [u] LT'; |
1953 | + case 3: |
1954 | + return '[u] [srijedu] [u] LT'; |
1955 | + case 6: |
1956 | + return '[u] [subotu] [u] LT'; |
1957 | + case 1: |
1958 | + case 2: |
1959 | + case 4: |
1960 | + case 5: |
1961 | + return '[u] dddd [u] LT'; |
1962 | + } |
1963 | + }, |
1964 | + lastDay : '[jučer u] LT', |
1965 | + lastWeek : function () { |
1966 | + switch (this.day()) { |
1967 | + case 0: |
1968 | + case 3: |
1969 | + return '[prošlu] dddd [u] LT'; |
1970 | + case 6: |
1971 | + return '[prošle] [subote] [u] LT'; |
1972 | + case 1: |
1973 | + case 2: |
1974 | + case 4: |
1975 | + case 5: |
1976 | + return '[prošli] dddd [u] LT'; |
1977 | + } |
1978 | + }, |
1979 | + sameElse : 'L' |
1980 | + }, |
1981 | + relativeTime : { |
1982 | + future : "za %s", |
1983 | + past : "prije %s", |
1984 | + s : "par sekundi", |
1985 | + m : translate, |
1986 | + mm : translate, |
1987 | + h : translate, |
1988 | + hh : translate, |
1989 | + d : "dan", |
1990 | + dd : translate, |
1991 | + M : "mjesec", |
1992 | + MM : translate, |
1993 | + y : "godinu", |
1994 | + yy : translate |
1995 | + }, |
1996 | + ordinal : '%d.', |
1997 | + week : { |
1998 | + dow : 1, // Monday is the first day of the week. |
1999 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
2000 | + } |
2001 | + }); |
2002 | +})); |
2003 | |
2004 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ca.js' |
2005 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ca.js 1970-01-01 00:00:00 +0000 |
2006 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ca.js 2014-02-14 15:04:13 +0000 |
2007 | @@ -0,0 +1,66 @@ |
2008 | +// moment.js language configuration |
2009 | +// language : catalan (ca) |
2010 | +// author : Juan G. Hurtado : https://github.com/juanghurtado |
2011 | + |
2012 | +(function (factory) { |
2013 | + if (typeof define === 'function' && define.amd) { |
2014 | + define(['moment'], factory); // AMD |
2015 | + } else if (typeof exports === 'object') { |
2016 | + module.exports = factory(require('../moment')); // Node |
2017 | + } else { |
2018 | + factory(window.moment); // Browser global |
2019 | + } |
2020 | +}(function (moment) { |
2021 | + return moment.lang('ca', { |
2022 | + months : "Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"), |
2023 | + monthsShort : "Gen._Febr._Mar._Abr._Mai._Jun._Jul._Ag._Set._Oct._Nov._Des.".split("_"), |
2024 | + weekdays : "Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"), |
2025 | + weekdaysShort : "Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"), |
2026 | + weekdaysMin : "Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"), |
2027 | + longDateFormat : { |
2028 | + LT : "H:mm", |
2029 | + L : "DD/MM/YYYY", |
2030 | + LL : "D MMMM YYYY", |
2031 | + LLL : "D MMMM YYYY LT", |
2032 | + LLLL : "dddd D MMMM YYYY LT" |
2033 | + }, |
2034 | + calendar : { |
2035 | + sameDay : function () { |
2036 | + return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; |
2037 | + }, |
2038 | + nextDay : function () { |
2039 | + return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; |
2040 | + }, |
2041 | + nextWeek : function () { |
2042 | + return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; |
2043 | + }, |
2044 | + lastDay : function () { |
2045 | + return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; |
2046 | + }, |
2047 | + lastWeek : function () { |
2048 | + return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; |
2049 | + }, |
2050 | + sameElse : 'L' |
2051 | + }, |
2052 | + relativeTime : { |
2053 | + future : "en %s", |
2054 | + past : "fa %s", |
2055 | + s : "uns segons", |
2056 | + m : "un minut", |
2057 | + mm : "%d minuts", |
2058 | + h : "una hora", |
2059 | + hh : "%d hores", |
2060 | + d : "un dia", |
2061 | + dd : "%d dies", |
2062 | + M : "un mes", |
2063 | + MM : "%d mesos", |
2064 | + y : "un any", |
2065 | + yy : "%d anys" |
2066 | + }, |
2067 | + ordinal : '%dº', |
2068 | + week : { |
2069 | + dow : 1, // Monday is the first day of the week. |
2070 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2071 | + } |
2072 | + }); |
2073 | +})); |
2074 | |
2075 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cs.js' |
2076 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cs.js 1970-01-01 00:00:00 +0000 |
2077 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cs.js 2014-02-14 15:04:13 +0000 |
2078 | @@ -0,0 +1,155 @@ |
2079 | +// moment.js language configuration |
2080 | +// language : czech (cs) |
2081 | +// author : petrbela : https://github.com/petrbela |
2082 | + |
2083 | +(function (factory) { |
2084 | + if (typeof define === 'function' && define.amd) { |
2085 | + define(['moment'], factory); // AMD |
2086 | + } else if (typeof exports === 'object') { |
2087 | + module.exports = factory(require('../moment')); // Node |
2088 | + } else { |
2089 | + factory(window.moment); // Browser global |
2090 | + } |
2091 | +}(function (moment) { |
2092 | + var months = "leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"), |
2093 | + monthsShort = "led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"); |
2094 | + |
2095 | + function plural(n) { |
2096 | + return (n > 1) && (n < 5) && (~~(n / 10) !== 1); |
2097 | + } |
2098 | + |
2099 | + function translate(number, withoutSuffix, key, isFuture) { |
2100 | + var result = number + " "; |
2101 | + switch (key) { |
2102 | + case 's': // a few seconds / in a few seconds / a few seconds ago |
2103 | + return (withoutSuffix || isFuture) ? 'pár vteřin' : 'pár vteřinami'; |
2104 | + case 'm': // a minute / in a minute / a minute ago |
2105 | + return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); |
2106 | + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago |
2107 | + if (withoutSuffix || isFuture) { |
2108 | + return result + (plural(number) ? 'minuty' : 'minut'); |
2109 | + } else { |
2110 | + return result + 'minutami'; |
2111 | + } |
2112 | + break; |
2113 | + case 'h': // an hour / in an hour / an hour ago |
2114 | + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); |
2115 | + case 'hh': // 9 hours / in 9 hours / 9 hours ago |
2116 | + if (withoutSuffix || isFuture) { |
2117 | + return result + (plural(number) ? 'hodiny' : 'hodin'); |
2118 | + } else { |
2119 | + return result + 'hodinami'; |
2120 | + } |
2121 | + break; |
2122 | + case 'd': // a day / in a day / a day ago |
2123 | + return (withoutSuffix || isFuture) ? 'den' : 'dnem'; |
2124 | + case 'dd': // 9 days / in 9 days / 9 days ago |
2125 | + if (withoutSuffix || isFuture) { |
2126 | + return result + (plural(number) ? 'dny' : 'dní'); |
2127 | + } else { |
2128 | + return result + 'dny'; |
2129 | + } |
2130 | + break; |
2131 | + case 'M': // a month / in a month / a month ago |
2132 | + return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem'; |
2133 | + case 'MM': // 9 months / in 9 months / 9 months ago |
2134 | + if (withoutSuffix || isFuture) { |
2135 | + return result + (plural(number) ? 'měsíce' : 'měsíců'); |
2136 | + } else { |
2137 | + return result + 'měsíci'; |
2138 | + } |
2139 | + break; |
2140 | + case 'y': // a year / in a year / a year ago |
2141 | + return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; |
2142 | + case 'yy': // 9 years / in 9 years / 9 years ago |
2143 | + if (withoutSuffix || isFuture) { |
2144 | + return result + (plural(number) ? 'roky' : 'let'); |
2145 | + } else { |
2146 | + return result + 'lety'; |
2147 | + } |
2148 | + break; |
2149 | + } |
2150 | + } |
2151 | + |
2152 | + return moment.lang('cs', { |
2153 | + months : months, |
2154 | + monthsShort : monthsShort, |
2155 | + monthsParse : (function (months, monthsShort) { |
2156 | + var i, _monthsParse = []; |
2157 | + for (i = 0; i < 12; i++) { |
2158 | + // use custom parser to solve problem with July (červenec) |
2159 | + _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i'); |
2160 | + } |
2161 | + return _monthsParse; |
2162 | + }(months, monthsShort)), |
2163 | + weekdays : "neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"), |
2164 | + weekdaysShort : "ne_po_út_st_čt_pá_so".split("_"), |
2165 | + weekdaysMin : "ne_po_út_st_čt_pá_so".split("_"), |
2166 | + longDateFormat : { |
2167 | + LT: "H:mm", |
2168 | + L : "DD.MM.YYYY", |
2169 | + LL : "D. MMMM YYYY", |
2170 | + LLL : "D. MMMM YYYY LT", |
2171 | + LLLL : "dddd D. MMMM YYYY LT" |
2172 | + }, |
2173 | + calendar : { |
2174 | + sameDay: "[dnes v] LT", |
2175 | + nextDay: '[zítra v] LT', |
2176 | + nextWeek: function () { |
2177 | + switch (this.day()) { |
2178 | + case 0: |
2179 | + return '[v neděli v] LT'; |
2180 | + case 1: |
2181 | + case 2: |
2182 | + return '[v] dddd [v] LT'; |
2183 | + case 3: |
2184 | + return '[ve středu v] LT'; |
2185 | + case 4: |
2186 | + return '[ve čtvrtek v] LT'; |
2187 | + case 5: |
2188 | + return '[v pátek v] LT'; |
2189 | + case 6: |
2190 | + return '[v sobotu v] LT'; |
2191 | + } |
2192 | + }, |
2193 | + lastDay: '[včera v] LT', |
2194 | + lastWeek: function () { |
2195 | + switch (this.day()) { |
2196 | + case 0: |
2197 | + return '[minulou neděli v] LT'; |
2198 | + case 1: |
2199 | + case 2: |
2200 | + return '[minulé] dddd [v] LT'; |
2201 | + case 3: |
2202 | + return '[minulou středu v] LT'; |
2203 | + case 4: |
2204 | + case 5: |
2205 | + return '[minulý] dddd [v] LT'; |
2206 | + case 6: |
2207 | + return '[minulou sobotu v] LT'; |
2208 | + } |
2209 | + }, |
2210 | + sameElse: "L" |
2211 | + }, |
2212 | + relativeTime : { |
2213 | + future : "za %s", |
2214 | + past : "před %s", |
2215 | + s : translate, |
2216 | + m : translate, |
2217 | + mm : translate, |
2218 | + h : translate, |
2219 | + hh : translate, |
2220 | + d : translate, |
2221 | + dd : translate, |
2222 | + M : translate, |
2223 | + MM : translate, |
2224 | + y : translate, |
2225 | + yy : translate |
2226 | + }, |
2227 | + ordinal : '%d.', |
2228 | + week : { |
2229 | + dow : 1, // Monday is the first day of the week. |
2230 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2231 | + } |
2232 | + }); |
2233 | +})); |
2234 | |
2235 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cv.js' |
2236 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cv.js 1970-01-01 00:00:00 +0000 |
2237 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cv.js 2014-02-14 15:04:13 +0000 |
2238 | @@ -0,0 +1,59 @@ |
2239 | +// moment.js language configuration |
2240 | +// language : chuvash (cv) |
2241 | +// author : Anatoly Mironov : https://github.com/mirontoli |
2242 | + |
2243 | +(function (factory) { |
2244 | + if (typeof define === 'function' && define.amd) { |
2245 | + define(['moment'], factory); // AMD |
2246 | + } else if (typeof exports === 'object') { |
2247 | + module.exports = factory(require('../moment')); // Node |
2248 | + } else { |
2249 | + factory(window.moment); // Browser global |
2250 | + } |
2251 | +}(function (moment) { |
2252 | + return moment.lang('cv', { |
2253 | + months : "кăрлач_нарăс_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"), |
2254 | + monthsShort : "кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"), |
2255 | + weekdays : "вырсарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_эрнекун_шăматкун".split("_"), |
2256 | + weekdaysShort : "выр_тун_ытл_юн_кĕç_эрн_шăм".split("_"), |
2257 | + weekdaysMin : "вр_тн_ыт_юн_кç_эр_шм".split("_"), |
2258 | + longDateFormat : { |
2259 | + LT : "HH:mm", |
2260 | + L : "DD-MM-YYYY", |
2261 | + LL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]", |
2262 | + LLL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT", |
2263 | + LLLL : "dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT" |
2264 | + }, |
2265 | + calendar : { |
2266 | + sameDay: '[Паян] LT [сехетре]', |
2267 | + nextDay: '[Ыран] LT [сехетре]', |
2268 | + lastDay: '[Ĕнер] LT [сехетре]', |
2269 | + nextWeek: '[Çитес] dddd LT [сехетре]', |
2270 | + lastWeek: '[Иртнĕ] dddd LT [сехетре]', |
2271 | + sameElse: 'L' |
2272 | + }, |
2273 | + relativeTime : { |
2274 | + future : function (output) { |
2275 | + var affix = /сехет$/i.exec(output) ? "рен" : /çул$/i.exec(output) ? "тан" : "ран"; |
2276 | + return output + affix; |
2277 | + }, |
2278 | + past : "%s каялла", |
2279 | + s : "пĕр-ик çеккунт", |
2280 | + m : "пĕр минут", |
2281 | + mm : "%d минут", |
2282 | + h : "пĕр сехет", |
2283 | + hh : "%d сехет", |
2284 | + d : "пĕр кун", |
2285 | + dd : "%d кун", |
2286 | + M : "пĕр уйăх", |
2287 | + MM : "%d уйăх", |
2288 | + y : "пĕр çул", |
2289 | + yy : "%d çул" |
2290 | + }, |
2291 | + ordinal : '%d-мĕш', |
2292 | + week : { |
2293 | + dow : 1, // Monday is the first day of the week. |
2294 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
2295 | + } |
2296 | + }); |
2297 | +})); |
2298 | |
2299 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.da.js' |
2300 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.da.js 1970-01-01 00:00:00 +0000 |
2301 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.da.js 2014-02-14 15:04:13 +0000 |
2302 | @@ -0,0 +1,56 @@ |
2303 | +// moment.js language configuration |
2304 | +// language : danish (da) |
2305 | +// author : Ulrik Nielsen : https://github.com/mrbase |
2306 | + |
2307 | +(function (factory) { |
2308 | + if (typeof define === 'function' && define.amd) { |
2309 | + define(['moment'], factory); // AMD |
2310 | + } else if (typeof exports === 'object') { |
2311 | + module.exports = factory(require('../moment')); // Node |
2312 | + } else { |
2313 | + factory(window.moment); // Browser global |
2314 | + } |
2315 | +}(function (moment) { |
2316 | + return moment.lang('da', { |
2317 | + months : "januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"), |
2318 | + monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"), |
2319 | + weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"), |
2320 | + weekdaysShort : "søn_man_tir_ons_tor_fre_lør".split("_"), |
2321 | + weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"), |
2322 | + longDateFormat : { |
2323 | + LT : "HH:mm", |
2324 | + L : "DD/MM/YYYY", |
2325 | + LL : "D MMMM YYYY", |
2326 | + LLL : "D MMMM YYYY LT", |
2327 | + LLLL : "dddd D. MMMM, YYYY LT" |
2328 | + }, |
2329 | + calendar : { |
2330 | + sameDay : '[I dag kl.] LT', |
2331 | + nextDay : '[I morgen kl.] LT', |
2332 | + nextWeek : 'dddd [kl.] LT', |
2333 | + lastDay : '[I går kl.] LT', |
2334 | + lastWeek : '[sidste] dddd [kl] LT', |
2335 | + sameElse : 'L' |
2336 | + }, |
2337 | + relativeTime : { |
2338 | + future : "om %s", |
2339 | + past : "%s siden", |
2340 | + s : "få sekunder", |
2341 | + m : "et minut", |
2342 | + mm : "%d minutter", |
2343 | + h : "en time", |
2344 | + hh : "%d timer", |
2345 | + d : "en dag", |
2346 | + dd : "%d dage", |
2347 | + M : "en måned", |
2348 | + MM : "%d måneder", |
2349 | + y : "et år", |
2350 | + yy : "%d år" |
2351 | + }, |
2352 | + ordinal : '%d.', |
2353 | + week : { |
2354 | + dow : 1, // Monday is the first day of the week. |
2355 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2356 | + } |
2357 | + }); |
2358 | +})); |
2359 | |
2360 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.de.js' |
2361 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.de.js 1970-01-01 00:00:00 +0000 |
2362 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.de.js 2014-02-14 15:04:13 +0000 |
2363 | @@ -0,0 +1,71 @@ |
2364 | +// moment.js language configuration |
2365 | +// language : german (de) |
2366 | +// author : lluchs : https://github.com/lluchs |
2367 | +// author: Menelion Elensúle: https://github.com/Oire |
2368 | + |
2369 | +(function (factory) { |
2370 | + if (typeof define === 'function' && define.amd) { |
2371 | + define(['moment'], factory); // AMD |
2372 | + } else if (typeof exports === 'object') { |
2373 | + module.exports = factory(require('../moment')); // Node |
2374 | + } else { |
2375 | + factory(window.moment); // Browser global |
2376 | + } |
2377 | +}(function (moment) { |
2378 | + function processRelativeTime(number, withoutSuffix, key, isFuture) { |
2379 | + var format = { |
2380 | + 'm': ['eine Minute', 'einer Minute'], |
2381 | + 'h': ['eine Stunde', 'einer Stunde'], |
2382 | + 'd': ['ein Tag', 'einem Tag'], |
2383 | + 'dd': [number + ' Tage', number + ' Tagen'], |
2384 | + 'M': ['ein Monat', 'einem Monat'], |
2385 | + 'MM': [number + ' Monate', number + ' Monaten'], |
2386 | + 'y': ['ein Jahr', 'einem Jahr'], |
2387 | + 'yy': [number + ' Jahre', number + ' Jahren'] |
2388 | + }; |
2389 | + return withoutSuffix ? format[key][0] : format[key][1]; |
2390 | + } |
2391 | + |
2392 | + return moment.lang('de', { |
2393 | + months : "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"), |
2394 | + monthsShort : "Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"), |
2395 | + weekdays : "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"), |
2396 | + weekdaysShort : "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"), |
2397 | + weekdaysMin : "So_Mo_Di_Mi_Do_Fr_Sa".split("_"), |
2398 | + longDateFormat : { |
2399 | + LT: "H:mm [Uhr]", |
2400 | + L : "DD.MM.YYYY", |
2401 | + LL : "D. MMMM YYYY", |
2402 | + LLL : "D. MMMM YYYY LT", |
2403 | + LLLL : "dddd, D. MMMM YYYY LT" |
2404 | + }, |
2405 | + calendar : { |
2406 | + sameDay: "[Heute um] LT", |
2407 | + sameElse: "L", |
2408 | + nextDay: '[Morgen um] LT', |
2409 | + nextWeek: 'dddd [um] LT', |
2410 | + lastDay: '[Gestern um] LT', |
2411 | + lastWeek: '[letzten] dddd [um] LT' |
2412 | + }, |
2413 | + relativeTime : { |
2414 | + future : "in %s", |
2415 | + past : "vor %s", |
2416 | + s : "ein paar Sekunden", |
2417 | + m : processRelativeTime, |
2418 | + mm : "%d Minuten", |
2419 | + h : processRelativeTime, |
2420 | + hh : "%d Stunden", |
2421 | + d : processRelativeTime, |
2422 | + dd : processRelativeTime, |
2423 | + M : processRelativeTime, |
2424 | + MM : processRelativeTime, |
2425 | + y : processRelativeTime, |
2426 | + yy : processRelativeTime |
2427 | + }, |
2428 | + ordinal : '%d.', |
2429 | + week : { |
2430 | + dow : 1, // Monday is the first day of the week. |
2431 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2432 | + } |
2433 | + }); |
2434 | +})); |
2435 | |
2436 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.el.js' |
2437 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.el.js 1970-01-01 00:00:00 +0000 |
2438 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.el.js 2014-02-14 15:04:13 +0000 |
2439 | @@ -0,0 +1,79 @@ |
2440 | +// moment.js language configuration |
2441 | +// language : modern greek (el) |
2442 | +// author : Aggelos Karalias : https://github.com/mehiel |
2443 | + |
2444 | +(function (factory) { |
2445 | + if (typeof define === 'function' && define.amd) { |
2446 | + define(['moment'], factory); // AMD |
2447 | + } else if (typeof exports === 'object') { |
2448 | + module.exports = factory(require('../moment')); // Node |
2449 | + } else { |
2450 | + factory(window.moment); // Browser global |
2451 | + } |
2452 | +}(function (moment) { |
2453 | + return moment.lang('el', { |
2454 | + monthsNominativeEl : "Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"), |
2455 | + monthsGenitiveEl : "Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"), |
2456 | + months : function (momentToFormat, format) { |
2457 | + if (/D/.test(format.substring(0, format.indexOf("MMMM")))) { // if there is a day number before 'MMMM' |
2458 | + return this._monthsGenitiveEl[momentToFormat.month()]; |
2459 | + } else { |
2460 | + return this._monthsNominativeEl[momentToFormat.month()]; |
2461 | + } |
2462 | + }, |
2463 | + monthsShort : "Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"), |
2464 | + weekdays : "Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"), |
2465 | + weekdaysShort : "Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"), |
2466 | + weekdaysMin : "Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"), |
2467 | + meridiem : function (hours, minutes, isLower) { |
2468 | + if (hours > 11) { |
2469 | + return isLower ? 'μμ' : 'ΜΜ'; |
2470 | + } else { |
2471 | + return isLower ? 'πμ' : 'ΠΜ'; |
2472 | + } |
2473 | + }, |
2474 | + longDateFormat : { |
2475 | + LT : "h:mm A", |
2476 | + L : "DD/MM/YYYY", |
2477 | + LL : "D MMMM YYYY", |
2478 | + LLL : "D MMMM YYYY LT", |
2479 | + LLLL : "dddd, D MMMM YYYY LT" |
2480 | + }, |
2481 | + calendarEl : { |
2482 | + sameDay : '[Σήμερα {}] LT', |
2483 | + nextDay : '[Αύριο {}] LT', |
2484 | + nextWeek : 'dddd [{}] LT', |
2485 | + lastDay : '[Χθες {}] LT', |
2486 | + lastWeek : '[την προηγούμενη] dddd [{}] LT', |
2487 | + sameElse : 'L' |
2488 | + }, |
2489 | + calendar : function (key, mom) { |
2490 | + var output = this._calendarEl[key], |
2491 | + hours = mom && mom.hours(); |
2492 | + |
2493 | + return output.replace("{}", (hours % 12 === 1 ? "στη" : "στις")); |
2494 | + }, |
2495 | + relativeTime : { |
2496 | + future : "σε %s", |
2497 | + past : "%s πριν", |
2498 | + s : "δευτερόλεπτα", |
2499 | + m : "ένα λεπτό", |
2500 | + mm : "%d λεπτά", |
2501 | + h : "μία ώρα", |
2502 | + hh : "%d ώρες", |
2503 | + d : "μία μέρα", |
2504 | + dd : "%d μέρες", |
2505 | + M : "ένας μήνας", |
2506 | + MM : "%d μήνες", |
2507 | + y : "ένας χρόνος", |
2508 | + yy : "%d χρόνια" |
2509 | + }, |
2510 | + ordinal : function (number) { |
2511 | + return number + 'η'; |
2512 | + }, |
2513 | + week : { |
2514 | + dow : 1, // Monday is the first day of the week. |
2515 | + doy : 4 // The week that contains Jan 4st is the first week of the year. |
2516 | + } |
2517 | + }); |
2518 | +})); |
2519 | |
2520 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-au.js' |
2521 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-au.js 1970-01-01 00:00:00 +0000 |
2522 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-au.js 2014-02-14 15:04:13 +0000 |
2523 | @@ -0,0 +1,62 @@ |
2524 | +// moment.js language configuration |
2525 | +// language : australian english (en-au) |
2526 | + |
2527 | +(function (factory) { |
2528 | + if (typeof define === 'function' && define.amd) { |
2529 | + define(['moment'], factory); // AMD |
2530 | + } else if (typeof exports === 'object') { |
2531 | + module.exports = factory(require('../moment')); // Node |
2532 | + } else { |
2533 | + factory(window.moment); // Browser global |
2534 | + } |
2535 | +}(function (moment) { |
2536 | + return moment.lang('en-au', { |
2537 | + months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), |
2538 | + monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), |
2539 | + weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), |
2540 | + weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), |
2541 | + weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), |
2542 | + longDateFormat : { |
2543 | + LT : "h:mm A", |
2544 | + L : "DD/MM/YYYY", |
2545 | + LL : "D MMMM YYYY", |
2546 | + LLL : "D MMMM YYYY LT", |
2547 | + LLLL : "dddd, D MMMM YYYY LT" |
2548 | + }, |
2549 | + calendar : { |
2550 | + sameDay : '[Today at] LT', |
2551 | + nextDay : '[Tomorrow at] LT', |
2552 | + nextWeek : 'dddd [at] LT', |
2553 | + lastDay : '[Yesterday at] LT', |
2554 | + lastWeek : '[Last] dddd [at] LT', |
2555 | + sameElse : 'L' |
2556 | + }, |
2557 | + relativeTime : { |
2558 | + future : "in %s", |
2559 | + past : "%s ago", |
2560 | + s : "a few seconds", |
2561 | + m : "a minute", |
2562 | + mm : "%d minutes", |
2563 | + h : "an hour", |
2564 | + hh : "%d hours", |
2565 | + d : "a day", |
2566 | + dd : "%d days", |
2567 | + M : "a month", |
2568 | + MM : "%d months", |
2569 | + y : "a year", |
2570 | + yy : "%d years" |
2571 | + }, |
2572 | + ordinal : function (number) { |
2573 | + var b = number % 10, |
2574 | + output = (~~ (number % 100 / 10) === 1) ? 'th' : |
2575 | + (b === 1) ? 'st' : |
2576 | + (b === 2) ? 'nd' : |
2577 | + (b === 3) ? 'rd' : 'th'; |
2578 | + return number + output; |
2579 | + }, |
2580 | + week : { |
2581 | + dow : 1, // Monday is the first day of the week. |
2582 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2583 | + } |
2584 | + }); |
2585 | +})); |
2586 | |
2587 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-ca.js' |
2588 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-ca.js 1970-01-01 00:00:00 +0000 |
2589 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-ca.js 2014-02-14 15:04:13 +0000 |
2590 | @@ -0,0 +1,59 @@ |
2591 | +// moment.js language configuration |
2592 | +// language : canadian english (en-ca) |
2593 | +// author : Jonathan Abourbih : https://github.com/jonbca |
2594 | + |
2595 | +(function (factory) { |
2596 | + if (typeof define === 'function' && define.amd) { |
2597 | + define(['moment'], factory); // AMD |
2598 | + } else if (typeof exports === 'object') { |
2599 | + module.exports = factory(require('../moment')); // Node |
2600 | + } else { |
2601 | + factory(window.moment); // Browser global |
2602 | + } |
2603 | +}(function (moment) { |
2604 | + return moment.lang('en-ca', { |
2605 | + months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), |
2606 | + monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), |
2607 | + weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), |
2608 | + weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), |
2609 | + weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), |
2610 | + longDateFormat : { |
2611 | + LT : "h:mm A", |
2612 | + L : "YYYY-MM-DD", |
2613 | + LL : "D MMMM, YYYY", |
2614 | + LLL : "D MMMM, YYYY LT", |
2615 | + LLLL : "dddd, D MMMM, YYYY LT" |
2616 | + }, |
2617 | + calendar : { |
2618 | + sameDay : '[Today at] LT', |
2619 | + nextDay : '[Tomorrow at] LT', |
2620 | + nextWeek : 'dddd [at] LT', |
2621 | + lastDay : '[Yesterday at] LT', |
2622 | + lastWeek : '[Last] dddd [at] LT', |
2623 | + sameElse : 'L' |
2624 | + }, |
2625 | + relativeTime : { |
2626 | + future : "in %s", |
2627 | + past : "%s ago", |
2628 | + s : "a few seconds", |
2629 | + m : "a minute", |
2630 | + mm : "%d minutes", |
2631 | + h : "an hour", |
2632 | + hh : "%d hours", |
2633 | + d : "a day", |
2634 | + dd : "%d days", |
2635 | + M : "a month", |
2636 | + MM : "%d months", |
2637 | + y : "a year", |
2638 | + yy : "%d years" |
2639 | + }, |
2640 | + ordinal : function (number) { |
2641 | + var b = number % 10, |
2642 | + output = (~~ (number % 100 / 10) === 1) ? 'th' : |
2643 | + (b === 1) ? 'st' : |
2644 | + (b === 2) ? 'nd' : |
2645 | + (b === 3) ? 'rd' : 'th'; |
2646 | + return number + output; |
2647 | + } |
2648 | + }); |
2649 | +})); |
2650 | |
2651 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-gb.js' |
2652 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-gb.js 1970-01-01 00:00:00 +0000 |
2653 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-gb.js 2014-02-14 15:04:13 +0000 |
2654 | @@ -0,0 +1,63 @@ |
2655 | +// moment.js language configuration |
2656 | +// language : great britain english (en-gb) |
2657 | +// author : Chris Gedrim : https://github.com/chrisgedrim |
2658 | + |
2659 | +(function (factory) { |
2660 | + if (typeof define === 'function' && define.amd) { |
2661 | + define(['moment'], factory); // AMD |
2662 | + } else if (typeof exports === 'object') { |
2663 | + module.exports = factory(require('../moment')); // Node |
2664 | + } else { |
2665 | + factory(window.moment); // Browser global |
2666 | + } |
2667 | +}(function (moment) { |
2668 | + return moment.lang('en-gb', { |
2669 | + months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), |
2670 | + monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), |
2671 | + weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), |
2672 | + weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), |
2673 | + weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), |
2674 | + longDateFormat : { |
2675 | + LT : "HH:mm", |
2676 | + L : "DD/MM/YYYY", |
2677 | + LL : "D MMMM YYYY", |
2678 | + LLL : "D MMMM YYYY LT", |
2679 | + LLLL : "dddd, D MMMM YYYY LT" |
2680 | + }, |
2681 | + calendar : { |
2682 | + sameDay : '[Today at] LT', |
2683 | + nextDay : '[Tomorrow at] LT', |
2684 | + nextWeek : 'dddd [at] LT', |
2685 | + lastDay : '[Yesterday at] LT', |
2686 | + lastWeek : '[Last] dddd [at] LT', |
2687 | + sameElse : 'L' |
2688 | + }, |
2689 | + relativeTime : { |
2690 | + future : "in %s", |
2691 | + past : "%s ago", |
2692 | + s : "a few seconds", |
2693 | + m : "a minute", |
2694 | + mm : "%d minutes", |
2695 | + h : "an hour", |
2696 | + hh : "%d hours", |
2697 | + d : "a day", |
2698 | + dd : "%d days", |
2699 | + M : "a month", |
2700 | + MM : "%d months", |
2701 | + y : "a year", |
2702 | + yy : "%d years" |
2703 | + }, |
2704 | + ordinal : function (number) { |
2705 | + var b = number % 10, |
2706 | + output = (~~ (number % 100 / 10) === 1) ? 'th' : |
2707 | + (b === 1) ? 'st' : |
2708 | + (b === 2) ? 'nd' : |
2709 | + (b === 3) ? 'rd' : 'th'; |
2710 | + return number + output; |
2711 | + }, |
2712 | + week : { |
2713 | + dow : 1, // Monday is the first day of the week. |
2714 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2715 | + } |
2716 | + }); |
2717 | +})); |
2718 | |
2719 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eo.js' |
2720 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eo.js 1970-01-01 00:00:00 +0000 |
2721 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eo.js 2014-02-14 15:04:13 +0000 |
2722 | @@ -0,0 +1,65 @@ |
2723 | +// moment.js language configuration |
2724 | +// language : esperanto (eo) |
2725 | +// author : Colin Dean : https://github.com/colindean |
2726 | +// komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko. |
2727 | +// Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni! |
2728 | + |
2729 | +(function (factory) { |
2730 | + if (typeof define === 'function' && define.amd) { |
2731 | + define(['moment'], factory); // AMD |
2732 | + } else if (typeof exports === 'object') { |
2733 | + module.exports = factory(require('../moment')); // Node |
2734 | + } else { |
2735 | + factory(window.moment); // Browser global |
2736 | + } |
2737 | +}(function (moment) { |
2738 | + return moment.lang('eo', { |
2739 | + months : "januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"), |
2740 | + monthsShort : "jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"), |
2741 | + weekdays : "Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"), |
2742 | + weekdaysShort : "Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"), |
2743 | + weekdaysMin : "Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"), |
2744 | + longDateFormat : { |
2745 | + LT : "HH:mm", |
2746 | + L : "YYYY-MM-DD", |
2747 | + LL : "D[-an de] MMMM, YYYY", |
2748 | + LLL : "D[-an de] MMMM, YYYY LT", |
2749 | + LLLL : "dddd, [la] D[-an de] MMMM, YYYY LT" |
2750 | + }, |
2751 | + meridiem : function (hours, minutes, isLower) { |
2752 | + if (hours > 11) { |
2753 | + return isLower ? 'p.t.m.' : 'P.T.M.'; |
2754 | + } else { |
2755 | + return isLower ? 'a.t.m.' : 'A.T.M.'; |
2756 | + } |
2757 | + }, |
2758 | + calendar : { |
2759 | + sameDay : '[Hodiaŭ je] LT', |
2760 | + nextDay : '[Morgaŭ je] LT', |
2761 | + nextWeek : 'dddd [je] LT', |
2762 | + lastDay : '[Hieraŭ je] LT', |
2763 | + lastWeek : '[pasinta] dddd [je] LT', |
2764 | + sameElse : 'L' |
2765 | + }, |
2766 | + relativeTime : { |
2767 | + future : "je %s", |
2768 | + past : "antaŭ %s", |
2769 | + s : "sekundoj", |
2770 | + m : "minuto", |
2771 | + mm : "%d minutoj", |
2772 | + h : "horo", |
2773 | + hh : "%d horoj", |
2774 | + d : "tago",//ne 'diurno', ĉar estas uzita por proksimumo |
2775 | + dd : "%d tagoj", |
2776 | + M : "monato", |
2777 | + MM : "%d monatoj", |
2778 | + y : "jaro", |
2779 | + yy : "%d jaroj" |
2780 | + }, |
2781 | + ordinal : "%da", |
2782 | + week : { |
2783 | + dow : 1, // Monday is the first day of the week. |
2784 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
2785 | + } |
2786 | + }); |
2787 | +})); |
2788 | |
2789 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.es.js' |
2790 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.es.js 1970-01-01 00:00:00 +0000 |
2791 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.es.js 2014-02-14 15:04:13 +0000 |
2792 | @@ -0,0 +1,66 @@ |
2793 | +// moment.js language configuration |
2794 | +// language : spanish (es) |
2795 | +// author : Julio Napurí : https://github.com/julionc |
2796 | + |
2797 | +(function (factory) { |
2798 | + if (typeof define === 'function' && define.amd) { |
2799 | + define(['moment'], factory); // AMD |
2800 | + } else if (typeof exports === 'object') { |
2801 | + module.exports = factory(require('../moment')); // Node |
2802 | + } else { |
2803 | + factory(window.moment); // Browser global |
2804 | + } |
2805 | +}(function (moment) { |
2806 | + return moment.lang('es', { |
2807 | + months : "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"), |
2808 | + monthsShort : "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"), |
2809 | + weekdays : "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"), |
2810 | + weekdaysShort : "dom._lun._mar._mié._jue._vie._sáb.".split("_"), |
2811 | + weekdaysMin : "Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"), |
2812 | + longDateFormat : { |
2813 | + LT : "H:mm", |
2814 | + L : "DD/MM/YYYY", |
2815 | + LL : "D [de] MMMM [de] YYYY", |
2816 | + LLL : "D [de] MMMM [de] YYYY LT", |
2817 | + LLLL : "dddd, D [de] MMMM [de] YYYY LT" |
2818 | + }, |
2819 | + calendar : { |
2820 | + sameDay : function () { |
2821 | + return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; |
2822 | + }, |
2823 | + nextDay : function () { |
2824 | + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; |
2825 | + }, |
2826 | + nextWeek : function () { |
2827 | + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; |
2828 | + }, |
2829 | + lastDay : function () { |
2830 | + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; |
2831 | + }, |
2832 | + lastWeek : function () { |
2833 | + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; |
2834 | + }, |
2835 | + sameElse : 'L' |
2836 | + }, |
2837 | + relativeTime : { |
2838 | + future : "en %s", |
2839 | + past : "hace %s", |
2840 | + s : "unos segundos", |
2841 | + m : "un minuto", |
2842 | + mm : "%d minutos", |
2843 | + h : "una hora", |
2844 | + hh : "%d horas", |
2845 | + d : "un día", |
2846 | + dd : "%d días", |
2847 | + M : "un mes", |
2848 | + MM : "%d meses", |
2849 | + y : "un año", |
2850 | + yy : "%d años" |
2851 | + }, |
2852 | + ordinal : '%dº', |
2853 | + week : { |
2854 | + dow : 1, // Monday is the first day of the week. |
2855 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2856 | + } |
2857 | + }); |
2858 | +})); |
2859 | |
2860 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.et.js' |
2861 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.et.js 1970-01-01 00:00:00 +0000 |
2862 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.et.js 2014-02-14 15:04:13 +0000 |
2863 | @@ -0,0 +1,60 @@ |
2864 | +// moment.js language configuration |
2865 | +// language : estonian (et) |
2866 | +// author : Henry Kehlmann : https://github.com/madhenry |
2867 | + |
2868 | +(function (factory) { |
2869 | + if (typeof define === 'function' && define.amd) { |
2870 | + define(['moment'], factory); // AMD |
2871 | + } else if (typeof exports === 'object') { |
2872 | + module.exports = factory(require('../moment')); // Node |
2873 | + } else { |
2874 | + factory(window.moment); // Browser global |
2875 | + } |
2876 | +}(function (moment) { |
2877 | + function translateSeconds(number, withoutSuffix, key, isFuture) { |
2878 | + return (isFuture || withoutSuffix) ? 'paari sekundi' : 'paar sekundit'; |
2879 | + } |
2880 | + |
2881 | + return moment.lang('et', { |
2882 | + months : "jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"), |
2883 | + monthsShort : "jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"), |
2884 | + weekdays : "pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"), |
2885 | + weekdaysShort : "P_E_T_K_N_R_L".split("_"), |
2886 | + weekdaysMin : "P_E_T_K_N_R_L".split("_"), |
2887 | + longDateFormat : { |
2888 | + LT : "H:mm", |
2889 | + L : "DD.MM.YYYY", |
2890 | + LL : "D. MMMM YYYY", |
2891 | + LLL : "D. MMMM YYYY LT", |
2892 | + LLLL : "dddd, D. MMMM YYYY LT" |
2893 | + }, |
2894 | + calendar : { |
2895 | + sameDay : '[Täna,] LT', |
2896 | + nextDay : '[Homme,] LT', |
2897 | + nextWeek : '[Järgmine] dddd LT', |
2898 | + lastDay : '[Eile,] LT', |
2899 | + lastWeek : '[Eelmine] dddd LT', |
2900 | + sameElse : 'L' |
2901 | + }, |
2902 | + relativeTime : { |
2903 | + future : "%s pärast", |
2904 | + past : "%s tagasi", |
2905 | + s : translateSeconds, |
2906 | + m : "minut", |
2907 | + mm : "%d minutit", |
2908 | + h : "tund", |
2909 | + hh : "%d tundi", |
2910 | + d : "päev", |
2911 | + dd : "%d päeva", |
2912 | + M : "kuu", |
2913 | + MM : "%d kuud", |
2914 | + y : "aasta", |
2915 | + yy : "%d aastat" |
2916 | + }, |
2917 | + ordinal : '%d.', |
2918 | + week : { |
2919 | + dow : 1, // Monday is the first day of the week. |
2920 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
2921 | + } |
2922 | + }); |
2923 | +})); |
2924 | |
2925 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eu.js' |
2926 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eu.js 1970-01-01 00:00:00 +0000 |
2927 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eu.js 2014-02-14 15:04:13 +0000 |
2928 | @@ -0,0 +1,60 @@ |
2929 | +// moment.js language configuration |
2930 | +// language : euskara (eu) |
2931 | +// author : Eneko Illarramendi : https://github.com/eillarra |
2932 | + |
2933 | +(function (factory) { |
2934 | + if (typeof define === 'function' && define.amd) { |
2935 | + define(['moment'], factory); // AMD |
2936 | + } else if (typeof exports === 'object') { |
2937 | + module.exports = factory(require('../moment')); // Node |
2938 | + } else { |
2939 | + factory(window.moment); // Browser global |
2940 | + } |
2941 | +}(function (moment) { |
2942 | + return moment.lang('eu', { |
2943 | + months : "urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"), |
2944 | + monthsShort : "urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"), |
2945 | + weekdays : "igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"), |
2946 | + weekdaysShort : "ig._al._ar._az._og._ol._lr.".split("_"), |
2947 | + weekdaysMin : "ig_al_ar_az_og_ol_lr".split("_"), |
2948 | + longDateFormat : { |
2949 | + LT : "HH:mm", |
2950 | + L : "YYYY-MM-DD", |
2951 | + LL : "YYYY[ko] MMMM[ren] D[a]", |
2952 | + LLL : "YYYY[ko] MMMM[ren] D[a] LT", |
2953 | + LLLL : "dddd, YYYY[ko] MMMM[ren] D[a] LT", |
2954 | + l : "YYYY-M-D", |
2955 | + ll : "YYYY[ko] MMM D[a]", |
2956 | + lll : "YYYY[ko] MMM D[a] LT", |
2957 | + llll : "ddd, YYYY[ko] MMM D[a] LT" |
2958 | + }, |
2959 | + calendar : { |
2960 | + sameDay : '[gaur] LT[etan]', |
2961 | + nextDay : '[bihar] LT[etan]', |
2962 | + nextWeek : 'dddd LT[etan]', |
2963 | + lastDay : '[atzo] LT[etan]', |
2964 | + lastWeek : '[aurreko] dddd LT[etan]', |
2965 | + sameElse : 'L' |
2966 | + }, |
2967 | + relativeTime : { |
2968 | + future : "%s barru", |
2969 | + past : "duela %s", |
2970 | + s : "segundo batzuk", |
2971 | + m : "minutu bat", |
2972 | + mm : "%d minutu", |
2973 | + h : "ordu bat", |
2974 | + hh : "%d ordu", |
2975 | + d : "egun bat", |
2976 | + dd : "%d egun", |
2977 | + M : "hilabete bat", |
2978 | + MM : "%d hilabete", |
2979 | + y : "urte bat", |
2980 | + yy : "%d urte" |
2981 | + }, |
2982 | + ordinal : '%d.', |
2983 | + week : { |
2984 | + dow : 1, // Monday is the first day of the week. |
2985 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
2986 | + } |
2987 | + }); |
2988 | +})); |
2989 | |
2990 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fa.js' |
2991 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fa.js 1970-01-01 00:00:00 +0000 |
2992 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fa.js 2014-02-14 15:04:13 +0000 |
2993 | @@ -0,0 +1,97 @@ |
2994 | +// moment.js language configuration |
2995 | +// language : Persian Language |
2996 | +// author : Ebrahim Byagowi : https://github.com/ebraminio |
2997 | + |
2998 | +(function (factory) { |
2999 | + if (typeof define === 'function' && define.amd) { |
3000 | + define(['moment'], factory); // AMD |
3001 | + } else if (typeof exports === 'object') { |
3002 | + module.exports = factory(require('../moment')); // Node |
3003 | + } else { |
3004 | + factory(window.moment); // Browser global |
3005 | + } |
3006 | +}(function (moment) { |
3007 | + var symbolMap = { |
3008 | + '1': '۱', |
3009 | + '2': '۲', |
3010 | + '3': '۳', |
3011 | + '4': '۴', |
3012 | + '5': '۵', |
3013 | + '6': '۶', |
3014 | + '7': '۷', |
3015 | + '8': '۸', |
3016 | + '9': '۹', |
3017 | + '0': '۰' |
3018 | + }, numberMap = { |
3019 | + '۱': '1', |
3020 | + '۲': '2', |
3021 | + '۳': '3', |
3022 | + '۴': '4', |
3023 | + '۵': '5', |
3024 | + '۶': '6', |
3025 | + '۷': '7', |
3026 | + '۸': '8', |
3027 | + '۹': '9', |
3028 | + '۰': '0' |
3029 | + }; |
3030 | + |
3031 | + return moment.lang('fa', { |
3032 | + months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), |
3033 | + monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), |
3034 | + weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), |
3035 | + weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), |
3036 | + weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'), |
3037 | + longDateFormat : { |
3038 | + LT : 'HH:mm', |
3039 | + L : 'DD/MM/YYYY', |
3040 | + LL : 'D MMMM YYYY', |
3041 | + LLL : 'D MMMM YYYY LT', |
3042 | + LLLL : 'dddd, D MMMM YYYY LT' |
3043 | + }, |
3044 | + meridiem : function (hour, minute, isLower) { |
3045 | + if (hour < 12) { |
3046 | + return "قبل از ظهر"; |
3047 | + } else { |
3048 | + return "بعد از ظهر"; |
3049 | + } |
3050 | + }, |
3051 | + calendar : { |
3052 | + sameDay : '[امروز ساعت] LT', |
3053 | + nextDay : '[فردا ساعت] LT', |
3054 | + nextWeek : 'dddd [ساعت] LT', |
3055 | + lastDay : '[دیروز ساعت] LT', |
3056 | + lastWeek : 'dddd [پیش] [ساعت] LT', |
3057 | + sameElse : 'L' |
3058 | + }, |
3059 | + relativeTime : { |
3060 | + future : 'در %s', |
3061 | + past : '%s پیش', |
3062 | + s : 'چندین ثانیه', |
3063 | + m : 'یک دقیقه', |
3064 | + mm : '%d دقیقه', |
3065 | + h : 'یک ساعت', |
3066 | + hh : '%d ساعت', |
3067 | + d : 'یک روز', |
3068 | + dd : '%d روز', |
3069 | + M : 'یک ماه', |
3070 | + MM : '%d ماه', |
3071 | + y : 'یک سال', |
3072 | + yy : '%d سال' |
3073 | + }, |
3074 | + preparse: function (string) { |
3075 | + return string.replace(/[۰-۹]/g, function (match) { |
3076 | + return numberMap[match]; |
3077 | + }).replace(/،/g, ','); |
3078 | + }, |
3079 | + postformat: function (string) { |
3080 | + return string.replace(/\d/g, function (match) { |
3081 | + return symbolMap[match]; |
3082 | + }).replace(/,/g, '،'); |
3083 | + }, |
3084 | + ordinal : '%dم', |
3085 | + week : { |
3086 | + dow : 6, // Saturday is the first day of the week. |
3087 | + doy : 12 // The week that contains Jan 1st is the first week of the year. |
3088 | + } |
3089 | + }); |
3090 | +})); |
3091 | |
3092 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fi.js' |
3093 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fi.js 1970-01-01 00:00:00 +0000 |
3094 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fi.js 2014-02-14 15:04:13 +0000 |
3095 | @@ -0,0 +1,103 @@ |
3096 | +// moment.js language configuration |
3097 | +// language : finnish (fi) |
3098 | +// author : Tarmo Aidantausta : https://github.com/bleadof |
3099 | + |
3100 | +(function (factory) { |
3101 | + if (typeof define === 'function' && define.amd) { |
3102 | + define(['moment'], factory); // AMD |
3103 | + } else if (typeof exports === 'object') { |
3104 | + module.exports = factory(require('../moment')); // Node |
3105 | + } else { |
3106 | + factory(window.moment); // Browser global |
3107 | + } |
3108 | +}(function (moment) { |
3109 | + var numbers_past = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), |
3110 | + numbers_future = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', |
3111 | + numbers_past[7], numbers_past[8], numbers_past[9]]; |
3112 | + |
3113 | + function translate(number, withoutSuffix, key, isFuture) { |
3114 | + var result = ""; |
3115 | + switch (key) { |
3116 | + case 's': |
3117 | + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; |
3118 | + case 'm': |
3119 | + return isFuture ? 'minuutin' : 'minuutti'; |
3120 | + case 'mm': |
3121 | + result = isFuture ? 'minuutin' : 'minuuttia'; |
3122 | + break; |
3123 | + case 'h': |
3124 | + return isFuture ? 'tunnin' : 'tunti'; |
3125 | + case 'hh': |
3126 | + result = isFuture ? 'tunnin' : 'tuntia'; |
3127 | + break; |
3128 | + case 'd': |
3129 | + return isFuture ? 'päivän' : 'päivä'; |
3130 | + case 'dd': |
3131 | + result = isFuture ? 'päivän' : 'päivää'; |
3132 | + break; |
3133 | + case 'M': |
3134 | + return isFuture ? 'kuukauden' : 'kuukausi'; |
3135 | + case 'MM': |
3136 | + result = isFuture ? 'kuukauden' : 'kuukautta'; |
3137 | + break; |
3138 | + case 'y': |
3139 | + return isFuture ? 'vuoden' : 'vuosi'; |
3140 | + case 'yy': |
3141 | + result = isFuture ? 'vuoden' : 'vuotta'; |
3142 | + break; |
3143 | + } |
3144 | + result = verbal_number(number, isFuture) + " " + result; |
3145 | + return result; |
3146 | + } |
3147 | + |
3148 | + function verbal_number(number, isFuture) { |
3149 | + return number < 10 ? (isFuture ? numbers_future[number] : numbers_past[number]) : number; |
3150 | + } |
3151 | + |
3152 | + return moment.lang('fi', { |
3153 | + months : "tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"), |
3154 | + monthsShort : "tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"), |
3155 | + weekdays : "sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"), |
3156 | + weekdaysShort : "su_ma_ti_ke_to_pe_la".split("_"), |
3157 | + weekdaysMin : "su_ma_ti_ke_to_pe_la".split("_"), |
3158 | + longDateFormat : { |
3159 | + LT : "HH.mm", |
3160 | + L : "DD.MM.YYYY", |
3161 | + LL : "Do MMMM[ta] YYYY", |
3162 | + LLL : "Do MMMM[ta] YYYY, [klo] LT", |
3163 | + LLLL : "dddd, Do MMMM[ta] YYYY, [klo] LT", |
3164 | + l : "D.M.YYYY", |
3165 | + ll : "Do MMM YYYY", |
3166 | + lll : "Do MMM YYYY, [klo] LT", |
3167 | + llll : "ddd, Do MMM YYYY, [klo] LT" |
3168 | + }, |
3169 | + calendar : { |
3170 | + sameDay : '[tänään] [klo] LT', |
3171 | + nextDay : '[huomenna] [klo] LT', |
3172 | + nextWeek : 'dddd [klo] LT', |
3173 | + lastDay : '[eilen] [klo] LT', |
3174 | + lastWeek : '[viime] dddd[na] [klo] LT', |
3175 | + sameElse : 'L' |
3176 | + }, |
3177 | + relativeTime : { |
3178 | + future : "%s päästä", |
3179 | + past : "%s sitten", |
3180 | + s : translate, |
3181 | + m : translate, |
3182 | + mm : translate, |
3183 | + h : translate, |
3184 | + hh : translate, |
3185 | + d : translate, |
3186 | + dd : translate, |
3187 | + M : translate, |
3188 | + MM : translate, |
3189 | + y : translate, |
3190 | + yy : translate |
3191 | + }, |
3192 | + ordinal : "%d.", |
3193 | + week : { |
3194 | + dow : 1, // Monday is the first day of the week. |
3195 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
3196 | + } |
3197 | + }); |
3198 | +})); |
3199 | |
3200 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr-ca.js' |
3201 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr-ca.js 1970-01-01 00:00:00 +0000 |
3202 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr-ca.js 2014-02-14 15:04:13 +0000 |
3203 | @@ -0,0 +1,54 @@ |
3204 | +// moment.js language configuration |
3205 | +// language : canadian french (fr-ca) |
3206 | +// author : Jonathan Abourbih : https://github.com/jonbca |
3207 | + |
3208 | +(function (factory) { |
3209 | + if (typeof define === 'function' && define.amd) { |
3210 | + define(['moment'], factory); // AMD |
3211 | + } else if (typeof exports === 'object') { |
3212 | + module.exports = factory(require('../moment')); // Node |
3213 | + } else { |
3214 | + factory(window.moment); // Browser global |
3215 | + } |
3216 | +}(function (moment) { |
3217 | + return moment.lang('fr-ca', { |
3218 | + months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"), |
3219 | + monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"), |
3220 | + weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"), |
3221 | + weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"), |
3222 | + weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"), |
3223 | + longDateFormat : { |
3224 | + LT : "HH:mm", |
3225 | + L : "YYYY-MM-DD", |
3226 | + LL : "D MMMM YYYY", |
3227 | + LLL : "D MMMM YYYY LT", |
3228 | + LLLL : "dddd D MMMM YYYY LT" |
3229 | + }, |
3230 | + calendar : { |
3231 | + sameDay: "[Aujourd'hui à] LT", |
3232 | + nextDay: '[Demain à] LT', |
3233 | + nextWeek: 'dddd [à] LT', |
3234 | + lastDay: '[Hier à] LT', |
3235 | + lastWeek: 'dddd [dernier à] LT', |
3236 | + sameElse: 'L' |
3237 | + }, |
3238 | + relativeTime : { |
3239 | + future : "dans %s", |
3240 | + past : "il y a %s", |
3241 | + s : "quelques secondes", |
3242 | + m : "une minute", |
3243 | + mm : "%d minutes", |
3244 | + h : "une heure", |
3245 | + hh : "%d heures", |
3246 | + d : "un jour", |
3247 | + dd : "%d jours", |
3248 | + M : "un mois", |
3249 | + MM : "%d mois", |
3250 | + y : "un an", |
3251 | + yy : "%d ans" |
3252 | + }, |
3253 | + ordinal : function (number) { |
3254 | + return number + (number === 1 ? 'er' : ''); |
3255 | + } |
3256 | + }); |
3257 | +})); |
3258 | |
3259 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr.js' |
3260 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr.js 1970-01-01 00:00:00 +0000 |
3261 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr.js 2014-02-14 15:04:13 +0000 |
3262 | @@ -0,0 +1,58 @@ |
3263 | +// moment.js language configuration |
3264 | +// language : french (fr) |
3265 | +// author : John Fischer : https://github.com/jfroffice |
3266 | + |
3267 | +(function (factory) { |
3268 | + if (typeof define === 'function' && define.amd) { |
3269 | + define(['moment'], factory); // AMD |
3270 | + } else if (typeof exports === 'object') { |
3271 | + module.exports = factory(require('../moment')); // Node |
3272 | + } else { |
3273 | + factory(window.moment); // Browser global |
3274 | + } |
3275 | +}(function (moment) { |
3276 | + return moment.lang('fr', { |
3277 | + months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"), |
3278 | + monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"), |
3279 | + weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"), |
3280 | + weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"), |
3281 | + weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"), |
3282 | + longDateFormat : { |
3283 | + LT : "HH:mm", |
3284 | + L : "DD/MM/YYYY", |
3285 | + LL : "D MMMM YYYY", |
3286 | + LLL : "D MMMM YYYY LT", |
3287 | + LLLL : "dddd D MMMM YYYY LT" |
3288 | + }, |
3289 | + calendar : { |
3290 | + sameDay: "[Aujourd'hui à] LT", |
3291 | + nextDay: '[Demain à] LT', |
3292 | + nextWeek: 'dddd [à] LT', |
3293 | + lastDay: '[Hier à] LT', |
3294 | + lastWeek: 'dddd [dernier à] LT', |
3295 | + sameElse: 'L' |
3296 | + }, |
3297 | + relativeTime : { |
3298 | + future : "dans %s", |
3299 | + past : "il y a %s", |
3300 | + s : "quelques secondes", |
3301 | + m : "une minute", |
3302 | + mm : "%d minutes", |
3303 | + h : "une heure", |
3304 | + hh : "%d heures", |
3305 | + d : "un jour", |
3306 | + dd : "%d jours", |
3307 | + M : "un mois", |
3308 | + MM : "%d mois", |
3309 | + y : "un an", |
3310 | + yy : "%d ans" |
3311 | + }, |
3312 | + ordinal : function (number) { |
3313 | + return number + (number === 1 ? 'er' : ''); |
3314 | + }, |
3315 | + week : { |
3316 | + dow : 1, // Monday is the first day of the week. |
3317 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
3318 | + } |
3319 | + }); |
3320 | +})); |
3321 | |
3322 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.gl.js' |
3323 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.gl.js 1970-01-01 00:00:00 +0000 |
3324 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.gl.js 2014-02-14 15:04:13 +0000 |
3325 | @@ -0,0 +1,71 @@ |
3326 | +// moment.js language configuration |
3327 | +// language : galician (gl) |
3328 | +// author : Juan G. Hurtado : https://github.com/juanghurtado |
3329 | + |
3330 | +(function (factory) { |
3331 | + if (typeof define === 'function' && define.amd) { |
3332 | + define(['moment'], factory); // AMD |
3333 | + } else if (typeof exports === 'object') { |
3334 | + module.exports = factory(require('../moment')); // Node |
3335 | + } else { |
3336 | + factory(window.moment); // Browser global |
3337 | + } |
3338 | +}(function (moment) { |
3339 | + return moment.lang('gl', { |
3340 | + months : "Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"), |
3341 | + monthsShort : "Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"), |
3342 | + weekdays : "Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"), |
3343 | + weekdaysShort : "Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"), |
3344 | + weekdaysMin : "Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"), |
3345 | + longDateFormat : { |
3346 | + LT : "H:mm", |
3347 | + L : "DD/MM/YYYY", |
3348 | + LL : "D MMMM YYYY", |
3349 | + LLL : "D MMMM YYYY LT", |
3350 | + LLLL : "dddd D MMMM YYYY LT" |
3351 | + }, |
3352 | + calendar : { |
3353 | + sameDay : function () { |
3354 | + return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; |
3355 | + }, |
3356 | + nextDay : function () { |
3357 | + return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; |
3358 | + }, |
3359 | + nextWeek : function () { |
3360 | + return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; |
3361 | + }, |
3362 | + lastDay : function () { |
3363 | + return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; |
3364 | + }, |
3365 | + lastWeek : function () { |
3366 | + return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; |
3367 | + }, |
3368 | + sameElse : 'L' |
3369 | + }, |
3370 | + relativeTime : { |
3371 | + future : function (str) { |
3372 | + if (str === "uns segundos") { |
3373 | + return "nuns segundos"; |
3374 | + } |
3375 | + return "en " + str; |
3376 | + }, |
3377 | + past : "hai %s", |
3378 | + s : "uns segundos", |
3379 | + m : "un minuto", |
3380 | + mm : "%d minutos", |
3381 | + h : "unha hora", |
3382 | + hh : "%d horas", |
3383 | + d : "un día", |
3384 | + dd : "%d días", |
3385 | + M : "un mes", |
3386 | + MM : "%d meses", |
3387 | + y : "un ano", |
3388 | + yy : "%d anos" |
3389 | + }, |
3390 | + ordinal : '%dº', |
3391 | + week : { |
3392 | + dow : 1, // Monday is the first day of the week. |
3393 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
3394 | + } |
3395 | + }); |
3396 | +})); |
3397 | |
3398 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.he.js' |
3399 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.he.js 1970-01-01 00:00:00 +0000 |
3400 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.he.js 2014-02-14 15:04:13 +0000 |
3401 | @@ -0,0 +1,77 @@ |
3402 | +// moment.js language configuration |
3403 | +// language : Hebrew (he) |
3404 | +// author : Tomer Cohen : https://github.com/tomer |
3405 | +// author : Moshe Simantov : https://github.com/DevelopmentIL |
3406 | +// author : Tal Ater : https://github.com/TalAter |
3407 | + |
3408 | +(function (factory) { |
3409 | + if (typeof define === 'function' && define.amd) { |
3410 | + define(['moment'], factory); // AMD |
3411 | + } else if (typeof exports === 'object') { |
3412 | + module.exports = factory(require('../moment')); // Node |
3413 | + } else { |
3414 | + factory(window.moment); // Browser global |
3415 | + } |
3416 | +}(function (moment) { |
3417 | + return moment.lang('he', { |
3418 | + months : "ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"), |
3419 | + monthsShort : "ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"), |
3420 | + weekdays : "ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"), |
3421 | + weekdaysShort : "א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"), |
3422 | + weekdaysMin : "א_ב_ג_ד_ה_ו_ש".split("_"), |
3423 | + longDateFormat : { |
3424 | + LT : "HH:mm", |
3425 | + L : "DD/MM/YYYY", |
3426 | + LL : "D [ב]MMMM YYYY", |
3427 | + LLL : "D [ב]MMMM YYYY LT", |
3428 | + LLLL : "dddd, D [ב]MMMM YYYY LT", |
3429 | + l : "D/M/YYYY", |
3430 | + ll : "D MMM YYYY", |
3431 | + lll : "D MMM YYYY LT", |
3432 | + llll : "ddd, D MMM YYYY LT" |
3433 | + }, |
3434 | + calendar : { |
3435 | + sameDay : '[היום ב־]LT', |
3436 | + nextDay : '[מחר ב־]LT', |
3437 | + nextWeek : 'dddd [בשעה] LT', |
3438 | + lastDay : '[אתמול ב־]LT', |
3439 | + lastWeek : '[ביום] dddd [האחרון בשעה] LT', |
3440 | + sameElse : 'L' |
3441 | + }, |
3442 | + relativeTime : { |
3443 | + future : "בעוד %s", |
3444 | + past : "לפני %s", |
3445 | + s : "מספר שניות", |
3446 | + m : "דקה", |
3447 | + mm : "%d דקות", |
3448 | + h : "שעה", |
3449 | + hh : function (number) { |
3450 | + if (number === 2) { |
3451 | + return "שעתיים"; |
3452 | + } |
3453 | + return number + " שעות"; |
3454 | + }, |
3455 | + d : "יום", |
3456 | + dd : function (number) { |
3457 | + if (number === 2) { |
3458 | + return "יומיים"; |
3459 | + } |
3460 | + return number + " ימים"; |
3461 | + }, |
3462 | + M : "חודש", |
3463 | + MM : function (number) { |
3464 | + if (number === 2) { |
3465 | + return "חודשיים"; |
3466 | + } |
3467 | + return number + " חודשים"; |
3468 | + }, |
3469 | + y : "שנה", |
3470 | + yy : function (number) { |
3471 | + if (number === 2) { |
3472 | + return "שנתיים"; |
3473 | + } |
3474 | + return number + " שנים"; |
3475 | + } |
3476 | + } |
3477 | + }); |
3478 | +})); |
3479 | |
3480 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hi.js' |
3481 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hi.js 1970-01-01 00:00:00 +0000 |
3482 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hi.js 2014-02-14 15:04:13 +0000 |
3483 | @@ -0,0 +1,105 @@ |
3484 | +// moment.js language configuration |
3485 | +// language : hindi (hi) |
3486 | +// author : Mayank Singhal : https://github.com/mayanksinghal |
3487 | + |
3488 | +(function (factory) { |
3489 | + if (typeof define === 'function' && define.amd) { |
3490 | + define(['moment'], factory); // AMD |
3491 | + } else if (typeof exports === 'object') { |
3492 | + module.exports = factory(require('../moment')); // Node |
3493 | + } else { |
3494 | + factory(window.moment); // Browser global |
3495 | + } |
3496 | +}(function (moment) { |
3497 | + var symbolMap = { |
3498 | + '1': '१', |
3499 | + '2': '२', |
3500 | + '3': '३', |
3501 | + '4': '४', |
3502 | + '5': '५', |
3503 | + '6': '६', |
3504 | + '7': '७', |
3505 | + '8': '८', |
3506 | + '9': '९', |
3507 | + '0': '०' |
3508 | + }, |
3509 | + numberMap = { |
3510 | + '१': '1', |
3511 | + '२': '2', |
3512 | + '३': '3', |
3513 | + '४': '4', |
3514 | + '५': '5', |
3515 | + '६': '6', |
3516 | + '७': '7', |
3517 | + '८': '8', |
3518 | + '९': '9', |
3519 | + '०': '0' |
3520 | + }; |
3521 | + |
3522 | + return moment.lang('hi', { |
3523 | + months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split("_"), |
3524 | + monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split("_"), |
3525 | + weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split("_"), |
3526 | + weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split("_"), |
3527 | + weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split("_"), |
3528 | + longDateFormat : { |
3529 | + LT : "A h:mm बजे", |
3530 | + L : "DD/MM/YYYY", |
3531 | + LL : "D MMMM YYYY", |
3532 | + LLL : "D MMMM YYYY, LT", |
3533 | + LLLL : "dddd, D MMMM YYYY, LT" |
3534 | + }, |
3535 | + calendar : { |
3536 | + sameDay : '[आज] LT', |
3537 | + nextDay : '[कल] LT', |
3538 | + nextWeek : 'dddd, LT', |
3539 | + lastDay : '[कल] LT', |
3540 | + lastWeek : '[पिछले] dddd, LT', |
3541 | + sameElse : 'L' |
3542 | + }, |
3543 | + relativeTime : { |
3544 | + future : "%s में", |
3545 | + past : "%s पहले", |
3546 | + s : "कुछ ही क्षण", |
3547 | + m : "एक मिनट", |
3548 | + mm : "%d मिनट", |
3549 | + h : "एक घंटा", |
3550 | + hh : "%d घंटे", |
3551 | + d : "एक दिन", |
3552 | + dd : "%d दिन", |
3553 | + M : "एक महीने", |
3554 | + MM : "%d महीने", |
3555 | + y : "एक वर्ष", |
3556 | + yy : "%d वर्ष" |
3557 | + }, |
3558 | + preparse: function (string) { |
3559 | + return string.replace(/[१२३४५६७८९०]/g, function (match) { |
3560 | + return numberMap[match]; |
3561 | + }); |
3562 | + }, |
3563 | + postformat: function (string) { |
3564 | + return string.replace(/\d/g, function (match) { |
3565 | + return symbolMap[match]; |
3566 | + }); |
3567 | + }, |
3568 | + // Hindi notation for meridiems are quite fuzzy in practice. While there exists |
3569 | + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. |
3570 | + meridiem : function (hour, minute, isLower) { |
3571 | + if (hour < 4) { |
3572 | + return "रात"; |
3573 | + } else if (hour < 10) { |
3574 | + return "सुबह"; |
3575 | + } else if (hour < 17) { |
3576 | + return "दोपहर"; |
3577 | + } else if (hour < 20) { |
3578 | + return "शाम"; |
3579 | + } else { |
3580 | + return "रात"; |
3581 | + } |
3582 | + }, |
3583 | + week : { |
3584 | + dow : 0, // Sunday is the first day of the week. |
3585 | + doy : 6 // The week that contains Jan 1st is the first week of the year. |
3586 | + } |
3587 | + }); |
3588 | +})); |
3589 | |
3590 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hr.js' |
3591 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hr.js 1970-01-01 00:00:00 +0000 |
3592 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hr.js 2014-02-14 15:04:13 +0000 |
3593 | @@ -0,0 +1,140 @@ |
3594 | +// moment.js language configuration |
3595 | +// language : hrvatski (hr) |
3596 | +// author : Bojan Marković : https://github.com/bmarkovic |
3597 | + |
3598 | +// based on (sl) translation by Robert Sedovšek |
3599 | + |
3600 | +(function (factory) { |
3601 | + if (typeof define === 'function' && define.amd) { |
3602 | + define(['moment'], factory); // AMD |
3603 | + } else if (typeof exports === 'object') { |
3604 | + module.exports = factory(require('../moment')); // Node |
3605 | + } else { |
3606 | + factory(window.moment); // Browser global |
3607 | + } |
3608 | +}(function (moment) { |
3609 | + |
3610 | + function translate(number, withoutSuffix, key) { |
3611 | + var result = number + " "; |
3612 | + switch (key) { |
3613 | + case 'm': |
3614 | + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; |
3615 | + case 'mm': |
3616 | + if (number === 1) { |
3617 | + result += 'minuta'; |
3618 | + } else if (number === 2 || number === 3 || number === 4) { |
3619 | + result += 'minute'; |
3620 | + } else { |
3621 | + result += 'minuta'; |
3622 | + } |
3623 | + return result; |
3624 | + case 'h': |
3625 | + return withoutSuffix ? 'jedan sat' : 'jednog sata'; |
3626 | + case 'hh': |
3627 | + if (number === 1) { |
3628 | + result += 'sat'; |
3629 | + } else if (number === 2 || number === 3 || number === 4) { |
3630 | + result += 'sata'; |
3631 | + } else { |
3632 | + result += 'sati'; |
3633 | + } |
3634 | + return result; |
3635 | + case 'dd': |
3636 | + if (number === 1) { |
3637 | + result += 'dan'; |
3638 | + } else { |
3639 | + result += 'dana'; |
3640 | + } |
3641 | + return result; |
3642 | + case 'MM': |
3643 | + if (number === 1) { |
3644 | + result += 'mjesec'; |
3645 | + } else if (number === 2 || number === 3 || number === 4) { |
3646 | + result += 'mjeseca'; |
3647 | + } else { |
3648 | + result += 'mjeseci'; |
3649 | + } |
3650 | + return result; |
3651 | + case 'yy': |
3652 | + if (number === 1) { |
3653 | + result += 'godina'; |
3654 | + } else if (number === 2 || number === 3 || number === 4) { |
3655 | + result += 'godine'; |
3656 | + } else { |
3657 | + result += 'godina'; |
3658 | + } |
3659 | + return result; |
3660 | + } |
3661 | + } |
3662 | + |
3663 | + return moment.lang('hr', { |
3664 | + months : "sječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"), |
3665 | + monthsShort : "sje._vel._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"), |
3666 | + weekdays : "nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"), |
3667 | + weekdaysShort : "ned._pon._uto._sri._čet._pet._sub.".split("_"), |
3668 | + weekdaysMin : "ne_po_ut_sr_če_pe_su".split("_"), |
3669 | + longDateFormat : { |
3670 | + LT : "H:mm", |
3671 | + L : "DD. MM. YYYY", |
3672 | + LL : "D. MMMM YYYY", |
3673 | + LLL : "D. MMMM YYYY LT", |
3674 | + LLLL : "dddd, D. MMMM YYYY LT" |
3675 | + }, |
3676 | + calendar : { |
3677 | + sameDay : '[danas u] LT', |
3678 | + nextDay : '[sutra u] LT', |
3679 | + |
3680 | + nextWeek : function () { |
3681 | + switch (this.day()) { |
3682 | + case 0: |
3683 | + return '[u] [nedjelju] [u] LT'; |
3684 | + case 3: |
3685 | + return '[u] [srijedu] [u] LT'; |
3686 | + case 6: |
3687 | + return '[u] [subotu] [u] LT'; |
3688 | + case 1: |
3689 | + case 2: |
3690 | + case 4: |
3691 | + case 5: |
3692 | + return '[u] dddd [u] LT'; |
3693 | + } |
3694 | + }, |
3695 | + lastDay : '[jučer u] LT', |
3696 | + lastWeek : function () { |
3697 | + switch (this.day()) { |
3698 | + case 0: |
3699 | + case 3: |
3700 | + return '[prošlu] dddd [u] LT'; |
3701 | + case 6: |
3702 | + return '[prošle] [subote] [u] LT'; |
3703 | + case 1: |
3704 | + case 2: |
3705 | + case 4: |
3706 | + case 5: |
3707 | + return '[prošli] dddd [u] LT'; |
3708 | + } |
3709 | + }, |
3710 | + sameElse : 'L' |
3711 | + }, |
3712 | + relativeTime : { |
3713 | + future : "za %s", |
3714 | + past : "prije %s", |
3715 | + s : "par sekundi", |
3716 | + m : translate, |
3717 | + mm : translate, |
3718 | + h : translate, |
3719 | + hh : translate, |
3720 | + d : "dan", |
3721 | + dd : translate, |
3722 | + M : "mjesec", |
3723 | + MM : translate, |
3724 | + y : "godinu", |
3725 | + yy : translate |
3726 | + }, |
3727 | + ordinal : '%d.', |
3728 | + week : { |
3729 | + dow : 1, // Monday is the first day of the week. |
3730 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
3731 | + } |
3732 | + }); |
3733 | +})); |
3734 | |
3735 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hu.js' |
3736 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hu.js 1970-01-01 00:00:00 +0000 |
3737 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hu.js 2014-02-14 15:04:13 +0000 |
3738 | @@ -0,0 +1,98 @@ |
3739 | +// moment.js language configuration |
3740 | +// language : hungarian (hu) |
3741 | +// author : Adam Brunner : https://github.com/adambrunner |
3742 | + |
3743 | +(function (factory) { |
3744 | + if (typeof define === 'function' && define.amd) { |
3745 | + define(['moment'], factory); // AMD |
3746 | + } else if (typeof exports === 'object') { |
3747 | + module.exports = factory(require('../moment')); // Node |
3748 | + } else { |
3749 | + factory(window.moment); // Browser global |
3750 | + } |
3751 | +}(function (moment) { |
3752 | + var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' '); |
3753 | + |
3754 | + function translate(number, withoutSuffix, key, isFuture) { |
3755 | + var num = number, |
3756 | + suffix; |
3757 | + |
3758 | + switch (key) { |
3759 | + case 's': |
3760 | + return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; |
3761 | + case 'm': |
3762 | + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); |
3763 | + case 'mm': |
3764 | + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); |
3765 | + case 'h': |
3766 | + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); |
3767 | + case 'hh': |
3768 | + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); |
3769 | + case 'd': |
3770 | + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); |
3771 | + case 'dd': |
3772 | + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); |
3773 | + case 'M': |
3774 | + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); |
3775 | + case 'MM': |
3776 | + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); |
3777 | + case 'y': |
3778 | + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); |
3779 | + case 'yy': |
3780 | + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); |
3781 | + } |
3782 | + |
3783 | + return ''; |
3784 | + } |
3785 | + |
3786 | + function week(isFuture) { |
3787 | + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; |
3788 | + } |
3789 | + |
3790 | + return moment.lang('hu', { |
3791 | + months : "január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"), |
3792 | + monthsShort : "jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"), |
3793 | + weekdays : "vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"), |
3794 | + weekdaysShort : "vas_hét_kedd_sze_csüt_pén_szo".split("_"), |
3795 | + weekdaysMin : "v_h_k_sze_cs_p_szo".split("_"), |
3796 | + longDateFormat : { |
3797 | + LT : "H:mm", |
3798 | + L : "YYYY.MM.DD.", |
3799 | + LL : "YYYY. MMMM D.", |
3800 | + LLL : "YYYY. MMMM D., LT", |
3801 | + LLLL : "YYYY. MMMM D., dddd LT" |
3802 | + }, |
3803 | + calendar : { |
3804 | + sameDay : '[ma] LT[-kor]', |
3805 | + nextDay : '[holnap] LT[-kor]', |
3806 | + nextWeek : function () { |
3807 | + return week.call(this, true); |
3808 | + }, |
3809 | + lastDay : '[tegnap] LT[-kor]', |
3810 | + lastWeek : function () { |
3811 | + return week.call(this, false); |
3812 | + }, |
3813 | + sameElse : 'L' |
3814 | + }, |
3815 | + relativeTime : { |
3816 | + future : "%s múlva", |
3817 | + past : "%s", |
3818 | + s : translate, |
3819 | + m : translate, |
3820 | + mm : translate, |
3821 | + h : translate, |
3822 | + hh : translate, |
3823 | + d : translate, |
3824 | + dd : translate, |
3825 | + M : translate, |
3826 | + MM : translate, |
3827 | + y : translate, |
3828 | + yy : translate |
3829 | + }, |
3830 | + ordinal : '%d.', |
3831 | + week : { |
3832 | + dow : 1, // Monday is the first day of the week. |
3833 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
3834 | + } |
3835 | + }); |
3836 | +})); |
3837 | |
3838 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.id.js' |
3839 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.id.js 1970-01-01 00:00:00 +0000 |
3840 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.id.js 2014-02-14 15:04:13 +0000 |
3841 | @@ -0,0 +1,67 @@ |
3842 | +// moment.js language configuration |
3843 | +// language : Bahasa Indonesia (id) |
3844 | +// author : Mohammad Satrio Utomo : https://github.com/tyok |
3845 | +// reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan |
3846 | + |
3847 | +(function (factory) { |
3848 | + if (typeof define === 'function' && define.amd) { |
3849 | + define(['moment'], factory); // AMD |
3850 | + } else if (typeof exports === 'object') { |
3851 | + module.exports = factory(require('../moment')); // Node |
3852 | + } else { |
3853 | + factory(window.moment); // Browser global |
3854 | + } |
3855 | +}(function (moment) { |
3856 | + return moment.lang('id', { |
3857 | + months : "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"), |
3858 | + monthsShort : "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"), |
3859 | + weekdays : "Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"), |
3860 | + weekdaysShort : "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"), |
3861 | + weekdaysMin : "Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"), |
3862 | + longDateFormat : { |
3863 | + LT : "HH.mm", |
3864 | + L : "DD/MM/YYYY", |
3865 | + LL : "D MMMM YYYY", |
3866 | + LLL : "D MMMM YYYY [pukul] LT", |
3867 | + LLLL : "dddd, D MMMM YYYY [pukul] LT" |
3868 | + }, |
3869 | + meridiem : function (hours, minutes, isLower) { |
3870 | + if (hours < 11) { |
3871 | + return 'pagi'; |
3872 | + } else if (hours < 15) { |
3873 | + return 'siang'; |
3874 | + } else if (hours < 19) { |
3875 | + return 'sore'; |
3876 | + } else { |
3877 | + return 'malam'; |
3878 | + } |
3879 | + }, |
3880 | + calendar : { |
3881 | + sameDay : '[Hari ini pukul] LT', |
3882 | + nextDay : '[Besok pukul] LT', |
3883 | + nextWeek : 'dddd [pukul] LT', |
3884 | + lastDay : '[Kemarin pukul] LT', |
3885 | + lastWeek : 'dddd [lalu pukul] LT', |
3886 | + sameElse : 'L' |
3887 | + }, |
3888 | + relativeTime : { |
3889 | + future : "dalam %s", |
3890 | + past : "%s yang lalu", |
3891 | + s : "beberapa detik", |
3892 | + m : "semenit", |
3893 | + mm : "%d menit", |
3894 | + h : "sejam", |
3895 | + hh : "%d jam", |
3896 | + d : "sehari", |
3897 | + dd : "%d hari", |
3898 | + M : "sebulan", |
3899 | + MM : "%d bulan", |
3900 | + y : "setahun", |
3901 | + yy : "%d tahun" |
3902 | + }, |
3903 | + week : { |
3904 | + dow : 1, // Monday is the first day of the week. |
3905 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
3906 | + } |
3907 | + }); |
3908 | +})); |
3909 | |
3910 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.is.js' |
3911 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.is.js 1970-01-01 00:00:00 +0000 |
3912 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.is.js 2014-02-14 15:04:13 +0000 |
3913 | @@ -0,0 +1,124 @@ |
3914 | +// moment.js language configuration |
3915 | +// language : icelandic (is) |
3916 | +// author : Hinrik Örn Sigurðsson : https://github.com/hinrik |
3917 | + |
3918 | +(function (factory) { |
3919 | + if (typeof define === 'function' && define.amd) { |
3920 | + define(['moment'], factory); // AMD |
3921 | + } else if (typeof exports === 'object') { |
3922 | + module.exports = factory(require('../moment')); // Node |
3923 | + } else { |
3924 | + factory(window.moment); // Browser global |
3925 | + } |
3926 | +}(function (moment) { |
3927 | + function plural(n) { |
3928 | + if (n % 100 === 11) { |
3929 | + return true; |
3930 | + } else if (n % 10 === 1) { |
3931 | + return false; |
3932 | + } |
3933 | + return true; |
3934 | + } |
3935 | + |
3936 | + function translate(number, withoutSuffix, key, isFuture) { |
3937 | + var result = number + " "; |
3938 | + switch (key) { |
3939 | + case 's': |
3940 | + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; |
3941 | + case 'm': |
3942 | + return withoutSuffix ? 'mínúta' : 'mínútu'; |
3943 | + case 'mm': |
3944 | + if (plural(number)) { |
3945 | + return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum'); |
3946 | + } else if (withoutSuffix) { |
3947 | + return result + 'mínúta'; |
3948 | + } |
3949 | + return result + 'mínútu'; |
3950 | + case 'hh': |
3951 | + if (plural(number)) { |
3952 | + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); |
3953 | + } |
3954 | + return result + 'klukkustund'; |
3955 | + case 'd': |
3956 | + if (withoutSuffix) { |
3957 | + return 'dagur'; |
3958 | + } |
3959 | + return isFuture ? 'dag' : 'degi'; |
3960 | + case 'dd': |
3961 | + if (plural(number)) { |
3962 | + if (withoutSuffix) { |
3963 | + return result + 'dagar'; |
3964 | + } |
3965 | + return result + (isFuture ? 'daga' : 'dögum'); |
3966 | + } else if (withoutSuffix) { |
3967 | + return result + 'dagur'; |
3968 | + } |
3969 | + return result + (isFuture ? 'dag' : 'degi'); |
3970 | + case 'M': |
3971 | + if (withoutSuffix) { |
3972 | + return 'mánuður'; |
3973 | + } |
3974 | + return isFuture ? 'mánuð' : 'mánuði'; |
3975 | + case 'MM': |
3976 | + if (plural(number)) { |
3977 | + if (withoutSuffix) { |
3978 | + return result + 'mánuðir'; |
3979 | + } |
3980 | + return result + (isFuture ? 'mánuði' : 'mánuðum'); |
3981 | + } else if (withoutSuffix) { |
3982 | + return result + 'mánuður'; |
3983 | + } |
3984 | + return result + (isFuture ? 'mánuð' : 'mánuði'); |
3985 | + case 'y': |
3986 | + return withoutSuffix || isFuture ? 'ár' : 'ári'; |
3987 | + case 'yy': |
3988 | + if (plural(number)) { |
3989 | + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); |
3990 | + } |
3991 | + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); |
3992 | + } |
3993 | + } |
3994 | + |
3995 | + return moment.lang('is', { |
3996 | + months : "janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"), |
3997 | + monthsShort : "jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"), |
3998 | + weekdays : "sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"), |
3999 | + weekdaysShort : "sun_mán_þri_mið_fim_fös_lau".split("_"), |
4000 | + weekdaysMin : "Su_Má_Þr_Mi_Fi_Fö_La".split("_"), |
4001 | + longDateFormat : { |
4002 | + LT : "H:mm", |
4003 | + L : "DD/MM/YYYY", |
4004 | + LL : "D. MMMM YYYY", |
4005 | + LLL : "D. MMMM YYYY [kl.] LT", |
4006 | + LLLL : "dddd, D. MMMM YYYY [kl.] LT" |
4007 | + }, |
4008 | + calendar : { |
4009 | + sameDay : '[í dag kl.] LT', |
4010 | + nextDay : '[á morgun kl.] LT', |
4011 | + nextWeek : 'dddd [kl.] LT', |
4012 | + lastDay : '[í gær kl.] LT', |
4013 | + lastWeek : '[síðasta] dddd [kl.] LT', |
4014 | + sameElse : 'L' |
4015 | + }, |
4016 | + relativeTime : { |
4017 | + future : "eftir %s", |
4018 | + past : "fyrir %s síðan", |
4019 | + s : translate, |
4020 | + m : translate, |
4021 | + mm : translate, |
4022 | + h : "klukkustund", |
4023 | + hh : translate, |
4024 | + d : translate, |
4025 | + dd : translate, |
4026 | + M : translate, |
4027 | + MM : translate, |
4028 | + y : translate, |
4029 | + yy : translate |
4030 | + }, |
4031 | + ordinal : '%d.', |
4032 | + week : { |
4033 | + dow : 1, // Monday is the first day of the week. |
4034 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
4035 | + } |
4036 | + }); |
4037 | +})); |
4038 | |
4039 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.it.js' |
4040 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.it.js 1970-01-01 00:00:00 +0000 |
4041 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.it.js 2014-02-14 15:04:13 +0000 |
4042 | @@ -0,0 +1,59 @@ |
4043 | +// moment.js language configuration |
4044 | +// language : italian (it) |
4045 | +// author : Lorenzo : https://github.com/aliem |
4046 | +// author: Mattia Larentis: https://github.com/nostalgiaz |
4047 | + |
4048 | +(function (factory) { |
4049 | + if (typeof define === 'function' && define.amd) { |
4050 | + define(['moment'], factory); // AMD |
4051 | + } else if (typeof exports === 'object') { |
4052 | + module.exports = factory(require('../moment')); // Node |
4053 | + } else { |
4054 | + factory(window.moment); // Browser global |
4055 | + } |
4056 | +}(function (moment) { |
4057 | + return moment.lang('it', { |
4058 | + months : "Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"), |
4059 | + monthsShort : "Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"), |
4060 | + weekdays : "Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"), |
4061 | + weekdaysShort : "Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"), |
4062 | + weekdaysMin : "D_L_Ma_Me_G_V_S".split("_"), |
4063 | + longDateFormat : { |
4064 | + LT : "HH:mm", |
4065 | + L : "DD/MM/YYYY", |
4066 | + LL : "D MMMM YYYY", |
4067 | + LLL : "D MMMM YYYY LT", |
4068 | + LLLL : "dddd, D MMMM YYYY LT" |
4069 | + }, |
4070 | + calendar : { |
4071 | + sameDay: '[Oggi alle] LT', |
4072 | + nextDay: '[Domani alle] LT', |
4073 | + nextWeek: 'dddd [alle] LT', |
4074 | + lastDay: '[Ieri alle] LT', |
4075 | + lastWeek: '[lo scorso] dddd [alle] LT', |
4076 | + sameElse: 'L' |
4077 | + }, |
4078 | + relativeTime : { |
4079 | + future : function (s) { |
4080 | + return ((/^[0-9].+$/).test(s) ? "tra" : "in") + " " + s; |
4081 | + }, |
4082 | + past : "%s fa", |
4083 | + s : "secondi", |
4084 | + m : "un minuto", |
4085 | + mm : "%d minuti", |
4086 | + h : "un'ora", |
4087 | + hh : "%d ore", |
4088 | + d : "un giorno", |
4089 | + dd : "%d giorni", |
4090 | + M : "un mese", |
4091 | + MM : "%d mesi", |
4092 | + y : "un anno", |
4093 | + yy : "%d anni" |
4094 | + }, |
4095 | + ordinal: '%dº', |
4096 | + week : { |
4097 | + dow : 1, // Monday is the first day of the week. |
4098 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
4099 | + } |
4100 | + }); |
4101 | +})); |
4102 | |
4103 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ja.js' |
4104 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ja.js 1970-01-01 00:00:00 +0000 |
4105 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ja.js 2014-02-14 15:04:13 +0000 |
4106 | @@ -0,0 +1,58 @@ |
4107 | +// moment.js language configuration |
4108 | +// language : japanese (ja) |
4109 | +// author : LI Long : https://github.com/baryon |
4110 | + |
4111 | +(function (factory) { |
4112 | + if (typeof define === 'function' && define.amd) { |
4113 | + define(['moment'], factory); // AMD |
4114 | + } else if (typeof exports === 'object') { |
4115 | + module.exports = factory(require('../moment')); // Node |
4116 | + } else { |
4117 | + factory(window.moment); // Browser global |
4118 | + } |
4119 | +}(function (moment) { |
4120 | + return moment.lang('ja', { |
4121 | + months : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), |
4122 | + monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), |
4123 | + weekdays : "日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"), |
4124 | + weekdaysShort : "日_月_火_水_木_金_土".split("_"), |
4125 | + weekdaysMin : "日_月_火_水_木_金_土".split("_"), |
4126 | + longDateFormat : { |
4127 | + LT : "Ah時m分", |
4128 | + L : "YYYY/MM/DD", |
4129 | + LL : "YYYY年M月D日", |
4130 | + LLL : "YYYY年M月D日LT", |
4131 | + LLLL : "YYYY年M月D日LT dddd" |
4132 | + }, |
4133 | + meridiem : function (hour, minute, isLower) { |
4134 | + if (hour < 12) { |
4135 | + return "午前"; |
4136 | + } else { |
4137 | + return "午後"; |
4138 | + } |
4139 | + }, |
4140 | + calendar : { |
4141 | + sameDay : '[今日] LT', |
4142 | + nextDay : '[明日] LT', |
4143 | + nextWeek : '[来週]dddd LT', |
4144 | + lastDay : '[昨日] LT', |
4145 | + lastWeek : '[前週]dddd LT', |
4146 | + sameElse : 'L' |
4147 | + }, |
4148 | + relativeTime : { |
4149 | + future : "%s後", |
4150 | + past : "%s前", |
4151 | + s : "数秒", |
4152 | + m : "1分", |
4153 | + mm : "%d分", |
4154 | + h : "1時間", |
4155 | + hh : "%d時間", |
4156 | + d : "1日", |
4157 | + dd : "%d日", |
4158 | + M : "1ヶ月", |
4159 | + MM : "%dヶ月", |
4160 | + y : "1年", |
4161 | + yy : "%d年" |
4162 | + } |
4163 | + }); |
4164 | +})); |
4165 | |
4166 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ka.js' |
4167 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ka.js 1970-01-01 00:00:00 +0000 |
4168 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ka.js 2014-02-14 15:04:13 +0000 |
4169 | @@ -0,0 +1,108 @@ |
4170 | +// moment.js language configuration |
4171 | +// language : Georgian (ka) |
4172 | +// author : Irakli Janiashvili : https://github.com/irakli-janiashvili |
4173 | + |
4174 | +(function (factory) { |
4175 | + if (typeof define === 'function' && define.amd) { |
4176 | + define(['moment'], factory); // AMD |
4177 | + } else if (typeof exports === 'object') { |
4178 | + module.exports = factory(require('../moment')); // Node |
4179 | + } else { |
4180 | + factory(window.moment); // Browser global |
4181 | + } |
4182 | +}(function (moment) { |
4183 | + |
4184 | + function monthsCaseReplace(m, format) { |
4185 | + var months = { |
4186 | + 'nominative': 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'), |
4187 | + 'accusative': 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_') |
4188 | + }, |
4189 | + |
4190 | + nounCase = (/D[oD] *MMMM?/).test(format) ? |
4191 | + 'accusative' : |
4192 | + 'nominative'; |
4193 | + |
4194 | + return months[nounCase][m.month()]; |
4195 | + } |
4196 | + |
4197 | + function weekdaysCaseReplace(m, format) { |
4198 | + var weekdays = { |
4199 | + 'nominative': 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'), |
4200 | + 'accusative': 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_') |
4201 | + }, |
4202 | + |
4203 | + nounCase = (/(წინა|შემდეგ)/).test(format) ? |
4204 | + 'accusative' : |
4205 | + 'nominative'; |
4206 | + |
4207 | + return weekdays[nounCase][m.day()]; |
4208 | + } |
4209 | + |
4210 | + return moment.lang('ka', { |
4211 | + months : monthsCaseReplace, |
4212 | + monthsShort : "იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"), |
4213 | + weekdays : weekdaysCaseReplace, |
4214 | + weekdaysShort : "კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"), |
4215 | + weekdaysMin : "კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"), |
4216 | + longDateFormat : { |
4217 | + LT : "h:mm A", |
4218 | + L : "DD/MM/YYYY", |
4219 | + LL : "D MMMM YYYY", |
4220 | + LLL : "D MMMM YYYY LT", |
4221 | + LLLL : "dddd, D MMMM YYYY LT" |
4222 | + }, |
4223 | + calendar : { |
4224 | + sameDay : '[დღეს] LT[-ზე]', |
4225 | + nextDay : '[ხვალ] LT[-ზე]', |
4226 | + lastDay : '[გუშინ] LT[-ზე]', |
4227 | + nextWeek : '[შემდეგ] dddd LT[-ზე]', |
4228 | + lastWeek : '[წინა] dddd LT-ზე', |
4229 | + sameElse : 'L' |
4230 | + }, |
4231 | + relativeTime : { |
4232 | + future : function (s) { |
4233 | + return (/(წამი|წუთი|საათი|წელი)/).test(s) ? |
4234 | + s.replace(/ი$/, "ში") : |
4235 | + s + "ში"; |
4236 | + }, |
4237 | + past : function (s) { |
4238 | + if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) { |
4239 | + return s.replace(/(ი|ე)$/, "ის წინ"); |
4240 | + } |
4241 | + if ((/წელი/).test(s)) { |
4242 | + return s.replace(/წელი$/, "წლის წინ"); |
4243 | + } |
4244 | + }, |
4245 | + s : "რამდენიმე წამი", |
4246 | + m : "წუთი", |
4247 | + mm : "%d წუთი", |
4248 | + h : "საათი", |
4249 | + hh : "%d საათი", |
4250 | + d : "დღე", |
4251 | + dd : "%d დღე", |
4252 | + M : "თვე", |
4253 | + MM : "%d თვე", |
4254 | + y : "წელი", |
4255 | + yy : "%d წელი" |
4256 | + }, |
4257 | + ordinal : function (number) { |
4258 | + if (number === 0) { |
4259 | + return number; |
4260 | + } |
4261 | + |
4262 | + if (number === 1) { |
4263 | + return number + "-ლი"; |
4264 | + } |
4265 | + |
4266 | + if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { |
4267 | + return "მე-" + number; |
4268 | + } |
4269 | + |
4270 | + return number + "-ე"; |
4271 | + }, |
4272 | + week : { |
4273 | + dow : 1, |
4274 | + doy : 7 |
4275 | + } |
4276 | + }); |
4277 | +})); |
4278 | |
4279 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ko.js' |
4280 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ko.js 1970-01-01 00:00:00 +0000 |
4281 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ko.js 2014-02-14 15:04:13 +0000 |
4282 | @@ -0,0 +1,56 @@ |
4283 | +// moment.js language configuration |
4284 | +// language : korean (ko) |
4285 | +// author : Kyungwook, Park : https://github.com/kyungw00k |
4286 | + |
4287 | +(function (factory) { |
4288 | + if (typeof define === 'function' && define.amd) { |
4289 | + define(['moment'], factory); // AMD |
4290 | + } else if (typeof exports === 'object') { |
4291 | + module.exports = factory(require('../moment')); // Node |
4292 | + } else { |
4293 | + factory(window.moment); // Browser global |
4294 | + } |
4295 | +}(function (moment) { |
4296 | + return moment.lang('ko', { |
4297 | + months : "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"), |
4298 | + monthsShort : "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"), |
4299 | + weekdays : "일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"), |
4300 | + weekdaysShort : "일_월_화_수_목_금_토".split("_"), |
4301 | + weekdaysMin : "일_월_화_수_목_금_토".split("_"), |
4302 | + longDateFormat : { |
4303 | + LT : "A h시 mm분", |
4304 | + L : "YYYY.MM.DD", |
4305 | + LL : "YYYY년 MMMM D일", |
4306 | + LLL : "YYYY년 MMMM D일 LT", |
4307 | + LLLL : "YYYY년 MMMM D일 dddd LT" |
4308 | + }, |
4309 | + meridiem : function (hour, minute, isUpper) { |
4310 | + return hour < 12 ? '오전' : '오후'; |
4311 | + }, |
4312 | + calendar : { |
4313 | + sameDay : '오늘 LT', |
4314 | + nextDay : '내일 LT', |
4315 | + nextWeek : 'dddd LT', |
4316 | + lastDay : '어제 LT', |
4317 | + lastWeek : '지난주 dddd LT', |
4318 | + sameElse : 'L' |
4319 | + }, |
4320 | + relativeTime : { |
4321 | + future : "%s 후", |
4322 | + past : "%s 전", |
4323 | + s : "몇초", |
4324 | + ss : "%d초", |
4325 | + m : "일분", |
4326 | + mm : "%d분", |
4327 | + h : "한시간", |
4328 | + hh : "%d시간", |
4329 | + d : "하루", |
4330 | + dd : "%d일", |
4331 | + M : "한달", |
4332 | + MM : "%d달", |
4333 | + y : "일년", |
4334 | + yy : "%d년" |
4335 | + }, |
4336 | + ordinal : '%d일' |
4337 | + }); |
4338 | +})); |
4339 | |
4340 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lt.js' |
4341 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lt.js 1970-01-01 00:00:00 +0000 |
4342 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lt.js 2014-02-14 15:04:13 +0000 |
4343 | @@ -0,0 +1,118 @@ |
4344 | +// moment.js language configuration |
4345 | +// language : Lithuanian (lt) |
4346 | +// author : Mindaugas Mozūras : https://github.com/mmozuras |
4347 | + |
4348 | +(function (factory) { |
4349 | + if (typeof define === 'function' && define.amd) { |
4350 | + define(['moment'], factory); // AMD |
4351 | + } else if (typeof exports === 'object') { |
4352 | + module.exports = factory(require('../moment')); // Node |
4353 | + } else { |
4354 | + factory(window.moment); // Browser global |
4355 | + } |
4356 | +}(function (moment) { |
4357 | + var units = { |
4358 | + "m" : "minutė_minutės_minutę", |
4359 | + "mm": "minutės_minučių_minutes", |
4360 | + "h" : "valanda_valandos_valandą", |
4361 | + "hh": "valandos_valandų_valandas", |
4362 | + "d" : "diena_dienos_dieną", |
4363 | + "dd": "dienos_dienų_dienas", |
4364 | + "M" : "mėnuo_mėnesio_mėnesį", |
4365 | + "MM": "mėnesiai_mėnesių_mėnesius", |
4366 | + "y" : "metai_metų_metus", |
4367 | + "yy": "metai_metų_metus" |
4368 | + }, |
4369 | + weekDays = "pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis_sekmadienis".split("_"); |
4370 | + |
4371 | + function translateSeconds(number, withoutSuffix, key, isFuture) { |
4372 | + if (withoutSuffix) { |
4373 | + return "kelios sekundės"; |
4374 | + } else { |
4375 | + return isFuture ? "kelių sekundžių" : "kelias sekundes"; |
4376 | + } |
4377 | + } |
4378 | + |
4379 | + function translateSingular(number, withoutSuffix, key, isFuture) { |
4380 | + return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); |
4381 | + } |
4382 | + |
4383 | + function special(number) { |
4384 | + return number % 10 === 0 || (number > 10 && number < 20); |
4385 | + } |
4386 | + |
4387 | + function forms(key) { |
4388 | + return units[key].split("_"); |
4389 | + } |
4390 | + |
4391 | + function translate(number, withoutSuffix, key, isFuture) { |
4392 | + var result = number + " "; |
4393 | + if (number === 1) { |
4394 | + return result + translateSingular(number, withoutSuffix, key[0], isFuture); |
4395 | + } else if (withoutSuffix) { |
4396 | + return result + (special(number) ? forms(key)[1] : forms(key)[0]); |
4397 | + } else { |
4398 | + if (isFuture) { |
4399 | + return result + forms(key)[1]; |
4400 | + } else { |
4401 | + return result + (special(number) ? forms(key)[1] : forms(key)[2]); |
4402 | + } |
4403 | + } |
4404 | + } |
4405 | + |
4406 | + function relativeWeekDay(moment, format) { |
4407 | + var nominative = format.indexOf('dddd LT') === -1, |
4408 | + weekDay = weekDays[moment.weekday()]; |
4409 | + |
4410 | + return nominative ? weekDay : weekDay.substring(0, weekDay.length - 2) + "į"; |
4411 | + } |
4412 | + |
4413 | + return moment.lang("lt", { |
4414 | + months : "sausio_vasario_kovo_balandžio_gegužės_biržėlio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"), |
4415 | + monthsShort : "sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"), |
4416 | + weekdays : relativeWeekDay, |
4417 | + weekdaysShort : "Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"), |
4418 | + weekdaysMin : "S_P_A_T_K_Pn_Š".split("_"), |
4419 | + longDateFormat : { |
4420 | + LT : "HH:mm", |
4421 | + L : "YYYY-MM-DD", |
4422 | + LL : "YYYY [m.] MMMM D [d.]", |
4423 | + LLL : "YYYY [m.] MMMM D [d.], LT [val.]", |
4424 | + LLLL : "YYYY [m.] MMMM D [d.], dddd, LT [val.]", |
4425 | + l : "YYYY-MM-DD", |
4426 | + ll : "YYYY [m.] MMMM D [d.]", |
4427 | + lll : "YYYY [m.] MMMM D [d.], LT [val.]", |
4428 | + llll : "YYYY [m.] MMMM D [d.], ddd, LT [val.]" |
4429 | + }, |
4430 | + calendar : { |
4431 | + sameDay : "[Šiandien] LT", |
4432 | + nextDay : "[Rytoj] LT", |
4433 | + nextWeek : "dddd LT", |
4434 | + lastDay : "[Vakar] LT", |
4435 | + lastWeek : "[Praėjusį] dddd LT", |
4436 | + sameElse : "L" |
4437 | + }, |
4438 | + relativeTime : { |
4439 | + future : "po %s", |
4440 | + past : "prieš %s", |
4441 | + s : translateSeconds, |
4442 | + m : translateSingular, |
4443 | + mm : translate, |
4444 | + h : translateSingular, |
4445 | + hh : translate, |
4446 | + d : translateSingular, |
4447 | + dd : translate, |
4448 | + M : translateSingular, |
4449 | + MM : translate, |
4450 | + y : translateSingular, |
4451 | + yy : translate |
4452 | + }, |
4453 | + ordinal : function (number) { |
4454 | + return number + '-oji'; |
4455 | + }, |
4456 | + week : { |
4457 | + dow : 1, // Monday is the first day of the week. |
4458 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
4459 | + } |
4460 | + }); |
4461 | +})); |
4462 | |
4463 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lv.js' |
4464 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lv.js 1970-01-01 00:00:00 +0000 |
4465 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lv.js 2014-02-14 15:04:13 +0000 |
4466 | @@ -0,0 +1,77 @@ |
4467 | +// moment.js language configuration |
4468 | +// language : latvian (lv) |
4469 | +// author : Kristaps Karlsons : https://github.com/skakri |
4470 | + |
4471 | +(function (factory) { |
4472 | + if (typeof define === 'function' && define.amd) { |
4473 | + define(['moment'], factory); // AMD |
4474 | + } else if (typeof exports === 'object') { |
4475 | + module.exports = factory(require('../moment')); // Node |
4476 | + } else { |
4477 | + factory(window.moment); // Browser global |
4478 | + } |
4479 | +}(function (moment) { |
4480 | + var units = { |
4481 | + 'mm': 'minūti_minūtes_minūte_minūtes', |
4482 | + 'hh': 'stundu_stundas_stunda_stundas', |
4483 | + 'dd': 'dienu_dienas_diena_dienas', |
4484 | + 'MM': 'mēnesi_mēnešus_mēnesis_mēneši', |
4485 | + 'yy': 'gadu_gadus_gads_gadi' |
4486 | + }; |
4487 | + |
4488 | + function format(word, number, withoutSuffix) { |
4489 | + var forms = word.split('_'); |
4490 | + if (withoutSuffix) { |
4491 | + return number % 10 === 1 && number !== 11 ? forms[2] : forms[3]; |
4492 | + } else { |
4493 | + return number % 10 === 1 && number !== 11 ? forms[0] : forms[1]; |
4494 | + } |
4495 | + } |
4496 | + |
4497 | + function relativeTimeWithPlural(number, withoutSuffix, key) { |
4498 | + return number + ' ' + format(units[key], number, withoutSuffix); |
4499 | + } |
4500 | + |
4501 | + return moment.lang('lv', { |
4502 | + months : "janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"), |
4503 | + monthsShort : "jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"), |
4504 | + weekdays : "svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"), |
4505 | + weekdaysShort : "Sv_P_O_T_C_Pk_S".split("_"), |
4506 | + weekdaysMin : "Sv_P_O_T_C_Pk_S".split("_"), |
4507 | + longDateFormat : { |
4508 | + LT : "HH:mm", |
4509 | + L : "DD.MM.YYYY", |
4510 | + LL : "YYYY. [gada] D. MMMM", |
4511 | + LLL : "YYYY. [gada] D. MMMM, LT", |
4512 | + LLLL : "YYYY. [gada] D. MMMM, dddd, LT" |
4513 | + }, |
4514 | + calendar : { |
4515 | + sameDay : '[Šodien pulksten] LT', |
4516 | + nextDay : '[Rīt pulksten] LT', |
4517 | + nextWeek : 'dddd [pulksten] LT', |
4518 | + lastDay : '[Vakar pulksten] LT', |
4519 | + lastWeek : '[Pagājušā] dddd [pulksten] LT', |
4520 | + sameElse : 'L' |
4521 | + }, |
4522 | + relativeTime : { |
4523 | + future : "%s vēlāk", |
4524 | + past : "%s agrāk", |
4525 | + s : "dažas sekundes", |
4526 | + m : "minūti", |
4527 | + mm : relativeTimeWithPlural, |
4528 | + h : "stundu", |
4529 | + hh : relativeTimeWithPlural, |
4530 | + d : "dienu", |
4531 | + dd : relativeTimeWithPlural, |
4532 | + M : "mēnesi", |
4533 | + MM : relativeTimeWithPlural, |
4534 | + y : "gadu", |
4535 | + yy : relativeTimeWithPlural |
4536 | + }, |
4537 | + ordinal : '%d.', |
4538 | + week : { |
4539 | + dow : 1, // Monday is the first day of the week. |
4540 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
4541 | + } |
4542 | + }); |
4543 | +})); |
4544 | |
4545 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ml.js' |
4546 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ml.js 1970-01-01 00:00:00 +0000 |
4547 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ml.js 2014-02-14 15:04:13 +0000 |
4548 | @@ -0,0 +1,64 @@ |
4549 | +// moment.js language configuration |
4550 | +// language : malayalam (ml) |
4551 | +// author : Floyd Pink : https://github.com/floydpink |
4552 | + |
4553 | +(function (factory) { |
4554 | + if (typeof define === 'function' && define.amd) { |
4555 | + define(['moment'], factory); // AMD |
4556 | + } else if (typeof exports === 'object') { |
4557 | + module.exports = factory(require('../moment')); // Node |
4558 | + } else { |
4559 | + factory(window.moment); // Browser global |
4560 | + } |
4561 | +}(function (moment) { |
4562 | + return moment.lang('ml', { |
4563 | + months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split("_"), |
4564 | + monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split("_"), |
4565 | + weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split("_"), |
4566 | + weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split("_"), |
4567 | + weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split("_"), |
4568 | + longDateFormat : { |
4569 | + LT : "A h:mm -നു", |
4570 | + L : "DD/MM/YYYY", |
4571 | + LL : "D MMMM YYYY", |
4572 | + LLL : "D MMMM YYYY, LT", |
4573 | + LLLL : "dddd, D MMMM YYYY, LT" |
4574 | + }, |
4575 | + calendar : { |
4576 | + sameDay : '[ഇന്ന്] LT', |
4577 | + nextDay : '[നാളെ] LT', |
4578 | + nextWeek : 'dddd, LT', |
4579 | + lastDay : '[ഇന്നലെ] LT', |
4580 | + lastWeek : '[കഴിഞ്ഞ] dddd, LT', |
4581 | + sameElse : 'L' |
4582 | + }, |
4583 | + relativeTime : { |
4584 | + future : "%s കഴിഞ്ഞ്", |
4585 | + past : "%s മുൻപ്", |
4586 | + s : "അൽപ നിമിഷങ്ങൾ", |
4587 | + m : "ഒരു മിനിറ്റ്", |
4588 | + mm : "%d മിനിറ്റ്", |
4589 | + h : "ഒരു മണിക്കൂർ", |
4590 | + hh : "%d മണിക്കൂർ", |
4591 | + d : "ഒരു ദിവസം", |
4592 | + dd : "%d ദിവസം", |
4593 | + M : "ഒരു മാസം", |
4594 | + MM : "%d മാസം", |
4595 | + y : "ഒരു വർഷം", |
4596 | + yy : "%d വർഷം" |
4597 | + }, |
4598 | + meridiem : function (hour, minute, isLower) { |
4599 | + if (hour < 4) { |
4600 | + return "രാത്രി"; |
4601 | + } else if (hour < 12) { |
4602 | + return "രാവിലെ"; |
4603 | + } else if (hour < 17) { |
4604 | + return "ഉച്ച കഴിഞ്ഞ്"; |
4605 | + } else if (hour < 20) { |
4606 | + return "വൈകുന്നേരം"; |
4607 | + } else { |
4608 | + return "രാത്രി"; |
4609 | + } |
4610 | + } |
4611 | + }); |
4612 | +})); |
4613 | |
4614 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.mr.js' |
4615 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.mr.js 1970-01-01 00:00:00 +0000 |
4616 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.mr.js 2014-02-14 15:04:13 +0000 |
4617 | @@ -0,0 +1,104 @@ |
4618 | +// moment.js language configuration |
4619 | +// language : Marathi (mr) |
4620 | +// author : Harshad Kale : https://github.com/kalehv |
4621 | + |
4622 | +(function (factory) { |
4623 | + if (typeof define === 'function' && define.amd) { |
4624 | + define(['moment'], factory); // AMD |
4625 | + } else if (typeof exports === 'object') { |
4626 | + module.exports = factory(require('../moment')); // Node |
4627 | + } else { |
4628 | + factory(window.moment); // Browser global |
4629 | + } |
4630 | +}(function (moment) { |
4631 | + var symbolMap = { |
4632 | + '1': '१', |
4633 | + '2': '२', |
4634 | + '3': '३', |
4635 | + '4': '४', |
4636 | + '5': '५', |
4637 | + '6': '६', |
4638 | + '7': '७', |
4639 | + '8': '८', |
4640 | + '9': '९', |
4641 | + '0': '०' |
4642 | + }, |
4643 | + numberMap = { |
4644 | + '१': '1', |
4645 | + '२': '2', |
4646 | + '३': '3', |
4647 | + '४': '4', |
4648 | + '५': '5', |
4649 | + '६': '6', |
4650 | + '७': '7', |
4651 | + '८': '8', |
4652 | + '९': '9', |
4653 | + '०': '0' |
4654 | + }; |
4655 | + |
4656 | + return moment.lang('mr', { |
4657 | + months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split("_"), |
4658 | + monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split("_"), |
4659 | + weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split("_"), |
4660 | + weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split("_"), |
4661 | + weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split("_"), |
4662 | + longDateFormat : { |
4663 | + LT : "A h:mm वाजता", |
4664 | + L : "DD/MM/YYYY", |
4665 | + LL : "D MMMM YYYY", |
4666 | + LLL : "D MMMM YYYY, LT", |
4667 | + LLLL : "dddd, D MMMM YYYY, LT" |
4668 | + }, |
4669 | + calendar : { |
4670 | + sameDay : '[आज] LT', |
4671 | + nextDay : '[उद्या] LT', |
4672 | + nextWeek : 'dddd, LT', |
4673 | + lastDay : '[काल] LT', |
4674 | + lastWeek: '[मागील] dddd, LT', |
4675 | + sameElse : 'L' |
4676 | + }, |
4677 | + relativeTime : { |
4678 | + future : "%s नंतर", |
4679 | + past : "%s पूर्वी", |
4680 | + s : "सेकंद", |
4681 | + m: "एक मिनिट", |
4682 | + mm: "%d मिनिटे", |
4683 | + h : "एक तास", |
4684 | + hh : "%d तास", |
4685 | + d : "एक दिवस", |
4686 | + dd : "%d दिवस", |
4687 | + M : "एक महिना", |
4688 | + MM : "%d महिने", |
4689 | + y : "एक वर्ष", |
4690 | + yy : "%d वर्षे" |
4691 | + }, |
4692 | + preparse: function (string) { |
4693 | + return string.replace(/[१२३४५६७८९०]/g, function (match) { |
4694 | + return numberMap[match]; |
4695 | + }); |
4696 | + }, |
4697 | + postformat: function (string) { |
4698 | + return string.replace(/\d/g, function (match) { |
4699 | + return symbolMap[match]; |
4700 | + }); |
4701 | + }, |
4702 | + meridiem: function (hour, minute, isLower) |
4703 | + { |
4704 | + if (hour < 4) { |
4705 | + return "रात्री"; |
4706 | + } else if (hour < 10) { |
4707 | + return "सकाळी"; |
4708 | + } else if (hour < 17) { |
4709 | + return "दुपारी"; |
4710 | + } else if (hour < 20) { |
4711 | + return "सायंकाळी"; |
4712 | + } else { |
4713 | + return "रात्री"; |
4714 | + } |
4715 | + }, |
4716 | + week : { |
4717 | + dow : 0, // Sunday is the first day of the week. |
4718 | + doy : 6 // The week that contains Jan 1st is the first week of the year. |
4719 | + } |
4720 | + }); |
4721 | +})); |
4722 | |
4723 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ms-my.js' |
4724 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ms-my.js 1970-01-01 00:00:00 +0000 |
4725 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ms-my.js 2014-02-14 15:04:13 +0000 |
4726 | @@ -0,0 +1,66 @@ |
4727 | +// moment.js language configuration |
4728 | +// language : Bahasa Malaysia (ms-MY) |
4729 | +// author : Weldan Jamili : https://github.com/weldan |
4730 | + |
4731 | +(function (factory) { |
4732 | + if (typeof define === 'function' && define.amd) { |
4733 | + define(['moment'], factory); // AMD |
4734 | + } else if (typeof exports === 'object') { |
4735 | + module.exports = factory(require('../moment')); // Node |
4736 | + } else { |
4737 | + factory(window.moment); // Browser global |
4738 | + } |
4739 | +}(function (moment) { |
4740 | + return moment.lang('ms-my', { |
4741 | + months : "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"), |
4742 | + monthsShort : "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"), |
4743 | + weekdays : "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"), |
4744 | + weekdaysShort : "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"), |
4745 | + weekdaysMin : "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"), |
4746 | + longDateFormat : { |
4747 | + LT : "HH.mm", |
4748 | + L : "DD/MM/YYYY", |
4749 | + LL : "D MMMM YYYY", |
4750 | + LLL : "D MMMM YYYY [pukul] LT", |
4751 | + LLLL : "dddd, D MMMM YYYY [pukul] LT" |
4752 | + }, |
4753 | + meridiem : function (hours, minutes, isLower) { |
4754 | + if (hours < 11) { |
4755 | + return 'pagi'; |
4756 | + } else if (hours < 15) { |
4757 | + return 'tengahari'; |
4758 | + } else if (hours < 19) { |
4759 | + return 'petang'; |
4760 | + } else { |
4761 | + return 'malam'; |
4762 | + } |
4763 | + }, |
4764 | + calendar : { |
4765 | + sameDay : '[Hari ini pukul] LT', |
4766 | + nextDay : '[Esok pukul] LT', |
4767 | + nextWeek : 'dddd [pukul] LT', |
4768 | + lastDay : '[Kelmarin pukul] LT', |
4769 | + lastWeek : 'dddd [lepas pukul] LT', |
4770 | + sameElse : 'L' |
4771 | + }, |
4772 | + relativeTime : { |
4773 | + future : "dalam %s", |
4774 | + past : "%s yang lepas", |
4775 | + s : "beberapa saat", |
4776 | + m : "seminit", |
4777 | + mm : "%d minit", |
4778 | + h : "sejam", |
4779 | + hh : "%d jam", |
4780 | + d : "sehari", |
4781 | + dd : "%d hari", |
4782 | + M : "sebulan", |
4783 | + MM : "%d bulan", |
4784 | + y : "setahun", |
4785 | + yy : "%d tahun" |
4786 | + }, |
4787 | + week : { |
4788 | + dow : 1, // Monday is the first day of the week. |
4789 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
4790 | + } |
4791 | + }); |
4792 | +})); |
4793 | |
4794 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nb.js' |
4795 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nb.js 1970-01-01 00:00:00 +0000 |
4796 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nb.js 2014-02-14 15:04:13 +0000 |
4797 | @@ -0,0 +1,57 @@ |
4798 | +// moment.js language configuration |
4799 | +// language : norwegian bokmål (nb) |
4800 | +// authors : Espen Hovlandsdal : https://github.com/rexxars |
4801 | +// Sigurd Gartmann : https://github.com/sigurdga |
4802 | + |
4803 | +(function (factory) { |
4804 | + if (typeof define === 'function' && define.amd) { |
4805 | + define(['moment'], factory); // AMD |
4806 | + } else if (typeof exports === 'object') { |
4807 | + module.exports = factory(require('../moment')); // Node |
4808 | + } else { |
4809 | + factory(window.moment); // Browser global |
4810 | + } |
4811 | +}(function (moment) { |
4812 | + return moment.lang('nb', { |
4813 | + months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"), |
4814 | + monthsShort : "jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"), |
4815 | + weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"), |
4816 | + weekdaysShort : "sø._ma._ti._on._to._fr._lø.".split("_"), |
4817 | + weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"), |
4818 | + longDateFormat : { |
4819 | + LT : "H.mm", |
4820 | + L : "DD.MM.YYYY", |
4821 | + LL : "D. MMMM YYYY", |
4822 | + LLL : "D. MMMM YYYY [kl.] LT", |
4823 | + LLLL : "dddd D. MMMM YYYY [kl.] LT" |
4824 | + }, |
4825 | + calendar : { |
4826 | + sameDay: '[i dag kl.] LT', |
4827 | + nextDay: '[i morgen kl.] LT', |
4828 | + nextWeek: 'dddd [kl.] LT', |
4829 | + lastDay: '[i går kl.] LT', |
4830 | + lastWeek: '[forrige] dddd [kl.] LT', |
4831 | + sameElse: 'L' |
4832 | + }, |
4833 | + relativeTime : { |
4834 | + future : "om %s", |
4835 | + past : "for %s siden", |
4836 | + s : "noen sekunder", |
4837 | + m : "ett minutt", |
4838 | + mm : "%d minutter", |
4839 | + h : "en time", |
4840 | + hh : "%d timer", |
4841 | + d : "en dag", |
4842 | + dd : "%d dager", |
4843 | + M : "en måned", |
4844 | + MM : "%d måneder", |
4845 | + y : "ett år", |
4846 | + yy : "%d år" |
4847 | + }, |
4848 | + ordinal : '%d.', |
4849 | + week : { |
4850 | + dow : 1, // Monday is the first day of the week. |
4851 | + doy : 4 // The week that contains Jan 4th is the first week of the year. |
4852 | + } |
4853 | + }); |
4854 | +})); |
4855 | |
4856 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ne.js' |
4857 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ne.js 1970-01-01 00:00:00 +0000 |
4858 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ne.js 2014-02-14 15:04:13 +0000 |
4859 | @@ -0,0 +1,105 @@ |
4860 | +// moment.js language configuration |
4861 | +// language : nepali/nepalese |
4862 | +// author : suvash : https://github.com/suvash |
4863 | + |
4864 | +(function (factory) { |
4865 | + if (typeof define === 'function' && define.amd) { |
4866 | + define(['moment'], factory); // AMD |
4867 | + } else if (typeof exports === 'object') { |
4868 | + module.exports = factory(require('../moment')); // Node |
4869 | + } else { |
4870 | + factory(window.moment); // Browser global |
4871 | + } |
4872 | +}(function (moment) { |
4873 | + var symbolMap = { |
4874 | + '1': '१', |
4875 | + '2': '२', |
4876 | + '3': '३', |
4877 | + '4': '४', |
4878 | + '5': '५', |
4879 | + '6': '६', |
4880 | + '7': '७', |
4881 | + '8': '८', |
4882 | + '9': '९', |
4883 | + '0': '०' |
4884 | + }, |
4885 | + numberMap = { |
4886 | + '१': '1', |
4887 | + '२': '2', |
4888 | + '३': '3', |
4889 | + '४': '4', |
4890 | + '५': '5', |
4891 | + '६': '6', |
4892 | + '७': '7', |
4893 | + '८': '8', |
4894 | + '९': '9', |
4895 | + '०': '0' |
4896 | + }; |
4897 | + |
4898 | + return moment.lang('ne', { |
4899 | + months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split("_"), |
4900 | + monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split("_"), |
4901 | + weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split("_"), |
4902 | + weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split("_"), |
4903 | + weekdaysMin : 'आइ._सो._मङ्_बु._बि._शु._श.'.split("_"), |
4904 | + longDateFormat : { |
4905 | + LT : "Aको h:mm बजे", |
4906 | + L : "DD/MM/YYYY", |
4907 | + LL : "D MMMM YYYY", |
4908 | + LLL : "D MMMM YYYY, LT", |
4909 | + LLLL : "dddd, D MMMM YYYY, LT" |
4910 | + }, |
4911 | + preparse: function (string) { |
4912 | + return string.replace(/[१२३४५६७८९०]/g, function (match) { |
4913 | + return numberMap[match]; |
4914 | + }); |
4915 | + }, |
4916 | + postformat: function (string) { |
4917 | + return string.replace(/\d/g, function (match) { |
4918 | + return symbolMap[match]; |
4919 | + }); |
4920 | + }, |
4921 | + meridiem : function (hour, minute, isLower) { |
4922 | + if (hour < 3) { |
4923 | + return "राती"; |
4924 | + } else if (hour < 10) { |
4925 | + return "बिहान"; |
4926 | + } else if (hour < 15) { |
4927 | + return "दिउँसो"; |
4928 | + } else if (hour < 18) { |
4929 | + return "बेलुका"; |
4930 | + } else if (hour < 20) { |
4931 | + return "साँझ"; |
4932 | + } else { |
4933 | + return "राती"; |
4934 | + } |
4935 | + }, |
4936 | + calendar : { |
4937 | + sameDay : '[आज] LT', |
4938 | + nextDay : '[भोली] LT', |
4939 | + nextWeek : '[आउँदो] dddd[,] LT', |
4940 | + lastDay : '[हिजो] LT', |
4941 | + lastWeek : '[गएको] dddd[,] LT', |
4942 | + sameElse : 'L' |
4943 | + }, |
4944 | + relativeTime : { |
4945 | + future : "%sमा", |
4946 | + past : "%s अगाडी", |
4947 | + s : "केही समय", |
4948 | + m : "एक मिनेट", |
4949 | + mm : "%d मिनेट", |
4950 | + h : "एक घण्टा", |
4951 | + hh : "%d घण्टा", |
4952 | + d : "एक दिन", |
4953 | + dd : "%d दिन", |
4954 | + M : "एक महिना", |
4955 | + MM : "%d महिना", |
4956 | + y : "एक बर्ष", |
4957 | + yy : "%d बर्ष" |
4958 | + }, |
4959 | + week : { |
4960 | + dow : 1, // Monday is the first day of the week. |
4961 | + doy : 7 // The week that contains Jan 1st is the first week of the year. |
4962 | + } |
4963 | + }); |
4964 | +})); |
4965 | |
4966 | === added file 'addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nl.js' |
4967 | --- addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nl.js 1970-01-01 00:00:00 +0000 |
4968 | +++ addons/web/static/lib/bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nl.js 2014-02-14 15:04:13 +0000 |
4969 | @@ -0,0 +1,67 @@ |
4970 | +// moment.js language configuration |
4971 | +// language : dutch (nl) |
4972 | +// author : Joris Röling : https://github.com/jjupiter |
4973 | + |
4974 | +(function (factory) { |
4975 | + if (typeof define === 'function' && define.amd) { |
4976 | + define(['moment'], factory); // AMD |
4977 | + } else if (typeof exports === 'object') { |
4978 | + module.exports = factory(require('../moment')); // Node |
4979 | + } else { |
4980 | + factory(window.moment); // Browser global |
4981 | + } |
4982 | +}(function (moment) { |
4983 | + var monthsShortWithDots = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"), |
4984 | + monthsShortWithoutDots = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"); |
4985 | + |
4986 | + return moment.lang('nl', { |
4987 | + months : "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"), |
4988 | + monthsShort : function (m, format) { |
4989 | + if (/-MMM-/.test(format)) { |
4990 | + return monthsShortWithoutDots[m.month()]; |
4991 | + } else { |
4992 | + return monthsShortWithDots[m.month()]; |
4993 | + } |
4994 | + }, |
4995 | + weekdays : "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"), |
4996 | + weekdaysShort : "zo._ma._di._wo._do._vr._za.".split("_"), |
4997 | + weekdaysMin : "Zo_Ma_Di_Wo_Do_Vr_Za".split("_"), |
4998 | + longDateFormat : { |
4999 | + LT : "HH:mm", |
5000 | + L : "DD-MM-YYYY", |