mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-25 06:50:55 +01:00
0c48c1f487
Summary: See discussion in T404. Basically, the problem with date-only controls is that they may behave unpredictably in the presence of timezones. When you say "This needs to be done by Oct 23", you probably mean "Oct 23 5PM PST" or something like that, but someone in China may see the "Oct 24" and hit the deadline in good faith but be 10 hours too late. T404 has more discussion and examples. There are ways to fake this, but they get more complicated if the guy in China needs to move the date forward 24 hours. I think the best solution to this is to not have date-only controls, and always display the time. This makes it absolutley unambiguous what something means, because the guy in the US will set "Oct 23 5PM" and the guy in China will see that accurately in local time. The downside is that it's slightly more visual clutter and work for the user to specify things precisely, but I added some hints (start/end of day, start/end of business) that will hopefully let us pick the right default in most cases. Test Plan: Set some dates. {F21956} This has a couple of edge case issues on resize and some not-so-edge-case issues on mobile, but should be good to build T407 on without API changes. Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T404, T407 Differential Revision: https://secure.phabricator.com/D3793
317 lines
5.5 KiB
CSS
317 lines
5.5 KiB
CSS
/**
|
|
* @provides aphront-form-view-css
|
|
*/
|
|
|
|
/**
|
|
* These styles are overrides for .aphront-form-view
|
|
*/
|
|
.aphront-form-view-shaded {
|
|
border: 1px solid #c4c4c4;
|
|
background: #e7e7e7;
|
|
}
|
|
|
|
.aphront-form-view-padded {
|
|
padding: 1em;
|
|
}
|
|
|
|
|
|
.aphront-form-view label.aphront-form-label {
|
|
padding-top: 4px;
|
|
width: 19%;
|
|
float: left;
|
|
text-align: right;
|
|
font-weight: bold;
|
|
font-size: 13px;
|
|
color: #666666;
|
|
}
|
|
|
|
.aphront-form-input {
|
|
margin-left: 20%;
|
|
margin-right: 25%;
|
|
width: 55%;
|
|
}
|
|
|
|
|
|
.aphront-form-error {
|
|
width: 23%;
|
|
float: right;
|
|
color: #aa0000;
|
|
font-weight: bold;
|
|
padding-top: 4px;
|
|
}
|
|
|
|
.aphront-form-required {
|
|
font-weight: normal;
|
|
color: #888888;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.aphront-form-input input,
|
|
.aphront-form-input textarea {
|
|
font-size: 12px;
|
|
display: block;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
|
|
.aphront-form-input textarea {
|
|
height: 12em;
|
|
}
|
|
|
|
.aphront-form-control {
|
|
padding: 4px;
|
|
}
|
|
|
|
.aphront-form-control-submit button,
|
|
.aphront-form-control-submit a.button {
|
|
float: right;
|
|
margin: 0.5em 0 0em 2%;
|
|
}
|
|
|
|
.aphront-form-control-textarea textarea.aphront-textarea-very-short {
|
|
height: 3em;
|
|
}
|
|
|
|
.aphront-form-control-textarea textarea.aphront-textarea-very-tall {
|
|
height: 24em;
|
|
}
|
|
|
|
.aphront-form-control-select .aphront-form-input {
|
|
padding-top: 2px;
|
|
}
|
|
|
|
|
|
.aphront-form-view .aphront-form-caption {
|
|
font-size: 11px;
|
|
color: #444444;
|
|
text-align: right;
|
|
margin-right: 25%;
|
|
margin-left: 20%;
|
|
}
|
|
|
|
/* override for when inside an aphront-panel-view */
|
|
.aphront-panel-view .aphront-form-view h1 {
|
|
padding: 0em 0em .8em 0em;
|
|
}
|
|
|
|
.aphront-form-instructions {
|
|
margin: 0.75em 3% 1.25em;
|
|
}
|
|
|
|
.aphront-form-important {
|
|
margin: .5em 0;
|
|
background: #ffffdd;
|
|
padding: .5em 1em;
|
|
}
|
|
.aphront-form-important code {
|
|
display: block;
|
|
padding: .25em;
|
|
margin: .5em 2em;
|
|
}
|
|
|
|
|
|
.aphront-form-control-static .aphront-form-input,
|
|
.aphront-form-control-markup .aphront-form-input {
|
|
padding-top: 4px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.aphront-form-control-togglebuttons .aphront-form-input {
|
|
padding-top: 5px;
|
|
}
|
|
|
|
table.aphront-form-control-radio-layout,
|
|
table.aphront-form-control-checkbox-layout {
|
|
margin-top: 3px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
table.aphront-form-control-radio-layout th,
|
|
table.aphront-form-control-checkbox-layout th {
|
|
padding-top: 2px;
|
|
padding-left: 0.35em;
|
|
padding-bottom: 4px;
|
|
}
|
|
|
|
.aphront-form-control-radio-layout td input,
|
|
.aphront-form-control-checkbox-layout td input {
|
|
margin-top: 4px;
|
|
width: auto;
|
|
}
|
|
|
|
.aphront-form-radio-caption {
|
|
font-size: 11px;
|
|
color: #444444;
|
|
max-width: 400px;
|
|
}
|
|
|
|
.aphront-form-control-image .image {
|
|
width: 164px;
|
|
}
|
|
|
|
.aphront-form-control-image span {
|
|
margin: 0px 4px 0px 2px;
|
|
}
|
|
|
|
.aphront-form-control-image .default-image {
|
|
width: 12px;
|
|
}
|
|
|
|
.aphront-form-input hr {
|
|
border: none;
|
|
background: #bbbbbb;
|
|
height: 1px;
|
|
position: relative;
|
|
}
|
|
|
|
.aphront-form-inset {
|
|
margin: 0 0 1em;
|
|
padding: .75em;
|
|
background: #f3f3f3;
|
|
border: 1px solid #afafaf;
|
|
}
|
|
|
|
.aphront-form-drag-and-drop-file-list {
|
|
width: 400px;
|
|
}
|
|
|
|
.drag-and-drop-instructions {
|
|
color: #333333;
|
|
font-size: 11px;
|
|
padding: 6px 8px;
|
|
}
|
|
|
|
.drag-and-drop-file-target {
|
|
border: 1px dashed #bfbfbf;
|
|
padding-top: 10px;
|
|
padding-bottom: 10px;
|
|
}
|
|
|
|
.aphront-textarea-drag-and-drop {
|
|
background: #99ff99;
|
|
border-color: #669966;
|
|
}
|
|
|
|
.calendar-button {
|
|
display: inline;
|
|
background: url(/rsrc/image/icon/fatcow/calendar_edit.png)
|
|
no-repeat center center;
|
|
padding: 8px 12px;
|
|
margin: 2px 8px 2px 2px;
|
|
position: relative;
|
|
z-index: 8;
|
|
border: 1px solid transparent;
|
|
}
|
|
|
|
.aphront-form-date-container {
|
|
position: relative;
|
|
display: inline;
|
|
}
|
|
|
|
.aphront-form-date-container select {
|
|
margin: 2px;
|
|
display: inline;
|
|
}
|
|
|
|
.aphront-form-date-container input.aphront-form-date-time-input {
|
|
width: 7em;
|
|
display: inline;
|
|
}
|
|
|
|
.fancy-datepicker {
|
|
position: absolute;
|
|
width: 240px;
|
|
z-index: 7;
|
|
}
|
|
|
|
.fancy-datepicker-core {
|
|
padding: 1px;
|
|
font-size: 11px;
|
|
font-family: Verdana;
|
|
text-align: center;
|
|
}
|
|
|
|
.fancy-datepicker-core .month-table,
|
|
.fancy-datepicker-core .day-table {
|
|
margin: 0 auto;
|
|
border-collapse: separate;
|
|
border-spacing: 1px;
|
|
width: 100%;
|
|
}
|
|
|
|
.fancy-datepicker-core .month-table {
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.fancy-datepicker-core .month-table td.lrbutton {
|
|
width: 20%;
|
|
}
|
|
|
|
.fancy-datepicker-core .month-table td {
|
|
padding: 4px;
|
|
font-weight: bold;
|
|
color: #444444;
|
|
}
|
|
|
|
.fancy-datepicker-core .month-table td.lrbutton {
|
|
background: #e6e6e6;
|
|
border: 1px solid;
|
|
border-color: #a6a6a6 #969696 #868686 #a6a6a6;
|
|
}
|
|
|
|
.fancy-datepicker-core .day-table td {
|
|
overflow: hidden;
|
|
background: #f6f6f6;
|
|
vertical-align: center;
|
|
text-align: center;
|
|
border: 1px solid #d6d6d6;
|
|
padding: 4px 0;
|
|
}
|
|
|
|
.fancy-datepicker-core .day-table td.day-placeholder {
|
|
border-color: transparent;
|
|
background: transparent;
|
|
}
|
|
|
|
.fancy-datepicker-core .day-table td.weekend {
|
|
color: #666666;
|
|
border-color: #e6e6e6;
|
|
}
|
|
|
|
.fancy-datepicker-core .day-table td.day-name {
|
|
background: transparent;
|
|
border: 1px transparent;
|
|
vertical-align: bottom;
|
|
color: #888888;
|
|
}
|
|
|
|
.fancy-datepicker-core .day-table td.today {
|
|
background: #eeee99;
|
|
border-color: #aaaa66;
|
|
}
|
|
|
|
.fancy-datepicker-core .day-table td.datepicker-selected {
|
|
background: #0099ff;
|
|
border-color: #0066cc;
|
|
}
|
|
|
|
.fancy-datepicker-core td {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.fancy-datepicker-core td.novalue {
|
|
cursor: inherit;
|
|
}
|
|
|
|
.picker-open .calendar-button,
|
|
.fancy-datepicker-core {
|
|
background-color: white;
|
|
border: 1px solid #777777;
|
|
|
|
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
.picker-open .calendar-button {
|
|
border-left: 1px solid white;
|
|
}
|