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

fix(core/date-time-picker): add additional properties to configure datetime pickers #69

Merged
merged 25 commits into from
Nov 11, 2022
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c49f42e
fix(core): date & time pickers default values
goncalosard Oct 13, 2022
a39bb76
Merge branch 'main' of https://github.com/siemens/ix into fix/date&ti…
goncalosard Oct 13, 2022
8163cef
fix(core): datetime pickers props name changes
goncalosard Oct 13, 2022
eebea42
feat(core/date-picker): add defaults for props, deprecate property in…
nuke-ellington Oct 18, 2022
b7cc7c3
test(core/time-picker): deprecate property individual and add vrt
nuke-ellington Oct 18, 2022
313cab7
fix(core/datetime-picker): enlarge background to cover whole control
nuke-ellington Oct 18, 2022
873ee7e
Merge branch 'main' into fix/date&time-pickers
nuke-ellington Oct 18, 2022
0bce0fc
fix(core/datetime-picker): update meta files
nuke-ellington Oct 18, 2022
aa239d2
feat(core/date-picker): add min-/maxDate and day
nuke-ellington Oct 20, 2022
93c834b
feat(core/datetime-picker): add min-/maxDate and day
nuke-ellington Oct 20, 2022
9ebbcb8
fix(core/date-picker): update meta files
nuke-ellington Oct 20, 2022
3377119
refactor(core/datetime): replace number input with format strings
danielleroux Oct 28, 2022
f8614d2
refactor(core/datetime-picker): merge pickers
danielleroux Oct 28, 2022
9df5c1b
fix(core/datepicker): add dedicated change event
danielleroux Nov 3, 2022
51cc7aa
refactor(core/picker): use external events for succesfull build gener…
danielleroux Nov 4, 2022
5b61a52
docs(picker): update autogeneration
danielleroux Nov 4, 2022
616793e
Merge remote-tracking branch 'origin/main' into fix/date&time-pickers
danielleroux Nov 4, 2022
93397ac
refactor(core/datepicker): use format string as min max input
danielleroux Nov 11, 2022
62f689b
test(core/datepicker): update date visual regression snapshots
danielleroux Nov 11, 2022
3012957
Merge remote-tracking branch 'origin/main' into fix/date&time-pickers
danielleroux Nov 11, 2022
9ba4713
feat(html-test-app): add range example
danielleroux Nov 11, 2022
c86537a
feat(angular-test-app): add range example
danielleroux Nov 11, 2022
9ed7e34
feat(react-test-app): add range example
danielleroux Nov 11, 2022
39066ed
docs(datepicker): add range example
danielleroux Nov 11, 2022
e8c6601
fix(core/picker): typo in interface
danielleroux Nov 11, 2022
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
5 changes: 5 additions & 0 deletions packages/angular-test-app/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import { Checkbox } from 'src/preview-examples/checkbox';
import { CheckboxIndeterminate } from 'src/preview-examples/checkbox-indeterminate';
import { Chip } from 'src/preview-examples/chip';
import { Datepicker } from 'src/preview-examples/datepicker';
import { DatepickerRange } from 'src/preview-examples/datepicker-range';
import { Datetimepicker } from 'src/preview-examples/datetimepicker';
import { Drawer } from 'src/preview-examples/drawer';
import { DrawerFullHeight } from 'src/preview-examples/drawer-full-height';
Expand Down Expand Up @@ -194,6 +195,10 @@ const routes: Routes = [
path: 'datepicker',
component: Datepicker,
},
{
path: 'datepicker-range',
component: DatepickerRange,
},
{
path: 'datetimepicker',
component: Datetimepicker,
Expand Down
2 changes: 2 additions & 0 deletions packages/angular-test-app/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import { Checkbox } from 'src/preview-examples/checkbox';
import { CheckboxIndeterminate } from 'src/preview-examples/checkbox-indeterminate';
import { Chip } from 'src/preview-examples/chip';
import { Datepicker } from 'src/preview-examples/datepicker';
import { DatepickerRange } from 'src/preview-examples/datepicker-range';
import { Datetimepicker } from 'src/preview-examples/datetimepicker';
import { Drawer } from 'src/preview-examples/drawer';
import { DrawerFullHeight } from 'src/preview-examples/drawer-full-height';
Expand Down Expand Up @@ -169,6 +170,7 @@ import { NavigationTestComponent } from './components/navigation-test.component'
WorkflowVertical,
MapNavigation,
TabsRounded,
DatepickerRange,
],
imports: [
BrowserModule,
Expand Down
27 changes: 27 additions & 0 deletions packages/angular-test-app/src/preview-examples/datepicker-range.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* SPDX-FileCopyrightText: 2022 Siemens AG
*
* SPDX-License-Identifier: MIT
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

import { Component } from '@angular/core';

@Component({
selector: 'app-datepicker-range',
template: `
<ix-date-picker
[range]="isRange"
[from]="fromDate"
[to]="toDate"
></ix-date-picker>
`,
})
export class DatepickerRange {
isRange = true;

fromDate = '2022/12/15';
toDate = '2022/12/24';
}
57 changes: 43 additions & 14 deletions packages/angular/src/components.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,35 +282,49 @@ export class IxCounterPill {
}
}


import type { LagacyDateChangeEvent as IDatePickerLagacyDateChangeEvent } from '@siemens/ix';
import type { DateChangeEvent as IDatePickerDateChangeEvent } from '@siemens/ix';
export declare interface IxDatePicker extends Components.IxDatePicker {
/**
* Time change event
* Date change event

If datepicker is in range mode the event detail will be sperated with a `-` e.g.
`2022/10/22 - 2022/10/24` (start and end). If range mode is choosen consider to use `dateRangeChange`. @depracted String output will be removed. Set ´doneEventDelimiter´ to undefined or null to get date change object instead of a string
*/
dateChange: EventEmitter<CustomEvent<IDatePickerLagacyDateChangeEvent>>;
danielleroux marked this conversation as resolved.
Show resolved Hide resolved
/**
* Date range change.
Only triggered if datepicker is in range mode @since 1.1.0
*/
dateChange: EventEmitter<CustomEvent<string>>;
dateRangeChange: EventEmitter<CustomEvent<IDatePickerDateChangeEvent>>;
/**
* done event
* Date selection confirmed via button action @deprecated Use `dateSelect`
*/
done: EventEmitter<CustomEvent<string>>;
/**
* Date selection confirmed via button action @since 1.1.0
*/
dateSelect: EventEmitter<CustomEvent<IDatePickerDateChangeEvent>>;

}

@ProxyCmp({
defineCustomElementFn: undefined,
inputs: ['corners', 'format', 'individual', 'range']
inputs: ['corners', 'eventDelimiter', 'format', 'from', 'individual', 'maxDate', 'minDate', 'range', 'textSelectDate', 'to'],
methods: ['getCurrentDate']
})
@Component({
selector: 'ix-date-picker',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '<ng-content></ng-content>',
inputs: ['corners', 'format', 'individual', 'range']
inputs: ['corners', 'eventDelimiter', 'format', 'from', 'individual', 'maxDate', 'minDate', 'range', 'textSelectDate', 'to']
})
export class IxDatePicker {
protected el: HTMLElement;
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
proxyOutputs(this, this.el, ['dateChange', 'done']);
proxyOutputs(this, this.el, ['dateChange', 'dateRangeChange', 'done', 'dateSelect']);
}
}

Expand All @@ -335,31 +349,45 @@ export class IxDateTimeCard {
}
}


import type { DateTimeSelectEvent as IDatePickerDateTimeSelectEvent } from '@siemens/ix';
export declare interface IxDatetimePicker extends Components.IxDatetimePicker {
/**
* Time event
* Done event

Set `doneEventDelimiter` to null or undefine to get the typed event
*/
done: EventEmitter<CustomEvent<string>>;
/**
* Time change @since 1.1.0
*/
timeChange: EventEmitter<CustomEvent<string>>;
/**
* Date change @since 1.1.0
*/
dateChange: EventEmitter<CustomEvent<string | Omit<IDatePickerDateTimeSelectEvent, 'time'>>>;
/**
* Date selection event is fired after confirm button is pressend @since 1.1.0
*/
dateSelect: EventEmitter<CustomEvent<IDatePickerDateTimeSelectEvent>>;

}

@ProxyCmp({
defineCustomElementFn: undefined,
inputs: ['range', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference']
inputs: ['dateFormat', 'eventDelimiter', 'from', 'maxDate', 'minDate', 'range', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference', 'textSelectDate', 'time', 'timeFormat', 'timeReference', 'to']
})
@Component({
selector: 'ix-datetime-picker',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '<ng-content></ng-content>',
inputs: ['range', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference']
inputs: ['dateFormat', 'eventDelimiter', 'from', 'maxDate', 'minDate', 'range', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference', 'textSelectDate', 'time', 'timeFormat', 'timeReference', 'to']
})
export class IxDatetimePicker {
protected el: HTMLElement;
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
proxyOutputs(this, this.el, ['done']);
proxyOutputs(this, this.el, ['done', 'timeChange', 'dateChange', 'dateSelect']);
}
}

Expand Down Expand Up @@ -1404,13 +1432,14 @@ export declare interface IxTimePicker extends Components.IxTimePicker {

@ProxyCmp({
defineCustomElementFn: undefined,
inputs: ['corners', 'individual', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference']
inputs: ['corners', 'format', 'individual', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference', 'textSelectTime', 'time', 'timeReference'],
methods: ['getCurrentTime']
})
@Component({
selector: 'ix-time-picker',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '<ng-content></ng-content>',
inputs: ['corners', 'individual', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference']
inputs: ['corners', 'format', 'individual', 'showHour', 'showMinutes', 'showSeconds', 'showTimeReference', 'textSelectTime', 'time', 'timeReference']
})
export class IxTimePicker {
protected el: HTMLElement;
Expand Down
Loading