Skip to content

Commit 2c1c840

Browse files
author
pipeline
committed
v18.4.35 is released
1 parent e3253db commit 2c1c840

File tree

279 files changed

+3557
-1428
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

279 files changed

+3557
-1428
lines changed

controls/buttons/CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## [Unreleased]
44

5-
## 18.4.34 (2021-01-12)
5+
## 18.4.35 (2021-01-19)
66

77
### CheckBox
88

controls/calendars/dist/ej2-calendars.umd.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/ej2-calendars.umd.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/es6/ej2-calendars.es2015.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -675,8 +675,11 @@ let CalendarBase = class CalendarBase extends Component {
675675
let weekEle = this.createElement('td', { className: CELL });
676676
let weekAnchor = this.createElement('span');
677677
if (day % 7 === 0 && this.weekNumber) {
678-
let lastDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + 6));
679-
weekAnchor.textContent = '' + this.getWeek(lastDate);
678+
let numberOfDays;
679+
// 6 days are added to get Last day of the week and 3 days are added to get middle day of the week.
680+
numberOfDays = this.weekRule === 'FirstDay' ? 6 : (this.weekRule === 'FirstFourDayWeek' ? 3 : 0);
681+
let finalDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + numberOfDays));
682+
weekAnchor.textContent = '' + this.getWeek(finalDate);
680683
weekEle.appendChild(weekAnchor);
681684
addClass([weekEle], '' + WEEKNUMBER);
682685
tdEles.push(weekEle);
@@ -1201,6 +1204,7 @@ let CalendarBase = class CalendarBase extends Component {
12011204
case 'depth':
12021205
case 'weekNumber':
12031206
case 'firstDayOfWeek':
1207+
case 'weekRule':
12041208
this.checkView();
12051209
this.createContentHeader();
12061210
this.createContentBody();
@@ -1887,6 +1891,9 @@ __decorate([
18871891
__decorate([
18881892
Property(false)
18891893
], CalendarBase.prototype, "weekNumber", void 0);
1894+
__decorate([
1895+
Property('FirstDay')
1896+
], CalendarBase.prototype, "weekRule", void 0);
18901897
__decorate([
18911898
Property(true)
18921899
], CalendarBase.prototype, "showTodayButton", void 0);

controls/calendars/dist/es6/ej2-calendars.es2015.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/es6/ej2-calendars.es5.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -692,8 +692,11 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
692692
var weekEle = this.createElement('td', { className: CELL });
693693
var weekAnchor = this.createElement('span');
694694
if (day % 7 === 0 && this.weekNumber) {
695-
var lastDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + 6));
696-
weekAnchor.textContent = '' + this.getWeek(lastDate);
695+
var numberOfDays = void 0;
696+
// 6 days are added to get Last day of the week and 3 days are added to get middle day of the week.
697+
numberOfDays = this.weekRule === 'FirstDay' ? 6 : (this.weekRule === 'FirstFourDayWeek' ? 3 : 0);
698+
var finalDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + numberOfDays));
699+
weekAnchor.textContent = '' + this.getWeek(finalDate);
697700
weekEle.appendChild(weekAnchor);
698701
addClass([weekEle], '' + WEEKNUMBER);
699702
tdEles.push(weekEle);
@@ -1219,6 +1222,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
12191222
case 'depth':
12201223
case 'weekNumber':
12211224
case 'firstDayOfWeek':
1225+
case 'weekRule':
12221226
this.checkView();
12231227
this.createContentHeader();
12241228
this.createContentBody();
@@ -1904,6 +1908,9 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
19041908
__decorate([
19051909
Property(false)
19061910
], CalendarBase.prototype, "weekNumber", void 0);
1911+
__decorate([
1912+
Property('FirstDay')
1913+
], CalendarBase.prototype, "weekRule", void 0);
19071914
__decorate([
19081915
Property(true)
19091916
], CalendarBase.prototype, "showTodayButton", void 0);

controls/calendars/dist/es6/ej2-calendars.es5.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/global/blazor/calendar.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -690,8 +690,11 @@ var CalendarBase = /** @class */ (function (_super) {
690690
var weekEle = this.createElement('td', { className: CELL });
691691
var weekAnchor = this.createElement('span');
692692
if (day % 7 === 0 && this.weekNumber) {
693-
var lastDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + 6));
694-
weekAnchor.textContent = '' + this.getWeek(lastDate);
693+
var numberOfDays = void 0;
694+
// 6 days are added to get Last day of the week and 3 days are added to get middle day of the week.
695+
numberOfDays = this.weekRule === 'FirstDay' ? 6 : (this.weekRule === 'FirstFourDayWeek' ? 3 : 0);
696+
var finalDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + numberOfDays));
697+
weekAnchor.textContent = '' + this.getWeek(finalDate);
695698
weekEle.appendChild(weekAnchor);
696699
sf.base.addClass([weekEle], '' + WEEKNUMBER);
697700
tdEles.push(weekEle);
@@ -1217,6 +1220,7 @@ var CalendarBase = /** @class */ (function (_super) {
12171220
case 'depth':
12181221
case 'weekNumber':
12191222
case 'firstDayOfWeek':
1223+
case 'weekRule':
12201224
this.checkView();
12211225
this.createContentHeader();
12221226
this.createContentBody();
@@ -1902,6 +1906,9 @@ var CalendarBase = /** @class */ (function (_super) {
19021906
__decorate([
19031907
sf.base.Property(false)
19041908
], CalendarBase.prototype, "weekNumber", void 0);
1909+
__decorate([
1910+
sf.base.Property('FirstDay')
1911+
], CalendarBase.prototype, "weekRule", void 0);
19051912
__decorate([
19061913
sf.base.Property(true)
19071914
], CalendarBase.prototype, "showTodayButton", void 0);

controls/calendars/dist/global/ej2-calendars.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/global/ej2-calendars.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-calendars",
3-
"version": "18.4.31",
3+
"version": "18.4.34",
44
"description": "A complete package of date or time components with built-in features such as date formatting, inline editing, multiple (range) selection, range restriction, month and year selection, strict mode, and globalization.",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

controls/calendars/spec/calendar/calendar.spec.ts

+217
Original file line numberDiff line numberDiff line change
@@ -4586,4 +4586,221 @@ describe(' Islamic Calendar', () => {
45864586
expect(calendar.changedArgs.event).not.toBe(null);
45874587
});
45884588
});
4589+
describe('EJ2-45081 : Need to provide support for handling the week number based on the year starts', () => {
4590+
let cal : any;
4591+
beforeEach(()=>{
4592+
let ele : HTMLElement = createElement('div', { id : 'calendar'});
4593+
document.body.appendChild(ele);
4594+
});
4595+
afterEach(() => {
4596+
if (cal) {
4597+
cal.destroy();
4598+
}
4599+
document.body.innerHTML = '';
4600+
});
4601+
it(' weekRule as FirstDay ', () => {
4602+
cal = new Calendar({
4603+
weekNumber: true,
4604+
weekRule : 'FirstDay',
4605+
value: new Date('1/1/2021'),
4606+
});
4607+
cal.appendTo('#calendar');
4608+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4609+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4610+
cal.value = new Date('12/31/2020');
4611+
cal.dataBind();
4612+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 52);
4613+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 1);
4614+
cal.value = new Date('1/1/2021');
4615+
cal.firstDayOfWeek = 1;
4616+
cal.dataBind();
4617+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4618+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4619+
cal.value = new Date('12/31/2020');
4620+
cal.dataBind();
4621+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 52);
4622+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 1);
4623+
cal.value = new Date('1/1/2021');
4624+
cal.firstDayOfWeek = 2;
4625+
cal.dataBind();
4626+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4627+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4628+
cal.value = new Date('12/31/2020');
4629+
cal.dataBind();
4630+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4631+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 1);
4632+
cal.value = new Date('1/1/2021');
4633+
cal.firstDayOfWeek = 3;
4634+
cal.dataBind();
4635+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4636+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4637+
cal.value = new Date('12/31/2020');
4638+
cal.dataBind();
4639+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4640+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 1);
4641+
cal.value = new Date('1/1/2021');
4642+
cal.firstDayOfWeek = 4;
4643+
cal.dataBind();
4644+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4645+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4646+
cal.value = new Date('12/31/2020');
4647+
cal.dataBind();
4648+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 53);
4649+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 1);
4650+
cal.value = new Date('1/1/2021');
4651+
cal.firstDayOfWeek = 5;
4652+
cal.dataBind();
4653+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4654+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[2].textContent).toBe('' + 2);
4655+
cal.value = new Date('12/31/2020');
4656+
cal.dataBind();
4657+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 52);
4658+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 53);
4659+
cal.value = new Date('1/1/2021');
4660+
cal.firstDayOfWeek = 6;
4661+
cal.dataBind();
4662+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4663+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4664+
cal.value = new Date('12/31/2020');
4665+
cal.dataBind();
4666+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 52);
4667+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 1);
4668+
});
4669+
it(' weekRule as FirstFullWeek ', () => {
4670+
cal = new Calendar({
4671+
weekNumber: true,
4672+
weekRule : 'FirstFullWeek',
4673+
value: new Date('1/1/2021'),
4674+
});
4675+
cal.appendTo('#calendar');
4676+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 52);
4677+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4678+
cal.value = new Date('12/31/2020');
4679+
cal.dataBind();
4680+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 51);
4681+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4682+
cal.value = new Date('1/1/2021');
4683+
cal.firstDayOfWeek = 1;
4684+
cal.dataBind();
4685+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 52);
4686+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4687+
cal.value = new Date('12/31/2020');
4688+
cal.dataBind();
4689+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 51);
4690+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4691+
cal.value = new Date('1/1/2021');
4692+
cal.firstDayOfWeek = 2;
4693+
cal.dataBind();
4694+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 52);
4695+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4696+
cal.value = new Date('12/31/2020');
4697+
cal.dataBind();
4698+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 51);
4699+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 52);
4700+
cal.value = new Date('1/1/2021');
4701+
cal.firstDayOfWeek = 3;
4702+
cal.dataBind();
4703+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 53);
4704+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4705+
cal.value = new Date('12/31/2020');
4706+
cal.dataBind();
4707+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4708+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 53);
4709+
cal.value = new Date('1/1/2021');
4710+
cal.firstDayOfWeek = 4;
4711+
cal.dataBind();
4712+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 53);
4713+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4714+
cal.value = new Date('12/31/2020');
4715+
cal.dataBind();
4716+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4717+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 53);
4718+
cal.value = new Date('1/1/2021');
4719+
cal.firstDayOfWeek = 5;
4720+
cal.dataBind();
4721+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4722+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[2].textContent).toBe('' + 2);
4723+
cal.value = new Date('12/31/2020');
4724+
cal.dataBind();
4725+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 51);
4726+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4727+
cal.value = new Date('1/1/2021');
4728+
cal.firstDayOfWeek = 6;
4729+
cal.dataBind();
4730+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 52);
4731+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4732+
cal.value = new Date('12/31/2020');
4733+
cal.dataBind();
4734+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 51);
4735+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4736+
});
4737+
it(' weekRule as FirstFourDayWeek ', () => {
4738+
cal = new Calendar({
4739+
weekNumber: true,
4740+
weekRule : 'FirstFourDayWeek',
4741+
value: new Date('1/1/2021'),
4742+
});
4743+
cal.appendTo('#calendar');
4744+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 53);
4745+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4746+
cal.value = new Date('12/31/2020');
4747+
cal.dataBind();
4748+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 52);
4749+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 53);
4750+
cal.value = new Date('1/1/2021');
4751+
cal.firstDayOfWeek = 1;
4752+
cal.dataBind();
4753+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 53);
4754+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4755+
cal.value = new Date('12/31/2020');
4756+
cal.dataBind();
4757+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 52);
4758+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 53);
4759+
cal.value = new Date('1/1/2021');
4760+
cal.firstDayOfWeek = 2;
4761+
cal.dataBind();
4762+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4763+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4764+
cal.value = new Date('12/31/2020');
4765+
cal.dataBind();
4766+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4767+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 1);
4768+
cal.value = new Date('1/1/2021');
4769+
cal.firstDayOfWeek = 3;
4770+
cal.dataBind();
4771+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4772+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4773+
cal.value = new Date('12/31/2020');
4774+
cal.dataBind();
4775+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4776+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 1);
4777+
cal.value = new Date('1/1/2021');
4778+
cal.firstDayOfWeek = 4;
4779+
cal.dataBind();
4780+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 1);
4781+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 2);
4782+
cal.value = new Date('12/31/2020');
4783+
cal.dataBind();
4784+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4785+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[5].textContent).toBe('' + 1);
4786+
cal.value = new Date('1/1/2021');
4787+
cal.firstDayOfWeek = 5;
4788+
cal.dataBind();
4789+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4790+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[2].textContent).toBe('' + 2);
4791+
cal.value = new Date('12/31/2020');
4792+
cal.dataBind();
4793+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 51);
4794+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4795+
cal.value = new Date('1/1/2021');
4796+
cal.firstDayOfWeek = 6;
4797+
cal.dataBind();
4798+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[0].textContent).toBe('' + 52);
4799+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[1].textContent).toBe('' + 1);
4800+
cal.value = new Date('12/31/2020');
4801+
cal.dataBind();
4802+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[3].textContent).toBe('' + 51);
4803+
expect(cal.tableBodyElement.querySelectorAll('tr .e-week-number')[4].textContent).toBe('' + 52);
4804+
});
4805+
});
45894806
});

0 commit comments

Comments
 (0)