sf-i-events 1.0.714 → 1.0.715

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.714",
4
+ "version": "1.0.715",
5
5
  "description": "Superflows Navigation Component",
6
6
  "main": "sf-i-events.js",
7
7
  "module": "sf-i-events.js",
package/sf-i-events.d.ts CHANGED
@@ -465,6 +465,7 @@ export declare class SfIEvents extends LitElement {
465
465
  renderEvents: (_firstDay: any, _endDay: any, iInit: number, iLast: number, showGraph: boolean, index: number, month: number, period: string, firstDate: any, parametersTitle: string) => string;
466
466
  renderReporting: (event: any, mmddyyyy: any) => string;
467
467
  renderListReporting: (listReportingContainer: HTMLDivElement, event: any, mmddyyyy: any, eventsContainer: HTMLDivElement) => void;
468
+ attachListReportingListeners: (eventsContainer: HTMLDivElement) => void;
468
469
  renderStreamEvents: (index: number, month: number, year: number, showGraph?: boolean) => string;
469
470
  renderThisEvents: (index: number, startDate: Date, showGraph?: boolean) => string;
470
471
  renderRangeEvents: (firstDate: Date, count: number, eventsContainer: HTMLDivElement) => void;
package/sf-i-events.js CHANGED
@@ -2496,7 +2496,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2496
2496
  let approverStr = this.getApproverStringFromEvent(event);
2497
2497
  let graphParam = this.getGraphParam(event);
2498
2498
  console.log("graphParam", graphParam.split(';')[0]);
2499
- html += '<div class="d-flex align-center"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + '<button id="button-list-reporting-' + mmdd.replace('/', '-') + '-' + i + '-' + j + '" part="button-list-reporting" class="material-icons ml-10 mb-20 button-list-reporting">summarize</button></div>';
2499
+ html += '<div class="d-flex align-center"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + '<button id="button-list-reporting-' + mmdd.replace('/', '-') + '-' + i + '-' + j + '" part="button-list-reporting" class="material-icons ml-10 mb-20 button-list-reporting">edit_note</button></div>';
2500
2500
  return html;
2501
2501
  };
2502
2502
  this.renderEvents = (_firstDay, _endDay, iInit, iLast, showGraph, index, month, period, firstDate = null, parametersTitle) => {
@@ -2655,7 +2655,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2655
2655
  html += this.renderCalendarRowDivItemDivTableHead(this.events[mmdd][j], partStatus);
2656
2656
  html += this.renderCalendarRowDivItemDivTableBody(this.events[mmdd][j], partStatus, lateStatus, complianceStatus, mmdd, i, j);
2657
2657
  html += this.renderCalendarAnnotations(this.events[mmdd][j], mmdd, i, j);
2658
- html += '<div class="list-reporting-container d-flex flex-col hide" id="list-reporting-container-' + i + '-' + j + '"></div>';
2658
+ html += '<div class="list-reporting-container d-flex flex-col hide" part="list-reporting-container" id="list-reporting-container-' + i + '-' + j + '"></div>';
2659
2659
  html += this.renderCalendarRowDivItemDivEnd();
2660
2660
  }
2661
2661
  html += this.renderCalendarRowDivEnd();
@@ -2710,7 +2710,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2710
2710
  let docsOptional = event['docs'] == null ? [] : event['docs'] == null ? [] : event['docs'];
2711
2711
  if (this.myRole == this.TAB_APPROVER || this.myRole == this.TAB_FUNCTION_HEAD) {
2712
2712
  if (event.comments.length > 0) {
2713
- html += '<div class="d-flex justify-between m-20">';
2713
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
2714
2714
  html += '<h3 part="results-title" class="m-0"><br />Approve Compliance</h3>';
2715
2715
  html += '</div>';
2716
2716
  html += '<div class="m-20" part="report-container">';
@@ -2742,7 +2742,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2742
2742
  }
2743
2743
  }
2744
2744
  if (this.myRole == this.TAB_REPORTER || this.myRole == this.TAB_FUNCTION_HEAD) {
2745
- html += '<div class="d-flex justify-between m-20">';
2745
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
2746
2746
  html += '<h3 part="results-title" class="m-0"><br />Report Compliance</h3>';
2747
2747
  html += '</div>';
2748
2748
  var showSubmissionSection = true;
@@ -2793,7 +2793,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2793
2793
  }
2794
2794
  }
2795
2795
  if (this.myRole == this.TAB_AUDITOR) {
2796
- html += '<div class="d-flex justify-between m-20">';
2796
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
2797
2797
  html += '<h3 part="results-title" class="m-0"><br />Audit Compliance</h3>';
2798
2798
  html += '</div>';
2799
2799
  html += '<div class="m-20" part="report-container">';
@@ -2823,7 +2823,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2823
2823
  html += '</div>';
2824
2824
  }
2825
2825
  if (this.myRole == this.TAB_VIEWER) {
2826
- html += '<div class="d-flex justify-between m-20">';
2826
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
2827
2827
  html += '<h3 part="results-title" class="m-0"><br />View Compliance</h3>';
2828
2828
  html += '</div>';
2829
2829
  html += '<div class="m-20" part="report-container">';
@@ -3149,6 +3149,28 @@ let SfIEvents = class SfIEvents extends LitElement {
3149
3149
  this.fetchReportFormat(listReportingContainer, reportformatName, (_j = event['reportformatschema']) !== null && _j !== void 0 ? _j : "", (_k = event['reportformatvalues']) !== null && _k !== void 0 ? _k : "");
3150
3150
  }
3151
3151
  };
3152
+ this.attachListReportingListeners = (eventsContainer) => {
3153
+ let buttonListReports = eventsContainer.querySelectorAll('.button-list-reporting');
3154
+ for (let buttonListReport of buttonListReports) {
3155
+ buttonListReport === null || buttonListReport === void 0 ? void 0 : buttonListReport.addEventListener('click', (ev) => {
3156
+ const id = ev.target.id;
3157
+ const idArr = id.split("-");
3158
+ const mmdd = idArr[3] + "/" + idArr[4];
3159
+ const yyyy = this.getCurrentYear(idArr[3]);
3160
+ const i = idArr[5];
3161
+ const j = idArr[6];
3162
+ let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-' + i + '-' + j);
3163
+ console.log('mmddyyyy', this.events[mmdd][j], 'display', listReportingContainer.style.display);
3164
+ if (listReportingContainer.style.display == 'none' || listReportingContainer.style.display == '') {
3165
+ this.renderListReporting(listReportingContainer, this.events[mmdd][j], mmdd + '/' + yyyy, eventsContainer);
3166
+ }
3167
+ else {
3168
+ listReportingContainer.innerHTML = '';
3169
+ listReportingContainer.style.display = 'none';
3170
+ }
3171
+ });
3172
+ }
3173
+ };
3152
3174
  this.renderStreamEvents = (index, month, year, showGraph = true) => {
3153
3175
  //console.log('flowgraph renderStreamEvents', this.flowGraph);
3154
3176
  const lastDay = this.getLastDayOfMonth(month, year);
@@ -3208,26 +3230,7 @@ let SfIEvents = class SfIEvents extends LitElement {
3208
3230
  buttonRefresh.addEventListener('click', async () => {
3209
3231
  this.processDateSelection(eventsContainer);
3210
3232
  });
3211
- let buttonListReports = eventsContainer.querySelectorAll('.button-list-reporting');
3212
- for (let buttonListReport of buttonListReports) {
3213
- buttonListReport === null || buttonListReport === void 0 ? void 0 : buttonListReport.addEventListener('click', (ev) => {
3214
- const id = ev.target.id;
3215
- const idArr = id.split("-");
3216
- const mmdd = idArr[3] + "/" + idArr[4];
3217
- const yyyy = this.getCurrentYear(idArr[3]);
3218
- const i = idArr[5];
3219
- const j = idArr[6];
3220
- let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-' + i + '-' + j);
3221
- console.log('mmddyyyy', this.events[mmdd][j], 'display', listReportingContainer.style.display);
3222
- if (listReportingContainer.style.display == 'none' || listReportingContainer.style.display == '') {
3223
- this.renderListReporting(listReportingContainer, this.events[mmdd][j], mmdd + '/' + yyyy, this._SfStreamContainer);
3224
- }
3225
- else {
3226
- listReportingContainer.innerHTML = '';
3227
- listReportingContainer.style.display = 'none';
3228
- }
3229
- });
3230
- }
3233
+ this.attachListReportingListeners(eventsContainer);
3231
3234
  const buttonArr = eventsContainer.querySelectorAll('.button-expand');
3232
3235
  for (var i = 0; i < buttonArr.length; i++) {
3233
3236
  buttonArr[i].addEventListener('click', (ev) => {
@@ -5837,26 +5840,7 @@ let SfIEvents = class SfIEvents extends LitElement {
5837
5840
  await this.fetchAndYearlyRenderUserCalendar_2(dateResult.startDate, dateResult.endDate);
5838
5841
  this.renderThis(index);
5839
5842
  });
5840
- let buttonListReports = this._SfThisContainer.querySelectorAll('.button-list-reporting');
5841
- for (let buttonListReport of buttonListReports) {
5842
- buttonListReport === null || buttonListReport === void 0 ? void 0 : buttonListReport.addEventListener('click', (ev) => {
5843
- const id = ev.target.id;
5844
- const idArr = id.split("-");
5845
- const mmdd = idArr[3] + "/" + idArr[4];
5846
- const yyyy = this.getCurrentYear(idArr[3]);
5847
- const i = idArr[5];
5848
- const j = idArr[6];
5849
- let listReportingContainer = this._SfThisContainer.querySelector('#list-reporting-container-' + i + '-' + j);
5850
- console.log('mmddyyyy', this.events[mmdd][j], 'display', listReportingContainer.style.display);
5851
- if (listReportingContainer.style.display == 'none' || listReportingContainer.style.display == '') {
5852
- this.renderListReporting(listReportingContainer, this.events[mmdd][j], mmdd + '/' + yyyy, this._SfStreamContainer);
5853
- }
5854
- else {
5855
- listReportingContainer.innerHTML = '';
5856
- listReportingContainer.style.display = 'none';
5857
- }
5858
- });
5859
- }
5843
+ this.attachListReportingListeners(this._SfThisContainer);
5860
5844
  const buttonArr = this._SfThisContainer.querySelectorAll('.button-expand');
5861
5845
  for (i = 0; i < buttonArr.length; i++) {
5862
5846
  buttonArr[i].addEventListener('click', (ev) => {
@@ -6177,26 +6161,7 @@ let SfIEvents = class SfIEvents extends LitElement {
6177
6161
  this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
6178
6162
  this.renderStream(index);
6179
6163
  });
6180
- let buttonListReports = this._SfStreamContainer.querySelectorAll('.button-list-reporting');
6181
- for (let buttonListReport of buttonListReports) {
6182
- buttonListReport === null || buttonListReport === void 0 ? void 0 : buttonListReport.addEventListener('click', (ev) => {
6183
- const id = ev.target.id;
6184
- const idArr = id.split("-");
6185
- const mmdd = idArr[3] + "/" + idArr[4];
6186
- const yyyy = this.getCurrentYear(idArr[3]);
6187
- const i = idArr[5];
6188
- const j = idArr[6];
6189
- let listReportingContainer = this._SfStreamContainer.querySelector('#list-reporting-container-' + i + '-' + j);
6190
- console.log('mmddyyyy', this.events[mmdd][j], 'display', listReportingContainer.style.display);
6191
- if (listReportingContainer.style.display == 'none' || listReportingContainer.style.display == '') {
6192
- this.renderListReporting(listReportingContainer, this.events[mmdd][j], mmdd + '/' + yyyy, this._SfStreamContainer);
6193
- }
6194
- else {
6195
- listReportingContainer.innerHTML = '';
6196
- listReportingContainer.style.display = 'none';
6197
- }
6198
- });
6199
- }
6164
+ this.attachListReportingListeners(this._SfStreamContainer);
6200
6165
  const buttonArr = this._SfStreamContainer.querySelectorAll('.button-expand');
6201
6166
  for (i = 0; i < buttonArr.length; i++) {
6202
6167
  buttonArr[i].addEventListener('click', (ev) => {
@@ -4650,7 +4650,7 @@ export class SfIEvents extends LitElement {
4650
4650
 
4651
4651
  let graphParam = this.getGraphParam(event);
4652
4652
  console.log("graphParam", graphParam.split(';')[0]);
4653
- html += '<div class="d-flex align-center"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + '<button id="button-list-reporting-'+mmdd.replace('/', '-')+'-'+ i + '-' + j +'" part="button-list-reporting" class="material-icons ml-10 mb-20 button-list-reporting">summarize</button></div>';
4653
+ html += '<div class="d-flex align-center"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + '<button id="button-list-reporting-'+mmdd.replace('/', '-')+'-'+ i + '-' + j +'" part="button-list-reporting" class="material-icons ml-10 mb-20 button-list-reporting">edit_note</button></div>';
4654
4654
 
4655
4655
  return html;
4656
4656
 
@@ -4843,7 +4843,7 @@ export class SfIEvents extends LitElement {
4843
4843
  html += this.renderCalendarRowDivItemDivTableHead(this.events[mmdd][j], partStatus);
4844
4844
  html += this.renderCalendarRowDivItemDivTableBody(this.events[mmdd][j], partStatus, lateStatus, complianceStatus, mmdd, i, j);
4845
4845
  html += this.renderCalendarAnnotations(this.events[mmdd][j], mmdd, i, j);
4846
- html += '<div class="list-reporting-container d-flex flex-col hide" id="list-reporting-container-' + i + '-' + j + '"></div>'
4846
+ html += '<div class="list-reporting-container d-flex flex-col hide" part="list-reporting-container" id="list-reporting-container-' + i + '-' + j + '"></div>'
4847
4847
  html += this.renderCalendarRowDivItemDivEnd();
4848
4848
 
4849
4849
  }
@@ -4919,7 +4919,7 @@ export class SfIEvents extends LitElement {
4919
4919
  if(this.myRole == this.TAB_APPROVER || this.myRole == this.TAB_FUNCTION_HEAD) {
4920
4920
  if(event.comments.length > 0) {
4921
4921
 
4922
- html += '<div class="d-flex justify-between m-20">';
4922
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
4923
4923
  html += '<h3 part="results-title" class="m-0"><br />Approve Compliance</h3>';
4924
4924
  html += '</div>';
4925
4925
  html += '<div class="m-20" part="report-container">';
@@ -4957,7 +4957,7 @@ export class SfIEvents extends LitElement {
4957
4957
 
4958
4958
  if(this.myRole == this.TAB_REPORTER || this.myRole == this.TAB_FUNCTION_HEAD) {
4959
4959
 
4960
- html += '<div class="d-flex justify-between m-20">';
4960
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
4961
4961
  html += '<h3 part="results-title" class="m-0"><br />Report Compliance</h3>';
4962
4962
  html += '</div>';
4963
4963
 
@@ -5024,7 +5024,7 @@ export class SfIEvents extends LitElement {
5024
5024
 
5025
5025
  if(this.myRole == this.TAB_AUDITOR) {
5026
5026
 
5027
- html += '<div class="d-flex justify-between m-20">';
5027
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
5028
5028
  html += '<h3 part="results-title" class="m-0"><br />Audit Compliance</h3>';
5029
5029
  html += '</div>';
5030
5030
  html += '<div class="m-20" part="report-container">';
@@ -5058,7 +5058,7 @@ export class SfIEvents extends LitElement {
5058
5058
 
5059
5059
  if(this.myRole == this.TAB_VIEWER) {
5060
5060
 
5061
- html += '<div class="d-flex justify-between m-20">';
5061
+ html += '<div class="d-flex justify-between m-20" part="list-report-results-title-container">';
5062
5062
  html += '<h3 part="results-title" class="m-0"><br />View Compliance</h3>';
5063
5063
  html += '</div>';
5064
5064
  html += '<div class="m-20" part="report-container">';
@@ -5433,6 +5433,27 @@ export class SfIEvents extends LitElement {
5433
5433
  }
5434
5434
  }
5435
5435
 
5436
+ attachListReportingListeners = (eventsContainer: HTMLDivElement) => {
5437
+ let buttonListReports = eventsContainer.querySelectorAll('.button-list-reporting') as NodeListOf<HTMLButtonElement>
5438
+ for(let buttonListReport of buttonListReports){
5439
+ buttonListReport?.addEventListener('click',(ev:any) => {
5440
+ const id = ev.target.id;
5441
+ const idArr = id.split("-")
5442
+ const mmdd = idArr[3] + "/" + idArr[4];
5443
+ const yyyy = this.getCurrentYear(idArr[3]);
5444
+ const i = idArr[5];
5445
+ const j = idArr[6];
5446
+ let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-'+i+'-'+j) as HTMLDivElement
5447
+ console.log('mmddyyyy', this.events[mmdd][j], 'display',listReportingContainer.style.display);
5448
+ if(listReportingContainer.style.display == 'none' || listReportingContainer.style.display == ''){
5449
+ this.renderListReporting(listReportingContainer,this.events[mmdd][j], mmdd + '/' + yyyy, eventsContainer)
5450
+ }else{
5451
+ listReportingContainer.innerHTML = '';
5452
+ listReportingContainer.style.display = 'none';
5453
+ }
5454
+ })
5455
+ }
5456
+ }
5436
5457
  renderStreamEvents = (index: number, month: number, year: number, showGraph: boolean = true) => {
5437
5458
 
5438
5459
  //console.log('flowgraph renderStreamEvents', this.flowGraph);
@@ -5523,25 +5544,7 @@ export class SfIEvents extends LitElement {
5523
5544
  buttonRefresh.addEventListener('click',async ()=>{
5524
5545
  this.processDateSelection(eventsContainer)
5525
5546
  })
5526
- let buttonListReports = eventsContainer.querySelectorAll('.button-list-reporting') as NodeListOf<HTMLButtonElement>
5527
- for(let buttonListReport of buttonListReports){
5528
- buttonListReport?.addEventListener('click',(ev:any) => {
5529
- const id = ev.target.id;
5530
- const idArr = id.split("-")
5531
- const mmdd = idArr[3] + "/" + idArr[4];
5532
- const yyyy = this.getCurrentYear(idArr[3]);
5533
- const i = idArr[5];
5534
- const j = idArr[6];
5535
- let listReportingContainer = eventsContainer.querySelector('#list-reporting-container-'+i+'-'+j) as HTMLDivElement
5536
- console.log('mmddyyyy', this.events[mmdd][j], 'display',listReportingContainer.style.display);
5537
- if(listReportingContainer.style.display == 'none' || listReportingContainer.style.display == ''){
5538
- this.renderListReporting(listReportingContainer,this.events[mmdd][j], mmdd + '/' + yyyy, (this._SfStreamContainer as HTMLDivElement))
5539
- }else{
5540
- listReportingContainer.innerHTML = '';
5541
- listReportingContainer.style.display = 'none';
5542
- }
5543
- })
5544
- }
5547
+ this.attachListReportingListeners(eventsContainer);
5545
5548
  const buttonArr = eventsContainer.querySelectorAll('.button-expand') as NodeListOf<HTMLButtonElement>;
5546
5549
 
5547
5550
  for(var i = 0; i < buttonArr.length; i++) {
@@ -8792,25 +8795,7 @@ export class SfIEvents extends LitElement {
8792
8795
  await this.fetchAndYearlyRenderUserCalendar_2(dateResult.startDate, dateResult.endDate);
8793
8796
  this.renderThis(index);
8794
8797
  })
8795
- let buttonListReports = (this._SfThisContainer as HTMLDivElement).querySelectorAll('.button-list-reporting') as NodeListOf<HTMLButtonElement>
8796
- for(let buttonListReport of buttonListReports){
8797
- buttonListReport?.addEventListener('click',(ev:any) => {
8798
- const id = ev.target.id;
8799
- const idArr = id.split("-")
8800
- const mmdd = idArr[3] + "/" + idArr[4];
8801
- const yyyy = this.getCurrentYear(idArr[3]);
8802
- const i = idArr[5];
8803
- const j = idArr[6];
8804
- let listReportingContainer = (this._SfThisContainer as HTMLDivElement).querySelector('#list-reporting-container-'+i+'-'+j) as HTMLDivElement
8805
- console.log('mmddyyyy', this.events[mmdd][j], 'display',listReportingContainer.style.display);
8806
- if(listReportingContainer.style.display == 'none' || listReportingContainer.style.display == ''){
8807
- this.renderListReporting(listReportingContainer,this.events[mmdd][j], mmdd + '/' + yyyy, (this._SfStreamContainer as HTMLDivElement))
8808
- }else{
8809
- listReportingContainer.innerHTML = '';
8810
- listReportingContainer.style.display = 'none';
8811
- }
8812
- })
8813
- }
8798
+ this.attachListReportingListeners(this._SfThisContainer as HTMLDivElement);
8814
8799
  const buttonArr = (this._SfThisContainer as HTMLDivElement).querySelectorAll('.button-expand') as NodeListOf<HTMLButtonElement>;
8815
8800
 
8816
8801
  for(i = 0; i < buttonArr.length; i++) {
@@ -9230,26 +9215,7 @@ export class SfIEvents extends LitElement {
9230
9215
  this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
9231
9216
  this.renderStream(index);
9232
9217
  })
9233
-
9234
- let buttonListReports = (this._SfStreamContainer as HTMLDivElement).querySelectorAll('.button-list-reporting') as NodeListOf<HTMLButtonElement>
9235
- for(let buttonListReport of buttonListReports){
9236
- buttonListReport?.addEventListener('click',(ev:any) => {
9237
- const id = ev.target.id;
9238
- const idArr = id.split("-")
9239
- const mmdd = idArr[3] + "/" + idArr[4];
9240
- const yyyy = this.getCurrentYear(idArr[3]);
9241
- const i = idArr[5];
9242
- const j = idArr[6];
9243
- let listReportingContainer = (this._SfStreamContainer as HTMLDivElement).querySelector('#list-reporting-container-'+i+'-'+j) as HTMLDivElement
9244
- console.log('mmddyyyy', this.events[mmdd][j], 'display',listReportingContainer.style.display);
9245
- if(listReportingContainer.style.display == 'none' || listReportingContainer.style.display == ''){
9246
- this.renderListReporting(listReportingContainer,this.events[mmdd][j], mmdd + '/' + yyyy, (this._SfStreamContainer as HTMLDivElement))
9247
- }else{
9248
- listReportingContainer.innerHTML = '';
9249
- listReportingContainer.style.display = 'none';
9250
- }
9251
- })
9252
- }
9218
+ this.attachListReportingListeners(this._SfStreamContainer as HTMLDivElement);
9253
9219
  const buttonArr = (this._SfStreamContainer as HTMLDivElement).querySelectorAll('.button-expand') as NodeListOf<HTMLButtonElement>;
9254
9220
 
9255
9221
  for(i = 0; i < buttonArr.length; i++) {