Page MenuHomePhabricator

D13419.id32581.diff
No OneTemporary

D13419.id32581.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -445,7 +445,7 @@
'rsrc/js/core/behavior-device.js' => 'a205cf28',
'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '6d49590e',
'rsrc/js/core/behavior-error-log.js' => '6882e80a',
- 'rsrc/js/core/behavior-fancy-datepicker.js' => 'ea5cec5d',
+ 'rsrc/js/core/behavior-fancy-datepicker.js' => '665cf6ac',
'rsrc/js/core/behavior-file-tree.js' => '88236f00',
'rsrc/js/core/behavior-form.js' => '5c54cbf3',
'rsrc/js/core/behavior-gesture.js' => '3ab51e2c',
@@ -579,7 +579,7 @@
'javelin-behavior-durable-column' => 'c72aa091',
'javelin-behavior-error-log' => '6882e80a',
'javelin-behavior-event-all-day' => '38dcf3c8',
- 'javelin-behavior-fancy-datepicker' => 'ea5cec5d',
+ 'javelin-behavior-fancy-datepicker' => '665cf6ac',
'javelin-behavior-global-drag-and-drop' => 'c8e57404',
'javelin-behavior-herald-rule-editor' => '7ebaeed3',
'javelin-behavior-high-security-warning' => 'a464fe03',
@@ -1279,6 +1279,13 @@
'javelin-workflow',
'javelin-dom',
),
+ '665cf6ac' => array(
+ 'javelin-behavior',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ ),
'6882e80a' => array(
'javelin-dom',
),
@@ -1909,13 +1916,6 @@
'javelin-dom',
'phabricator-draggable-list',
),
- 'ea5cec5d' => array(
- 'javelin-behavior',
- 'javelin-util',
- 'javelin-dom',
- 'javelin-stratcom',
- 'javelin-vector',
- ),
'ea681761' => array(
'javelin-behavior',
'javelin-aphlict',
diff --git a/src/view/form/control/AphrontFormDateControl.php b/src/view/form/control/AphrontFormDateControl.php
--- a/src/view/form/control/AphrontFormDateControl.php
+++ b/src/view/form/control/AphrontFormDateControl.php
@@ -259,8 +259,13 @@
),
$time_sel);
+ $preferences = $this->user->loadPreferences();
+ $pref_week_start = PhabricatorUserPreferences::PREFERENCE_WEEK_START_DAY;
+ $week_start = $preferences->getPreference($pref_week_start, 0);
+
Javelin::initBehavior('fancy-datepicker', array(
'format' => $this->getDateFormat(),
+ 'weekStart' => $week_start,
));
$classes = array();
diff --git a/webroot/rsrc/js/core/behavior-fancy-datepicker.js b/webroot/rsrc/js/core/behavior-fancy-datepicker.js
--- a/webroot/rsrc/js/core/behavior-fancy-datepicker.js
+++ b/webroot/rsrc/js/core/behavior-fancy-datepicker.js
@@ -46,6 +46,16 @@
return format;
};
+ var get_week_start = function() {
+ var week_start = config.weekStart;
+
+ if (week_start === null) {
+ week_start = 0;
+ }
+
+ return week_start;
+ };
+
var onopen = function(e) {
e.kill();
@@ -277,9 +287,12 @@
// First, render the weekday names.
var weekdays = 'SMTWTFS';
var weekday_names = [];
- var ii;
- for (ii = 0; ii < weekdays.length; ii++) {
- weekday_names.push(cell(weekdays.charAt(ii), null, false, 'day-name'));
+ var week_start = parseInt(get_week_start(), 10);
+ var week_end = weekdays.length + week_start;
+
+ for (var ii = week_start; ii < week_end; ii++) {
+ var index = ii%7;
+ weekday_names.push(cell(weekdays.charAt(index), null, false, 'day-name'));
}
weeks.push(JX.$N('tr', {}, weekday_names));
@@ -290,7 +303,7 @@
var start = new Date(
valid_date.getYear() + 1900,
valid_date.getMonth(),
- 1).getDay();
+ 1).getDay() - week_start;
while (start--) {
days.push(cell('', null, false, 'day-placeholder'));

File Metadata

Mime Type
text/plain
Expires
Mar 10 2025, 11:19 PM (6 w, 1 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7479908
Default Alt Text
D13419.id32581.diff (3 KB)

Event Timeline