sf-i-events 1.0.966 → 1.0.968

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/sf-i-events.js CHANGED
@@ -2597,7 +2597,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2597
2597
  html += '</div>';
2598
2598
  return html;
2599
2599
  };
2600
- this.renderCalendarRowDivItemDivStart = (mmdd, event, itemNumber, partStatus, bgStatus) => {
2600
+ this.renderCalendarRowDivItemDivStart = (mmdd, event, itemNumber, partStatus, bgStatus, fromDrilldown) => {
2601
2601
  var _a, _b, _c, _f, _g;
2602
2602
  var html = '';
2603
2603
  var remarks = "";
@@ -2644,7 +2644,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2644
2644
  const isReviewed = event.review == true;
2645
2645
  const showCheckbox = !(hasReportFormat || isBulk || hasCustomReporting || isReportedLocation);
2646
2646
  // const showReportingButton = !hasReportFormat && !hasCustomReporting && event.reporters == null;
2647
- const showReportingButton = !hasReportFormat && !hasCustomReporting && event.concise != null && !isReportedLocation;
2647
+ const showReportingButton = !hasReportFormat && !hasCustomReporting && event.concise != null && !isReportedLocation && !fromDrilldown;
2648
2648
  const showLocationRisk = event.concise != null;
2649
2649
  const configHome = Util.getProjectConfigHome();
2650
2650
  const showReview = event.concise != null && configHome.features != null && configHome.features.indexOf("understood") >= 0;
@@ -2983,7 +2983,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2983
2983
  }
2984
2984
  return graphParam;
2985
2985
  };
2986
- this.renderCalendarAnnotations = (event, mmdd, j) => {
2986
+ this.renderCalendarAnnotations = (event, mmdd, j, fromDrilldown) => {
2987
2987
  var html = '';
2988
2988
  html += '<div class="hidden-filtername hide"><table><thead><th part="badge-filter-name" class="filtername"></th></thead></table></div>';
2989
2989
  // if(event.concise == null && event.approvers != null){
@@ -2993,7 +2993,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2993
2993
  // console.log("graphParam", graphParam.split(';')[0]);
2994
2994
  const configHome = Util.getProjectConfigHome();
2995
2995
  const configFlag = configHome.features != null && configHome.features.indexOf("understood") >= 0;
2996
- html += '<div class="d-flex align-center event-user-labels-container"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20' + (event.concise == null ? "" : ' hide') + '">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + (((event.module == "compliances" || event.module == null) && event.concise == null && ((event.reportformat == null || event.reportformat.length == 0) && (event.customreporting == null) && (event.reportedlocationsflag != true))) ? ('<button id="button-list-reporting-' + mmdd.replace('/', '-') + '-' + j + '-" part="button-list-reporting" class="material-icons ml-10 mb-20 button-list-reporting">edit_note</button>') : '') + (((event.module == "compliances" || event.module == null) && event.concise == null && configFlag) ? (event.review ? ('<button id="input-checkbox-review-' + mmdd.replace('/', '-') + '-' + j + '" part="button-icon-reviewed" class="material-symbols-outlined d-flex align-center mb-20 ml-10 button-icon-review">flag_check</button>') : ('<button id="input-checkbox-review-' + mmdd.replace('/', '-') + '-' + j + '" part="button-icon-review" class="d-flex align-center mb-20 ml-10 button-icon-review"><span class="material-symbols-outlined" title="Mark as reviewed">flag</span>&nbsp;&nbsp;Mark Understood</button>')) : '') + '</div>';
2996
+ html += '<div class="d-flex align-center event-user-labels-container"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20' + (event.concise == null ? "" : ' hide') + '">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + (((event.module == "compliances" || event.module == null) && event.concise == null && ((event.reportformat == null || event.reportformat.length == 0) && (event.customreporting == null) && (event.reportedlocationsflag != true)) && !fromDrilldown) ? ('<button id="button-list-reporting-' + mmdd.replace('/', '-') + '-' + j + '-" part="button-list-reporting" class="material-icons ml-10 mb-20 button-list-reporting">edit_note</button>') : '') + (((event.module == "compliances" || event.module == null) && event.concise == null && configFlag) ? (event.review ? ('<button id="input-checkbox-review-' + mmdd.replace('/', '-') + '-' + j + '" part="button-icon-reviewed" class="material-symbols-outlined d-flex align-center mb-20 ml-10 button-icon-review">flag_check</button>') : ('<button id="input-checkbox-review-' + mmdd.replace('/', '-') + '-' + j + '" part="button-icon-review" class="d-flex align-center mb-20 ml-10 button-icon-review"><span class="material-symbols-outlined" title="Mark as reviewed">flag</span>&nbsp;&nbsp;Mark Understood</button>')) : '') + '</div>';
2997
2997
  // }
2998
2998
  return html;
2999
2999
  };
@@ -3378,13 +3378,13 @@ let SfIEvents = class SfIEvents extends LitElement {
3378
3378
  htmlSummaryValues += '</td></tr>';
3379
3379
  }
3380
3380
  }
3381
- html += this.renderCalendarRowDivItemDivStart(mmdd, this.events[mmdd][j], j, partStatus, bgStatus);
3381
+ html += this.renderCalendarRowDivItemDivStart(mmdd, this.events[mmdd][j], j, partStatus, bgStatus, fromDrilldown);
3382
3382
  // if (this.events[mmdd][j]["countryname"] != null) {
3383
3383
  if (this.events[mmdd][j]["concise"] == null) {
3384
3384
  html += this.renderCalendarRowDivItemDivTableHead(this.events[mmdd][j], partStatus);
3385
3385
  html += this.renderCalendarRowDivItemDivTableBody(this.events[mmdd][j], partStatus, lateStatus, complianceStatus, mmdd, i, j);
3386
3386
  }
3387
- html += this.renderCalendarAnnotations(this.events[mmdd][j], mmdd, j);
3387
+ html += this.renderCalendarAnnotations(this.events[mmdd][j], mmdd, j, fromDrilldown);
3388
3388
  html += '<div class="list-reporting-container d-flex flex-col hide" part="list-reporting-container" id="list-reporting-container-' + mmdd.replace(/\//g, '-') + '-' + j + '"></div>';
3389
3389
  html += this.renderCalendarRowDivItemDivEnd();
3390
3390
  }
@@ -7631,13 +7631,13 @@ let SfIEvents = class SfIEvents extends LitElement {
7631
7631
  const calendarJobs = await this.fetchCalendarJobs();
7632
7632
  this.renderOnboardingCalendar(calendarJobs);
7633
7633
  };
7634
- this.loadOnboardingSuspense = async () => {
7634
+ this.loadOnboardingSuspense = async (year = this.getCurrentYearGeneric()) => {
7635
7635
  this.hideTabContainers();
7636
7636
  this._SfOnboardingSuspenseContainer.style.display = 'flex';
7637
7637
  const mappedSerializedLocations = await this.fetchMappedSerializedLocations();
7638
- const suspenseList = await this.fetchSuspenseList();
7638
+ const suspenseList = await this.fetchSuspenseList(year);
7639
7639
  console.log('suspenseList', suspenseList);
7640
- this.renderOnboardingSuspense(mappedSerializedLocations, suspenseList);
7640
+ this.renderOnboardingSuspense(mappedSerializedLocations, suspenseList, year);
7641
7641
  };
7642
7642
  this.calculateStartAndEndDateOfPast = (index = 0) => {
7643
7643
  //console.log('calculating start and end of past');
@@ -10745,42 +10745,8 @@ let SfIEvents = class SfIEvents extends LitElement {
10745
10745
  html += `
10746
10746
  <div id="list-container" class="list-container m-20 pb-20" part="list-container"></div>
10747
10747
  `;
10748
- // html += `
10749
- // <sf-i-events id="statistics-drilldown" name="Statistics" apiid="dwqyez2puoxmu.cloudfront.net/event" exportparts="detail-container" mode="viewer"
10750
- // apiidtags="${this.apiIdTags}"
10751
- // apiidusers="${this.apiIdUsers}"
10752
- // apiidstatutes="${this.apiIdStatutes}"
10753
- // apiiddefinitions="${this.apiIdDefinitions}"
10754
- // apiidreportformats="${this.apiidReportformats}"
10755
- // apiidnotices="${this.apiIdNotices}"
10756
- // apiidagreements="${this.apiIdAgreements}"
10757
- // apiidlicenses="${this.apiIdLicenses}" username="${username}"
10758
- // userprofileid="${userid}" projectid="${this.projectId}"
10759
- // projectname="${this.projectName}" ${filterString}
10760
- // myrole="${rolestr}" showregisterexport="false"
10761
- // features="${this.features.replace(/"/g, "&quot;")}"
10762
- // selectedfeatures="${JSON.stringify(this.selectedFeatures).replace(/"/g, "&quot;")}"
10763
- // eventfielddependencies="${this.eventFieldDependencies.replace(/"/g, "&quot;")}"
10764
- // eventfields="${this.eventFields.replace(/"/g, "&quot;")}"
10765
- // eventpreviewfields="${this.eventPreviewFields.replace(/"/g, "&quot;")}"
10766
- // eventhidefields="${this.eventHideFields.replace(/"/g, "&quot;")}"
10767
- // calendarstartdd="${this.calendarStartDD}" calendarstartmm="${this.calendarStartMM}" calendarstartyyyy="${this.calendarStartYYYY}"
10768
- // sdate="${this.sdate}" edate="${this.edate}"
10769
- // flowgraphcompleteness="${this.FLOW_GRAPH_COMPLETENESS}">
10770
- // <div slot="uploader">
10771
- // <sf-i-uploader id="uploader" max="10" apiid="1peg5170d3"
10772
- // allowedextensions="[&quot;jpg&quot;,&quot;png&quot;,&quot;pdf&quot;,&quot;xls&quot;,&quot;xlsx&quot;,&quot;doc&quot;,&quot;docx&quot;]"
10773
- // extract="yes" projectid="${this.projectId}" maxsize="31457280"
10774
- // allowdownload="yes"></sf-i-uploader>
10775
- // </div>
10776
- // <div slot="reporting">
10777
- // <sf-i-reporting id="reporting-format" mode="view"></sf-i-reporting>
10778
- // </div>
10779
- // </sf-i-events>
10780
- // `;
10781
10748
  this._SfDetailListContainer.style.display = 'block';
10782
10749
  this._SfDetailListContainer.innerHTML = html;
10783
- // this.renderRangeEvents(new Date(this.sdate), ((new Date(this.edate).getTime()) - new Date(this.sdate).getTime()) / (1000 * 60 * 60 * 24), (this._SfDetailListContainer as HTMLDivElement).querySelector('.list-container') as HTMLDivElement);
10784
10750
  const lastDay = ((new Date(this.edate).getTime()) - new Date(this.sdate).getTime()) / (1000 * 60 * 60 * 24);
10785
10751
  let firstDay = new Date((new Date(this.sdate)).getFullYear(), (new Date(this.sdate)).getMonth(), (new Date(this.sdate)).getDate());
10786
10752
  let endDay = new Date((new Date(this.sdate)).getFullYear(), (new Date(this.sdate)).getMonth(), (new Date(this.sdate)).getDate());
@@ -10806,13 +10772,179 @@ let SfIEvents = class SfIEvents extends LitElement {
10806
10772
  this._SfDetailListContainer.innerHTML = '';
10807
10773
  this._SfDetailListContainer.style.display = 'none';
10808
10774
  });
10809
- // let statisticsDrilldown = (this._SfDetailContainer as HTMLDivElement).querySelector('#statistics-drilldown') as SfIEvents;
10810
- // statisticsDrilldown.sdate = this.sdate
10811
- // statisticsDrilldown.edate = this.edate
10812
- // statisticsDrilldown.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
10813
- // setTimeout(() => {
10814
- // statisticsDrilldown.loadMode();
10815
- // }, 1000);
10775
+ const buttonArr = this._SfDetailListContainer.querySelectorAll('.button-expand');
10776
+ for (i = 0; i < buttonArr.length; i++) {
10777
+ let indexPrevNext = i;
10778
+ buttonArr[i].addEventListener('click', (ev) => {
10779
+ const id = ev.target.id;
10780
+ const idArr = id.split("-");
10781
+ const mmdd = idArr[3] + "/" + idArr[4];
10782
+ const j = idArr[5];
10783
+ const module = idArr[6];
10784
+ var yyyy = this.getYearFromMonthBetween(this.sdate, this.edate, idArr[3]);
10785
+ if (module === "notice") {
10786
+ this.renderNoticeDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10787
+ }
10788
+ else if (module === "contract") {
10789
+ this.fetchContractDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10790
+ }
10791
+ else if (module === "license") {
10792
+ this.fetchLicenseDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10793
+ }
10794
+ else if (module === "rcmresource") {
10795
+ this.fetchRCMResourceDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10796
+ }
10797
+ else {
10798
+ let found = false;
10799
+ for (var k = 0; k < this.selectedItemIds.length; k++) {
10800
+ console.log('selectedItems', this.selectedItemIds[k], idArr[3] + '-' + idArr[4] + '-' + idArr[5], this.selectedItemIds[k].indexOf(idArr[3] + '-' + idArr[4] + '-' + idArr[5]));
10801
+ if (this.selectedItemIds[k].indexOf(idArr[3] + '-' + idArr[4] + '-' + idArr[5]) >= 0) {
10802
+ found = true;
10803
+ }
10804
+ }
10805
+ if (!found) {
10806
+ this.selectedItemIds = [];
10807
+ this.clearButtonSelection();
10808
+ }
10809
+ // (this._SfDetailContainer as HTMLDivElement).style.display = 'block';
10810
+ //console.log('commentsinlist', (this._SfStreamContainer as HTMLDivElement).querySelector('#stream-month-'+this.currentColumnIndex) as HTMLButtonElement, this.events[mmdd][j].comments, mmdd, j);
10811
+ let prevString = "";
10812
+ let flagPrev = true;
10813
+ let indexPrev = indexPrevNext;
10814
+ while (flagPrev) {
10815
+ if (indexPrev > 0) {
10816
+ if (Util.isVisible(buttonArr[indexPrev - 1])) {
10817
+ prevString = buttonArr[indexPrev - 1].id;
10818
+ flagPrev = false;
10819
+ }
10820
+ else {
10821
+ prevString = "";
10822
+ indexPrev--;
10823
+ }
10824
+ }
10825
+ else {
10826
+ flagPrev = false;
10827
+ }
10828
+ }
10829
+ let nextString = "";
10830
+ let flagNext = true;
10831
+ let indexNext = indexPrevNext;
10832
+ while (flagNext) {
10833
+ if (indexNext < buttonArr.length - 1) {
10834
+ if (Util.isVisible(buttonArr[indexNext + 1])) {
10835
+ nextString = buttonArr[indexNext + 1].id;
10836
+ flagNext = false;
10837
+ }
10838
+ else {
10839
+ nextString = "";
10840
+ indexNext++;
10841
+ }
10842
+ }
10843
+ else {
10844
+ flagNext = false;
10845
+ }
10846
+ }
10847
+ // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + yyyy, (this._SfStreamContainer as HTMLDivElement).querySelector('#stream-month-'+this.currentColumnIndex) as HTMLButtonElement);
10848
+ // console.log('errorFetchEvent', mmdd, j, buttonArr[i].outerHTML, idArr);
10849
+ console.log('previous event clicked', buttonArr[indexPrevNext - 1], prevString, indexPrevNext);
10850
+ this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, this._SfStreamContainer.querySelector('#stream-month-' + this.currentColumnIndex), this._SfStreamContainer, prevString, nextString, false, null, null, null, null, null, null, null, true);
10851
+ }
10852
+ });
10853
+ }
10854
+ const titleArr = this._SfDetailListContainer.querySelectorAll('.button-event-title');
10855
+ for (var i = 0; i < titleArr.length; i++) {
10856
+ let indexPrevNext = i;
10857
+ titleArr[i].addEventListener('click', (ev) => {
10858
+ var _a, _b;
10859
+ const id = ev.target.id;
10860
+ const idArr = id.split("-");
10861
+ const mmdd = idArr[3] + "/" + idArr[4];
10862
+ const j = idArr[5];
10863
+ const module = idArr[6];
10864
+ const flag = idArr[7];
10865
+ if (flag != null && flag == "reportedlocations") {
10866
+ return;
10867
+ }
10868
+ var yyyy = this.getYearFromMonthBetween(this.sdate, this.edate, idArr[3]);
10869
+ if (module === "notice") {
10870
+ this.renderNoticeDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10871
+ }
10872
+ else if (module === "contract") {
10873
+ this.fetchContractDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10874
+ }
10875
+ else if (module === "license") {
10876
+ this.fetchLicenseDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10877
+ }
10878
+ else if (module === "rcmresource") {
10879
+ this.fetchRCMResourceDetails(this.events[mmdd][j], mmdd + "/" + yyyy);
10880
+ }
10881
+ else {
10882
+ let found = false;
10883
+ for (var k = 0; k < this.selectedItemIds.length; k++) {
10884
+ if (this.selectedItemIds[k].indexOf(idArr[3] + '-' + idArr[4] + '-' + idArr[5]) >= 0) {
10885
+ found = true;
10886
+ }
10887
+ }
10888
+ if (!found) {
10889
+ this.selectedItemIds = [];
10890
+ this.selectedItems = [];
10891
+ this.clearButtonSelection();
10892
+ }
10893
+ // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
10894
+ let prevString = "";
10895
+ let flagPrev = true;
10896
+ let indexPrev = indexPrevNext;
10897
+ while (flagPrev) {
10898
+ if (indexPrev > 0) {
10899
+ if (Util.isVisible(titleArr[indexPrev - 1])) {
10900
+ prevString = titleArr[indexPrev - 1].id;
10901
+ let prevIdArr = prevString.split("-");
10902
+ if (((_a = prevIdArr[7]) !== null && _a !== void 0 ? _a : "") == "reportedlocations") {
10903
+ prevString = "";
10904
+ indexPrev--;
10905
+ }
10906
+ else {
10907
+ flagPrev = false;
10908
+ }
10909
+ }
10910
+ else {
10911
+ prevString = "";
10912
+ indexPrev--;
10913
+ }
10914
+ }
10915
+ else {
10916
+ flagPrev = false;
10917
+ }
10918
+ }
10919
+ let nextString = "";
10920
+ let flagNext = true;
10921
+ let indexNext = indexPrevNext;
10922
+ while (flagNext) {
10923
+ if (indexNext < titleArr.length - 1) {
10924
+ if (Util.isVisible(titleArr[indexNext + 1])) {
10925
+ nextString = titleArr[indexNext + 1].id;
10926
+ let nextIdArr = nextString.split("-");
10927
+ if (((_b = nextIdArr[7]) !== null && _b !== void 0 ? _b : "") == "reportedlocations") {
10928
+ nextString = "";
10929
+ indexNext++;
10930
+ }
10931
+ else {
10932
+ flagNext = false;
10933
+ }
10934
+ }
10935
+ else {
10936
+ indexNext++;
10937
+ }
10938
+ }
10939
+ else {
10940
+ flagNext = false;
10941
+ }
10942
+ }
10943
+ // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + yyyy, null);
10944
+ this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, null, this._SfStreamContainer, prevString, nextString, false, null, null, null, null, null, null, null, true);
10945
+ }
10946
+ });
10947
+ }
10816
10948
  };
10817
10949
  this.renderEventDetailShort = (compliance) => {
10818
10950
  var _a, _b, _c, _f, _g;
@@ -14107,7 +14239,7 @@ let SfIEvents = class SfIEvents extends LitElement {
14107
14239
  }
14108
14240
  }
14109
14241
  };
14110
- this.fetchEventDetails = async (listEvent, mmddyyyy, currentColumnButton, eventsContainer, previousId = "", nextId = "", flagUploadGuidance = false, listEventContainer = null, reportercomments = null, approvercomments = null, inputReportingPercentage = null, selectReportedLocation = null, documents = null, dateOfCompletion = null) => {
14242
+ this.fetchEventDetails = async (listEvent, mmddyyyy, currentColumnButton, eventsContainer, previousId = "", nextId = "", flagUploadGuidance = false, listEventContainer = null, reportercomments = null, approvercomments = null, inputReportingPercentage = null, selectReportedLocation = null, documents = null, dateOfCompletion = null, fromDrilldown = false) => {
14111
14243
  console.log('listEvent', listEvent, listEvent.id);
14112
14244
  let url = "https://" + this.apiId + "/getalleventdetails";
14113
14245
  //console.log('fetch calendar url', url);
@@ -14147,7 +14279,7 @@ let SfIEvents = class SfIEvents extends LitElement {
14147
14279
  }
14148
14280
  }
14149
14281
  else {
14150
- this.renderEventDetail(jsonRespose.data, mmddyyyy, currentColumnButton, eventsContainer, previousId, nextId);
14282
+ this.renderEventDetail(jsonRespose.data, mmddyyyy, currentColumnButton, eventsContainer, previousId, nextId, fromDrilldown);
14151
14283
  }
14152
14284
  }
14153
14285
  else {
@@ -14166,7 +14298,7 @@ let SfIEvents = class SfIEvents extends LitElement {
14166
14298
  }
14167
14299
  }
14168
14300
  };
14169
- this.renderEventDetail = (event, mmddyyyy, currentColumnButton, eventsContainer, previousId, nextId) => {
14301
+ this.renderEventDetail = (event, mmddyyyy, currentColumnButton, eventsContainer, previousId, nextId, fromDrilldown) => {
14170
14302
  var _a, _b, _c, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
14171
14303
  console.log('event details', event, mmddyyyy, currentColumnButton == null ? "null currentColumnButton" : currentColumnButton.id);
14172
14304
  console.log('previousid', previousId, 'nextid', nextId);
@@ -14476,7 +14608,7 @@ let SfIEvents = class SfIEvents extends LitElement {
14476
14608
  html += '</div>';
14477
14609
  html += '</div>';
14478
14610
  if (this.mode == "consumer" || this.mode == "next" || this.mode == "viewer") {
14479
- if (this.mode != "viewer") {
14611
+ if (this.mode != "viewer" && !fromDrilldown) {
14480
14612
  html += '<div part="reporting-view-container" id="reporting-view-container">';
14481
14613
  html += this.renderReporting(event, mmddyyyy);
14482
14614
  html += "</div>";
@@ -17712,7 +17844,21 @@ let SfIEvents = class SfIEvents extends LitElement {
17712
17844
  this.loadOnboardingSignoff();
17713
17845
  });
17714
17846
  };
17715
- this.renderOnboardingSuspense = (sourceArray, suspenseList) => {
17847
+ this.getAllPastFiscals = (startDate) => {
17848
+ let retArr = [];
17849
+ let date = new Date();
17850
+ while (date.getTime() > startDate.getTime()) {
17851
+ if (date.getMonth() < 3) {
17852
+ retArr.push(date.getFullYear() - 1);
17853
+ }
17854
+ else {
17855
+ retArr.push(date.getFullYear());
17856
+ }
17857
+ date.setFullYear(date.getFullYear() - 1);
17858
+ }
17859
+ return retArr;
17860
+ };
17861
+ this.renderOnboardingSuspense = (sourceArray, suspenseList, year) => {
17716
17862
  console.log('sourceList', sourceArray);
17717
17863
  console.log('suspenseList', suspenseList);
17718
17864
  let sourceCols = ["shortid", "obligationtitle", "obligationtype"];
@@ -17738,7 +17884,13 @@ let SfIEvents = class SfIEvents extends LitElement {
17738
17884
  changed++;
17739
17885
  }
17740
17886
  }
17741
- html += ('<div class="left-sticky d-flex justify-between align-center mr-10"><h4 id="mapped-stats-title" part="results-title" class="d-flex align-center m-0">' + status + '&nbsp;&nbsp; ' + tagged + ' in Suspense List out of ' + sourceArray.data.mappings.mappings.length + '</h4></div>');
17887
+ let pastFiscals = [parseInt(this.getCurrentYearGeneric())];
17888
+ if (this.contractStartDate != null) {
17889
+ pastFiscals = this.getAllPastFiscals(new Date(this.contractStartDate));
17890
+ }
17891
+ html += (`<div class="left-sticky d-flex justify-between align-center mr-10"><h4 id="mapped-stats-title" part="results-title" class="d-flex align-center m-0">${status}&nbsp;&nbsp; ${tagged} in Suspense List out of ${sourceArray.data.mappings.mappings.length}</h4><h6 class="ml-20" part="onboarding-suspense-year-label">Year</h6><select id="select-year" part="input">${pastFiscals.map((fiscal) => {
17892
+ return `<option value="${fiscal}"${fiscal == parseInt(year) ? " selected" : ""}>${fiscal}-${(fiscal % 100) + 1}</option>`;
17893
+ })}</select></div>`);
17742
17894
  if (changed > 0) {
17743
17895
  html += ('<div class="left-sticky d-flex justify-between align-center mr-10"><h4 part="results-title" class="d-flex align-center m-0"><span class="color-pending material-icons">pending</span>&nbsp;&nbsp;' + changed + ' Items changed</h4></div>');
17744
17896
  }
@@ -17861,6 +18013,11 @@ let SfIEvents = class SfIEvents extends LitElement {
17861
18013
  // html += '</div>';
17862
18014
  html += '</div>';
17863
18015
  this._SfOnboardingSuspenseContainer.innerHTML = html;
18016
+ const inputYear = this._SfOnboardingSuspenseContainer.querySelector('#select-year');
18017
+ inputYear.addEventListener('change', (e) => {
18018
+ const selectedYear = e.currentTarget.value;
18019
+ this.loadOnboardingSuspense(selectedYear);
18020
+ });
17864
18021
  const buttonApply = this._SfOnboardingSuspenseContainer.querySelector('.button-apply');
17865
18022
  buttonApply.addEventListener('click', () => {
17866
18023
  let inputSuspenseCheckboxes = this._SfOnboardingSuspenseContainer.querySelectorAll('.suspense-input');
@@ -17873,14 +18030,14 @@ let SfIEvents = class SfIEvents extends LitElement {
17873
18030
  tempSuspenseList[suspenseKey] = true;
17874
18031
  }
17875
18032
  }
17876
- this.renderOnboardingSuspense(sourceArray, tempSuspenseList);
18033
+ this.renderOnboardingSuspense(sourceArray, tempSuspenseList, year);
17877
18034
  });
17878
18035
  const buttonSave = this._SfOnboardingSuspenseContainer.querySelector('.button-save');
17879
18036
  buttonSave.addEventListener('click', async () => {
17880
18037
  console.log('saving suspense', suspenseList, Object.keys(suspenseList).length);
17881
- let response = await this.uploadMappedSuspense(suspenseList);
18038
+ let response = await this.uploadMappedSuspense(suspenseList, year);
17882
18039
  console.log('suspense save response', response);
17883
- this.loadOnboardingSuspense();
18040
+ this.loadOnboardingSuspense(year);
17884
18041
  });
17885
18042
  const buttonToggleMoreBack = this._SfOnboardingSuspenseContainer.querySelector('.button-toggle-more-back');
17886
18043
  const buttonToggleMore = this._SfOnboardingSuspenseContainer.querySelector('.button-toggle-more');
@@ -17909,6 +18066,8 @@ let SfIEvents = class SfIEvents extends LitElement {
17909
18066
  tempCsvObj['cols_' + colKey] = dataArr[j];
17910
18067
  }
17911
18068
  }
18069
+ let suspenseKey = tempCsvObj.entityid + ';' + tempCsvObj.locationid + ';' + tempCsvObj.id;
18070
+ tempCsvObj.suspense = (suspenseList[suspenseKey] != null && suspenseList[suspenseKey] != false) ? true : false;
17912
18071
  csvArray[i] = tempCsvObj;
17913
18072
  }
17914
18073
  console.log('csv array', csvArray);
@@ -17956,7 +18115,7 @@ let SfIEvents = class SfIEvents extends LitElement {
17956
18115
  },
17957
18116
  () => {
17958
18117
  this.clearMessages();
17959
- this.renderOnboardingSuspense(sourceArray, tempSuspenseList);
18118
+ this.renderOnboardingSuspense(sourceArray, tempSuspenseList, year);
17960
18119
  }
17961
18120
  ]);
17962
18121
  // let tempObj:any = {"data":{"mappings":{"mappings":tempArr}}}
@@ -22209,12 +22368,13 @@ let SfIEvents = class SfIEvents extends LitElement {
22209
22368
  this.uploadCountriesMapping = async (data) => {
22210
22369
  await this.uploadOnboardingMapping(data, 'countries');
22211
22370
  };
22212
- this.uploadMappedSuspense = async (data) => {
22371
+ this.uploadMappedSuspense = async (data, year) => {
22213
22372
  //console.log('uploading..', data);
22214
22373
  let url = "https://" + this.apiId + "/updatemappedsuspense";
22215
22374
  const body = {
22216
22375
  "projectid": this.projectId,
22217
22376
  "data": JSON.stringify(data),
22377
+ "year": year
22218
22378
  };
22219
22379
  let authorization = btoa(Util.readCookie('email') + ":" + Util.readCookie('accessToken'));
22220
22380
  let xhr = (await this.prepareXhr(body, url, this._SfLoader, authorization));
@@ -23838,10 +23998,12 @@ let SfIEvents = class SfIEvents extends LitElement {
23838
23998
  }
23839
23999
  }
23840
24000
  };
23841
- this.fetchSuspenseList = async () => {
24001
+ this.fetchSuspenseList = async (year = "") => {
23842
24002
  let url = "https://" + this.apiId + "/getsuspenselist1";
23843
24003
  const authorization = btoa(Util.readCookie('email') + ":" + Util.readCookie('accessToken'));
23844
- const year = this.getCurrentYearGeneric();
24004
+ if (year == "") {
24005
+ year = this.getCurrentYearGeneric();
24006
+ }
23845
24007
  const xhr = (await this.prepareXhr({ "projectid": this.projectId, "year": year }, url, this._SfLoader, authorization));
23846
24008
  this._SfLoader.innerHTML = '';
23847
24009
  if (xhr.status == 200) {
@@ -24448,7 +24610,7 @@ let SfIEvents = class SfIEvents extends LitElement {
24448
24610
  let path = "";
24449
24611
  this.sdate = startDate;
24450
24612
  this.edate = endDate;
24451
- path = "getstatistics";
24613
+ path = "getstatistics1";
24452
24614
  let sDate = "";
24453
24615
  let eDate = "";
24454
24616
  //console.log('currenttab', this.getCurrentTab());
@@ -25500,14 +25662,14 @@ let SfIEvents = class SfIEvents extends LitElement {
25500
25662
  let url = "https://" + this.apiId + "/getreports";
25501
25663
  const authorization = btoa(Util.readCookie('email') + ":" + Util.readCookie('accessToken'));
25502
25664
  console.log('this.myroles', this.myroles);
25503
- const xhr = (await this.prepareXhr({ "projectid": this.projectId, "userprofileid": this.userProfileId }, url, this._SfLoader, authorization));
25665
+ const xhr = (await this.prepareXhr({ "projectid": this.projectId, "userprofileid": this.userProfileId, "year": this.calendarStartYYYY }, url, this._SfLoader, authorization));
25504
25666
  this._SfLoader.innerHTML = '';
25505
25667
  if (xhr.status == 200) {
25506
25668
  const jsonRespose = JSON.parse(xhr.responseText);
25507
25669
  let arrReports = (await this.fetchPresignedUrl(jsonRespose.signedUrlGet));
25508
25670
  await this.fetchPresignedUrlDelete(jsonRespose.signedUrlDelete);
25509
- console.log('reports response', arrReports);
25510
- console.log('report', arrReports['3/31/*,30;c989a44e-7d3d-427e-b712-90eacf585075;38dc8c53-643f-4fee-83fe-f15239606277;0a5fb99f-c36f-46c0-85b4-7fa3d48fa134']);
25671
+ console.log('reports response', Object.keys(arrReports).length);
25672
+ console.log('report', arrReports);
25511
25673
  this.renderReports(arrReports);
25512
25674
  }
25513
25675
  else {
@@ -25522,6 +25684,7 @@ let SfIEvents = class SfIEvents extends LitElement {
25522
25684
  }
25523
25685
  };
25524
25686
  this.renderReports = (reportsData) => {
25687
+ var _a;
25525
25688
  let html = '<div class="d-flex flex-col w-100-m-0">';
25526
25689
  html += '<div part="stream-event-list" class="d-flex flex-col align-stretch">';
25527
25690
  for (let reportKey of Object.keys(reportsData)) {
@@ -25542,6 +25705,7 @@ let SfIEvents = class SfIEvents extends LitElement {
25542
25705
  html += '<th part="td-head">Comments</th>';
25543
25706
  html += '<th part="td-head">LastUpdated</th>';
25544
25707
  html += '<th part="td-head">CompletionDate</th>';
25708
+ html += '<th part="td-head">Location</th>';
25545
25709
  html += '<th part="td-head">Compliance</th>';
25546
25710
  html += '</tr>';
25547
25711
  html += '<tr>';
@@ -25552,20 +25716,27 @@ let SfIEvents = class SfIEvents extends LitElement {
25552
25716
  html += `<td part="td-body">${report['comments'].length}</td>`;
25553
25717
  html += `<td part="td-body">${Util.getDateTimeStrings(new Date(report['lastupdated']).getTime())}</td>`;
25554
25718
  html += `<td part="td-body">${new Date(parseInt(report['dateofcompletion'])).toLocaleDateString('en-US', { timeZone: 'Asia/Kolkata' })}</td>`;
25555
- html += '<th part="td-head">';
25556
- // const jsonReportEvent = JSON.parse(report['comments'].reportevent);
25557
- console.log('jsonReportEvent', report['event']);
25719
+ let locationname = "";
25720
+ let eventHtml = "";
25558
25721
  if (report['event'] != null) {
25559
- html += '<table>';
25560
- html += '<tr>';
25722
+ locationname = (_a = JSON.parse(report['event'])['locationname']) !== null && _a !== void 0 ? _a : "";
25561
25723
  for (var i = 0; i < Object.keys(JSON.parse(report['event'])).length; i++) {
25562
25724
  if (!this.EXCLUDE_COLS_FROM_REGS.includes(Object.keys(JSON.parse(report['event']))[i].toLowerCase())) {
25563
- html += '<td part="td-body-register">';
25564
- html += ('<span part="td-head" style="padding-left: 0px !important">' + Object.keys(JSON.parse(report['event']))[i] + '</span>');
25565
- html += ('<span part="td-body"><sf-i-elastic-text exportparts="highlight,highlight-count" text="' + JSON.parse(report['event'])[Object.keys(JSON.parse(report['event']))[i]] + '" lineSize="4" minLength="60"></sf-i-elastic-text>' + '</span>');
25566
- html += '</td>';
25725
+ eventHtml += '<td part="td-body-register">';
25726
+ eventHtml += ('<span part="td-head" style="padding-left: 0px !important">' + Object.keys(JSON.parse(report['event']))[i] + '</span>');
25727
+ eventHtml += ('<span part="td-body"><sf-i-elastic-text exportparts="highlight,highlight-count" text="' + JSON.parse(report['event'])[Object.keys(JSON.parse(report['event']))[i]] + '" lineSize="4" minLength="60"></sf-i-elastic-text>' + '</span>');
25728
+ eventHtml += '</td>';
25567
25729
  }
25568
25730
  }
25731
+ }
25732
+ html += `<td part="td-body">${locationname}</td>`;
25733
+ html += '<th part="td-head">';
25734
+ // const jsonReportEvent = JSON.parse(report['comments'].reportevent);
25735
+ // console.log('jsonReportEvent', report['event']);
25736
+ if (report['event'] != null) {
25737
+ html += '<table>';
25738
+ html += '<tr>';
25739
+ html += eventHtml;
25569
25740
  html += '</tr>';
25570
25741
  html += '</table>';
25571
25742
  }
@@ -25694,24 +25865,49 @@ let SfIEvents = class SfIEvents extends LitElement {
25694
25865
  html += '<button id="button-reports-date-selector-back" part="button-icon" class="button-icon"><span class="material-icons">keyboard_backspace</span></button>';
25695
25866
  html += '</div>';
25696
25867
  html += '<label part="input-label" class="mt-20">Select Date</label>';
25697
- html += '<input part="input" id="input-compliance-date" type="date" class="w-100-m-0" mandatory="" autocomplete="off" style="display: block;">';
25868
+ html += `<input id="input-compliance-date" part="input-text" class="input-text mb-20" type="date" />`;
25869
+ html += `<sf-i-form id="input-location-tags" name="Tags" label="Select Location" apiId="${this.apiIdTags}" mode="select" searchPhrase="${this.projectName}&Location" selectProjection="name" ignoreProjections="[&quot;updatetype&quot;,&quot;project&quot;,&quot;tagtype&quot;,&quot;shortid&quot;,&quot;shortnumid&quot;,&quot;lastmodifiedby&quot;,&quot;lastmodifiedtime&quot;]" mandatory></sf-i-form>`;
25698
25870
  // html += '<button id="button-reports-date-selector-back" class="button-back" part="button">back</button>';
25699
25871
  html += '</div>';
25700
25872
  this._SfIEventsC.querySelector('#reports-data').innerHTML = html;
25701
25873
  let inputComplianceDate = this._SfIEventsC.querySelector('#input-compliance-date');
25874
+ let inputLocationForm = this._SfIEventsC.querySelector('#input-location-tags');
25702
25875
  inputComplianceDate.addEventListener('change', (ev) => {
25703
25876
  let selectedDate = new Date(ev.target.value);
25704
- this.fetchReportCompliances(selectedDate, sortid);
25877
+ let selectedLocation = inputLocationForm.selectedValues()[0];
25878
+ if (selectedLocation == null || selectedLocation == '') {
25879
+ return;
25880
+ // let locationId = sortid.split(';')[2]
25881
+ // selectedLocation = locationId;
25882
+ }
25883
+ this.fetchReportCompliances(selectedDate, selectedLocation, sortid);
25884
+ });
25885
+ let locationId = sortid.split(';')[2];
25886
+ inputLocationForm.selectedSearchId = locationId;
25887
+ inputLocationForm.loadMode();
25888
+ inputLocationForm.addEventListener('valueChanged', (ev) => {
25889
+ let form = ev.target;
25890
+ let selectedDate = new Date(inputComplianceDate.value);
25891
+ if (selectedDate.toString() == 'Invalid Date') {
25892
+ return;
25893
+ // let mmddyyyy = sortid.split(';')[0];
25894
+ // let mm = mmddyyyy.split('/')[0];
25895
+ // let dd = mmddyyyy.split('/')[1];
25896
+ // let yyyy = mmddyyyy.split('/')[2];
25897
+ // selectedDate = new Date(parseInt(yyyy), parseInt(mm) - 1, parseInt(dd));
25898
+ }
25899
+ let selectedLocation = form.selectedValues()[0];
25900
+ this.fetchReportCompliances(selectedDate, selectedLocation, sortid);
25705
25901
  });
25706
25902
  let buttonBack = this._SfIEventsC.querySelector('#button-reports-date-selector-back');
25707
25903
  buttonBack.addEventListener('click', () => {
25708
25904
  this.fetchReports();
25709
25905
  });
25710
25906
  };
25711
- this.fetchReportCompliances = async (selectedDate, sortid) => {
25907
+ this.fetchReportCompliances = async (selectedDate, locationid, sortid) => {
25712
25908
  console.log('fetching compliances', sortid);
25713
25909
  let complianceEntityId = sortid.split(';')[1];
25714
- let complianceLocationId = sortid.split(';')[2];
25910
+ // let complianceLocationId = sortid.split(';')[2]
25715
25911
  let url = "https://" + this.apiId + "/getallcountryevents5";
25716
25912
  let sDateObj = selectedDate;
25717
25913
  sDateObj.setDate(selectedDate.getDate() - 60);
@@ -25734,7 +25930,7 @@ let SfIEvents = class SfIEvents extends LitElement {
25734
25930
  day = '0' + day;
25735
25931
  let eDate = month + "/" + day + "/" + year;
25736
25932
  //console.log('fetch calendar url', url);
25737
- let urlBody = { "projectid": this.projectId, "userprofileid": this.userProfileId, "role": this.myRole, "entityid": complianceEntityId, "countryid": "", "functionid": "", "locationid": complianceLocationId, "tagid": this.tagId, "adhoc": "false", "exclusivestartkey": 0, "sdate": sDate, "edate": eDate, "view": "location", "year": this.calendarStartYYYY };
25933
+ let urlBody = { "projectid": this.projectId, "userprofileid": this.userProfileId, "role": this.myRole, "entityid": complianceEntityId, "countryid": "", "functionid": "", "locationid": locationid, "tagid": this.tagId, "adhoc": "false", "exclusivestartkey": 0, "sdate": sDate, "edate": eDate, "view": "location", "year": this.calendarStartYYYY };
25738
25934
  const authorization = btoa(Util.readCookie('email') + ":" + Util.readCookie('accessToken'));
25739
25935
  const xhr = (await this.prepareXhr(urlBody, url, this._SfLoader, authorization, 'Preparing'));
25740
25936
  this._SfLoader.innerHTML = '';
@@ -25744,7 +25940,7 @@ let SfIEvents = class SfIEvents extends LitElement {
25744
25940
  let arrCompliances = (await this.fetchPresignedUrl(jsonRespose.signedUrlGet));
25745
25941
  await this.fetchPresignedUrlDelete(jsonRespose.signedUrlDelete);
25746
25942
  console.log('receivedCompliacnes', arrCompliances);
25747
- this.renderReportsComplainces(arrCompliances, sortid);
25943
+ this.renderReportsCompliances(arrCompliances, sortid);
25748
25944
  }
25749
25945
  else {
25750
25946
  if (xhr.status == 401) {
@@ -25765,7 +25961,7 @@ let SfIEvents = class SfIEvents extends LitElement {
25765
25961
  }
25766
25962
  }
25767
25963
  };
25768
- this.renderReportsComplainces = (compliancesData, sortid) => {
25964
+ this.renderReportsCompliances = (compliancesData, sortid) => {
25769
25965
  let eventsData = {};
25770
25966
  let complianceId = sortid.split(';')[3];
25771
25967
  console.log('renderReportsComplainces', compliancesData, complianceId);