Skip to content

Commit c283d35

Browse files
authored
Merge pull request #223 from netgrif/dev
v6.3.2
2 parents 123b7a0 + bd9f6d1 commit c283d35

File tree

17 files changed

+123
-46
lines changed

17 files changed

+123
-46
lines changed

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,15 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
66
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
Full Changelog: [https://github.com/netgrif/components/commits/v6.3.1](https://github.com/netgrif/components/commits/v6.3.1)
8+
Full Changelog: [https://github.com/netgrif/components/commits/v6.3.2](https://github.com/netgrif/components/commits/v6.3.2)
9+
10+
## [6.3.2](https://github.com/netgrif/components/releases/tag/v6.3.2) (2023-07-25)
11+
12+
### Fixed
13+
14+
- [NAE-1911] Autosave on text area in cooperation with button
15+
- [NAE-1914] revertToPreviousValue - change is always false
16+
- [NAE-1923] DateTime doesn't have locale and rework validation to isoWeekday
917

1018
## [6.3.1](https://github.com/netgrif/components/releases/tag/v6.3.1) (2023-07-18)
1119

@@ -56,6 +64,12 @@ Full Changelog: [https://github.com/netgrif/components/commits/v6.3.1](https://g
5664
- [NAE-1722] Set default view headers with the CreateMenuItem action method
5765
- [NAE-1711] Dashboard
5866

67+
## [6.2.10](https://github.com/netgrif/components/releases/tag/v6.2.10) (2023-11-07)
68+
69+
### Fixed
70+
71+
- [NAE-1921] User field value cannot be cleared
72+
5973
## [6.2.9](https://github.com/netgrif/components/releases/tag/v6.2.9) (2023-05-04)
6074

6175
### Fixed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@netgrif/components-project",
3-
"version": "6.3.1",
3+
"version": "6.3.2",
44
"description": "Netgrif Application Engine Frontend project. Project includes angular libraries as base for NAE applications.",
55
"homepage": "https://components.netgrif.com",
66
"license": "SEE LICENSE IN LICENSE",

projects/netgrif-components-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@netgrif/components-core",
3-
"version": "6.3.1",
3+
"version": "6.3.2",
44
"description": "Netgrif Application engine frontend core Angular library",
55
"homepage": "https://components.netgrif.com",
66
"license": "SEE LICENSE IN LICENSE",

projects/netgrif-components-core/src/lib/data-fields/date-field/abstract-date-field.component.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ import {TranslateLibModule} from '../../translate/translate-lib.module';
1818
import {MaterialModule} from '../../material/material.module';
1919
import {TranslateService} from '@ngx-translate/core';
2020
import {NAE_INFORM_ABOUT_INVALID_DATA} from '../models/invalid-data-policy-token';
21+
import {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';
22+
import {LanguageService} from '../../translate/language.service';
23+
import {CustomDateAdapter} from './models/custom-date-adapter';
2124

2225
describe('AbstractDateFieldComponent', () => {
2326
let component: TestDateFieldComponent;
@@ -36,6 +39,7 @@ describe('AbstractDateFieldComponent', () => {
3639
{provide: AuthenticationService, useClass: MockAuthenticationService},
3740
{provide: UserResourceService, useClass: MockUserResourceService},
3841
{provide: ConfigurationService, useClass: TestConfigurationService},
42+
{provide: DateAdapter, useClass: CustomDateAdapter}
3943
],
4044
declarations: [
4145
TestDateFieldComponent,
@@ -68,8 +72,11 @@ describe('AbstractDateFieldComponent', () => {
6872
})
6973
class TestDateFieldComponent extends AbstractDateFieldComponent {
7074
constructor(translate: TranslateService,
75+
protected _adapter: DateAdapter<any>,
76+
@Inject(MAT_DATE_LOCALE) protected _locale: string,
77+
protected _languageService: LanguageService,
7178
@Optional() @Inject(NAE_INFORM_ABOUT_INVALID_DATA) informAboutInvalidData: boolean | null) {
72-
super(translate, informAboutInvalidData);
79+
super(translate, _adapter, _locale, _languageService, informAboutInvalidData);
7380
}
7481
}
7582

projects/netgrif-components-core/src/lib/data-fields/date-field/abstract-date-field.component.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import {DateField} from './models/date-field';
33
import {AbstractTimeInstanceFieldComponent} from '../time-instance-abstract-field/abstract-time-instance-field.component';
44
import {TranslateService} from '@ngx-translate/core';
55
import {NAE_INFORM_ABOUT_INVALID_DATA} from '../models/invalid-data-policy-token';
6+
import {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';
7+
import {LanguageService} from '../../translate/language.service';
68

79
@Component({
810
selector: 'ncc-abstract-date-field',
@@ -13,8 +15,11 @@ export abstract class AbstractDateFieldComponent extends AbstractTimeInstanceFie
1315
@Input() public dataField: DateField;
1416

1517
protected constructor(protected _translate: TranslateService,
18+
protected _adapter: DateAdapter<any>,
19+
@Inject(MAT_DATE_LOCALE) protected _locale: string,
20+
protected _languageService: LanguageService,
1621
@Optional() @Inject(NAE_INFORM_ABOUT_INVALID_DATA) informAboutInvalidData: boolean | null) {
17-
super(_translate, informAboutInvalidData);
22+
super(_translate, _adapter, _locale, _languageService, informAboutInvalidData);
1823
}
1924

2025
getErrorMessage() {

projects/netgrif-components-core/src/lib/data-fields/date-time-field/abstract-date-time-field.component.spec.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
22
import {AngularResizeEventModule} from 'angular-resize-event';
3-
import {NgxMatDatetimePickerModule} from '@angular-material-components/datetime-picker';
3+
import {NgxMatDateAdapter, NgxMatDatetimePickerModule} from '@angular-material-components/datetime-picker';
44
import {HttpClientTestingModule} from '@angular/common/http/testing';
55
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
66
import {Component, CUSTOM_ELEMENTS_SCHEMA, Inject, Optional} from '@angular/core';
@@ -21,6 +21,10 @@ import {MockUserResourceService} from '../../utility/tests/mocks/mock-user-resou
2121
import {TestConfigurationService} from '../../utility/tests/test-config';
2222
import {ConfigurationService} from '../../configuration/configuration.service';
2323
import {NAE_INFORM_ABOUT_INVALID_DATA} from '../models/invalid-data-policy-token';
24+
import {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';
25+
import {LanguageService} from '../../translate/language.service';
26+
import {NgxMatMomentModule} from '@angular-material-components/moment-adapter';
27+
import {CustomDateAdapter} from '../date-field/models/custom-date-adapter';
2428

2529
describe('AbstractDatetimeFieldComponent', () => {
2630
let component: TestDateTimeFieldComponent;
@@ -32,15 +36,17 @@ describe('AbstractDatetimeFieldComponent', () => {
3236
MaterialModule,
3337
AngularResizeEventModule,
3438
NgxMatDatetimePickerModule,
39+
NgxMatMomentModule,
3540
TranslateLibModule,
3641
HttpClientTestingModule,
37-
NoopAnimationsModule
42+
NoopAnimationsModule,
3843
],
3944
providers: [
4045
{provide: AuthenticationMethodService, useClass: MockAuthenticationMethodService},
4146
{provide: AuthenticationService, useClass: MockAuthenticationService},
4247
{provide: UserResourceService, useClass: MockUserResourceService},
43-
{provide: ConfigurationService, useClass: TestConfigurationService}
48+
{provide: ConfigurationService, useClass: TestConfigurationService},
49+
{provide: DateAdapter, useClass: CustomDateAdapter}
4450
],
4551
declarations: [
4652
TestDateTimeFieldComponent,
@@ -72,8 +78,11 @@ describe('AbstractDatetimeFieldComponent', () => {
7278
})
7379
class TestDateTimeFieldComponent extends AbstractDateTimeFieldComponent {
7480
constructor(translate: TranslateService,
81+
_adapter: NgxMatDateAdapter<any>,
82+
@Inject(MAT_DATE_LOCALE) protected _locale: string,
83+
_languageService: LanguageService,
7584
@Optional() @Inject(NAE_INFORM_ABOUT_INVALID_DATA) informAboutInvalidData: boolean | null) {
76-
super(translate, informAboutInvalidData);
85+
super(translate, _adapter, _locale, _languageService, informAboutInvalidData);
7786
}
7887
}
7988

projects/netgrif-components-core/src/lib/data-fields/date-time-field/abstract-date-time-field.component.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import {DateTimeField} from './models/date-time-field';
33
import {AbstractTimeInstanceFieldComponent} from '../time-instance-abstract-field/abstract-time-instance-field.component';
44
import {TranslateService} from '@ngx-translate/core';
55
import {NAE_INFORM_ABOUT_INVALID_DATA} from '../models/invalid-data-policy-token';
6+
import {MAT_DATE_LOCALE} from '@angular/material/core';
7+
import {LanguageService} from '../../translate/language.service';
8+
import {NgxMatDateAdapter} from '@angular-material-components/datetime-picker';
69

710
@Component({
811
selector: 'ncc-abstract-date-time-field',
@@ -13,8 +16,11 @@ export abstract class AbstractDateTimeFieldComponent extends AbstractTimeInstanc
1316
@Input() public dataField: DateTimeField;
1417

1518
protected constructor(protected _translate: TranslateService,
19+
protected _adapter: NgxMatDateAdapter<any>,
20+
@Inject(MAT_DATE_LOCALE) protected _locale: string,
21+
protected _languageService: LanguageService,
1622
@Optional() @Inject(NAE_INFORM_ABOUT_INVALID_DATA) informAboutInvalidData: boolean | null) {
17-
super(_translate, informAboutInvalidData);
23+
super(_translate, _adapter, _locale, _languageService, informAboutInvalidData);
1824
}
1925

2026
getErrorMessage() {

projects/netgrif-components-core/src/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.ts

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,42 @@ import {AbstractDataFieldComponent} from '../models/abstract-data-field-componen
22
import {AbstractTimeInstanceField, AbstractTimeInstanceFieldValidation} from './models/abstract-time-instance-field';
33
import {TranslateService} from '@ngx-translate/core';
44
import moment, {Moment} from 'moment';
5-
import {Component, Inject, Optional} from '@angular/core';
5+
import {Component, Inject, OnDestroy, Optional} from '@angular/core';
66
import {NAE_INFORM_ABOUT_INVALID_DATA} from '../models/invalid-data-policy-token';
7+
import {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';
8+
import {LanguageService} from '../../translate/language.service';
9+
import {Subscription} from 'rxjs';
710

811
@Component({
912
selector: 'ncc-abstract-time-instance-field',
1013
template: ''
1114
})
12-
export abstract class AbstractTimeInstanceFieldComponent extends AbstractDataFieldComponent {
13-
15+
export abstract class AbstractTimeInstanceFieldComponent extends AbstractDataFieldComponent implements OnDestroy {
16+
protected _subLang: Subscription;
1417
protected constructor(protected _translate: TranslateService,
18+
protected _adapter: DateAdapter<any>,
19+
@Inject(MAT_DATE_LOCALE) protected _locale: string,
20+
protected _languageService: LanguageService,
1521
@Optional() @Inject(NAE_INFORM_ABOUT_INVALID_DATA) informAboutInvalidData: boolean | null) {
1622
super(informAboutInvalidData);
23+
if (this._locale !== this._languageService.getLanguage()) {
24+
this.setLangToAdapter(this._languageService.getLanguage());
25+
}
26+
this._subLang = this._languageService.getLangChange$().subscribe(lang => {
27+
if (this._locale !== lang) {
28+
this.setLangToAdapter(lang);
29+
}
30+
});
31+
}
32+
33+
ngOnDestroy() {
34+
super.ngOnDestroy();
35+
this._subLang.unsubscribe();
36+
}
37+
38+
protected setLangToAdapter(lang: string) {
39+
this._locale = lang
40+
this._adapter.setLocale(this._locale);
1741
}
1842

1943
public buildErrorMessage(dataField: AbstractTimeInstanceField) {

projects/netgrif-components-core/src/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,12 @@ export abstract class AbstractTimeInstanceField extends DataField<Moment> {
108108
}
109109

110110
protected validWorkday(fc: FormControl) {
111-
const dayOfWeek = !!fc.value ? fc.value.weekday() : null;
112-
return dayOfWeek === 6 || dayOfWeek === 0 ? {validWorkday: true} : null;
111+
const dayOfWeek = !!fc.value ? fc.value.isoWeekday() : null;
112+
return dayOfWeek === 6 || dayOfWeek === 7 ? {validWorkday: true} : null;
113113
}
114114

115115
protected validWeekend(fc: FormControl) {
116-
const dayOfWeek = !!fc.value ? fc.value.weekday() : null;
117-
return dayOfWeek >= 1 && dayOfWeek <= 5 && dayOfWeek !== 0 ? {validWeekend: true} : null;
116+
const dayOfWeek = !!fc.value ? fc.value.isoWeekday() : null;
117+
return dayOfWeek >= 1 && dayOfWeek <= 5 ? {validWeekend: true} : null;
118118
}
119119
}

projects/netgrif-components-core/src/lib/data-fields/user-field/abstract-user-field.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,7 @@ export abstract class AbstractUserFieldComponent extends AbstractDataFieldCompon
6565
});
6666
}
6767

68+
public deleteUser() {
69+
this.dataField.value = undefined;
70+
}
6871
}

0 commit comments

Comments
 (0)