Fri, 05 Aug 2022 10:35:24 +0200
Changed button text
368
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1 | /* tslint:disable */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
2 | /* eslint-disable */ |
1 | 3 | /*! |
4 | * Globalize | |
5 | * | |
6 | * http://github.com/jquery/globalize | |
7 | * | |
8 | * Copyright Software Freedom Conservancy, Inc. | |
9 | * Dual licensed under the MIT or GPL Version 2 licenses. | |
10 | * http://jquery.org/license | |
11 | */ | |
368
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
12 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
13 | (function( window, undefined ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
14 | if (document.Globalize) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
15 | return; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
16 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
17 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
18 | var Globalize, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
19 | // private variables |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
20 | regexHex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
21 | regexInfinity, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
22 | regexParseFloat, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
23 | regexTrim, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
24 | // private JavaScript utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
25 | arrayIndexOf, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
26 | endsWith, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
27 | extend, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
28 | isArray, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
29 | isFunction, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
30 | isObject, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
31 | startsWith, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
32 | trim, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
33 | truncate, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
34 | zeroPad, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
35 | // private Globalization utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
36 | appendPreOrPostMatch, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
37 | expandFormat, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
38 | formatDate, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
39 | formatNumber, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
40 | getTokenRegExp, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
41 | getEra, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
42 | getEraYear, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
43 | parseExact, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
44 | parseNegativePattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
45 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
46 | // Global variable (Globalize) or CommonJS module (globalize) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
47 | Globalize = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
48 | return new Globalize.prototype.init( cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
49 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
50 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
51 | if ( typeof require !== "undefined" && |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
52 | typeof exports !== "undefined" && |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
53 | typeof module !== "undefined" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
54 | // Assume CommonJS |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
55 | module.exports = Globalize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
56 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
57 | // Export as global variable |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
58 | window.Globalize = Globalize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
59 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
60 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
61 | Globalize.cultures = {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
62 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
63 | Globalize.prototype = { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
64 | constructor: Globalize, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
65 | init: function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
66 | this.cultures = Globalize.cultures; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
67 | this.cultureSelector = cultureSelector; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
68 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
69 | return this; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
70 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
71 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
72 | Globalize.prototype.init.prototype = Globalize.prototype; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
73 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
74 | // 1. When defining a culture, all fields are required except the ones stated as optional. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
75 | // 2. Each culture should have a ".calendars" object with at least one calendar named "standard" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
76 | // which serves as the default calendar in use by that culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
77 | // 3. Each culture should have a ".calendar" object which is the current calendar being used, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
78 | // it may be dynamically changed at any time to one of the calendars in ".calendars". |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
79 | Globalize.cultures[ "default" ] = { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
80 | // A unique name for the culture in the form <language code>-<country/region code> |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
81 | name: "en", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
82 | // the name of the culture in the english language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
83 | englishName: "English", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
84 | // the name of the culture in its own language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
85 | nativeName: "English", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
86 | // whether the culture uses right-to-left text |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
87 | isRTL: false, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
88 | // "language" is used for so-called "specific" cultures. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
89 | // For example, the culture "es-CL" means "Spanish, in Chili". |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
90 | // It represents the Spanish-speaking culture as it is in Chili, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
91 | // which might have different formatting rules or even translations |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
92 | // than Spanish in Spain. A "neutral" culture is one that is not |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
93 | // specific to a region. For example, the culture "es" is the generic |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
94 | // Spanish culture, which may be a more generalized version of the language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
95 | // that may or may not be what a specific culture expects. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
96 | // For a specific culture like "es-CL", the "language" field refers to the |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
97 | // neutral, generic culture information for the language it is using. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
98 | // This is not always a simple matter of the string before the dash. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
99 | // For example, the "zh-Hans" culture is netural (Simplified Chinese). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
100 | // And the "zh-SG" culture is Simplified Chinese in Singapore, whose lanugage |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
101 | // field is "zh-CHS", not "zh". |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
102 | // This field should be used to navigate from a specific culture to it's |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
103 | // more general, neutral culture. If a culture is already as general as it |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
104 | // can get, the language may refer to itself. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
105 | language: "en", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
106 | // numberFormat defines general number formatting rules, like the digits in |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
107 | // each grouping, the group separator, and how negative numbers are displayed. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
108 | numberFormat: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
109 | // [negativePattern] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
110 | // Note, numberFormat.pattern has no "positivePattern" unlike percent and currency, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
111 | // but is still defined as an array for consistency with them. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
112 | // negativePattern: one of "(n)|-n|- n|n-|n -" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
113 | pattern: [ "-n" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
114 | // number of decimal places normally shown |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
115 | decimals: 2, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
116 | // string that separates number groups, as in 1,000,000 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
117 | ",": ",", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
118 | // string that separates a number from the fractional portion, as in 1.99 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
119 | ".": ".", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
120 | // array of numbers indicating the size of each number group. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
121 | // TODO: more detailed description and example |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
122 | groupSizes: [ 3 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
123 | // symbol used for positive numbers |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
124 | "+": "+", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
125 | // symbol used for negative numbers |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
126 | "-": "-", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
127 | // symbol used for NaN (Not-A-Number) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
128 | "NaN": "NaN", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
129 | // symbol used for Negative Infinity |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
130 | negativeInfinity: "-Infinity", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
131 | // symbol used for Positive Infinity |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
132 | positiveInfinity: "Infinity", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
133 | percent: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
134 | // [negativePattern, positivePattern] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
135 | // negativePattern: one of "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
136 | // positivePattern: one of "n %|n%|%n|% n" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
137 | pattern: [ "-n %", "n %" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
138 | // number of decimal places normally shown |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
139 | decimals: 2, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
140 | // array of numbers indicating the size of each number group. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
141 | // TODO: more detailed description and example |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
142 | groupSizes: [ 3 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
143 | // string that separates number groups, as in 1,000,000 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
144 | ",": ",", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
145 | // string that separates a number from the fractional portion, as in 1.99 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
146 | ".": ".", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
147 | // symbol used to represent a percentage |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
148 | symbol: "%" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
149 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
150 | currency: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
151 | // [negativePattern, positivePattern] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
152 | // negativePattern: one of "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
153 | // positivePattern: one of "$n|n$|$ n|n $" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
154 | pattern: [ "($n)", "$n" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
155 | // number of decimal places normally shown |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
156 | decimals: 2, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
157 | // array of numbers indicating the size of each number group. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
158 | // TODO: more detailed description and example |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
159 | groupSizes: [ 3 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
160 | // string that separates number groups, as in 1,000,000 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
161 | ",": ",", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
162 | // string that separates a number from the fractional portion, as in 1.99 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
163 | ".": ".", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
164 | // symbol used to represent currency |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
165 | symbol: "$" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
166 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
167 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
168 | // calendars defines all the possible calendars used by this culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
169 | // There should be at least one defined with name "standard", and is the default |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
170 | // calendar used by the culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
171 | // A calendar contains information about how dates are formatted, information about |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
172 | // the calendar's eras, a standard set of the date formats, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
173 | // translations for day and month names, and if the calendar is not based on the Gregorian |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
174 | // calendar, conversion functions to and from the Gregorian calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
175 | calendars: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
176 | standard: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
177 | // name that identifies the type of calendar this is |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
178 | name: "Gregorian_USEnglish", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
179 | // separator of parts of a date (e.g. "/" in 11/05/1955) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
180 | "/": "/", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
181 | // separator of parts of a time (e.g. ":" in 05:44 PM) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
182 | ":": ":", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
183 | // the first day of the week (0 = Sunday, 1 = Monday, etc) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
184 | firstDay: 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
185 | days: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
186 | // full day names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
187 | names: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
188 | // abbreviated day names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
189 | namesAbbr: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
190 | // shortest day names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
191 | namesShort: [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
192 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
193 | months: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
194 | // full month names (13 months for lunar calendards -- 13th month should be "" if not lunar) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
195 | names: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
196 | // abbreviated month names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
197 | namesAbbr: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "" ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
198 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
199 | // AM and PM designators in one of these forms: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
200 | // The usual view, and the upper and lower case versions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
201 | // [ standard, lowercase, uppercase ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
202 | // The culture does not use AM or PM (likely all standard date formats use 24 hour time) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
203 | // null |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
204 | AM: [ "AM", "am", "AM" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
205 | PM: [ "PM", "pm", "PM" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
206 | eras: [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
207 | // eras in reverse chronological order. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
208 | // name: the name of the era in this culture (e.g. A.D., C.E.) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
209 | // start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
210 | // offset: offset in years from gregorian calendar |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
211 | { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
212 | "name": "A.D.", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
213 | "start": null, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
214 | "offset": 0 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
215 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
216 | ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
217 | // when a two digit year is given, it will never be parsed as a four digit |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
218 | // year greater than this year (in the appropriate era for the culture) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
219 | // Set it as a full year (e.g. 2029) or use an offset format starting from |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
220 | // the current year: "+19" would correspond to 2029 if the current year 2010. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
221 | twoDigitYearMax: 2029, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
222 | // set of predefined date and time patterns used by the culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
223 | // these represent the format someone in this culture would expect |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
224 | // to see given the portions of the date that are shown. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
225 | patterns: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
226 | // short date pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
227 | d: "M/d/yyyy", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
228 | // long date pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
229 | D: "dddd, MMMM dd, yyyy", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
230 | // short time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
231 | t: "h:mm tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
232 | // long time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
233 | T: "h:mm:ss tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
234 | // long date, short time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
235 | f: "dddd, MMMM dd, yyyy h:mm tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
236 | // long date, long time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
237 | F: "dddd, MMMM dd, yyyy h:mm:ss tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
238 | // month/day pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
239 | M: "MMMM dd", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
240 | // month/year pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
241 | Y: "yyyy MMMM", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
242 | // S is a sortable format that does not vary by culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
243 | S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
244 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
245 | // optional fields for each calendar: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
246 | /* |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
247 | monthsGenitive: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
248 | Same as months but used when the day preceeds the month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
249 | Omit if the culture has no genitive distinction in month names. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
250 | For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
251 | convert: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
252 | Allows for the support of non-gregorian based calendars. This convert object is used to |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
253 | to convert a date to and from a gregorian calendar date to handle parsing and formatting. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
254 | The two functions: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
255 | fromGregorian( date ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
256 | Given the date as a parameter, return an array with parts [ year, month, day ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
257 | corresponding to the non-gregorian based year, month, and day for the calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
258 | toGregorian( year, month, day ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
259 | Given the non-gregorian year, month, and day, return a new Date() object |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
260 | set to the corresponding date in the gregorian calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
261 | */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
262 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
263 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
264 | // For localized strings |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
265 | messages: {} |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
266 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
267 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
268 | Globalize.cultures[ "default" ].calendar = Globalize.cultures[ "default" ].calendars.standard; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
269 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
270 | Globalize.cultures.en = Globalize.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
271 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
272 | Globalize.cultureSelector = "en"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
273 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
274 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
275 | // private variables |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
276 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
277 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
278 | regexHex = /^0x[a-f0-9]+$/i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
279 | regexInfinity = /^[+\-]?infinity$/i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
280 | regexParseFloat = /^[+\-]?\d*\.?\d*(e[+\-]?\d+)?$/; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
281 | regexTrim = /^\s+|\s+$/g; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
282 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
283 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
284 | // private JavaScript utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
285 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
286 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
287 | arrayIndexOf = function( array, item ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
288 | if ( array.indexOf ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
289 | return array.indexOf( item ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
290 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
291 | for ( var i = 0, length = array.length; i < length; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
292 | if ( array[i] === item ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
293 | return i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
294 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
295 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
296 | return -1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
297 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
298 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
299 | endsWith = function( value, pattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
300 | return value.substr( value.length - pattern.length ) === pattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
301 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
302 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
303 | extend = function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
304 | var options, name, src, copy, copyIsArray, clone, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
305 | target = arguments[0] || {}, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
306 | i = 1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
307 | length = arguments.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
308 | deep = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
309 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
310 | // Handle a deep copy situation |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
311 | if ( typeof target === "boolean" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
312 | deep = target; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
313 | target = arguments[1] || {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
314 | // skip the boolean and the target |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
315 | i = 2; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
316 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
317 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
318 | // Handle case when target is a string or something (possible in deep copy) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
319 | if ( typeof target !== "object" && !isFunction(target) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
320 | target = {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
321 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
322 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
323 | for ( ; i < length; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
324 | // Only deal with non-null/undefined values |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
325 | if ( (options = arguments[ i ]) != null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
326 | // Extend the base object |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
327 | for ( name in options ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
328 | src = target[ name ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
329 | copy = options[ name ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
330 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
331 | // Prevent never-ending loop |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
332 | if ( target === copy ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
333 | continue; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
334 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
335 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
336 | // Recurse if we're merging plain objects or arrays |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
337 | if ( deep && copy && ( isObject(copy) || (copyIsArray = isArray(copy)) ) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
338 | if ( copyIsArray ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
339 | copyIsArray = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
340 | clone = src && isArray(src) ? src : []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
341 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
342 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
343 | clone = src && isObject(src) ? src : {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
344 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
345 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
346 | // Never move original objects, clone them |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
347 | target[ name ] = extend( deep, clone, copy ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
348 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
349 | // Don't bring in undefined values |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
350 | } else if ( copy !== undefined ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
351 | target[ name ] = copy; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
352 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
353 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
354 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
355 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
356 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
357 | // Return the modified object |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
358 | return target; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
359 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
360 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
361 | isArray = Array.isArray || function( obj ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
362 | return Object.prototype.toString.call( obj ) === "[object Array]"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
363 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
364 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
365 | isFunction = function( obj ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
366 | return Object.prototype.toString.call( obj ) === "[object Function]"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
367 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
368 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
369 | isObject = function( obj ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
370 | return Object.prototype.toString.call( obj ) === "[object Object]"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
371 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
372 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
373 | startsWith = function( value, pattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
374 | return value.indexOf( pattern ) === 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
375 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
376 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
377 | trim = function( value ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
378 | return ( value + "" ).replace( regexTrim, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
379 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
380 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
381 | truncate = function( value ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
382 | if ( isNaN( value ) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
383 | return NaN; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
384 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
385 | return Math[ value < 0 ? "ceil" : "floor" ]( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
386 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
387 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
388 | zeroPad = function( str, count, left ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
389 | var l; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
390 | for ( l = str.length; l < count; l += 1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
391 | str = ( left ? ("0" + str) : (str + "0") ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
392 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
393 | return str; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
394 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
395 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
396 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
397 | // private Globalization utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
398 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
399 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
400 | appendPreOrPostMatch = function( preMatch, strings ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
401 | // appends pre- and post- token match strings while removing escaped characters. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
402 | // Returns a single quote count which is used to determine if the token occurs |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
403 | // in a string literal. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
404 | var quoteCount = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
405 | escaped = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
406 | for ( var i = 0, il = preMatch.length; i < il; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
407 | var c = preMatch.charAt( i ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
408 | switch ( c ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
409 | case "\'": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
410 | if ( escaped ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
411 | strings.push( "\'" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
412 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
413 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
414 | quoteCount++; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
415 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
416 | escaped = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
417 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
418 | case "\\": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
419 | if ( escaped ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
420 | strings.push( "\\" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
421 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
422 | escaped = !escaped; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
423 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
424 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
425 | strings.push( c ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
426 | escaped = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
427 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
428 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
429 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
430 | return quoteCount; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
431 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
432 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
433 | expandFormat = function( cal, format ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
434 | // expands unspecified or single character date formats into the full pattern. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
435 | format = format || "F"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
436 | var pattern, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
437 | patterns = cal.patterns, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
438 | len = format.length; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
439 | if ( len === 1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
440 | pattern = patterns[ format ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
441 | if ( !pattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
442 | throw "Invalid date format string \'" + format + "\'."; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
443 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
444 | format = pattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
445 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
446 | else if ( len === 2 && format.charAt(0) === "%" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
447 | // %X escape format -- intended as a custom format string that is only one character, not a built-in format. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
448 | format = format.charAt( 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
449 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
450 | return format; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
451 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
452 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
453 | formatDate = function( value, format, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
454 | var cal = culture.calendar, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
455 | convert = cal.convert, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
456 | ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
457 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
458 | if ( !format || !format.length || format === "i" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
459 | if ( culture && culture.name.length ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
460 | if ( convert ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
461 | // non-gregorian calendar, so we cannot use built-in toLocaleString() |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
462 | ret = formatDate( value, cal.patterns.F, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
463 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
464 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
465 | var eraDate = new Date( value.getTime() ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
466 | era = getEra( value, cal.eras ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
467 | eraDate.setFullYear( getEraYear(value, cal, era) ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
468 | ret = eraDate.toLocaleString(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
469 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
470 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
471 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
472 | ret = value.toString(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
473 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
474 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
475 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
476 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
477 | var eras = cal.eras, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
478 | sortable = format === "s"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
479 | format = expandFormat( cal, format ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
480 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
481 | // Start with an empty string |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
482 | ret = []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
483 | var hour, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
484 | zeros = [ "0", "00", "000" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
485 | foundDay, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
486 | checkedDay, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
487 | dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
488 | quoteCount = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
489 | tokenRegExp = getTokenRegExp(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
490 | converted; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
491 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
492 | //function padZeros( num, c ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
493 | // var r, s = num + ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
494 | // if ( c > 1 && s.length < c ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
495 | // r = ( zeros[c - 2] + s); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
496 | // return r.substr( r.length - c, c ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
497 | // } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
498 | // else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
499 | // r = s; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
500 | // } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
501 | // return r; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
502 | //} |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
503 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
504 | function padZeros(num, c) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
505 | if (num < 0) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
506 | return "-" + padZeros(-num, c); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
507 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
508 | var r, s = num + ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
509 | if (c > 1 && s.length < c) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
510 | r = (zeros[c - 2] + s); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
511 | return r.substr(r.length - c, c); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
512 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
513 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
514 | r = s; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
515 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
516 | return r; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
517 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
518 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
519 | function hasDay() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
520 | if ( foundDay || checkedDay ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
521 | return foundDay; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
522 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
523 | foundDay = dayPartRegExp.test( format ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
524 | checkedDay = true; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
525 | return foundDay; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
526 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
527 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
528 | function getPart( date, part ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
529 | if ( converted ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
530 | return converted[ part ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
531 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
532 | switch ( part ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
533 | case 0: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
534 | return date.getFullYear(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
535 | case 1: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
536 | return date.getMonth(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
537 | case 2: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
538 | return date.getDate(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
539 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
540 | throw "Invalid part value " + part; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
541 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
542 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
543 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
544 | if ( !sortable && convert ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
545 | converted = convert.fromGregorian( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
546 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
547 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
548 | for ( ; ; ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
549 | // Save the current index |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
550 | var index = tokenRegExp.lastIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
551 | // Look for the next pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
552 | ar = tokenRegExp.exec( format ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
553 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
554 | // Append the text before the pattern (or the end of the string if not found) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
555 | var preMatch = format.slice( index, ar ? ar.index : format.length ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
556 | quoteCount += appendPreOrPostMatch( preMatch, ret ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
557 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
558 | if ( !ar ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
559 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
560 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
561 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
562 | // do not replace any matches that occur inside a string literal. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
563 | if ( quoteCount % 2 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
564 | ret.push( ar[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
565 | continue; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
566 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
567 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
568 | var current = ar[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
569 | clength = current.length; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
570 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
571 | switch ( current ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
572 | case "ddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
573 | //Day of the week, as a three-letter abbreviation |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
574 | case "dddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
575 | // Day of the week, using the full name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
576 | var names = ( clength === 3 ) ? cal.days.namesAbbr : cal.days.names; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
577 | ret.push( names[value.getDay()] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
578 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
579 | case "d": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
580 | // Day of month, without leading zero for single-digit days |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
581 | case "dd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
582 | // Day of month, with leading zero for single-digit days |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
583 | foundDay = true; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
584 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
585 | padZeros( getPart(value, 2), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
586 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
587 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
588 | case "MMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
589 | // Month, as a three-letter abbreviation |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
590 | case "MMMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
591 | // Month, using the full name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
592 | var part = getPart( value, 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
593 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
594 | ( cal.monthsGenitive && hasDay() ) ? |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
595 | ( cal.monthsGenitive[ clength === 3 ? "namesAbbr" : "names" ][ part ] ) : |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
596 | ( cal.months[ clength === 3 ? "namesAbbr" : "names" ][ part ] ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
597 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
598 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
599 | case "M": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
600 | // Month, as digits, with no leading zero for single-digit months |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
601 | case "MM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
602 | // Month, as digits, with leading zero for single-digit months |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
603 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
604 | padZeros( getPart(value, 1) + 1, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
605 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
606 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
607 | case "y": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
608 | // Year, as two digits, but with no leading zero for years less than 10 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
609 | case "yy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
610 | // Year, as two digits, with leading zero for years less than 10 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
611 | case "yyyy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
612 | // Year represented by four full digits |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
613 | part = converted ? converted[ 0 ] : getEraYear( value, cal, getEra(value, eras), sortable ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
614 | if ( clength < 4 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
615 | part = part % 100; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
616 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
617 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
618 | padZeros( part, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
619 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
620 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
621 | case "h": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
622 | // Hours with no leading zero for single-digit hours, using 12-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
623 | case "hh": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
624 | // Hours with leading zero for single-digit hours, using 12-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
625 | hour = value.getHours() % 12; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
626 | if ( hour === 0 ) hour = 12; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
627 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
628 | padZeros( hour, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
629 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
630 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
631 | case "H": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
632 | // Hours with no leading zero for single-digit hours, using 24-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
633 | case "HH": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
634 | // Hours with leading zero for single-digit hours, using 24-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
635 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
636 | padZeros( value.getHours(), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
637 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
638 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
639 | case "m": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
640 | // Minutes with no leading zero for single-digit minutes |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
641 | case "mm": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
642 | // Minutes with leading zero for single-digit minutes |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
643 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
644 | padZeros( value.getMinutes(), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
645 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
646 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
647 | case "s": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
648 | // Seconds with no leading zero for single-digit seconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
649 | case "ss": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
650 | // Seconds with leading zero for single-digit seconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
651 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
652 | padZeros( value.getSeconds(), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
653 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
654 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
655 | case "t": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
656 | // One character am/pm indicator ("a" or "p") |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
657 | case "tt": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
658 | // Multicharacter am/pm indicator |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
659 | part = value.getHours() < 12 ? ( cal.AM ? cal.AM[0] : " " ) : ( cal.PM ? cal.PM[0] : " " ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
660 | ret.push( clength === 1 ? part.charAt(0) : part ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
661 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
662 | case "f": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
663 | // Deciseconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
664 | case "ff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
665 | // Centiseconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
666 | case "fff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
667 | // Milliseconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
668 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
669 | padZeros( value.getMilliseconds(), 3 ).substr( 0, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
670 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
671 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
672 | case "z": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
673 | // Time zone offset, no leading zero |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
674 | case "zz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
675 | // Time zone offset with leading zero |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
676 | hour = value.getTimezoneOffset() / 60; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
677 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
678 | ( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
679 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
680 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
681 | case "zzz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
682 | // Time zone offset with leading zero |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
683 | hour = value.getTimezoneOffset() / 60; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
684 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
685 | ( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), 2 ) + |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
686 | // Hard coded ":" separator, rather than using cal.TimeSeparator |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
687 | // Repeated here for consistency, plus ":" was already assumed in date parsing. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
688 | ":" + padZeros( Math.abs(value.getTimezoneOffset() % 60), 2 ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
689 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
690 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
691 | case "g": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
692 | case "gg": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
693 | if ( cal.eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
694 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
695 | cal.eras[ getEra(value, eras) ].name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
696 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
697 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
698 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
699 | case "/": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
700 | ret.push( cal["/"] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
701 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
702 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
703 | throw "Invalid date format pattern \'" + current + "\'."; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
704 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
705 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
706 | return ret.join( "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
707 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
708 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
709 | // formatNumber |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
710 | (function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
711 | var expandNumber; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
712 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
713 | expandNumber = function( number, precision, formatInfo ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
714 | var groupSizes = formatInfo.groupSizes, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
715 | curSize = groupSizes[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
716 | curGroupIndex = 1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
717 | factor = Math.pow( 10, precision ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
718 | rounded = Math.round( number * factor ) / factor; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
719 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
720 | if ( !isFinite(rounded) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
721 | rounded = number; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
722 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
723 | number = rounded; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
724 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
725 | var numberString = number+"", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
726 | right = "", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
727 | split = numberString.split( /e/i ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
728 | exponent = split.length > 1 ? parseInt( split[1], 10 ) : 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
729 | numberString = split[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
730 | split = numberString.split( "." ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
731 | numberString = split[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
732 | right = split.length > 1 ? split[ 1 ] : ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
733 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
734 | var l; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
735 | if ( exponent > 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
736 | right = zeroPad( right, exponent, false ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
737 | numberString += right.slice( 0, exponent ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
738 | right = right.substr( exponent ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
739 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
740 | else if ( exponent < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
741 | exponent = -exponent; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
742 | numberString = zeroPad( numberString, exponent + 1, true ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
743 | right = numberString.slice( -exponent, numberString.length ) + right; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
744 | numberString = numberString.slice( 0, -exponent ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
745 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
746 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
747 | if ( precision > 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
748 | right = formatInfo[ "." ] + |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
749 | ( (right.length > precision) ? right.slice(0, precision) : zeroPad(right, precision) ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
750 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
751 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
752 | right = ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
753 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
754 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
755 | var stringIndex = numberString.length - 1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
756 | sep = formatInfo[ "," ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
757 | ret = ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
758 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
759 | while ( stringIndex >= 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
760 | if ( curSize === 0 || curSize > stringIndex ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
761 | return numberString.slice( 0, stringIndex + 1 ) + ( ret.length ? (sep + ret + right) : right ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
762 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
763 | ret = numberString.slice( stringIndex - curSize + 1, stringIndex + 1 ) + ( ret.length ? (sep + ret) : "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
764 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
765 | stringIndex -= curSize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
766 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
767 | if ( curGroupIndex < groupSizes.length ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
768 | curSize = groupSizes[ curGroupIndex ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
769 | curGroupIndex++; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
770 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
771 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
772 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
773 | return numberString.slice( 0, stringIndex + 1 ) + sep + ret + right; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
774 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
775 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
776 | formatNumber = function( value, format, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
777 | if ( !isFinite(value) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
778 | if ( value === Infinity ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
779 | return culture.numberFormat.positiveInfinity; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
780 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
781 | if ( value === -Infinity ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
782 | return culture.numberFormat.negativeInfinity; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
783 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
784 | return culture.numberFormat.NaN; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
785 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
786 | if ( !format || format === "i" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
787 | return culture.name.length ? value.toLocaleString() : value.toString(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
788 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
789 | format = format || "D"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
790 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
791 | var nf = culture.numberFormat, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
792 | number = Math.abs( value ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
793 | precision = -1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
794 | pattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
795 | if ( format.length > 1 ) precision = parseInt( format.slice(1), 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
796 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
797 | var current = format.charAt( 0 ).toUpperCase(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
798 | formatInfo; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
799 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
800 | switch ( current ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
801 | case "D": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
802 | pattern = "n"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
803 | number = truncate( number ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
804 | if ( precision !== -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
805 | number = zeroPad( "" + number, precision, true ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
806 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
807 | if ( value < 0 ) number = "-" + number; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
808 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
809 | case "N": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
810 | formatInfo = nf; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
811 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
812 | case "C": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
813 | formatInfo = formatInfo || nf.currency; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
814 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
815 | case "P": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
816 | formatInfo = formatInfo || nf.percent; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
817 | pattern = value < 0 ? formatInfo.pattern[ 0 ] : ( formatInfo.pattern[1] || "n" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
818 | if ( precision === -1 ) precision = formatInfo.decimals; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
819 | number = expandNumber( number * (current === "P" ? 100 : 1), precision, formatInfo ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
820 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
821 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
822 | throw "Bad number format specifier: " + current; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
823 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
824 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
825 | var patternParts = /n|\$|-|%/g, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
826 | ret = ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
827 | for ( ; ; ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
828 | var index = patternParts.lastIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
829 | ar = patternParts.exec( pattern ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
830 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
831 | ret += pattern.slice( index, ar ? ar.index : pattern.length ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
832 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
833 | if ( !ar ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
834 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
835 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
836 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
837 | switch ( ar[0] ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
838 | case "n": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
839 | ret += number; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
840 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
841 | case "$": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
842 | ret += nf.currency.symbol; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
843 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
844 | case "-": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
845 | // don't make 0 negative |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
846 | if ( /[1-9]/.test(number) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
847 | ret += nf[ "-" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
848 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
849 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
850 | case "%": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
851 | ret += nf.percent.symbol; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
852 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
853 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
854 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
855 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
856 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
857 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
858 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
859 | }()); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
860 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
861 | getTokenRegExp = function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
862 | // regular expression for matching date and time tokens in format strings. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
863 | return (/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
864 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
865 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
866 | getEra = function( date, eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
867 | if ( !eras ) return 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
868 | var start, ticks = date.getTime(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
869 | for ( var i = 0, l = eras.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
870 | start = eras[ i ].start; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
871 | if ( start === null || ticks >= start ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
872 | return i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
873 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
874 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
875 | return 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
876 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
877 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
878 | getEraYear = function( date, cal, era, sortable ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
879 | var year = date.getFullYear(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
880 | if ( !sortable && cal.eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
881 | // convert normal gregorian year to era-shifted gregorian |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
882 | // year by subtracting the era offset |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
883 | year -= cal.eras[ era ].offset; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
884 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
885 | return year; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
886 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
887 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
888 | // parseExact |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
889 | (function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
890 | var expandYear, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
891 | getDayIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
892 | getMonthIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
893 | getParseRegExp, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
894 | outOfRange, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
895 | toUpper, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
896 | toUpperArray; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
897 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
898 | expandYear = function( cal, year ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
899 | // expands 2-digit year into 4 digits. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
900 | if ( year < 100 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
901 | var now = new Date(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
902 | era = getEra( now ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
903 | curr = getEraYear( now, cal, era ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
904 | twoDigitYearMax = cal.twoDigitYearMax; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
905 | twoDigitYearMax = typeof twoDigitYearMax === "string" ? new Date().getFullYear() % 100 + parseInt( twoDigitYearMax, 10 ) : twoDigitYearMax; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
906 | year += curr - ( curr % 100 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
907 | if ( year > twoDigitYearMax ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
908 | year -= 100; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
909 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
910 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
911 | return year; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
912 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
913 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
914 | getDayIndex = function ( cal, value, abbr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
915 | var ret, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
916 | days = cal.days, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
917 | upperDays = cal._upperDays; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
918 | if ( !upperDays ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
919 | cal._upperDays = upperDays = [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
920 | toUpperArray( days.names ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
921 | toUpperArray( days.namesAbbr ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
922 | toUpperArray( days.namesShort ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
923 | ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
924 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
925 | value = toUpper( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
926 | if ( abbr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
927 | ret = arrayIndexOf( upperDays[1], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
928 | if ( ret === -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
929 | ret = arrayIndexOf( upperDays[2], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
930 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
931 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
932 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
933 | ret = arrayIndexOf( upperDays[0], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
934 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
935 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
936 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
937 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
938 | getMonthIndex = function( cal, value, abbr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
939 | var months = cal.months, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
940 | monthsGen = cal.monthsGenitive || cal.months, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
941 | upperMonths = cal._upperMonths, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
942 | upperMonthsGen = cal._upperMonthsGen; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
943 | if ( !upperMonths ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
944 | cal._upperMonths = upperMonths = [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
945 | toUpperArray( months.names ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
946 | toUpperArray( months.namesAbbr ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
947 | ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
948 | cal._upperMonthsGen = upperMonthsGen = [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
949 | toUpperArray( monthsGen.names ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
950 | toUpperArray( monthsGen.namesAbbr ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
951 | ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
952 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
953 | value = toUpper( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
954 | var i = arrayIndexOf( abbr ? upperMonths[1] : upperMonths[0], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
955 | if ( i < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
956 | i = arrayIndexOf( abbr ? upperMonthsGen[1] : upperMonthsGen[0], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
957 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
958 | return i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
959 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
960 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
961 | getParseRegExp = function( cal, format ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
962 | // converts a format string into a regular expression with groups that |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
963 | // can be used to extract date fields from a date string. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
964 | // check for a cached parse regex. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
965 | var re = cal._parseRegExp; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
966 | if ( !re ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
967 | cal._parseRegExp = re = {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
968 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
969 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
970 | var reFormat = re[ format ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
971 | if ( reFormat ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
972 | return reFormat; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
973 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
974 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
975 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
976 | // expand single digit formats, then escape regular expression characters. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
977 | var expFormat = expandFormat( cal, format ).replace( /([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1" ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
978 | regexp = [ "^" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
979 | groups = [], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
980 | index = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
981 | quoteCount = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
982 | tokenRegExp = getTokenRegExp(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
983 | match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
984 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
985 | // iterate through each date token found. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
986 | while ( (match = tokenRegExp.exec(expFormat)) !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
987 | var preMatch = expFormat.slice( index, match.index ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
988 | index = tokenRegExp.lastIndex; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
989 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
990 | // don't replace any matches that occur inside a string literal. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
991 | quoteCount += appendPreOrPostMatch( preMatch, regexp ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
992 | if ( quoteCount % 2 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
993 | regexp.push( match[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
994 | continue; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
995 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
996 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
997 | // add a regex group for the token. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
998 | var m = match[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
999 | len = m.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1000 | add; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1001 | switch ( m ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1002 | case "dddd": case "ddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1003 | case "MMMM": case "MMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1004 | case "gg": case "g": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1005 | add = "(\\D+)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1006 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1007 | case "tt": case "t": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1008 | add = "(\\D*)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1009 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1010 | case "yyyy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1011 | case "fff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1012 | case "ff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1013 | case "f": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1014 | add = "(\\d{" + len + "})"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1015 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1016 | case "dd": case "d": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1017 | case "MM": case "M": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1018 | case "yy": case "y": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1019 | case "HH": case "H": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1020 | case "hh": case "h": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1021 | case "mm": case "m": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1022 | case "ss": case "s": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1023 | add = "(\\d\\d?)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1024 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1025 | case "zzz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1026 | add = "([+-]?\\d\\d?:\\d{2})"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1027 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1028 | case "zz": case "z": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1029 | add = "([+-]?\\d\\d?)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1030 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1031 | case "/": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1032 | add = "(\\/)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1033 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1034 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1035 | throw "Invalid date format pattern \'" + m + "\'."; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1036 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1037 | if ( add ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1038 | regexp.push( add ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1039 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1040 | groups.push( match[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1041 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1042 | appendPreOrPostMatch( expFormat.slice(index), regexp ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1043 | regexp.push( "$" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1044 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1045 | // allow whitespace to differ when matching formats. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1046 | var regexpStr = regexp.join( "" ).replace( /\s+/g, "\\s+" ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1047 | parseRegExp = { "regExp": regexpStr, "groups": groups }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1048 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1049 | // cache the regex for this format. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1050 | return re[ format ] = parseRegExp; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1051 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1052 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1053 | outOfRange = function( value, low, high ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1054 | return value < low || value > high; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1055 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1056 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1057 | toUpper = function( value ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1058 | // "he-IL" has non-breaking space in weekday names. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1059 | return value.split( "\u00A0" ).join( " " ).toUpperCase(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1060 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1061 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1062 | toUpperArray = function( arr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1063 | var results = []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1064 | for ( var i = 0, l = arr.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1065 | results[ i ] = toUpper( arr[i] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1066 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1067 | return results; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1068 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1069 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1070 | parseExact = function( value, format, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1071 | // try to parse the date string by matching against the format string |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1072 | // while using the specified culture for date field names. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1073 | value = trim( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1074 | var cal = culture.calendar, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1075 | // convert date formats into regular expressions with groupings. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1076 | // use the regexp to determine the input format and extract the date fields. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1077 | parseInfo = getParseRegExp( cal, format ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1078 | match = new RegExp( parseInfo.regExp ).exec( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1079 | if ( match === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1080 | return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1081 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1082 | // found a date format that matches the input. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1083 | var groups = parseInfo.groups, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1084 | era = null, year = null, month = null, date = null, weekDay = null, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1085 | hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1086 | pmHour = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1087 | // iterate the format groups to extract and set the date fields. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1088 | for ( var j = 0, jl = groups.length; j < jl; j++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1089 | var matchGroup = match[ j + 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1090 | if ( matchGroup ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1091 | var current = groups[ j ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1092 | clength = current.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1093 | matchInt = parseInt( matchGroup, 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1094 | switch ( current ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1095 | case "dd": case "d": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1096 | // Day of month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1097 | date = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1098 | // check that date is generally in valid range, also checking overflow below. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1099 | if ( outOfRange(date, 1, 31) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1100 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1101 | case "MMM": case "MMMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1102 | month = getMonthIndex( cal, matchGroup, clength === 3 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1103 | if ( outOfRange(month, 0, 11) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1104 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1105 | case "M": case "MM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1106 | // Month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1107 | month = matchInt - 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1108 | if ( outOfRange(month, 0, 11) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1109 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1110 | case "y": case "yy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1111 | case "yyyy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1112 | year = clength < 4 ? expandYear( cal, matchInt ) : matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1113 | if ( outOfRange(year, 0, 9999) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1114 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1115 | case "h": case "hh": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1116 | // Hours (12-hour clock). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1117 | hour = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1118 | if ( hour === 12 ) hour = 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1119 | if ( outOfRange(hour, 0, 11) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1120 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1121 | case "H": case "HH": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1122 | // Hours (24-hour clock). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1123 | hour = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1124 | if ( outOfRange(hour, 0, 23) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1125 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1126 | case "m": case "mm": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1127 | // Minutes. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1128 | min = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1129 | if ( outOfRange(min, 0, 59) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1130 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1131 | case "s": case "ss": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1132 | // Seconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1133 | sec = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1134 | if ( outOfRange(sec, 0, 59) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1135 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1136 | case "tt": case "t": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1137 | // AM/PM designator. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1138 | // see if it is standard, upper, or lower case PM. If not, ensure it is at least one of |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1139 | // the AM tokens. If not, fail the parse for this format. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1140 | pmHour = cal.PM && ( matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1141 | if ( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1142 | !pmHour && ( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1143 | !cal.AM || ( matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2] ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1144 | ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1145 | ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1146 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1147 | case "f": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1148 | // Deciseconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1149 | case "ff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1150 | // Centiseconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1151 | case "fff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1152 | // Milliseconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1153 | msec = matchInt * Math.pow( 10, 3 - clength ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1154 | if ( outOfRange(msec, 0, 999) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1155 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1156 | case "ddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1157 | // Day of week. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1158 | case "dddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1159 | // Day of week. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1160 | weekDay = getDayIndex( cal, matchGroup, clength === 3 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1161 | if ( outOfRange(weekDay, 0, 6) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1162 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1163 | case "zzz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1164 | // Time zone offset in +/- hours:min. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1165 | var offsets = matchGroup.split( /:/ ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1166 | if ( offsets.length !== 2 ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1167 | hourOffset = parseInt( offsets[0], 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1168 | if ( outOfRange(hourOffset, -12, 13) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1169 | var minOffset = parseInt( offsets[1], 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1170 | if ( outOfRange(minOffset, 0, 59) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1171 | tzMinOffset = ( hourOffset * 60 ) + ( startsWith(matchGroup, "-") ? -minOffset : minOffset ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1172 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1173 | case "z": case "zz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1174 | // Time zone offset in +/- hours. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1175 | hourOffset = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1176 | if ( outOfRange(hourOffset, -12, 13) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1177 | tzMinOffset = hourOffset * 60; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1178 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1179 | case "g": case "gg": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1180 | var eraName = matchGroup; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1181 | if ( !eraName || !cal.eras ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1182 | eraName = trim( eraName.toLowerCase() ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1183 | for ( var i = 0, l = cal.eras.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1184 | if ( eraName === cal.eras[i].name.toLowerCase() ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1185 | era = i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1186 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1187 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1188 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1189 | // could not find an era with that name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1190 | if ( era === null ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1191 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1192 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1193 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1194 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1195 | var result = new Date(), defaultYear, convert = cal.convert; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1196 | defaultYear = convert ? convert.fromGregorian( result )[ 0 ] : result.getFullYear(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1197 | if ( year === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1198 | year = defaultYear; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1199 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1200 | else if ( cal.eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1201 | // year must be shifted to normal gregorian year |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1202 | // but not if year was not specified, its already normal gregorian |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1203 | // per the main if clause above. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1204 | year += cal.eras[( era || 0 )].offset; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1205 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1206 | // set default day and month to 1 and January, so if unspecified, these are the defaults |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1207 | // instead of the current day/month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1208 | if ( month === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1209 | month = 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1210 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1211 | if ( date === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1212 | date = 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1213 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1214 | // now have year, month, and date, but in the culture's calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1215 | // convert to gregorian if necessary |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1216 | if ( convert ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1217 | result = convert.toGregorian( year, month, date ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1218 | // conversion failed, must be an invalid match |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1219 | if ( result === null ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1220 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1221 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1222 | // have to set year, month and date together to avoid overflow based on current date. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1223 | result.setFullYear( year, month, date ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1224 | // check to see if date overflowed for specified month (only checked 1-31 above). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1225 | if ( result.getDate() !== date ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1226 | // invalid day of week. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1227 | if ( weekDay !== null && result.getDay() !== weekDay ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1228 | return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1229 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1230 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1231 | // if pm designator token was found make sure the hours fit the 24-hour clock. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1232 | if ( pmHour && hour < 12 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1233 | hour += 12; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1234 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1235 | result.setHours( hour, min, sec, msec ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1236 | if ( tzMinOffset !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1237 | // adjust timezone to utc before applying local offset. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1238 | var adjustedMin = result.getMinutes() - ( tzMinOffset + result.getTimezoneOffset() ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1239 | // Safari limits hours and minutes to the range of -127 to 127. We need to use setHours |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1240 | // to ensure both these fields will not exceed this range. adjustedMin will range |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1241 | // somewhere between -1440 and 1500, so we only need to split this into hours. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1242 | result.setHours( result.getHours() + parseInt(adjustedMin / 60, 10), adjustedMin % 60 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1243 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1244 | return result; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1245 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1246 | }()); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1247 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1248 | parseNegativePattern = function( value, nf, negativePattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1249 | var neg = nf[ "-" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1250 | pos = nf[ "+" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1251 | ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1252 | switch ( negativePattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1253 | case "n -": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1254 | neg = " " + neg; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1255 | pos = " " + pos; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1256 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1257 | case "n-": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1258 | if ( endsWith(value, neg) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1259 | ret = [ "-", value.substr(0, value.length - neg.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1260 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1261 | else if ( endsWith(value, pos) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1262 | ret = [ "+", value.substr(0, value.length - pos.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1263 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1264 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1265 | case "- n": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1266 | neg += " "; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1267 | pos += " "; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1268 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1269 | case "-n": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1270 | if ( startsWith(value, neg) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1271 | ret = [ "-", value.substr(neg.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1272 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1273 | else if ( startsWith(value, pos) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1274 | ret = [ "+", value.substr(pos.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1275 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1276 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1277 | case "(n)": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1278 | if ( startsWith(value, "(") && endsWith(value, ")") ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1279 | ret = [ "-", value.substr(1, value.length - 2) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1280 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1281 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1282 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1283 | return ret || [ "", value ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1284 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1285 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1286 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1287 | // public instance functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1288 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1289 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1290 | Globalize.prototype.findClosestCulture = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1291 | return Globalize.findClosestCulture.call( this, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1292 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1293 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1294 | Globalize.prototype.format = function( value, format, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1295 | return Globalize.format.call( this, value, format, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1296 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1297 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1298 | Globalize.prototype.localize = function( key, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1299 | return Globalize.localize.call( this, key, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1300 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1301 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1302 | Globalize.prototype.parseInt = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1303 | return Globalize.parseInt.call( this, value, radix, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1304 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1305 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1306 | Globalize.prototype.parseFloat = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1307 | return Globalize.parseFloat.call( this, value, radix, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1308 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1309 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1310 | Globalize.prototype.culture = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1311 | return Globalize.culture.call( this, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1312 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1313 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1314 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1315 | // public singleton functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1316 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1317 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1318 | Globalize.addCultureInfo = function( cultureName, baseCultureName, info ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1319 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1320 | var base = {}, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1321 | isNew = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1322 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1323 | if ( typeof cultureName !== "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1324 | // cultureName argument is optional string. If not specified, assume info is first |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1325 | // and only argument. Specified info deep-extends current culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1326 | info = cultureName; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1327 | cultureName = this.culture().name; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1328 | base = this.cultures[ cultureName ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1329 | } else if ( typeof baseCultureName !== "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1330 | // baseCultureName argument is optional string. If not specified, assume info is second |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1331 | // argument. Specified info deep-extends specified culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1332 | // If specified culture does not exist, create by deep-extending default |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1333 | info = baseCultureName; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1334 | isNew = ( this.cultures[ cultureName ] == null ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1335 | base = this.cultures[ cultureName ] || this.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1336 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1337 | // cultureName and baseCultureName specified. Assume a new culture is being created |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1338 | // by deep-extending an specified base culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1339 | isNew = true; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1340 | base = this.cultures[ baseCultureName ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1341 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1342 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1343 | this.cultures[ cultureName ] = extend(true, {}, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1344 | base, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1345 | info |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1346 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1347 | // Make the standard calendar the current culture if it's a new culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1348 | if ( isNew ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1349 | this.cultures[ cultureName ].calendar = this.cultures[ cultureName ].calendars.standard; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1350 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1351 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1352 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1353 | Globalize.findClosestCulture = function( name ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1354 | var match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1355 | if ( !name ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1356 | return this.findClosestCulture( this.cultureSelector ) || this.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1357 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1358 | if ( typeof name === "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1359 | name = name.split( "," ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1360 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1361 | if ( isArray(name) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1362 | var lang, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1363 | cultures = this.cultures, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1364 | list = name, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1365 | i, l = list.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1366 | prioritized = []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1367 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1368 | name = trim( list[i] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1369 | var pri, parts = name.split( ";" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1370 | lang = trim( parts[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1371 | if ( parts.length === 1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1372 | pri = 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1373 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1374 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1375 | name = trim( parts[1] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1376 | if ( name.indexOf("q=") === 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1377 | name = name.substr( 2 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1378 | pri = parseFloat( name ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1379 | pri = isNaN( pri ) ? 0 : pri; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1380 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1381 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1382 | pri = 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1383 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1384 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1385 | prioritized.push({ lang: lang, pri: pri }); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1386 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1387 | prioritized.sort(function( a, b ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1388 | if ( a.pri < b.pri ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1389 | return 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1390 | } else if ( a.pri > b.pri ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1391 | return -1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1392 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1393 | return 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1394 | }); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1395 | // exact match |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1396 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1397 | lang = prioritized[ i ].lang; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1398 | match = cultures[ lang ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1399 | if ( match ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1400 | return match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1401 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1402 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1403 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1404 | // neutral language match |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1405 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1406 | lang = prioritized[ i ].lang; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1407 | do { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1408 | var index = lang.lastIndexOf( "-" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1409 | if ( index === -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1410 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1411 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1412 | // strip off the last part. e.g. en-US => en |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1413 | lang = lang.substr( 0, index ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1414 | match = cultures[ lang ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1415 | if ( match ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1416 | return match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1417 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1418 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1419 | while ( 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1420 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1421 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1422 | // last resort: match first culture using that language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1423 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1424 | lang = prioritized[ i ].lang; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1425 | for ( var cultureKey in cultures ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1426 | var culture = cultures[ cultureKey ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1427 | if ( culture.language == lang ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1428 | return culture; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1429 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1430 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1431 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1432 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1433 | else if ( typeof name === "object" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1434 | return name; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1435 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1436 | return match || null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1437 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1438 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1439 | Globalize.format = function( value, format, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1440 | var culture = this.findClosestCulture( cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1441 | if ( value instanceof Date ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1442 | value = formatDate( value, format, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1443 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1444 | else if ( typeof value === "number" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1445 | value = formatNumber( value, format, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1446 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1447 | return value; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1448 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1449 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1450 | Globalize.localize = function( key, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1451 | return this.findClosestCulture( cultureSelector ).messages[ key ] || |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1452 | this.cultures[ "default" ].messages[ key ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1453 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1454 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1455 | Globalize.parseDate = function( value, formats, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1456 | culture = this.findClosestCulture( culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1457 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1458 | var date, prop, patterns; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1459 | if ( formats ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1460 | if ( typeof formats === "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1461 | formats = [ formats ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1462 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1463 | if ( formats.length ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1464 | for ( var i = 0, l = formats.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1465 | var format = formats[ i ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1466 | if ( format ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1467 | date = parseExact( value, format, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1468 | if ( date ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1469 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1470 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1471 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1472 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1473 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1474 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1475 | patterns = culture.calendar.patterns; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1476 | for ( prop in patterns ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1477 | date = parseExact( value, patterns[prop], culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1478 | if ( date ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1479 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1480 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1481 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1482 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1483 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1484 | return date || null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1485 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1486 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1487 | Globalize.parseInt = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1488 | return truncate( Globalize.parseFloat(value, radix, cultureSelector) ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1489 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1490 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1491 | Globalize.parseFloat = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1492 | // radix argument is optional |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1493 | if ( typeof radix !== "number" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1494 | cultureSelector = radix; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1495 | radix = 10; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1496 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1497 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1498 | var culture = this.findClosestCulture( cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1499 | var ret = NaN, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1500 | nf = culture.numberFormat; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1501 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1502 | if ( value.indexOf(culture.numberFormat.currency.symbol) > -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1503 | // remove currency symbol |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1504 | value = value.replace( culture.numberFormat.currency.symbol, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1505 | // replace decimal seperator |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1506 | value = value.replace( culture.numberFormat.currency["."], culture.numberFormat["."] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1507 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1508 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1509 | //Remove percentage character from number string before parsing |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1510 | if ( value.indexOf(culture.numberFormat.percent.symbol) > -1){ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1511 | value = value.replace( culture.numberFormat.percent.symbol, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1512 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1513 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1514 | // remove spaces: leading, trailing and between - and number. Used for negative currency pt-BR |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1515 | value = value.replace( / /g, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1516 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1517 | // allow infinity or hexidecimal |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1518 | if ( regexInfinity.test(value) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1519 | ret = parseFloat( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1520 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1521 | else if ( !radix && regexHex.test(value) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1522 | ret = parseInt( value, 16 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1523 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1524 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1525 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1526 | // determine sign and number |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1527 | var signInfo = parseNegativePattern( value, nf, nf.pattern[0] ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1528 | sign = signInfo[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1529 | num = signInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1530 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1531 | // #44 - try parsing as "(n)" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1532 | if ( sign === "" && nf.pattern[0] !== "(n)" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1533 | signInfo = parseNegativePattern( value, nf, "(n)" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1534 | sign = signInfo[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1535 | num = signInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1536 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1537 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1538 | // try parsing as "-n" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1539 | if ( sign === "" && nf.pattern[0] !== "-n" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1540 | signInfo = parseNegativePattern( value, nf, "-n" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1541 | sign = signInfo[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1542 | num = signInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1543 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1544 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1545 | sign = sign || "+"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1546 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1547 | // determine exponent and number |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1548 | var exponent, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1549 | intAndFraction, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1550 | exponentPos = num.indexOf( "e" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1551 | if ( exponentPos < 0 ) exponentPos = num.indexOf( "E" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1552 | if ( exponentPos < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1553 | intAndFraction = num; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1554 | exponent = null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1555 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1556 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1557 | intAndFraction = num.substr( 0, exponentPos ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1558 | exponent = num.substr( exponentPos + 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1559 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1560 | // determine decimal position |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1561 | var integer, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1562 | fraction, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1563 | decSep = nf[ "." ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1564 | decimalPos = intAndFraction.indexOf( decSep ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1565 | if ( decimalPos < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1566 | integer = intAndFraction; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1567 | fraction = null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1568 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1569 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1570 | integer = intAndFraction.substr( 0, decimalPos ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1571 | fraction = intAndFraction.substr( decimalPos + decSep.length ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1572 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1573 | // handle groups (e.g. 1,000,000) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1574 | var groupSep = nf[ "," ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1575 | integer = integer.split( groupSep ).join( "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1576 | var altGroupSep = groupSep.replace( /\u00A0/g, " " ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1577 | if ( groupSep !== altGroupSep ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1578 | integer = integer.split( altGroupSep ).join( "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1579 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1580 | // build a natively parsable number string |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1581 | var p = sign + integer; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1582 | if ( fraction !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1583 | p += "." + fraction; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1584 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1585 | if ( exponent !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1586 | // exponent itself may have a number patternd |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1587 | var expSignInfo = parseNegativePattern( exponent, nf, "-n" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1588 | p += "e" + ( expSignInfo[0] || "+" ) + expSignInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1589 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1590 | if ( regexParseFloat.test(p) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1591 | ret = parseFloat( p ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1592 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1593 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1594 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1595 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1596 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1597 | Globalize.culture = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1598 | // setter |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1599 | if ( typeof cultureSelector !== "undefined" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1600 | this.cultureSelector = cultureSelector; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1601 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1602 | // getter |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1603 | return this.findClosestCulture( cultureSelector ) || this.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1604 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1605 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1606 | document.Globalize = Globalize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1607 | }(this)); |