Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Date.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Date.js | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Date.js b/frontend/beta/js/Clipperz/PM/Date.js index 13116e9..36c10c8 100644 --- a/frontend/beta/js/Clipperz/PM/Date.js +++ b/frontend/beta/js/Clipperz/PM/Date.js | |||
@@ -1,190 +1,188 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2013 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz Community Edition. | 5 | This file is part of Clipperz, the online password manager. |
6 | Clipperz Community Edition is an online password manager. | ||
7 | For further information about its features and functionalities please | 6 | For further information about its features and functionalities please |
8 | refer to http://www.clipperz.com. | 7 | refer to http://www.clipperz.com. |
9 | 8 | ||
10 | * Clipperz Community Edition is free software: you can redistribute | 9 | * Clipperz is free software: you can redistribute it and/or modify it |
11 | it and/or modify it under the terms of the GNU Affero General Public | 10 | under the terms of the GNU Affero General Public License as published |
12 | License as published by the Free Software Foundation, either version | 11 | by the Free Software Foundation, either version 3 of the License, or |
13 | 3 of the License, or (at your option) any later version. | 12 | (at your option) any later version. |
14 | 13 | ||
15 | * Clipperz Community Edition is distributed in the hope that it will | 14 | * Clipperz is distributed in the hope that it will be useful, but |
16 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. | 17 | See the GNU Affero General Public License for more details. |
19 | 18 | ||
20 | * You should have received a copy of the GNU Affero General Public | 19 | * You should have received a copy of the GNU Affero General Public |
21 | License along with Clipperz Community Edition. If not, see | 20 | License along with Clipperz. If not, see http://www.gnu.org/licenses/. |
22 | <http://www.gnu.org/licenses/>. | ||
23 | 21 | ||
24 | */ | 22 | */ |
25 | 23 | ||
26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 24 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 25 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
28 | if (typeof(Clipperz.PM.Date) == 'undefined') { Clipperz.PM.Date = {}; } | 26 | if (typeof(Clipperz.PM.Date) == 'undefined') { Clipperz.PM.Date = {}; } |
29 | 27 | ||
30 | Clipperz.PM.Date.VERSION = "0.1"; | 28 | Clipperz.PM.Date.VERSION = "0.1"; |
31 | Clipperz.PM.Date.NAME = "Clipperz.PM.Date"; | 29 | Clipperz.PM.Date.NAME = "Clipperz.PM.Date"; |
32 | 30 | ||
33 | MochiKit.Base.update(Clipperz.PM.Date, { | 31 | MochiKit.Base.update(Clipperz.PM.Date, { |
34 | 32 | ||
35 | '__repr__': function () { | 33 | '__repr__': function () { |
36 | return "[" + this.NAME + " " + this.VERSION + "]"; | 34 | return "[" + this.NAME + " " + this.VERSION + "]"; |
37 | }, | 35 | }, |
38 | 36 | ||
39 | //------------------------------------------------------------------------- | 37 | //------------------------------------------------------------------------- |
40 | 38 | ||
41 | 'toString': function () { | 39 | 'toString': function () { |
42 | return this.__repr__(); | 40 | return this.__repr__(); |
43 | }, | 41 | }, |
44 | 42 | ||
45 | //------------------------------------------------------------------------- | 43 | //------------------------------------------------------------------------- |
46 | 44 | ||
47 | 'locale': function() { | 45 | 'locale': function() { |
48 | return { | 46 | return { |
49 | 'amDesignation':Clipperz.PM.Strings['calendarStrings']['amDesignation'], | 47 | 'amDesignation':Clipperz.PM.Strings['calendarStrings']['amDesignation'], |
50 | 'pmDesignation':Clipperz.PM.Strings['calendarStrings']['pmDesignation'], | 48 | 'pmDesignation':Clipperz.PM.Strings['calendarStrings']['pmDesignation'], |
51 | 'days': Clipperz.PM.Strings['calendarStrings']['days'], | 49 | 'days': Clipperz.PM.Strings['calendarStrings']['days'], |
52 | 'shortDays': Clipperz.PM.Strings['calendarStrings']['shortDays'], | 50 | 'shortDays': Clipperz.PM.Strings['calendarStrings']['shortDays'], |
53 | 'shortMonths': Clipperz.PM.Strings['calendarStrings']['shortMonths'], | 51 | 'shortMonths': Clipperz.PM.Strings['calendarStrings']['shortMonths'], |
54 | 'months': Clipperz.PM.Strings['calendarStrings']['months'] | 52 | 'months': Clipperz.PM.Strings['calendarStrings']['months'] |
55 | } | 53 | } |
56 | }, | 54 | }, |
57 | 55 | ||
58 | //========================================================================= | 56 | //========================================================================= |
59 | /* | 57 | /* |
60 | 'formatDateWithPHPLikeTemplate': function(aDate, aTemplate) { | 58 | 'formatDateWithPHPLikeTemplate': function(aDate, aTemplate) { |
61 | return Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 59 | return Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
62 | }, | 60 | }, |
63 | 61 | ||
64 | 'parseDateWithPHPLikeTemplate': function(aDate, aTemplate) { | 62 | 'parseDateWithPHPLikeTemplate': function(aDate, aTemplate) { |
65 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 63 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
66 | }, | 64 | }, |
67 | 65 | ||
68 | //========================================================================= | 66 | //========================================================================= |
69 | 67 | ||
70 | 'formatDateWithJavaLikeTemplate': function(aDate, aTemplate) { | 68 | 'formatDateWithJavaLikeTemplate': function(aDate, aTemplate) { |
71 | return Clipperz.Date.formatDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 69 | return Clipperz.Date.formatDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
72 | }, | 70 | }, |
73 | 71 | ||
74 | 'parseDateWithJavaLikeTemplate': function(aDate, aTemplate) { | 72 | 'parseDateWithJavaLikeTemplate': function(aDate, aTemplate) { |
75 | return Clipperz.Date.parseDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 73 | return Clipperz.Date.parseDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
76 | }, | 74 | }, |
77 | */ | 75 | */ |
78 | //========================================================================= | 76 | //========================================================================= |
79 | 77 | ||
80 | 'formatDateWithTemplate': function(aDate, aTemplate) { | 78 | 'formatDateWithTemplate': function(aDate, aTemplate) { |
81 | var result; | 79 | var result; |
82 | 80 | ||
83 | if (aDate == null) { | 81 | if (aDate == null) { |
84 | result = "" | 82 | result = "" |
85 | } else { | 83 | } else { |
86 | result = Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 84 | result = Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
87 | }; | 85 | }; |
88 | 86 | ||
89 | return result; | 87 | return result; |
90 | }, | 88 | }, |
91 | 89 | ||
92 | 'parseDateWithTemplate': function(aValue, aTemplate) { | 90 | 'parseDateWithTemplate': function(aValue, aTemplate) { |
93 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aValue, aTemplate, Clipperz.PM.Date.locale()); | 91 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aValue, aTemplate, Clipperz.PM.Date.locale()); |
94 | }, | 92 | }, |
95 | 93 | ||
96 | //========================================================================= | 94 | //========================================================================= |
97 | 95 | ||
98 | 'formatDateWithUTCFormat': function(aDate) { | 96 | 'formatDateWithUTCFormat': function(aDate) { |
99 | return Clipperz.Date.formatDateWithUTCFormatAndLocale(aDate, Clipperz.PM.Date.locale()); | 97 | return Clipperz.Date.formatDateWithUTCFormatAndLocale(aDate, Clipperz.PM.Date.locale()); |
100 | }, | 98 | }, |
101 | 99 | ||
102 | 'parseDateWithUTCFormat': function(aValue) { | 100 | 'parseDateWithUTCFormat': function(aValue) { |
103 | var result; | 101 | var result; |
104 | 102 | ||
105 | if (aValue == null) { | 103 | if (aValue == null) { |
106 | result = null; | 104 | result = null; |
107 | } else { | 105 | } else { |
108 | result = Clipperz.Date.parseDateWithUTCFormatAndLocale(aValue, Clipperz.PM.Date.locale()); | 106 | result = Clipperz.Date.parseDateWithUTCFormatAndLocale(aValue, Clipperz.PM.Date.locale()); |
109 | } | 107 | } |
110 | 108 | ||
111 | return result; | 109 | return result; |
112 | }, | 110 | }, |
113 | 111 | ||
114 | //========================================================================= | 112 | //========================================================================= |
115 | 113 | ||
116 | 'getElapsedTimeDescription': function(aDate) { | 114 | 'getElapsedTimeDescription': function(aDate) { |
117 | var result; | 115 | var result; |
118 | 116 | ||
119 | result = "" | 117 | result = "" |
120 | 118 | ||
121 | if (aDate != null) { | 119 | if (aDate != null) { |
122 | var now; | 120 | var now; |
123 | var elapsedTime; | 121 | var elapsedTime; |
124 | 122 | ||
125 | var millisencondsInAMinute; | 123 | var millisencondsInAMinute; |
126 | var millisencondsInAnHour; | 124 | var millisencondsInAnHour; |
127 | var millisencondsInADay; | 125 | var millisencondsInADay; |
128 | var millisencondsInAWeek; | 126 | var millisencondsInAWeek; |
129 | var millisencondsInAMonth; | 127 | var millisencondsInAMonth; |
130 | 128 | ||
131 | now = new Date(); | 129 | now = new Date(); |
132 | elapsedTime = now.getTime() - aDate.getTime(); | 130 | elapsedTime = now.getTime() - aDate.getTime(); |
133 | 131 | ||
134 | millisencondsInAMinute = 60 * 1000; | 132 | millisencondsInAMinute = 60 * 1000; |
135 | millisencondsInAnHour = millisencondsInAMinute * 60; | 133 | millisencondsInAnHour = millisencondsInAMinute * 60; |
136 | millisencondsInADay = millisencondsInAnHour * 24; | 134 | millisencondsInADay = millisencondsInAnHour * 24; |
137 | millisencondsInAWeek = millisencondsInADay * 7; | 135 | millisencondsInAWeek = millisencondsInADay * 7; |
138 | millisencondsInAMonth = millisencondsInAWeek * 5; | 136 | millisencondsInAMonth = millisencondsInAWeek * 5; |
139 | 137 | ||
140 | if ((elapsedTime / millisencondsInAMonth) > 1) { | 138 | if ((elapsedTime / millisencondsInAMonth) > 1) { |
141 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_MONTH_AGO']; | 139 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_MONTH_AGO']; |
142 | } else if ((elapsedTime / millisencondsInAWeek) > 1) { | 140 | } else if ((elapsedTime / millisencondsInAWeek) > 1) { |
143 | var elapsedWeeks; | 141 | var elapsedWeeks; |
144 | 142 | ||
145 | elapsedWeeks = Math.floor((elapsedTime / millisencondsInAWeek)); | 143 | elapsedWeeks = Math.floor((elapsedTime / millisencondsInAWeek)); |
146 | if (elapsedWeeks == 1) { | 144 | if (elapsedWeeks == 1) { |
147 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_WEEK_AGO']; | 145 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_WEEK_AGO']; |
148 | } else { | 146 | } else { |
149 | result = Clipprez.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_*_WEEKS_AGO'].replace(/__elapsed__/, elapsedWeeks); | 147 | result = Clipprez.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_*_WEEKS_AGO'].replace(/__elapsed__/, elapsedWeeks); |
150 | } | 148 | } |
151 | } else if ((elapsedTime / millisencondsInADay) > 1) { | 149 | } else if ((elapsedTime / millisencondsInADay) > 1) { |
152 | var elapsedDays; | 150 | var elapsedDays; |
153 | 151 | ||
154 | elapsedDays = Math.floor((elapsedTime / millisencondsInADay)); | 152 | elapsedDays = Math.floor((elapsedTime / millisencondsInADay)); |
155 | if (elapsedDays == 1) { | 153 | if (elapsedDays == 1) { |
156 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['YESTERDAY']; | 154 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['YESTERDAY']; |
157 | } else { | 155 | } else { |
158 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_DAYS_AGO'].replace(/__elapsed__/, elapsedDays); | 156 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_DAYS_AGO'].replace(/__elapsed__/, elapsedDays); |
159 | } | 157 | } |
160 | } else if ((elapsedTime / millisencondsInAnHour) > 1) { | 158 | } else if ((elapsedTime / millisencondsInAnHour) > 1) { |
161 | var elapsedHours; | 159 | var elapsedHours; |
162 | 160 | ||
163 | elapsedHours = Math.floor((elapsedTime / millisencondsInAnHour)); | 161 | elapsedHours = Math.floor((elapsedTime / millisencondsInAnHour)); |
164 | if (elapsedHours == 1) { | 162 | if (elapsedHours == 1) { |
165 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_AN_HOUR_AGO']; | 163 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_AN_HOUR_AGO']; |
166 | } else { | 164 | } else { |
167 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_HOURS_AGO'].replace(/__elapsed__/, elapsedHours); | 165 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_HOURS_AGO'].replace(/__elapsed__/, elapsedHours); |
168 | } | 166 | } |
169 | } else { | 167 | } else { |
170 | var elapsed10Minutes; | 168 | var elapsed10Minutes; |
171 | 169 | ||
172 | elapsed10Minutes = (Math.floor((elapsedTime / millisencondsInAMinute) / 10)) * 10; | 170 | elapsed10Minutes = (Math.floor((elapsedTime / millisencondsInAMinute) / 10)) * 10; |
173 | if (elapsed10Minutes == 0) { | 171 | if (elapsed10Minutes == 0) { |
174 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['JUST_A_FEW_MINUTES_AGO']; | 172 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['JUST_A_FEW_MINUTES_AGO']; |
175 | } else { | 173 | } else { |
176 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_*_MINUTES_AGO'].replace(/__elapsed__/, elapsed10Minutes+""); | 174 | result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_*_MINUTES_AGO'].replace(/__elapsed__/, elapsed10Minutes+""); |
177 | } | 175 | } |
178 | } | 176 | } |
179 | } | 177 | } |
180 | 178 | ||
181 | return result; | 179 | return result; |
182 | }, | 180 | }, |
183 | 181 | ||
184 | //------------------------------------------------------------------------- | 182 | //------------------------------------------------------------------------- |
185 | 183 | ||
186 | //------------------------------------------------------------------------- | 184 | //------------------------------------------------------------------------- |
187 | __syntaxFix__: "syntax fix" | 185 | __syntaxFix__: "syntax fix" |
188 | 186 | ||
189 | }); | 187 | }); |
190 | 188 | ||