Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(components/input-layout-date-time-range): add localization for time label #2128 #2129

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,9 @@
(prizmAfterViewInit)="markAsTouched()"
(valueChange)="onRangeChange($event)"
>
@let timeStr = dictionary$ | async | prizmPluck : 'time';
<ng-container footerFrom>
<prizm-input-layout label="Время">
<prizm-input-layout [label]="timeStr">
<prizm-input-layout-time
[style.--prizm-dropdown-host-width]="'100%'"
[ngModelOptions]="{ standalone: true }"
Expand All @@ -147,7 +148,7 @@
</prizm-input-layout>
</ng-container>
<ng-container footerTo>
<prizm-input-layout label="Время">
<prizm-input-layout [label]="timeStr">
<prizm-input-layout-time
[style.--prizm-dropdown-host-width]="'100%'"
[ngModelOptions]="{ standalone: true }"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ import { PRIZM_DATE_SEPARATOR } from '../../../@core/date-time/date-separator';
import { PrizmDialogService } from '../../dialogs/dialog/dialog.service';
import { PRIZM_DATE_FORMAT } from '../../../@core/date-time/date-format';
import { PrizmDateMode } from '../../../types/date-mode';
import { PRIZM_DATE_TEXTS, PRIZM_TIME_TEXTS } from '../../../tokens/i18n';
import { PRIZM_DATE_TEXTS, PRIZM_INPUT_LAYOUT_DATE_TIME_RANGE, PRIZM_TIME_TEXTS } from '../../../tokens/';
import { PRIZM_DATE_TIME_RANGE_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers';
import { PrizmControlValueTransformer } from '../../../types/control-value-transformer';
import { prizmNullableSame } from '../../../util/common/nullable-same';
import { filterTruthy, PrizmDestroyService, PrizmLetDirective } from '@prizm-ui/helpers';
import { filterTruthy, PrizmDestroyService, PrizmLetDirective, PrizmPluckPipe } from '@prizm-ui/helpers';
import { PrizmInputControl } from '../common/base/input-control.class';
import { PrizmInputNgControl } from '../common/base/input-ng-control.class';
import { debounceTime, delay, distinctUntilChanged, map, share, takeUntil, tap } from 'rxjs/operators';
Expand Down Expand Up @@ -67,6 +67,7 @@ import { PrizmIconsFullRegistry } from '@prizm-ui/icons/core';
import { prizmIconsCalendarRange, prizmIconsClock } from '@prizm-ui/icons/full/source';
import { transformDateIfNeeded } from '../../../@core/date-time/date-transform-util';
import { PrizmTimeConstraintsPipe } from '../../../pipes/time-constraints/time-constraints.pipe';
import { PrizmLanguageInputLayoutDateTimeRange } from 'libs/i18n/src/lib/interfaces';

@Component({
selector: `prizm-input-layout-date-time-range`,
Expand All @@ -79,6 +80,7 @@ import { PrizmTimeConstraintsPipe } from '../../../pipes/time-constraints/time-c
...prizmI18nInitWithKeys({
time: PRIZM_TIME_TEXTS,
dateTexts: PRIZM_DATE_TEXTS,
inputLayoutDateTimeRange: PRIZM_INPUT_LAYOUT_DATE_TIME_RANGE,
}),
{
provide: NG_VALUE_ACCESSOR,
Expand All @@ -104,6 +106,7 @@ import { PrizmTimeConstraintsPipe } from '../../../pipes/time-constraints/time-c
PrizmValueAccessorDirective,
FormsModule,
PrizmTimeConstraintsPipe,
PrizmPluckPipe,
],
})
export class PrizmInputLayoutDateTimeRangeComponent
Expand Down Expand Up @@ -257,6 +260,10 @@ export class PrizmInputLayoutDateTimeRangeComponent
@Inject(PRIZM_DATE_FORMAT)
readonly dateFormat: PrizmDateMode,
@Inject(PRIZM_DATE_SEPARATOR) readonly dateSeparator: string,
@Inject(PRIZM_INPUT_LAYOUT_DATE_TIME_RANGE)
public readonly dictionary$: Observable<
PrizmLanguageInputLayoutDateTimeRange['inputLayoutDateTimeRange']
>,
@Inject(PRIZM_DATE_TEXTS)
readonly dateTexts$: Observable<Record<PrizmDateMode, string>>,
@Optional()
Expand Down
5 changes: 5 additions & 0 deletions libs/components/src/lib/tokens/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
PrizmLanguageInputLayout,
PrizmLanguageInputLayoutDateRelative,
PrizmLanguageInputLayoutDateTime,
PrizmLanguageInputLayoutDateTimeRange,
PrizmLanguageKit,
PrizmLanguagePaginator,
} from '@prizm-ui/i18n';
Expand All @@ -29,6 +30,10 @@ export const PRIZM_INPUT_LAYOUT_DATE_TIME = new InjectionToken<
Observable<PrizmLanguageInputLayoutDateTime['inputLayoutDateTime']>
>(`Localized for input layout date time component`);

export const PRIZM_INPUT_LAYOUT_DATE_TIME_RANGE = new InjectionToken<
Observable<PrizmLanguageInputLayoutDateTimeRange['inputLayoutDateTimeRange']>
>(`Localized for input layout date time range component`);

export const PRIZM_CRON = new InjectionToken<Observable<PrizmLanguageCron['cron']>>(
`Localized for cron component`
);
Expand Down
7 changes: 7 additions & 0 deletions libs/i18n/src/lib/interfaces/language.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ export interface PrizmLanguageInputLayoutDateTime {
};
}

export interface PrizmLanguageInputLayoutDateTimeRange {
inputLayoutDateTimeRange: {
time: string;
};
}

export interface PrizmLanguageCronSwitcherTitles {
second: string;
minute: string;
Expand Down Expand Up @@ -310,6 +316,7 @@ export interface PrizmLanguage
PrizmLanguageCron,
PrizmLanguageInputLayoutDateRelative,
PrizmLanguageInputLayoutDateTime,
PrizmLanguageInputLayoutDateTimeRange,
PrizmLanguageFileUpload,
PrizmLanguageColumnSettings,
PrizmLanguagePaginator {}
2 changes: 2 additions & 0 deletions libs/i18n/src/lib/languages/english/english.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { PRIZM_ENGLISH_COLUMN_SETTINGS } from './column-settings';
import { PRIZM_ENGLISH_PAGINATOR } from './paginator';
import { PRIZM_ENGLISH_INPUT_LAYOUT_DATE_TIME } from './input-layout-date-time';
import { PRIZM_ENGLISH_INPUT } from './input';
import { PRIZM_ENGLISH_INPUT_LAYOUT_DATE_TIME_RANGE } from './input-layout-date-time-range';

export const PRIZM_ENGLISH_LANGUAGE = {
name: `english`,
Expand All @@ -18,6 +19,7 @@ export const PRIZM_ENGLISH_LANGUAGE = {
...PRIZM_ENGLISH_INPUT,
...PRIZM_ENGLISH_INPUT_LAYOUT_DATE_RELATIVE,
...PRIZM_ENGLISH_INPUT_LAYOUT_DATE_TIME,
...PRIZM_ENGLISH_INPUT_LAYOUT_DATE_TIME_RANGE,
...PRIZM_ENGLISH_CRON,
...PRIZM_ENGLISH_COLUMN_SETTINGS,
...PRIZM_ENGLISH_PAGINATOR,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { PrizmLanguageInputLayoutDateTimeRange } from '../../interfaces';

export const PRIZM_ENGLISH_INPUT_LAYOUT_DATE_TIME_RANGE: PrizmLanguageInputLayoutDateTimeRange = {
inputLayoutDateTimeRange: {
time: 'Time',
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { PrizmLanguageInputLayoutDateTimeRange } from '../../interfaces';

export const PRIZM_RUSSIAN_INPUT_LAYOUT_DATE_TIME_RANGE: PrizmLanguageInputLayoutDateTimeRange = {
inputLayoutDateTimeRange: {
time: 'Время',
},
};
2 changes: 2 additions & 0 deletions libs/i18n/src/lib/languages/russian/russian.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { PRIZM_RUSSIAN_COLUMN_SETTINGS } from './column-settings';
import { PRIZM_RUSSIAN_PAGINATOR } from './paginator';
import { PRIZM_RUSSIAN_INPUT } from './input';
import { PRIZM_RUSSIAN_INPUT_LAYOUT_DATE_TIME } from './input-layout-date-time';
import { PRIZM_RUSSIAN_INPUT_LAYOUT_DATE_TIME_RANGE } from './input-layout-date-time-range';

export const PRIZM_RUSSIAN_LANGUAGE = {
name: `russian`,
Expand All @@ -18,6 +19,7 @@ export const PRIZM_RUSSIAN_LANGUAGE = {
...PRIZM_RUSSIAN_INPUT,
...PRIZM_RUSSIAN_INPUT_LAYOUT_DATE_RELATIVE,
...PRIZM_RUSSIAN_INPUT_LAYOUT_DATE_TIME,
...PRIZM_RUSSIAN_INPUT_LAYOUT_DATE_TIME_RANGE,
...PRIZM_RUSSIAN_CRON,
...PRIZM_RUSSIAN_COLUMN_SETTINGS,
...PRIZM_RUSSIAN_PAGINATOR,
Expand Down
Loading