Skip to content

Commit 5c9132d

Browse files
Fix SuiteCRM#753 - Add meridian to time picker
1 parent 7ecb445 commit 5c9132d

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

core/app/core/src/lib/fields/datetime/templates/edit/datetime.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
<div class="d-flex justify-content-center mt-auto">
5555
<ngb-timepicker name="timepicker"
5656
[ngModel]="dateTimeModel.time" (ngModelChange)="onTimeChange($event)"
57+
[meridian]="isMeridian()"
5758
[seconds]="dateTimeModel.displaySeconds" [hourStep]="dateTimeModel.hourStep"
5859
[minuteStep]="dateTimeModel.minuteStep"
5960
[secondStep]="dateTimeModel.secondStep">

core/app/core/src/lib/fields/datetime/templates/edit/datetime.component.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,16 @@
2424
* the words "Supercharged by SuiteCRM".
2525
*/
2626

27-
import {Component, ElementRef, HostListener, OnDestroy, OnInit, ViewChild,} from '@angular/core';
27+
import {
28+
Component,
29+
ElementRef,
30+
HostListener,
31+
OnDestroy,
32+
OnInit,
33+
signal,
34+
ViewChild,
35+
WritableSignal,
36+
} from '@angular/core';
2837
import {NgbCalendar, NgbDateStruct, NgbPopover, NgbPopoverConfig, NgbTimeStruct} from '@ng-bootstrap/ng-bootstrap';
2938
import {isVoid, isEmptyString} from '../../../../common/utils/value-utils';
3039
import {ButtonInterface} from '../../../../common/components/button/button.model';
@@ -35,6 +44,7 @@ import {DateTimeModel} from "../../datetime.model";
3544
import {PlacementArray} from "@ng-bootstrap/ng-bootstrap/util/positioning";
3645
import {FieldLogicManager} from '../../../field-logic/field-logic.manager';
3746
import {FieldLogicDisplayManager} from '../../../field-logic-display/field-logic-display.manager';
47+
import {UserPreferenceStore} from "../../../../store/user-preference/user-preference.store";
3848

3949
@Component({
4050
selector: 'scrm-datetime-edit',
@@ -56,14 +66,16 @@ export class DateTimeEditFieldComponent extends BaseDateTimeComponent implements
5666

5767

5868
dateTimeModel: DateTimeModel = new DateTimeModel();
69+
isMeridian: WritableSignal<boolean> = signal(false);
5970

6071
constructor(
6172
protected formatter: DatetimeFormatter,
6273
protected typeFormatter: DataTypeFormatter,
6374
protected calendar: NgbCalendar,
6475
protected config: NgbPopoverConfig,
6576
protected logic: FieldLogicManager,
66-
protected logicDisplay: FieldLogicDisplayManager
77+
protected logicDisplay: FieldLogicDisplayManager,
78+
protected userPreferences: UserPreferenceStore,
6779
) {
6880
super(formatter, typeFormatter, logic, logicDisplay);
6981
config.autoClose = "outside";
@@ -92,6 +104,10 @@ export class DateTimeEditFieldComponent extends BaseDateTimeComponent implements
92104
this.dateTimeModel.displaySeconds = true;
93105
}
94106

107+
if ((this.userPreferences.getUserPreference('time_format') ?? '').includes('a')) {
108+
this.isMeridian.set(true);
109+
}
110+
95111
this.subscribeValueChanges();
96112
}
97113

0 commit comments

Comments
 (0)