sf-i-events 1.0.735 → 1.0.738

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sf-i-events",
3
3
  "private": false,
4
- "version": "1.0.735",
4
+ "version": "1.0.738",
5
5
  "description": "Superflows Navigation Component",
6
6
  "main": "sf-i-events.js",
7
7
  "module": "sf-i-events.js",
package/sf-i-events.js CHANGED
@@ -3528,9 +3528,9 @@ let SfIEvents = class SfIEvents extends LitElement {
3528
3528
  //console.log('rangeperiod', period)
3529
3529
  var html = this.renderEvents(firstDay, endDay, 1, lastDay, true, 0, (firstDate.getMonth()), period, firstDate, "From " + firstDay.toLocaleDateString('en-IN') + " To " + endDay.toLocaleDateString('en-IN'));
3530
3530
  eventsContainer.querySelector('.calendar-right-data').innerHTML = html;
3531
- let innerhtml = eventsContainer.innerHTML;
3532
- innerhtml += this.renderSelectAllButtons();
3533
- eventsContainer.innerHTML = innerhtml;
3531
+ if (eventsContainer.innerHTML.indexOf('button-select-all') < 0) {
3532
+ eventsContainer.insertAdjacentHTML('beforeend', this.renderSelectAllButtons());
3533
+ }
3534
3534
  this.renderButtonRefresh(eventsContainer);
3535
3535
  this.attachTimelineFilterHandlers(eventsContainer);
3536
3536
  const radioExpander = eventsContainer.querySelector('#graph-radios-expander');
@@ -3573,80 +3573,82 @@ let SfIEvents = class SfIEvents extends LitElement {
3573
3573
  }
3574
3574
  const streamEventsContainer = eventsContainer.querySelectorAll('.stream-events-container');
3575
3575
  const buttonSelect = eventsContainer.querySelectorAll('.button-select');
3576
- let selectAllArr = this.attachSelectAllListeners(eventsContainer, buttonSelect);
3577
- const buttonSelectAll = selectAllArr[0];
3578
- const buttonUnselectAll = selectAllArr[1];
3579
- for (i = 0; i < buttonSelect.length; i++) {
3580
- buttonSelect[i].addEventListener('click', (ev) => {
3581
- //console.log('eventscontainer', streamEventsContainer.length, buttonSelect.length);
3582
- const id = ev.target.id;
3583
- const idArr = id.split("-");
3584
- const mmdd = idArr[2] + "/" + idArr[3];
3585
- const j = idArr[4];
3586
- // const makercheckers = idArr[5];
3587
- const docs = idArr[6];
3588
- if (ev.target.checked) {
3589
- this.selectedItemIds.push(id);
3590
- }
3591
- else {
3592
- this.selectedItemIds.splice(this.selectedItemIds.indexOf(id), 1);
3593
- let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-' + mmdd.replace(/\//g, '-') + '-' + j);
3594
- listReportingContainer.style.display = 'none';
3595
- listReportingContainer.innerHTML = '';
3596
- let buttonListReporting = eventsContainer.querySelector('#button-list-reporting-' + mmdd.replace(/\//g, '-') + '-' + j);
3597
- buttonListReporting.setAttribute('part', 'button-list-reporting');
3598
- let streamEventTitle = eventsContainer.querySelector('#stream-event-title-' + mmdd.replace(/\//g, '-') + '-' + j);
3599
- streamEventTitle.removeAttribute('part');
3600
- }
3601
- if (this.selectedItemIds.length === 0) {
3602
- for (var k = 0; k < buttonSelect.length; k++) {
3603
- buttonSelect[k].style.display = 'block';
3604
- streamEventsContainer[k].style.display = 'block';
3576
+ if (eventsContainer.innerHTML.indexOf('button-select-all') >= 0) {
3577
+ let selectAllArr = this.attachSelectAllListeners(eventsContainer, buttonSelect);
3578
+ const buttonSelectAll = selectAllArr[0];
3579
+ const buttonUnselectAll = selectAllArr[1];
3580
+ for (i = 0; i < buttonSelect.length; i++) {
3581
+ buttonSelect[i].addEventListener('click', (ev) => {
3582
+ //console.log('eventscontainer', streamEventsContainer.length, buttonSelect.length);
3583
+ const id = ev.target.id;
3584
+ const idArr = id.split("-");
3585
+ const mmdd = idArr[2] + "/" + idArr[3];
3586
+ const j = idArr[4];
3587
+ // const makercheckers = idArr[5];
3588
+ const docs = idArr[6];
3589
+ if (ev.target.checked) {
3590
+ this.selectedItemIds.push(id);
3605
3591
  }
3606
- let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label');
3607
- for (let bulkUploadLable of bulkUploadLables) {
3608
- bulkUploadLable.innerHTML = '';
3609
- }
3610
- buttonSelectAll.style.display = 'none';
3611
- buttonUnselectAll.style.display = 'none';
3612
- }
3613
- else {
3614
- if (this.selectedItemIds.length === 1) {
3615
- const id1 = id;
3616
- const idArr1 = id1.split("-");
3617
- const status = idArr1[13].replace(/_/g, '-');
3618
- this.selectedStatus = status;
3592
+ else {
3593
+ this.selectedItemIds.splice(this.selectedItemIds.indexOf(id), 1);
3594
+ let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-' + mmdd.replace(/\//g, '-') + '-' + j);
3595
+ listReportingContainer.style.display = 'none';
3596
+ listReportingContainer.innerHTML = '';
3597
+ let buttonListReporting = eventsContainer.querySelector('#button-list-reporting-' + mmdd.replace(/\//g, '-') + '-' + j);
3598
+ buttonListReporting.setAttribute('part', 'button-list-reporting');
3599
+ let streamEventTitle = eventsContainer.querySelector('#stream-event-title-' + mmdd.replace(/\//g, '-') + '-' + j);
3600
+ streamEventTitle.removeAttribute('part');
3619
3601
  }
3620
- let totalVisibleCount = 0;
3621
- for (var k = 0; k < buttonSelect.length; k++) {
3622
- const id1 = buttonSelect[k].id;
3623
- const idArr1 = id1.split("-");
3624
- const docs1 = idArr1[6];
3625
- const status = idArr1[13].replace(/_/g, '-');
3626
- if (docs == docs1 && status == this.selectedStatus) {
3627
- totalVisibleCount++;
3602
+ if (this.selectedItemIds.length === 0) {
3603
+ for (var k = 0; k < buttonSelect.length; k++) {
3604
+ buttonSelect[k].style.display = 'block';
3605
+ streamEventsContainer[k].style.display = 'block';
3628
3606
  }
3629
- else {
3630
- buttonSelect[k].style.display = 'none';
3631
- streamEventsContainer[k].style.display = 'none';
3607
+ let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label');
3608
+ for (let bulkUploadLable of bulkUploadLables) {
3609
+ bulkUploadLable.innerHTML = '';
3632
3610
  }
3633
- }
3634
- let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label');
3635
- for (let bulkUploadLable of bulkUploadLables) {
3636
- bulkUploadLable.innerHTML = `${this.selectedItemIds.length - 1} other ` + ((this.selectedItemIds.length - 1) === 1 ? `item` : `items`) + ` also selected`;
3637
- }
3638
- if (this.selectedItemIds.length >= parseInt(this.selectallblock) || this.selectedItemIds.length >= totalVisibleCount) {
3639
3611
  buttonSelectAll.style.display = 'none';
3640
- buttonUnselectAll.style.display = 'flex';
3612
+ buttonUnselectAll.style.display = 'none';
3641
3613
  }
3642
3614
  else {
3643
- buttonSelectAll.style.display = 'flex';
3644
- buttonUnselectAll.style.display = 'none';
3615
+ if (this.selectedItemIds.length === 1) {
3616
+ const id1 = id;
3617
+ const idArr1 = id1.split("-");
3618
+ const status = idArr1[13].replace(/_/g, '-');
3619
+ this.selectedStatus = status;
3620
+ }
3621
+ let totalVisibleCount = 0;
3622
+ for (var k = 0; k < buttonSelect.length; k++) {
3623
+ const id1 = buttonSelect[k].id;
3624
+ const idArr1 = id1.split("-");
3625
+ const docs1 = idArr1[6];
3626
+ const status = idArr1[13].replace(/_/g, '-');
3627
+ if (docs == docs1 && status == this.selectedStatus) {
3628
+ totalVisibleCount++;
3629
+ }
3630
+ else {
3631
+ buttonSelect[k].style.display = 'none';
3632
+ streamEventsContainer[k].style.display = 'none';
3633
+ }
3634
+ }
3635
+ let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label');
3636
+ for (let bulkUploadLable of bulkUploadLables) {
3637
+ bulkUploadLable.innerHTML = `${this.selectedItemIds.length - 1} other ` + ((this.selectedItemIds.length - 1) === 1 ? `item` : `items`) + ` also selected`;
3638
+ }
3639
+ if (this.selectedItemIds.length >= parseInt(this.selectallblock) || this.selectedItemIds.length >= totalVisibleCount) {
3640
+ buttonSelectAll.style.display = 'none';
3641
+ buttonUnselectAll.style.display = 'flex';
3642
+ }
3643
+ else {
3644
+ buttonSelectAll.style.display = 'flex';
3645
+ buttonUnselectAll.style.display = 'none';
3646
+ }
3645
3647
  }
3646
- }
3647
- // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
3648
- // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + ((new Date()).getFullYear() + ""));
3649
- });
3648
+ // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
3649
+ // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + ((new Date()).getFullYear() + ""));
3650
+ });
3651
+ }
3650
3652
  }
3651
3653
  // this.clearGraphData();
3652
3654
  // //console.log('rendering range', firstDate, count);
@@ -4096,13 +4098,19 @@ let SfIEvents = class SfIEvents extends LitElement {
4096
4098
  this.renderStatisticsFilters = (eventsContainer) => {
4097
4099
  let selectFilterCriteria = eventsContainer.querySelector('#select-filter-criteria');
4098
4100
  let inputLabelFilter = eventsContainer.querySelector('#input-label-filter');
4101
+ let selectFilterCriteriaMobile = eventsContainer.querySelector('#select-filter-criteria-mobile');
4102
+ let inputLabelFilterMobile = eventsContainer.querySelector('#input-label-filter-mobile');
4099
4103
  selectFilterCriteria.style.display = 'block';
4100
4104
  inputLabelFilter.style.display = 'block';
4105
+ selectFilterCriteriaMobile.style.display = 'block';
4106
+ inputLabelFilterMobile.style.display = 'block';
4101
4107
  selectFilterCriteria.innerHTML = "";
4108
+ selectFilterCriteriaMobile.innerHTML = "";
4102
4109
  let option = new Option();
4103
4110
  option.value = "";
4104
4111
  option.innerHTML = "all";
4105
4112
  selectFilterCriteria.add(option);
4113
+ selectFilterCriteriaMobile.add(option);
4106
4114
  for (let criteria of Object.keys(this.statisticsMeta)) {
4107
4115
  let option = new Option();
4108
4116
  option.value = criteria;
@@ -4113,6 +4121,7 @@ let SfIEvents = class SfIEvents extends LitElement {
4113
4121
  option.innerHTML = criteria;
4114
4122
  }
4115
4123
  selectFilterCriteria.add(option);
4124
+ selectFilterCriteriaMobile.add(option);
4116
4125
  }
4117
4126
  let selectFilterCriteriaNew = Util.clearListeners(selectFilterCriteria);
4118
4127
  selectFilterCriteriaNew.addEventListener('change', (ev) => {
@@ -4150,10 +4159,50 @@ let SfIEvents = class SfIEvents extends LitElement {
4150
4159
  inputLabelCriteria.style.display = 'none';
4151
4160
  }
4152
4161
  });
4162
+ let selectFilterCriteriaMobileNew = Util.clearListeners(selectFilterCriteriaMobile);
4163
+ selectFilterCriteriaMobileNew.addEventListener('change', (ev) => {
4164
+ let target = ev.target;
4165
+ let inputLabelCriteriaMobile = eventsContainer.querySelector('#input-label-criteria-mobile');
4166
+ let selectFilterValuesMobile = eventsContainer.querySelector('#select-filter-values-mobile');
4167
+ if (target.value == "") {
4168
+ selectFilterValuesMobile.value = "";
4169
+ this.processDateSelectionViewer(eventsContainer);
4170
+ }
4171
+ selectFilterValuesMobile.innerHTML = "";
4172
+ let option = new Option();
4173
+ option.value = "";
4174
+ option.innerHTML = "All";
4175
+ selectFilterValuesMobile.add(option);
4176
+ if (this.statisticsMeta[target.value] != null) {
4177
+ let sortedFilters = Util.alphabeticalSort(this.statisticsMeta[target.value]);
4178
+ selectFilterValuesMobile.style.display = 'block';
4179
+ inputLabelCriteriaMobile.style.display = 'block';
4180
+ inputLabelCriteriaMobile.innerHTML = target.value;
4181
+ for (let filter of sortedFilters) {
4182
+ let option = new Option();
4183
+ option.value = filter.split(';')[1];
4184
+ option.innerHTML = filter.split(';')[0].replace(/\([^)]*\)/g, "");
4185
+ selectFilterValuesMobile.add(option);
4186
+ }
4187
+ let selectFilterValuesMobileNew = Util.clearListeners(selectFilterValuesMobile);
4188
+ selectFilterValuesMobileNew.addEventListener('change', () => {
4189
+ console.log('changed');
4190
+ this.processDateSelectionViewer(eventsContainer);
4191
+ });
4192
+ }
4193
+ else {
4194
+ selectFilterValuesMobile.style.display = 'none';
4195
+ inputLabelCriteriaMobile.style.display = 'none';
4196
+ }
4197
+ });
4153
4198
  let selectFilterValues = eventsContainer.querySelector('#select-filter-values');
4154
4199
  let inputLabelCriteria = eventsContainer.querySelector('#input-label-criteria');
4200
+ let selectFilterValuesMobile = eventsContainer.querySelector('#select-filter-values-mobile');
4201
+ let inputLabelCriteriaMobile = eventsContainer.querySelector('#input-label-criteria-mobile');
4155
4202
  selectFilterValues.style.display = 'none';
4156
4203
  inputLabelCriteria.style.display = 'none';
4204
+ selectFilterValuesMobile.style.display = 'none';
4205
+ inputLabelCriteriaMobile.style.display = 'none';
4157
4206
  };
4158
4207
  this.renderSelectAllButtons = () => {
4159
4208
  let selectAllHtml = '<div class="d-flex justify-end w-100" style="position: fixed; bottom: 70px; left: 0px;" part="button-select-all-container">';
@@ -4471,9 +4520,6 @@ let SfIEvents = class SfIEvents extends LitElement {
4471
4520
  const tsEnd = new Date(valueEnd);
4472
4521
  tsStart.setDate(tsStart.getDate() - 2);
4473
4522
  tsEnd.setDate(tsEnd.getDate() + 2);
4474
- //console.log('tsstart', tsStart);
4475
- //console.log('tsend', tsEnd);
4476
- // await this.fetchUserCalendar_2(tsStart.getMonth() + "/" + tsStart.getDate() + "/" + tsStart.getFullYear(), valueEnd.split('-')[1] + "/" + valueEnd.split('-')[2] + "/" + valueEnd.split('-')[0]);
4477
4523
  await this.fetchAndYearlyRenderUserCalendar_2((tsStart.getMonth() + 1) + "/" + tsStart.getDate() + "/" + tsStart.getFullYear(), (tsEnd.getMonth() + 1) + "/" + tsEnd.getDate() + "/" + tsEnd.getFullYear());
4478
4524
  this.renderRangeEvents(new Date(valueStart), ((new Date(valueEnd).getTime() + 24 * 60 * 60 * 1000) - new Date(valueStart).getTime()) / (1000 * 60 * 60 * 24), this._SfCustomContainer);
4479
4525
  }
@@ -6220,56 +6266,56 @@ let SfIEvents = class SfIEvents extends LitElement {
6220
6266
  html += '<div class="scroll-x w-100 mobile-only">';
6221
6267
  html += '<div class="title-item-date">';
6222
6268
  html += '<label part="input-label">Start Date</label><br />';
6223
- html += '<input id="stream-start-date-mobile" part="input" type="date" />';
6269
+ html += '<input id="stream-start-date-mobile" part="date-range-preselected" type="date" />';
6224
6270
  html += '</div>';
6225
6271
  html += '<div class="title-item-date">';
6226
6272
  html += '<label part="input-label">End Date</label><br />';
6227
- html += '<input id="stream-end-date-mobile" part="input" type="date" />';
6273
+ html += '<input id="stream-end-date-mobile" part="date-range-preselected" type="date" />';
6228
6274
  html += '</div>';
6229
6275
  html += '<div class="title-item-date">';
6230
- html += '<button id="button-year-to-date-mobile" part="button-lg-short-secondary">Year To Date</button>';
6276
+ html += '<button id="button-year-to-date-mobile" part="button-range-preselected">Year To Date</button>';
6231
6277
  html += '</div>';
6232
6278
  html += '<div class="title-item-date">';
6233
- html += '<button id="button-this-quarter-mobile" part="button-lg-short-secondary">This Quarter</button>';
6279
+ html += '<button id="button-this-quarter-mobile" part="button-range-preselected">This Quarter</button>';
6234
6280
  html += '</div>';
6235
6281
  html += '<div class="title-item-date">';
6236
- html += '<button id="button-this-year-mobile" part="button-lg-short-secondary">This Year</button>';
6282
+ html += '<button id="button-this-year-mobile" part="button-range-preselected">This Year</button>';
6237
6283
  html += '</div>';
6238
6284
  html += '<div class="title-item-date">';
6239
- html += '<label part="input-label-filter-criteria" id="input-label-filter-mobile">Filter Criteria</label><br />';
6240
- html += '<select id="select-filter-criteria-mobile" class="mr-10"></select>';
6285
+ html += '<label part="input-label-filter-criteria" id="input-label-filter-mobile">Filter Criteria</label>';
6286
+ html += '<select id="select-filter-criteria-mobile"></select>';
6241
6287
  html += '</div>';
6242
6288
  html += '<div class="title-item-date">';
6243
- html += '<label part="input-label-filter-value" id="input-label-criteria-mobile"></label><br />';
6244
- html += '<select id="select-filter-values-mobile" class="mr-10"></select>';
6289
+ html += '<label part="input-label-filter-value" id="input-label-criteria-mobile"></label>';
6290
+ html += '<select id="select-filter-values-mobile"></select>';
6245
6291
  html += '</div>';
6246
6292
  html += '</div>';
6247
6293
  html += '<div class="d-flex w-100">';
6248
6294
  html += '<div class="calendar-left-col desktop-only flex-col justify-start align-end">';
6249
6295
  html += '<div class="title-item-date d-flex flex-col align-end">';
6250
6296
  html += '<label part="input-label">Start Date</label>';
6251
- html += '<input id="stream-start-date" part="input" type="date" />';
6297
+ html += '<input id="stream-start-date" part="date-range-preselected" type="date" />';
6252
6298
  html += '</div>';
6253
6299
  html += '<div class="title-item-date d-flex flex-col align-end">';
6254
6300
  html += '<label part="input-label">End Date</label>';
6255
- html += '<input id="stream-end-date" part="input" type="date" />';
6301
+ html += '<input id="stream-end-date" part="date-range-preselected" type="date" />';
6256
6302
  html += '</div>';
6257
6303
  html += '<div class="title-item-date">';
6258
- html += '<button id="button-year-to-date" part="button-lg-short-secondary">Year To Date</button>';
6304
+ html += '<button id="button-year-to-date" part="button-range-preselected">Year To Date</button>';
6259
6305
  html += '</div>';
6260
6306
  html += '<div class="title-item-date">';
6261
- html += '<button id="button-this-quarter" part="button-lg-short-secondary">This Quarter</button>';
6307
+ html += '<button id="button-this-quarter" part="button-range-preselected">This Quarter</button>';
6262
6308
  html += '</div>';
6263
6309
  html += '<div class="title-item-date">';
6264
- html += '<button id="button-this-year" part="button-lg-short-secondary">This Year</button>';
6310
+ html += '<button id="button-this-year" part="button-range-preselected">This Year</button>';
6265
6311
  html += '</div>';
6266
6312
  html += '<div class="title-item-date d-flex flex-col align-end">';
6267
- html += '<label part="input-label-filter-criteria" id="input-label-filter" class="mr-10">Filter Criteria</label>';
6268
- html += '<select id="select-filter-criteria" class="mr-10"></select>';
6313
+ html += '<label part="input-label-filter-criteria" id="input-label-filter">Filter Criteria</label>';
6314
+ html += '<select part="input-select-calendar-filter" id="select-filter-criteria"></select>';
6269
6315
  html += '</div>';
6270
6316
  html += '<div class="title-item-date d-flex flex-col align-end">';
6271
- html += '<label part="input-label-filter-value" id="input-label-criteria" class="mr-10"></label>';
6272
- html += '<select id="select-filter-values" class="mr-10"></select>';
6317
+ html += '<label part="input-label-filter-value" id="input-label-criteria"></label>';
6318
+ html += '<select part="input-select-calendar-filter" id="select-filter-values"></select>';
6273
6319
  html += '</div>';
6274
6320
  html += '</div>';
6275
6321
  html += '<div class="calendar-right-data flex-grow">';
@@ -6384,13 +6430,12 @@ let SfIEvents = class SfIEvents extends LitElement {
6384
6430
  selectFilterValues.style.display = 'none';
6385
6431
  let inputLabelFilter = this._SfCustomContainer.querySelector('#input-label-filter');
6386
6432
  inputLabelFilter.style.display = 'none';
6387
- // for(var i = 0; i < 3; i++) {
6388
- // (this._SfCustomContainer as HTMLDivElement).querySelector('#stream-month-' + i)?.addEventListener('click', (ev: any)=> {
6389
- // const target = parseInt((ev.target as HTMLDivElement).id.split('-')[2]);
6390
- // //console.log('clicked ', target);
6391
- // this.renderPast(target);
6392
- // })
6393
- // }
6433
+ let selectFilterCriteriaMobile = this._SfCustomContainer.querySelector('#select-filter-criteria-mobile');
6434
+ selectFilterCriteriaMobile.style.display = 'none';
6435
+ let selectFilterValuesMobile = this._SfCustomContainer.querySelector('#select-filter-values-mobile');
6436
+ selectFilterValuesMobile.style.display = 'none';
6437
+ let inputLabelFilterMobile = this._SfCustomContainer.querySelector('#input-label-filter-mobile');
6438
+ inputLabelFilterMobile.style.display = 'none';
6394
6439
  this._SfCustomContainer.querySelector('#button-year-to-date').click();
6395
6440
  };
6396
6441
  this.renderThis = (index = 1, showGraph = true) => {
@@ -16432,10 +16477,12 @@ let SfIEvents = class SfIEvents extends LitElement {
16432
16477
  let eventid = sortidArr[3];
16433
16478
  let mmdd = mmddyyyy.split('/')[0] + '/' + mmddyyyy.split('/')[1];
16434
16479
  console.log('mmdd', mmdd, Object.keys(this.events));
16435
- for (let i = 0; i < this.events[mmdd].length; i++) {
16436
- if (this.events[mmdd][i].entityid == entityid && this.events[mmdd][i].locationid == locationid && this.events[mmdd][i].id == eventid) {
16437
- this.events[mmdd][i].isbulk = true;
16438
- break;
16480
+ if (this.events[mmdd] != null) {
16481
+ for (let i = 0; i < this.events[mmdd].length; i++) {
16482
+ if (this.events[mmdd][i].entityid == entityid && this.events[mmdd][i].locationid == locationid && this.events[mmdd][i].id == eventid) {
16483
+ this.events[mmdd][i].isbulk = true;
16484
+ break;
16485
+ }
16439
16486
  }
16440
16487
  }
16441
16488
  }
@@ -5881,10 +5881,9 @@ export class SfIEvents extends LitElement {
5881
5881
  var html = this.renderEvents(firstDay, endDay, 1, lastDay, true, 0, (firstDate.getMonth()), period, firstDate,"From " + firstDay.toLocaleDateString('en-IN') + " To " + endDay.toLocaleDateString('en-IN'));
5882
5882
 
5883
5883
  eventsContainer.querySelector('.calendar-right-data')!.innerHTML = html;
5884
-
5885
- let innerhtml = eventsContainer.innerHTML;
5886
- innerhtml += this.renderSelectAllButtons();
5887
- eventsContainer.innerHTML = innerhtml
5884
+ if(eventsContainer.innerHTML.indexOf('button-select-all') < 0){
5885
+ eventsContainer.insertAdjacentHTML( 'beforeend', this.renderSelectAllButtons());
5886
+ }
5888
5887
  this.renderButtonRefresh(eventsContainer);
5889
5888
  this.attachTimelineFilterHandlers(eventsContainer);
5890
5889
 
@@ -5942,102 +5941,104 @@ export class SfIEvents extends LitElement {
5942
5941
 
5943
5942
  const streamEventsContainer = eventsContainer.querySelectorAll('.stream-events-container') as NodeListOf<HTMLDivElement>;
5944
5943
  const buttonSelect = eventsContainer.querySelectorAll('.button-select') as NodeListOf<HTMLButtonElement>;
5945
- let selectAllArr = this.attachSelectAllListeners(eventsContainer,buttonSelect)
5946
- const buttonSelectAll = selectAllArr[0]
5947
- const buttonUnselectAll = selectAllArr[1]
5948
- for(i = 0; i < buttonSelect.length; i++) {
5944
+ if(eventsContainer.innerHTML.indexOf('button-select-all') >= 0){
5945
+ let selectAllArr = this.attachSelectAllListeners(eventsContainer,buttonSelect)
5946
+ const buttonSelectAll = selectAllArr[0]
5947
+ const buttonUnselectAll = selectAllArr[1]
5948
+ for(i = 0; i < buttonSelect.length; i++) {
5949
5949
 
5950
- buttonSelect[i].addEventListener('click', (ev: any) => {
5950
+ buttonSelect[i].addEventListener('click', (ev: any) => {
5951
5951
 
5952
- //console.log('eventscontainer', streamEventsContainer.length, buttonSelect.length);
5952
+ //console.log('eventscontainer', streamEventsContainer.length, buttonSelect.length);
5953
5953
 
5954
- const id = ev.target.id;
5955
- const idArr = id.split("-")
5956
- const mmdd = idArr[2] + "/" + idArr[3];
5957
- const j = idArr[4];
5958
- // const makercheckers = idArr[5];
5959
- const docs = idArr[6];
5954
+ const id = ev.target.id;
5955
+ const idArr = id.split("-")
5956
+ const mmdd = idArr[2] + "/" + idArr[3];
5957
+ const j = idArr[4];
5958
+ // const makercheckers = idArr[5];
5959
+ const docs = idArr[6];
5960
5960
 
5961
- if((ev.target as HTMLInputElement).checked) {
5962
- this.selectedItemIds.push(id);
5963
- } else {
5964
- this.selectedItemIds.splice(this.selectedItemIds.indexOf(id), 1);
5965
- let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-' + mmdd.replace(/\//g,'-') + '-' + j) as HTMLDivElement
5966
- listReportingContainer.style.display = 'none';
5967
- listReportingContainer.innerHTML = '';
5968
- let buttonListReporting = eventsContainer.querySelector('#button-list-reporting-' + mmdd.replace(/\//g,'-') + '-' + j) as HTMLButtonElement
5969
- buttonListReporting.setAttribute('part','button-list-reporting')
5970
- let streamEventTitle = eventsContainer.querySelector('#stream-event-title-' + mmdd.replace(/\//g,'-') + '-' + j) as SfIElasticText
5971
- streamEventTitle.removeAttribute('part')
5972
- }
5961
+ if((ev.target as HTMLInputElement).checked) {
5962
+ this.selectedItemIds.push(id);
5963
+ } else {
5964
+ this.selectedItemIds.splice(this.selectedItemIds.indexOf(id), 1);
5965
+ let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-' + mmdd.replace(/\//g,'-') + '-' + j) as HTMLDivElement
5966
+ listReportingContainer.style.display = 'none';
5967
+ listReportingContainer.innerHTML = '';
5968
+ let buttonListReporting = eventsContainer.querySelector('#button-list-reporting-' + mmdd.replace(/\//g,'-') + '-' + j) as HTMLButtonElement
5969
+ buttonListReporting.setAttribute('part','button-list-reporting')
5970
+ let streamEventTitle = eventsContainer.querySelector('#stream-event-title-' + mmdd.replace(/\//g,'-') + '-' + j) as SfIElasticText
5971
+ streamEventTitle.removeAttribute('part')
5972
+ }
5973
5973
 
5974
- if(this.selectedItemIds.length === 0) {
5974
+ if(this.selectedItemIds.length === 0) {
5975
5975
 
5976
- for(var k = 0; k < buttonSelect.length; k++) {
5976
+ for(var k = 0; k < buttonSelect.length; k++) {
5977
5977
 
5978
- (buttonSelect[k] as HTMLInputElement).style.display = 'block';
5979
- (streamEventsContainer[k] as HTMLDivElement).style.display = 'block';
5980
-
5981
- }
5978
+ (buttonSelect[k] as HTMLInputElement).style.display = 'block';
5979
+ (streamEventsContainer[k] as HTMLDivElement).style.display = 'block';
5980
+
5981
+ }
5982
5982
 
5983
- let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label') as NodeListOf<HTMLHeadingElement>
5984
- for(let bulkUploadLable of bulkUploadLables){
5985
- bulkUploadLable.innerHTML = ''
5986
- }
5987
-
5988
- buttonSelectAll.style.display = 'none';
5989
- buttonUnselectAll.style.display = 'none';
5983
+ let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label') as NodeListOf<HTMLHeadingElement>
5984
+ for(let bulkUploadLable of bulkUploadLables){
5985
+ bulkUploadLable.innerHTML = ''
5986
+ }
5987
+
5988
+ buttonSelectAll.style.display = 'none';
5989
+ buttonUnselectAll.style.display = 'none';
5990
5990
 
5991
- } else {
5991
+ } else {
5992
5992
 
5993
- if(this.selectedItemIds.length === 1) {
5993
+ if(this.selectedItemIds.length === 1) {
5994
5994
 
5995
- const id1 = id;
5996
- const idArr1 = id1.split("-")
5997
- const status = idArr1[13].replace(/_/g, '-');
5998
- this.selectedStatus = status;
5995
+ const id1 = id;
5996
+ const idArr1 = id1.split("-")
5997
+ const status = idArr1[13].replace(/_/g, '-');
5998
+ this.selectedStatus = status;
5999
5999
 
6000
- }
6000
+ }
6001
6001
 
6002
- let totalVisibleCount = 0
6003
- for(var k = 0; k < buttonSelect.length; k++) {
6002
+ let totalVisibleCount = 0
6003
+ for(var k = 0; k < buttonSelect.length; k++) {
6004
6004
 
6005
- const id1 = buttonSelect[k].id;
6006
- const idArr1 = id1.split("-")
6007
- const docs1 = idArr1[6];
6008
- const status = idArr1[13].replace(/_/g, '-');
6009
-
6010
- if(docs == docs1 && status == this.selectedStatus) {
6011
- totalVisibleCount++
6012
- } else {
6013
- (buttonSelect[k] as HTMLInputElement).style.display = 'none';
6014
- (streamEventsContainer[k] as HTMLDivElement).style.display = 'none';
6005
+ const id1 = buttonSelect[k].id;
6006
+ const idArr1 = id1.split("-")
6007
+ const docs1 = idArr1[6];
6008
+ const status = idArr1[13].replace(/_/g, '-');
6009
+
6010
+ if(docs == docs1 && status == this.selectedStatus) {
6011
+ totalVisibleCount++
6012
+ } else {
6013
+ (buttonSelect[k] as HTMLInputElement).style.display = 'none';
6014
+ (streamEventsContainer[k] as HTMLDivElement).style.display = 'none';
6015
+ }
6016
+
6017
+ }
6018
+
6019
+ let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label') as NodeListOf<HTMLHeadingElement>
6020
+ for(let bulkUploadLable of bulkUploadLables){
6021
+ bulkUploadLable.innerHTML = `${this.selectedItemIds.length - 1} other ` + ((this.selectedItemIds.length - 1) === 1 ? `item` : `items`) + ` also selected`
6015
6022
  }
6016
-
6017
- }
6018
6023
 
6019
- let bulkUploadLables = eventsContainer.querySelectorAll('.bulk-upload-label') as NodeListOf<HTMLHeadingElement>
6020
- for(let bulkUploadLable of bulkUploadLables){
6021
- bulkUploadLable.innerHTML = `${this.selectedItemIds.length - 1} other ` + ((this.selectedItemIds.length - 1) === 1 ? `item` : `items`) + ` also selected`
6022
- }
6024
+ if(this.selectedItemIds.length >= parseInt(this.selectallblock) || this.selectedItemIds.length >= totalVisibleCount){
6025
+ buttonSelectAll.style.display = 'none';
6026
+ buttonUnselectAll.style.display = 'flex';
6027
+ }else{
6028
+ buttonSelectAll.style.display = 'flex';
6029
+ buttonUnselectAll.style.display = 'none';
6030
+ }
6031
+
6023
6032
 
6024
- if(this.selectedItemIds.length >= parseInt(this.selectallblock) || this.selectedItemIds.length >= totalVisibleCount){
6025
- buttonSelectAll.style.display = 'none';
6026
- buttonUnselectAll.style.display = 'flex';
6027
- }else{
6028
- buttonSelectAll.style.display = 'flex';
6029
- buttonUnselectAll.style.display = 'none';
6030
6033
  }
6031
-
6032
-
6033
- }
6034
6034
 
6035
- // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
6035
+ // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
6036
6036
 
6037
- // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + ((new Date()).getFullYear() + ""));
6038
-
6039
- })
6037
+ // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + ((new Date()).getFullYear() + ""));
6038
+
6039
+ })
6040
6040
 
6041
+ }
6041
6042
  }
6042
6043
 
6043
6044
  // this.clearGraphData();
@@ -6569,13 +6570,20 @@ export class SfIEvents extends LitElement {
6569
6570
  renderStatisticsFilters = (eventsContainer: HTMLDivElement) => {
6570
6571
  let selectFilterCriteria = eventsContainer.querySelector('#select-filter-criteria') as HTMLSelectElement
6571
6572
  let inputLabelFilter = eventsContainer.querySelector('#input-label-filter') as HTMLLabelElement
6573
+ let selectFilterCriteriaMobile = eventsContainer.querySelector('#select-filter-criteria-mobile') as HTMLSelectElement
6574
+ let inputLabelFilterMobile = eventsContainer.querySelector('#input-label-filter-mobile') as HTMLLabelElement
6572
6575
  selectFilterCriteria.style.display = 'block'
6573
6576
  inputLabelFilter.style.display = 'block'
6577
+ selectFilterCriteriaMobile.style.display = 'block'
6578
+ inputLabelFilterMobile.style.display = 'block'
6574
6579
  selectFilterCriteria.innerHTML = ""
6580
+ selectFilterCriteriaMobile.innerHTML = ""
6575
6581
  let option = new Option()
6576
6582
  option.value = "";
6577
6583
  option.innerHTML = "all"
6578
6584
  selectFilterCriteria.add(option)
6585
+ selectFilterCriteriaMobile.add(option)
6586
+
6579
6587
  for(let criteria of Object.keys(this.statisticsMeta)){
6580
6588
  let option = new Option()
6581
6589
  option.value = criteria;
@@ -6585,6 +6593,7 @@ export class SfIEvents extends LitElement {
6585
6593
  option.innerHTML = criteria
6586
6594
  }
6587
6595
  selectFilterCriteria.add(option)
6596
+ selectFilterCriteriaMobile.add(option)
6588
6597
  }
6589
6598
  let selectFilterCriteriaNew = Util.clearListeners(selectFilterCriteria)
6590
6599
  selectFilterCriteriaNew.addEventListener('change',(ev: any) => {
@@ -6622,10 +6631,50 @@ export class SfIEvents extends LitElement {
6622
6631
  inputLabelCriteria.style.display = 'none'
6623
6632
  }
6624
6633
  })
6634
+ let selectFilterCriteriaMobileNew = Util.clearListeners(selectFilterCriteriaMobile)
6635
+ selectFilterCriteriaMobileNew.addEventListener('change',(ev: any) => {
6636
+ let target = ev.target as HTMLSelectElement
6637
+ let inputLabelCriteriaMobile = eventsContainer.querySelector('#input-label-criteria-mobile') as HTMLLabelElement
6638
+ let selectFilterValuesMobile = eventsContainer.querySelector('#select-filter-values-mobile') as HTMLSelectElement
6639
+ if(target.value == ""){
6640
+ selectFilterValuesMobile.value = ""
6641
+ this.processDateSelectionViewer(eventsContainer)
6642
+ }
6643
+
6644
+ selectFilterValuesMobile.innerHTML = ""
6645
+ let option = new Option()
6646
+ option.value = "";
6647
+ option.innerHTML = "All";
6648
+ selectFilterValuesMobile.add(option)
6649
+ if(this.statisticsMeta[target.value] != null){
6650
+ let sortedFilters = Util.alphabeticalSort(this.statisticsMeta[target.value])
6651
+ selectFilterValuesMobile.style.display = 'block'
6652
+ inputLabelCriteriaMobile.style.display = 'block'
6653
+ inputLabelCriteriaMobile.innerHTML = target.value
6654
+ for(let filter of sortedFilters){
6655
+ let option = new Option()
6656
+ option.value = filter.split(';')[1];
6657
+ option.innerHTML = filter.split(';')[0].replace(/\([^)]*\)/g,"")
6658
+ selectFilterValuesMobile.add(option)
6659
+ }
6660
+ let selectFilterValuesMobileNew = Util.clearListeners(selectFilterValuesMobile)
6661
+ selectFilterValuesMobileNew.addEventListener('change',() => {
6662
+ console.log('changed')
6663
+ this.processDateSelectionViewer(eventsContainer);
6664
+ })
6665
+ }else{
6666
+ selectFilterValuesMobile.style.display = 'none'
6667
+ inputLabelCriteriaMobile.style.display = 'none'
6668
+ }
6669
+ })
6625
6670
  let selectFilterValues = eventsContainer.querySelector('#select-filter-values') as HTMLSelectElement
6626
6671
  let inputLabelCriteria = eventsContainer.querySelector('#input-label-criteria') as HTMLLabelElement
6672
+ let selectFilterValuesMobile = eventsContainer.querySelector('#select-filter-values-mobile') as HTMLSelectElement
6673
+ let inputLabelCriteriaMobile = eventsContainer.querySelector('#input-label-criteria-mobile') as HTMLLabelElement
6627
6674
  selectFilterValues.style.display = 'none'
6628
6675
  inputLabelCriteria.style.display = 'none'
6676
+ selectFilterValuesMobile.style.display = 'none'
6677
+ inputLabelCriteriaMobile.style.display = 'none'
6629
6678
  }
6630
6679
  renderSelectAllButtons = () => {
6631
6680
  let selectAllHtml = '<div class="d-flex justify-end w-100" style="position: fixed; bottom: 70px; left: 0px;" part="button-select-all-container">';
@@ -7039,10 +7088,6 @@ export class SfIEvents extends LitElement {
7039
7088
  tsStart.setDate(tsStart.getDate() - 2);
7040
7089
  tsEnd.setDate(tsEnd.getDate() + 2);
7041
7090
 
7042
- //console.log('tsstart', tsStart);
7043
- //console.log('tsend', tsEnd);
7044
-
7045
- // await this.fetchUserCalendar_2(tsStart.getMonth() + "/" + tsStart.getDate() + "/" + tsStart.getFullYear(), valueEnd.split('-')[1] + "/" + valueEnd.split('-')[2] + "/" + valueEnd.split('-')[0]);
7046
7091
  await this.fetchAndYearlyRenderUserCalendar_2((tsStart.getMonth() + 1) + "/" + tsStart.getDate() + "/" + tsStart.getFullYear(), (tsEnd.getMonth() + 1) + "/" + tsEnd.getDate() + "/" + tsEnd.getFullYear());
7047
7092
  this.renderRangeEvents(new Date(valueStart), ((new Date(valueEnd).getTime()+24*60*60*1000) - new Date(valueStart).getTime())/(1000*60*60*24), (this._SfCustomContainer as HTMLDivElement));
7048
7093
  } else if(valueStart != "" && valueEnd == "") {
@@ -9195,28 +9240,28 @@ export class SfIEvents extends LitElement {
9195
9240
 
9196
9241
  html += '<div class="title-item-date">';
9197
9242
  html += '<label part="input-label">Start Date</label><br />'
9198
- html += '<input id="stream-start-date-mobile" part="input" type="date" />'
9243
+ html += '<input id="stream-start-date-mobile" part="date-range-preselected" type="date" />'
9199
9244
  html += '</div>';
9200
9245
  html += '<div class="title-item-date">';
9201
9246
  html += '<label part="input-label">End Date</label><br />'
9202
- html += '<input id="stream-end-date-mobile" part="input" type="date" />'
9247
+ html += '<input id="stream-end-date-mobile" part="date-range-preselected" type="date" />'
9203
9248
  html += '</div>';
9204
9249
  html += '<div class="title-item-date">';
9205
- html += '<button id="button-year-to-date-mobile" part="button-lg-short-secondary">Year To Date</button>'
9250
+ html += '<button id="button-year-to-date-mobile" part="button-range-preselected">Year To Date</button>'
9206
9251
  html += '</div>';
9207
9252
  html += '<div class="title-item-date">';
9208
- html += '<button id="button-this-quarter-mobile" part="button-lg-short-secondary">This Quarter</button>'
9253
+ html += '<button id="button-this-quarter-mobile" part="button-range-preselected">This Quarter</button>'
9209
9254
  html += '</div>';
9210
9255
  html += '<div class="title-item-date">';
9211
- html += '<button id="button-this-year-mobile" part="button-lg-short-secondary">This Year</button>'
9256
+ html += '<button id="button-this-year-mobile" part="button-range-preselected">This Year</button>'
9212
9257
  html += '</div>';
9213
9258
  html += '<div class="title-item-date">';
9214
- html += '<label part="input-label-filter-criteria" id="input-label-filter-mobile">Filter Criteria</label><br />'
9215
- html += '<select id="select-filter-criteria-mobile" class="mr-10"></select>'
9259
+ html += '<label part="input-label-filter-criteria" id="input-label-filter-mobile">Filter Criteria</label>'
9260
+ html += '<select id="select-filter-criteria-mobile"></select>'
9216
9261
  html += '</div>';
9217
9262
  html += '<div class="title-item-date">';
9218
- html += '<label part="input-label-filter-value" id="input-label-criteria-mobile"></label><br />'
9219
- html += '<select id="select-filter-values-mobile" class="mr-10"></select>'
9263
+ html += '<label part="input-label-filter-value" id="input-label-criteria-mobile"></label>'
9264
+ html += '<select id="select-filter-values-mobile"></select>'
9220
9265
  html += '</div>';
9221
9266
 
9222
9267
  html += '</div>';
@@ -9226,28 +9271,28 @@ export class SfIEvents extends LitElement {
9226
9271
 
9227
9272
  html += '<div class="title-item-date d-flex flex-col align-end">';
9228
9273
  html += '<label part="input-label">Start Date</label>'
9229
- html += '<input id="stream-start-date" part="input" type="date" />'
9274
+ html += '<input id="stream-start-date" part="date-range-preselected" type="date" />'
9230
9275
  html += '</div>';
9231
9276
  html += '<div class="title-item-date d-flex flex-col align-end">';
9232
9277
  html += '<label part="input-label">End Date</label>'
9233
- html += '<input id="stream-end-date" part="input" type="date" />'
9278
+ html += '<input id="stream-end-date" part="date-range-preselected" type="date" />'
9234
9279
  html += '</div>';
9235
9280
  html += '<div class="title-item-date">';
9236
- html += '<button id="button-year-to-date" part="button-lg-short-secondary">Year To Date</button>'
9281
+ html += '<button id="button-year-to-date" part="button-range-preselected">Year To Date</button>'
9237
9282
  html += '</div>';
9238
9283
  html += '<div class="title-item-date">';
9239
- html += '<button id="button-this-quarter" part="button-lg-short-secondary">This Quarter</button>'
9284
+ html += '<button id="button-this-quarter" part="button-range-preselected">This Quarter</button>'
9240
9285
  html += '</div>';
9241
9286
  html += '<div class="title-item-date">';
9242
- html += '<button id="button-this-year" part="button-lg-short-secondary">This Year</button>'
9287
+ html += '<button id="button-this-year" part="button-range-preselected">This Year</button>'
9243
9288
  html += '</div>';
9244
9289
  html += '<div class="title-item-date d-flex flex-col align-end">';
9245
- html += '<label part="input-label-filter-criteria" id="input-label-filter" class="mr-10">Filter Criteria</label>'
9246
- html += '<select id="select-filter-criteria" class="mr-10"></select>'
9290
+ html += '<label part="input-label-filter-criteria" id="input-label-filter">Filter Criteria</label>'
9291
+ html += '<select part="input-select-calendar-filter" id="select-filter-criteria"></select>'
9247
9292
  html += '</div>';
9248
9293
  html += '<div class="title-item-date d-flex flex-col align-end">';
9249
- html += '<label part="input-label-filter-value" id="input-label-criteria" class="mr-10"></label>'
9250
- html += '<select id="select-filter-values" class="mr-10"></select>'
9294
+ html += '<label part="input-label-filter-value" id="input-label-criteria"></label>'
9295
+ html += '<select part="input-select-calendar-filter" id="select-filter-values"></select>'
9251
9296
  html += '</div>';
9252
9297
 
9253
9298
 
@@ -9391,13 +9436,13 @@ export class SfIEvents extends LitElement {
9391
9436
  selectFilterValues.style.display = 'none'
9392
9437
  let inputLabelFilter = (this._SfCustomContainer as HTMLDivElement).querySelector('#input-label-filter') as HTMLLabelElement
9393
9438
  inputLabelFilter.style.display = 'none';
9394
- // for(var i = 0; i < 3; i++) {
9395
- // (this._SfCustomContainer as HTMLDivElement).querySelector('#stream-month-' + i)?.addEventListener('click', (ev: any)=> {
9396
- // const target = parseInt((ev.target as HTMLDivElement).id.split('-')[2]);
9397
- // //console.log('clicked ', target);
9398
- // this.renderPast(target);
9399
- // })
9400
- // }
9439
+
9440
+ let selectFilterCriteriaMobile = (this._SfCustomContainer as HTMLDivElement).querySelector('#select-filter-criteria-mobile') as HTMLSelectElement
9441
+ selectFilterCriteriaMobile.style.display = 'none'
9442
+ let selectFilterValuesMobile = (this._SfCustomContainer as HTMLDivElement).querySelector('#select-filter-values-mobile') as HTMLSelectElement
9443
+ selectFilterValuesMobile.style.display = 'none'
9444
+ let inputLabelFilterMobile = (this._SfCustomContainer as HTMLDivElement).querySelector('#input-label-filter-mobile') as HTMLLabelElement
9445
+ inputLabelFilterMobile.style.display = 'none';
9401
9446
 
9402
9447
  ((this._SfCustomContainer as HTMLDivElement).querySelector('#button-year-to-date') as HTMLButtonElement).click();
9403
9448
  }
@@ -22333,10 +22378,12 @@ export class SfIEvents extends LitElement {
22333
22378
  let eventid = sortidArr[3]
22334
22379
  let mmdd = mmddyyyy.split('/')[0] + '/' + mmddyyyy.split('/')[1]
22335
22380
  console.log('mmdd', mmdd, Object.keys(this.events));
22336
- for (let i = 0 ; i < this.events[mmdd].length; i ++){
22337
- if(this.events[mmdd][i].entityid == entityid && this.events[mmdd][i].locationid == locationid && this.events[mmdd][i].id == eventid){
22338
- this.events[mmdd][i].isbulk = true;
22339
- break
22381
+ if(this.events[mmdd] != null){
22382
+ for (let i = 0 ; i < this.events[mmdd].length; i ++){
22383
+ if(this.events[mmdd][i].entityid == entityid && this.events[mmdd][i].locationid == locationid && this.events[mmdd][i].id == eventid){
22384
+ this.events[mmdd][i].isbulk = true;
22385
+ break
22386
+ }
22340
22387
  }
22341
22388
  }
22342
22389
  }