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

igxTimePicker - editable masked input + dropdown new mode #3394

Merged
merged 64 commits into from
Jan 7, 2019

Conversation

SAndreeva
Copy link
Contributor

@SAndreeva SAndreeva commented Dec 11, 2018

Closes #2337

Additional information (check all that apply):

  • Bug fix
  • New functionality
  • Documentation
  • Demos
  • CI/CD

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code
  • This PR includes API docs for newly added methods/properties
  • This PR includes feature/README.MD updates for the feature docs
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes ng update migrations for the breaking changes
  • This PR includes behavioral changes and the feature specification has been updated with them

SAndreeva and others added 30 commits November 23, 2018 14:50
@zdrawku zdrawku changed the base branch from master to 7.1.x December 18, 2018 14:41
CHANGELOG.md Outdated
@@ -22,9 +26,12 @@ All notable changes for each version of this project will be documented in this
- `focusedValuePipe` input property is provided that allows developers to additionally transform the value on focus;
- `IgxTreeGrid`:
- Batch editing - an injectable transaction provider accumulates pending changes, which are not directly applied to the grid's data source. Those can later be inspected, manipulated and submitted at once. Changes are collected for individual cells or rows, depending on editing mode, and accumulated per data row/record.
- You can now export the tree grid both to CSV and Excel.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those two changes in source code a part of this PR?

CHANGELOG.md Outdated
@@ -2,6 +2,10 @@

All notable changes for each version of this project will be documented in this file.

## 7.1.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might change this version to 7.1.2 as 7.1.1 will only contain a few fixes for NRI.

}

/**
* Defines the posible values of the igxTimePicker's time slelection mode.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo slelection.

/**
* @hidden
*/
get isModal(): boolean {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could remove this property.

<div #container [hidden]="collapsed"
[style.width.px]="dropDownWidth" class="igx-time-picker"
[ngClass]="{'igx-time-picker--dropdown': !isModal, 'igx-time-picker--vertical': vertical && isModal}">
<div *ngIf="isModal" class="igx-time-picker__header">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of isModal use the check this.mode === InteractionMode.dialog. It makes the template more readable. Replace both usages of isModal.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather leave it this way, as using enum inside HTML is tricky and the code will become less unreadable

*/
public onBlur(event): void {
const value = event.target.value;
const oldVal = new Date(this.value);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need new variable here. Just use this.value.

let sign: number;
let displayVal: string;
const currentVal = new Date(this.value);
const min = this.minValue ? this._convertMinMaxValue(this.minValue) : this._convertMinMaxValue('00:00');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could extract '00:00' and '24:00' as constants. '00:00' is present more than once in this file.


/** @hidden */
@Pipe({ name: 'displayFormat'})
export class TimeDisplayFormatPipe implements PipeTransform {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Export those two pipes in the module so the users could use them. Add triple slash comments.

@Pipe({ name: 'displayFormat'})
export class TimeDisplayFormatPipe implements PipeTransform {

constructor(@Inject(IGX_TIME_PICKER_COMPONENT) public timePicker: IgxTimePickerBase) { }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need timePicker to be public?

@@ -86,6 +87,8 @@ export * from './lib/services/index';
export * from './lib/core/dates';
export * from './lib/core/density';
export { CancelableEventArgs } from './lib/core/utils';
export { InteractionMode } from './lib/time-picker/time-picker.common';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Export this in IgxTimePickerModule as we will have the same enum for the date picker.

@zdrawku zdrawku assigned sstoyanovIG and unassigned npaunov Jan 4, 2019
@bkulov bkulov added the squash-merge Merge PR with "Squash and Merge" option label Jan 7, 2019
@zdrawku zdrawku merged commit 0427320 into 7.1.x Jan 7, 2019
@zdrawku zdrawku deleted the SAndreeva/time-picker-poc-m branch January 7, 2019 12:17
zdrawku added a commit that referenced this pull request Jan 8, 2019
* refactor(displayDensity): Code cleanup in display density base class

Cleaned host bindings in child components.
The displayDensity getter cannot retrun undefined anymore.

* refactor(displayDensity): Address code review suggestions

* chore(*): Added itemSize to width calculations - forOf.

* refactor(displayDensity): Fix header group

* refactor(linear-progress): modify styles and template for indeterminate state

* refactor(circular-bar): add indeterminate state and animation

* refactor(progressbar): apply type classes to the host and refactor the tests

* fix(slider): prevent snapping of maxValue to minValue

Closes #2610

* test(slider): add some tests about the exceeding bounds

Closes #2610

* test(slider): run all and modify some tests

Closes #2610

* fix(slider.spec): fix some lint errors

Closes #2610

* fix(progress): fix progress bars to work in IE11

* chore(changelog, readme): update to reflect the new indeterminate property

* refactor(progressbar): update circular progress when not in indeterminate

* test(progressbar): fix circularbar tests

Closes #1997 #1986

* test(progress): fix failing tests after binding test to host

* fix(progressbar): prevent value update when indeterminate mode is on

Closes #1997 #1986

* refactor(avatar): allow for more robust styling of the avatar

* Update avatar.component.spec.ts

* test(transaction): deleting w/ transactions + paging in grid, #3425

* fix(transaction): check for transactions when commiting delete, #3425

* fix(transaction): hier trans getAggregatedChanges uses state copy instead, #3425

* chore(*): Changed the way to get the item size.

* Update avatar.component.spec.ts

* chore(*): Added test for bug 3087.

* fix(grid): proper check for paging w/ transactions in place, #3425

* chore(*): Improved test about width for_of.

* chore(*): Fixed identation change.

* fix(grid): can no longer select deleted rows, #3424

* refactor(grid): move deleted checks to API, remove extra loop, #3424

* refactor(treeGrid): row_deleted_parent is now private, remove imports, #3424

* test(treeGrid): add row selection + transaction tests, #3424

* refactor(treeGrid): remove isRowDeleted, get deleted; use api service, #3424

* refactor(grid): remove unnecessary assignment, #3424

* fix(IgxGridCell): focus input when enter cell in edit mode #2801

* fix(igx-grid): Scroll filtered column in view, #3451

* refactor(grid): add comment to row delete+paging, change check for page, #3425

* test(forof): adding failing test for scrollNext wraparound #3365

* chore(*): fix tests using avatar #3444

* fix(forof): fixing break clause for scrollTo #3365

* chore(*): removing left-over fit

* chore(ng-add): bump Ignite UI CLI version

* test(forof): fixing some tests for better passability #3365

* refactor(*): refactor some comments and exports

hide GroupedRecords class from typedoc API doc and refactor
igx-drop-down-theme param comment

Closes #3483 #3484

* test(grid): #3047 igxGrid isn't displayed properly in IE11 when in igxTabs

* chore(*): Fixing lint errors

* fix(grid): igxGrid isn't displayed properly in IE11 in igxTabs #3047

* Include grid's unpinnedWidth and totalWidth in cell width calculation (#3465)

* test(grid): add test for summary alignment #3462

* fix(grid): include grid widths in cell width calculation #3462

* fix(summary): convert getCellWidth from getter to method #3462

* Derive possible heights after markForCheck() is called #3467 (#3479)

* fix(grid): add pipeTrigger in the AfterViewInit event #3467

* test(grid): add general test for treegrid default rendering #8347

* fix(grid): calling pipeTrigger is not needed #3467

* test(grid): move general test to component test file #3467

* test(grid): remove f from test file #3467

*  docs(*): updating changelog for 7.1.x #3495

* chore(*): adding sections for 6.2.4 and 7.0.5 as well

* test(update): Modify firstMonth selector #3508

* Fix - Convert % column width to px when calculating default column width (#3319)

* test(grid): add test for a column width in % #1245

* fix(grid): convert % to px when calculating default width #1245

* test(grid): remove fit #1245

* fix(#3332): Exception when exporting more than 8 nested levels (#3501)

* fix(#3332): Exception when exporting more than 8 level

* fix(Exporter): #3332 Adding a test.

* fix(Exporter): #3332 Improve the fix and test

* fix(Exporter): #3332 Fix was braking the existing export

* fix(headers-api-docs): set header IG main page link depending on the lang

Closes #3516

* fix(*): build errors due to displayDensity changes #3310

* chore(*): more code optimizations #3310

* igxTimePicker - editable masked input + dropdown new mode (#3394)

* feat(time-picker): initial implementation of removing dialog #2337

* feat(time picker): spin on edit functionality #2337

* feat(time picker): editable input implementation #2337

* feat(time-picker): dropdown/dialog display rework #2337

* feat(time-picker): sync dropdwwon navigation and input display #2337

* feat(time picker): emit events when necessary #2337

* feat(time picker): code restructuring and demo rework #2337

* feat(time picker): fix broken sample #2337

* feat(time picker): fix test failures and styles #2337

* feat(time-picker): minor fixes and improvements #2337

* feat(time-picker): more fixes and improvements #2337

* feat(time-picker): cover corner cases with invalid value #2337

* refactor(theme): adjust time picker theme

* feat(time picker): hide/show overlay via hidden attribute #2337

* test(timePicker): Adding TimePicker DropDown initial Tests. #2337

* test(timePicker): Adding TimePicker DropDown Tests. #2337

* feat(time-picker): mask directive placeholder #2337

* test(timePicker): Fixing falling Vertical test. #2337

* feat(time picker): some code refactoring #2337

* feat(time picker): code refactoring and bug fixing #2337

* test(timePicker): Finalizing TimePicker DropDown Tests. #2337

* feat(time picker): tests refactoring and bug fixing #2337

* feat(time picker): code styling #2337

* feat(time picker): update README.md and CHANGELOG.md #2337

* feat(time picker): minor fixes/improvements #2337

* feat(time picker): some more little refinements #2337

* chore(*): mask demo enhancement #2337

* chore(*): address review comments #2337

* chore(*): more refinements #2337

* feat(time picker): address comments form review #2337

* feat(time picker): expose enum again in common #2337

* feat(time picker): cover some more corner cases #2337

* feat(time picker): some more minor bug fixes #2337

* feat(time picker): fix undesired input event firing in IE #2337

* fix(IgxColumnMovingDropDirective): focus last active cell on column moving #3407 (#3524)

* fix(igx-grid): Add function to localize summaries, #3533 (#3534)

* chore(*): Fix 7.1.1 duplicate section in Changelog

* chore(*): Update changelog
gedinakova pushed a commit that referenced this pull request Jan 30, 2019
* refactor(*): refactor some comments and exports

hide GroupedRecords class from typedoc API doc and refactor
igx-drop-down-theme param comment

Closes #3483 #3484

* test(grid): #3047 igxGrid isn't displayed properly in IE11 when in igxTabs

* chore(*): Fixing lint errors

* fix(grid): igxGrid isn't displayed properly in IE11 in igxTabs #3047

* Include grid's unpinnedWidth and totalWidth in cell width calculation (#3465)

* test(grid): add test for summary alignment #3462

* fix(grid): include grid widths in cell width calculation #3462

* fix(summary): convert getCellWidth from getter to method #3462

* Derive possible heights after markForCheck() is called #3467 (#3479)

* fix(grid): add pipeTrigger in the AfterViewInit event #3467

* test(grid): add general test for treegrid default rendering #8347

* fix(grid): calling pipeTrigger is not needed #3467

* test(grid): move general test to component test file #3467

* test(grid): remove f from test file #3467

*  docs(*): updating changelog for 7.1.x #3495

* chore(*): adding sections for 6.2.4 and 7.0.5 as well

* test(update): Modify firstMonth selector #3508

* Fix - Convert % column width to px when calculating default column width (#3319)

* test(grid): add test for a column width in % #1245

* fix(grid): convert % to px when calculating default width #1245

* test(grid): remove fit #1245

* feat(igx-grid): Add locale property to igx-grid, #3455

* fix(#3332): Exception when exporting more than 8 nested levels (#3501)

* fix(#3332): Exception when exporting more than 8 level

* fix(Exporter): #3332 Adding a test.

* fix(Exporter): #3332 Improve the fix and test

* fix(Exporter): #3332 Fix was braking the existing export

* fix(headers-api-docs): set header IG main page link depending on the lang

Closes #3516

* fix(*): build errors due to displayDensity changes #3310

* chore(*): more code optimizations #3310

* test(snackbar): add tests for ng-content #3328

* chore(snackbar): blank spaces update #3328

* feat(snackbar): add ng-content #3328

* docs(snackbar): update README #3328

* igxTimePicker - editable masked input + dropdown new mode (#3394)

* feat(time-picker): initial implementation of removing dialog #2337

* feat(time picker): spin on edit functionality #2337

* feat(time picker): editable input implementation #2337

* feat(time-picker): dropdown/dialog display rework #2337

* feat(time-picker): sync dropdwwon navigation and input display #2337

* feat(time picker): emit events when necessary #2337

* feat(time picker): code restructuring and demo rework #2337

* feat(time picker): fix broken sample #2337

* feat(time picker): fix test failures and styles #2337

* feat(time-picker): minor fixes and improvements #2337

* feat(time-picker): more fixes and improvements #2337

* feat(time-picker): cover corner cases with invalid value #2337

* refactor(theme): adjust time picker theme

* feat(time picker): hide/show overlay via hidden attribute #2337

* test(timePicker): Adding TimePicker DropDown initial Tests. #2337

* test(timePicker): Adding TimePicker DropDown Tests. #2337

* feat(time-picker): mask directive placeholder #2337

* test(timePicker): Fixing falling Vertical test. #2337

* feat(time picker): some code refactoring #2337

* feat(time picker): code refactoring and bug fixing #2337

* test(timePicker): Finalizing TimePicker DropDown Tests. #2337

* feat(time picker): tests refactoring and bug fixing #2337

* feat(time picker): code styling #2337

* feat(time picker): update README.md and CHANGELOG.md #2337

* feat(time picker): minor fixes/improvements #2337

* feat(time picker): some more little refinements #2337

* chore(*): mask demo enhancement #2337

* chore(*): address review comments #2337

* chore(*): more refinements #2337

* feat(time picker): address comments form review #2337

* feat(time picker): expose enum again in common #2337

* feat(time picker): cover some more corner cases #2337

* feat(time picker): some more minor bug fixes #2337

* feat(time picker): fix undesired input event firing in IE #2337

* fix(IgxColumnMovingDropDirective): focus last active cell on column moving #3407 (#3524)

* chore(*): Added Math ceil in order to get the correct endIndex.

* chore(igx-grid): Fix typo and make little refactoring, #3455

* fix(igx-grid): Add function to localize summaries, #3533 (#3534)

* chore(*): Fix 7.1.1 duplicate section in Changelog

* fix(time picker): cursor flickering in IE #2337

* style(tabs):

1. Remove the wrong calculation for colors
2. Remove ellipsis for long text without icon

* chore(*): Update changelog

* refactor(ripple): Use AnimationBuilder for the animation

* test(igx-tabs): Increase thick time of two tests, #3269

* refactor(*): Fix tests using the ripple module

* test(igx-tabs): Adjust some of the tests, #3269

* fix(time picker): address comments from review #2337

* feat(time picker): clean up imports #2337

* test(snackbar): update test for ng-content #3328

* feat(snackbar): update ng-content logic and README #3328

* fix(time picker): remove renderer #2337

* Rewrite deprecation decorators (#3447)

* chore(*): Remove DeprecateClass util method (#2915)

* chore(datepicker): Replace deprecated selector (#2915)

* chore(*): Rewrite deprecation decorator for properties and methods (#2915)

* chore(*): Fix lint warnings (#2915)

* chore(*): Invoke original getter/setter (#2915)

Invoke original getter/setter for deprecated properties.

* feat(*): Improve property deprecation messages (#2915)

* chore(*): Fix lint errors (#2915)

* chore(datepicker): Revert - Replace deprecated selector (#2915)

This reverts commit a2e731b.

* chore(datepicker): Restore removed selector (#2915)

* chore(datepicker): Show deprecation message when necessary (#2915)

* chore(datepicker): Replace deprecated selector (#2915)

* docs(drop-down): fixing a wrong link #3531

* fix(igx-grid): Add flag for keydown for a corner case in IE, #3504

* chore(igx-grid): Remove 'f', #3504

* feat(search): fix highlight of tree cells #3519

* test(igxInput): #3550 Test setting req input value updates valid state.

* fix(igxInput): #3550 Setting required input value updates valid state.

* fix(Input): #3550 Abstracted the validity check to a method.

* test(snackbar): update tests #3328

* feat(snackbar): update the snackbar template #3328

* feat(igx-grid): Expose column templates as inputs

Closes #3562

* fix(Grid):  fix and tests for #3513. Adding new prop from which to read actual px width for grid cols and using it in igxForOf calculations.

* fix(Grid):  fix  for #3513 - add check in case getPossibleColumnWidth is called before AfterViewInit.

* fix(Grid): Fix and test for scenario when row selectors are enabled with % widths.

* refactor(*): Address review comments

* fix(igx-date-picker): Call markForCheck in writeValue method, #3362

* chore(*): Fixing issues after merge.

* fix(*): Make default locale to be 'en', #3569 (#3573)

* chore(typedoc): fixing comment structure #3523

* test(snackbar): change tests #3328

* feat(snackbar): update template #3328

* chore(snackbar): remove f from a test #3328

* chore(*): shortening statement #3513

* Mvenkov/dropdown scroll fix (#3546)

* fix(igxOverlay): restore correctly element original style, #3527

* chore(igxOverlay): onPosition added, WIP

* fix(igxOverlay): set element scrollTop is setTimeOut, #3527

Setting the scrollTop forces the dropdown's element to flicker. When we set it
just one ms latter animation has time to start and we prevent flickering.

* chore(igxOverla): remove bug fix leftovers

* chore(igxOverlay): use time out only for IE

* fix(igxOverlay): fix elastic pos. + absolute scroll, #3527

* feat(search): fixing tree grid search highlight #3519

* test(navbar): add test for vertically-centered actionIcon content #3584

* chore(navbar): fix lint errors #3584

* fix(navbar): vertically align igx-action-icon content #3584

* fix(filtering): prevent improper event firing in IE for JP #3577

* Fix empty space in treeGrid after expand/collapse (#3554)

* test(tree-grid): add test for issue #3409

* fix(grid): call recalcUpdateSizes in requestAnimationFrame #3409

* fix(grid): add a row only when less than maxItemSize #3409

* fix(Input): #3550 Fixed a bad validation check.

* fix(List): #3602 Show loading template when isLoading=true.

* test(tabs): Fixed tabs test to avoid flickering #3541

* fix(filtering): chip creation while typing in JP on Edge #3599

* feat(search): refactor search and highlight #3519

* feat(build): PreDeploy script cleaning sass and typescript folders #3618

* refactor(*): Fixing tests using the ripple module

* feat(search): fix some grid search issues #3519

* refactor(*): rewrite the senseless logic #3599

* fix(grid): igxGrid isn't displayed properly in IE11 if in igxTabs #3047

* feat(build): Moving PreDeploy.ps1 inside extras folder #3618

* chore(*): Fixing incorrect merge

* refactor(*): combine clauses to avoid code duplication #3599

* feat(search): fix the resolving of filteredSortedData #3519

* feat(search): fix setting the contentChildElement #3519

* test(search): fixing search tests #3637

* fix(search): fix converting nodeLists to array #3637

* fix(search): observe highlight when changing inEditMode #3637

* fix(search): renaming private member #3637

* feat(search): add grid search sample #3519

* test(treeGrid): create tree-grid-search.spec.ts file #3519

* test(treeGrid): add search helper methods #3519

* test(treeGrid): add initial tests #3519

* test(treeGrid): remove 'f' from describe #3519

* test(treeGrid): update hierarchical test #3519

* test(search): add pk/fk test #3519

* test(search): add a pk/fk root/child rows test #3519

* test(treeGrid): add filter and sort search tests #3519

* feat(search): fix treeGrid scrollTo method #3519

* test(treeGrid): add pinning and hiding search tests #3519

* test(search): add scrollable search tests #3519

* test(search): make beforeEach async #3519

* test(treeGrid): remove unused imports #3519

* docs(treeGrid): remove summaries,search & export from limitations #3519

* test(search): add case sensitive/exact match test #3519

* chore(*): fixing some merge errors #3519

* docs(treeGrid): add treeGrid search api to changelog #3519

* feat(search): rename IActiveHighlightInfo members #3519

* docs(search): add changelog breaking change #3519

* feat(search): add back some IActiveHighlightInfo properties #3519

* docs(search): update the changelog #3519

* docs(search): fix formatting in changelog #3519
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🕐 time-picker feature squash-merge Merge PR with "Squash and Merge" option version: 7.1.x ✅ status: verified Applies to PRs that have passed manual verification
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants