sf-i-events 1.0.712 → 1.0.714

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
@@ -2489,14 +2489,14 @@ let SfIEvents = class SfIEvents extends LitElement {
2489
2489
  }
2490
2490
  return graphParam;
2491
2491
  };
2492
- this.renderCalendarAnnotations = (event) => {
2492
+ this.renderCalendarAnnotations = (event, mmdd, i, j) => {
2493
2493
  var html = '';
2494
2494
  html += '<div class="hidden-filtername hide"><table><thead><th part="badge-filter-name" class="filtername"></th></thead></table></div>';
2495
2495
  let reporterStr = this.getReporterStringFromEvent(event);
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"><div part="badge-filter-name" class="graphparamname graphparamname1 mb-20">' + graphParam.split(';')[0] + '</div>' + reporterStr + approverStr + '</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">summarize</button></div>';
2500
2500
  return html;
2501
2501
  };
2502
2502
  this.renderEvents = (_firstDay, _endDay, iInit, iLast, showGraph, index, month, period, firstDate = null, parametersTitle) => {
@@ -2654,7 +2654,8 @@ let SfIEvents = class SfIEvents extends LitElement {
2654
2654
  html += this.renderCalendarRowDivItemDivStart(mmdd, this.events[mmdd][j], j, partStatus);
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
- html += this.renderCalendarAnnotations(this.events[mmdd][j]);
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
2659
  html += this.renderCalendarRowDivItemDivEnd();
2659
2660
  }
2660
2661
  html += this.renderCalendarRowDivEnd();
@@ -2699,6 +2700,455 @@ let SfIEvents = class SfIEvents extends LitElement {
2699
2700
  this.htmlDataStats += '<tr><td class="w-14 text-center td-odd">' + total + '</td><td class="w-14 text-center td-odd">' + scheduled + '</td><td class="w-14 text-center td-odd">' + notComplied + '</td><td class="w-14 text-center td-odd">' + partiallyComplied + '</td><td class="w-14 text-center td-odd">' + complied + '</td><tr></table>';
2700
2701
  return html;
2701
2702
  };
2703
+ this.renderReporting = (event, mmddyyyy) => {
2704
+ let html = '';
2705
+ let completeness = this.getCompletenessStatus(event);
2706
+ let docs = event['documents'] == null ? [] : event['documents'] == null ? [] : (event['documents']);
2707
+ let approved = event['approved'] == null ? false : event['approved'] == null ? false : event['approved'];
2708
+ let dateOfCompletion = event['dateofcompletion'] == null ? '' : event['dateofcompletion'] == null ? '' : event['dateofcompletion'];
2709
+ let makercheckers = event['makercheckers'] == null ? [] : event['makercheckers'] == null ? [] : event['makercheckers'];
2710
+ let docsOptional = event['docs'] == null ? [] : event['docs'] == null ? [] : event['docs'];
2711
+ if (this.myRole == this.TAB_APPROVER || this.myRole == this.TAB_FUNCTION_HEAD) {
2712
+ if (event.comments.length > 0) {
2713
+ html += '<div class="d-flex justify-between m-20">';
2714
+ html += '<h3 part="results-title" class="m-0"><br />Approve Compliance</h3>';
2715
+ html += '</div>';
2716
+ html += '<div class="m-20" part="report-container">';
2717
+ html += '<div class="d-flex justify-between align-center">';
2718
+ html += '<button class="invisible" part="button">Save</button>';
2719
+ html += '<button id="button-uploader-submit-approve" class="button-submit" part="button">Save</button>';
2720
+ html += '</div>';
2721
+ if (this.myRole != this.TAB_FUNCTION_HEAD && event.docs.length > 0) {
2722
+ html += '<div class="m-20">';
2723
+ html += '<label part="input-label">Supporting Documents</label>';
2724
+ html += '<slot name="uploader"></slot>';
2725
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
2726
+ html += '</div>';
2727
+ }
2728
+ html += '<div class="d-flex m-20 flex-col">';
2729
+ html += '<label part="input-label">Approver Comments*</label>';
2730
+ html += '<input id="input-approver-comments" type="text" part="input" value=""/><br />';
2731
+ html += '<label part="input-label">Date of Completion*</label>';
2732
+ html += '<input id="input-approver-doc" part="input" type="date" value="' + (dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0, 10)) + '" disabled/><br />';
2733
+ html += '<div>';
2734
+ html += '<label part="input-label">Approve?*</label><br />';
2735
+ html += '<div class="mt-5">';
2736
+ html += '<input id="input-approve-yes" name="radio-approved" type="radio"/> Yes';
2737
+ html += '<input id="input-approve-no" name="radio-approved" type="radio" checked/> No';
2738
+ html += '</div>';
2739
+ html += '</div>';
2740
+ html += '</div>';
2741
+ html += '</div>';
2742
+ }
2743
+ }
2744
+ if (this.myRole == this.TAB_REPORTER || this.myRole == this.TAB_FUNCTION_HEAD) {
2745
+ html += '<div class="d-flex justify-between m-20">';
2746
+ html += '<h3 part="results-title" class="m-0"><br />Report Compliance</h3>';
2747
+ html += '</div>';
2748
+ var showSubmissionSection = true;
2749
+ var showGoogleFormLink = false;
2750
+ if (event['form'] != null && event['form'].length > 5) {
2751
+ if (event['form'].indexOf('docs.google.com/forms') >= 0) {
2752
+ showSubmissionSection = false;
2753
+ if (!approved) {
2754
+ showGoogleFormLink = true;
2755
+ }
2756
+ }
2757
+ }
2758
+ if (showGoogleFormLink) {
2759
+ html += ('<div part="detail-summary-form" class="mt-20 pl-20 pr-20"><button part="button" onclick="window.open(\'' + event['form'] + (this.projectId + '_' + event.entityid + '_' + event.locationid + '_' + event['id'] + '_' + mmddyyyy) + '\',\'_blank\')">Submit Via Link</button></div>');
2760
+ }
2761
+ if (showSubmissionSection) {
2762
+ html += '<div class="m-20" part="report-container">';
2763
+ html += '<div class="d-flex justify-between align-center">';
2764
+ html += '<button class="invisible" part="button">Save</button>';
2765
+ html += '<button id="button-uploader-submit-report" class="button-submit" part="button">Save</button>';
2766
+ html += '</div>';
2767
+ html += '<div class="d-flex m-20 flex-col">';
2768
+ html += '<label part="input-label">Reporter Comments*</label>';
2769
+ html += '<input id="input-reporter-comments" type="text" part="input" value=""/><br />';
2770
+ html += '<label part="input-label">Date of Completion*</label>';
2771
+ html += '<input id="input-reporter-doc" part="input" type="date" value="' + (dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0, 10)) + '" max="' + (new Date().toISOString().substring(0, 10)) + '"/><br />';
2772
+ // if(docsOptional.length === 0) {
2773
+ html += '<label part="input-label">Supporting Documents' + ((docsOptional.length > 0) ? '' : '*') + '</label>';
2774
+ if (event['uploadguidance'] != null && event['uploadguidance'].length > 0) {
2775
+ html += ('<div part="uploader-analysis-message">' + event['uploadguidance'] + '</div>');
2776
+ }
2777
+ html += '<slot name="uploader"></slot>';
2778
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
2779
+ // }
2780
+ html += '<br />';
2781
+ if (event['reportformat'] != null && event['reportformat'].length > 0) {
2782
+ html += '<div id="report-format-container"><div class="box"></div></div>';
2783
+ }
2784
+ html += '<br />';
2785
+ if (makercheckers.length > 0) {
2786
+ html += '<div part="td-head" class="td-head d-flex justify-center align-center"><span class="material-symbols-outlined">check_small</span><div>&nbsp;Auto-approve Enabled</div></div>';
2787
+ if (completeness == "pending-approval" && this.enableDeleteLatestReport) {
2788
+ html += '<div part="td-head" class="td-head d-flex justify-center align-center"><button class="mt-5" part="button" id="button-auto-approve">Auto Approve</button></div>';
2789
+ }
2790
+ }
2791
+ html += '</div>';
2792
+ html += '</div>';
2793
+ }
2794
+ }
2795
+ if (this.myRole == this.TAB_AUDITOR) {
2796
+ html += '<div class="d-flex justify-between m-20">';
2797
+ html += '<h3 part="results-title" class="m-0"><br />Audit Compliance</h3>';
2798
+ html += '</div>';
2799
+ html += '<div class="m-20" part="report-container">';
2800
+ html += '<div class="d-flex justify-between align-center">';
2801
+ html += '<button class="invisible" part="button">Save</button>';
2802
+ html += '<button id="button-uploader-submit-audit" class="button-submit" part="button">Save</button>';
2803
+ html += '</div>';
2804
+ html += '<div class="d-flex m-20 flex-col">';
2805
+ html += '<label part="input-label">Auditor Comments</label>';
2806
+ html += '<input id="input-auditor-comments" type="text" part="input" value=""/><br />';
2807
+ html += '<label part="input-label">Date of Completion</label>';
2808
+ html += '<input id="input-auditor-doc" part="input" type="date" value="' + (dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0, 10)) + '" max="' + (new Date().toISOString().substring(0, 10)) + '" readonly/><br />';
2809
+ html += '<div>';
2810
+ html += '<label part="input-label">Approve?</label><br />';
2811
+ html += '<div class="mt-5">';
2812
+ html += '<input id="input-approve-yes" name="radio-approved" type="radio" checked/> Yes';
2813
+ html += '<input id="input-approve-no" name="radio-approved" type="radio"/> No';
2814
+ html += '</div>';
2815
+ html += '</div>';
2816
+ html += '<br />';
2817
+ if (docs.length > 0) {
2818
+ html += '<label part="input-label">Supporting Documents</label>';
2819
+ html += '<slot name="uploader"></slot>';
2820
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
2821
+ }
2822
+ html += '</div>';
2823
+ html += '</div>';
2824
+ }
2825
+ if (this.myRole == this.TAB_VIEWER) {
2826
+ html += '<div class="d-flex justify-between m-20">';
2827
+ html += '<h3 part="results-title" class="m-0"><br />View Compliance</h3>';
2828
+ html += '</div>';
2829
+ html += '<div class="m-20" part="report-container">';
2830
+ html += '<div class="d-flex m-20 flex-col">';
2831
+ html += '<div>';
2832
+ html += '<label part="input-label">Approve?</label><br />';
2833
+ html += '<div class="mt-5">';
2834
+ html += '<input id="input-approve-yes" name="radio-approved" type="radio" checked/> Yes';
2835
+ html += '<input id="input-approve-no" name="radio-approved" type="radio"/> No';
2836
+ html += '</div>';
2837
+ html += '</div>';
2838
+ html += '<br />';
2839
+ if (docs.length === 0) {
2840
+ html += '<label part="input-label">Supporting Documents</label>';
2841
+ html += '<slot name="uploader"></slot>';
2842
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
2843
+ }
2844
+ html += '</div>';
2845
+ html += '</div>';
2846
+ }
2847
+ return html;
2848
+ };
2849
+ this.renderListReporting = (listReportingContainer, event, mmddyyyy, eventsContainer) => {
2850
+ var _a, _b, _c, _f, _g, _h, _j, _k;
2851
+ let html = '';
2852
+ let mmdd = mmddyyyy.split('/')[0] + '/' + mmddyyyy.split('/')[1];
2853
+ let reportformatName = '';
2854
+ if (event['reportformat'] != null) {
2855
+ reportformatName = ((_a = event['reportformat'][0]) !== null && _a !== void 0 ? _a : "").trim().replace('&amp;', '&');
2856
+ }
2857
+ let docs = event['documents'] == null ? [] : event['documents'] == null ? [] : (event['documents']);
2858
+ html = this.renderReporting(event, mmddyyyy);
2859
+ console.log('reporting html', html);
2860
+ let listReportingContainers = eventsContainer.querySelectorAll('.list-reporting-container');
2861
+ for (let tempReportingContainer of listReportingContainers) {
2862
+ tempReportingContainer.style.display = 'none';
2863
+ tempReportingContainer.innerHTML = '';
2864
+ }
2865
+ listReportingContainer.style.display = 'flex';
2866
+ listReportingContainer.innerHTML = html;
2867
+ (_b = listReportingContainer.querySelector('.button-delete')) === null || _b === void 0 ? void 0 : _b.addEventListener('click', async () => {
2868
+ await this.fetchDeleteReview(event["id"], mmddyyyy, event.entityid, event.locationid);
2869
+ this.setSuccess('Deleted successfully!');
2870
+ setTimeout(() => {
2871
+ this.clearMessages();
2872
+ }, 3000);
2873
+ //console.log('deleted', resultDelete);
2874
+ if (this.getCurrentTab() == this.TAB_CUSTOM) {
2875
+ this.processDateSelection(this._SfCustomContainer);
2876
+ }
2877
+ else {
2878
+ // if(currentColumnButton != null) {
2879
+ // currentColumnButton.click();
2880
+ // }
2881
+ }
2882
+ });
2883
+ (_c = listReportingContainer.querySelector('#button-auto-approve')) === null || _c === void 0 ? void 0 : _c.addEventListener('click', async () => {
2884
+ await this.uploadReview(event.entityid, event.locationid, mmddyyyy, event["id"], "Auto approved", true);
2885
+ this.setSuccess('Auto-Approved successfully!');
2886
+ setTimeout(() => {
2887
+ this.clearMessages();
2888
+ }, 3000);
2889
+ if (this.getCurrentTab() == this.TAB_CUSTOM) {
2890
+ this.processDateSelection(this._SfCustomContainer);
2891
+ }
2892
+ else {
2893
+ // if(currentColumnButton != null) {
2894
+ // currentColumnButton.click();
2895
+ // }
2896
+ }
2897
+ });
2898
+ if (this.mode == "consumer" || this.mode == "next") {
2899
+ (_f = listReportingContainer.querySelector('#button-uploader-submit-approve')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', async () => {
2900
+ const comments = listReportingContainer.querySelector('#input-approver-comments').value;
2901
+ const approved = listReportingContainer.querySelector('#input-approve-yes').checked;
2902
+ await this.uploadReview(event.entityid, event.locationid, mmddyyyy, event["id"], comments, approved);
2903
+ for (var p = 0; p < this.events[mmdd].length; p++) {
2904
+ if (this.events[mmdd][p].id == event.id && this.events[mmdd][p].locationid == event.locationid && this.events[mmdd][p].entityid == event.entityid) {
2905
+ this.events[mmdd][p].comments.push({ 'author': 'Approver', 'comment': comments + ` (Approved: ${approved ? 'Yes' : 'No'})`, 'timestamp': new Date().toISOString() });
2906
+ this.events[mmdd][p].lastupdated = new Date().toISOString();
2907
+ }
2908
+ }
2909
+ if (this.mode == "next") {
2910
+ // this.fetchNext(this.nextPage)
2911
+ this.renderRoleTabsNext(this.nextPage);
2912
+ }
2913
+ else {
2914
+ if (this.getCurrentTab() == this.TAB_CUSTOM) {
2915
+ this.processDateSelection(this._SfCustomContainer);
2916
+ }
2917
+ else if (this.getCurrentTab() == this.TAB_FIND) {
2918
+ const searchString = this._SfFindContainer.querySelector('#stream-search').value;
2919
+ this.processFindSelection(this._SfFindContainer, searchString);
2920
+ }
2921
+ else {
2922
+ if (this.selectedItemIds.length > 0) {
2923
+ await this.fetchBulkReportingData();
2924
+ }
2925
+ this.renderAppropriateStream(this.sdate, this.edate, true);
2926
+ }
2927
+ }
2928
+ });
2929
+ (_g = listReportingContainer.querySelector('#button-uploader-submit-audit')) === null || _g === void 0 ? void 0 : _g.addEventListener('click', async () => {
2930
+ const comments = listReportingContainer.querySelector('#input-auditor-comments').value;
2931
+ const approved = listReportingContainer.querySelector('#input-approve-yes').checked;
2932
+ if (comments.trim().length === 0) {
2933
+ this.setError('Comments cannot be blank!');
2934
+ setTimeout(() => {
2935
+ this.clearMessages();
2936
+ }, 3000);
2937
+ }
2938
+ else {
2939
+ await this.uploadAudit(event.entityid, event.locationid, mmddyyyy, event["id"], comments, approved);
2940
+ for (var p = 0; p < this.events[mmdd].length; p++) {
2941
+ if (this.events[mmdd][p].id == event.id && this.events[mmdd][p].locationid == event.locationid && this.events[mmdd][p].entityid == event.entityid) {
2942
+ this.events[mmdd][p].approved = approved;
2943
+ this.events[mmdd][p].comments.push({ 'author': 'Auditor', 'comment': comments + ` (Approved: ${approved ? 'Yes' : 'No'})`, 'timestamp': new Date().toISOString() });
2944
+ this.events[mmdd][p].lastupdated = new Date().toISOString();
2945
+ }
2946
+ }
2947
+ if (this.mode == "next") {
2948
+ this.fetchNext(this.nextPage, this.nextTabRole, this.nextTabStatus);
2949
+ }
2950
+ else {
2951
+ if (this.getCurrentTab() == this.TAB_CUSTOM) {
2952
+ this.processDateSelection(this._SfCustomContainer);
2953
+ }
2954
+ else if (this.getCurrentTab() == this.TAB_FIND) {
2955
+ const searchString = this._SfFindContainer.querySelector('#stream-search').value;
2956
+ this.processFindSelection(this._SfFindContainer, searchString);
2957
+ }
2958
+ else {
2959
+ if (this.selectedItemIds.length > 0) {
2960
+ await this.fetchBulkReportingData();
2961
+ }
2962
+ this.renderAppropriateStream(this.sdate, this.edate, true);
2963
+ // if(currentColumnButton != null) {
2964
+ // currentColumnButton.click();
2965
+ // }
2966
+ }
2967
+ }
2968
+ }
2969
+ });
2970
+ if (this.myRole == this.TAB_REPORTER || this.myRole == this.TAB_FUNCTION_HEAD) {
2971
+ if (event.approved) {
2972
+ if (listReportingContainer.querySelector('#button-uploader-submit-report') != null) {
2973
+ listReportingContainer.querySelector('#button-uploader-submit-report').style.visibility = 'hidden';
2974
+ }
2975
+ }
2976
+ else {
2977
+ if (listReportingContainer.querySelector('#button-uploader-submit-report') != null) {
2978
+ listReportingContainer.querySelector('#button-uploader-submit-report').style.visibility = 'visible';
2979
+ (_h = listReportingContainer.querySelector('#button-uploader-submit-report')) === null || _h === void 0 ? void 0 : _h.addEventListener('click', async () => {
2980
+ var _a, _b;
2981
+ const reportercomments = listReportingContainer.querySelector('#input-reporter-comments').value;
2982
+ //console.log('reporter comments 1', reportercomments);
2983
+ const reporterdoc = listReportingContainer.querySelector('#input-reporter-doc').value.length > 0 ? (new Date(listReportingContainer.querySelector('#input-reporter-doc').value).getTime() + "") : "";
2984
+ let docs = [];
2985
+ //console.log('reporter comments 2', reportercomments);
2986
+ // if(docsOptional.length === 0) {
2987
+ docs = this._SfUploader[0].querySelector('#uploader').selectedValues();
2988
+ // }
2989
+ //console.log('docs', docs);
2990
+ let reportformatvalues = "";
2991
+ let reportformatschema = "";
2992
+ if (this._SfReporting[0] != null) {
2993
+ reportformatvalues = (_a = JSON.stringify(this._SfReporting[0].querySelector('#reporting-format').selectedValues())) !== null && _a !== void 0 ? _a : "";
2994
+ reportformatschema = (_b = this._SfReporting[0].querySelector('#reporting-format').configjson) !== null && _b !== void 0 ? _b : "";
2995
+ }
2996
+ if (docs.length === 0 && event.docsOptional.length === 0) {
2997
+ //console.log('reporter comments 3', reportercomments);
2998
+ this.setError('No documents uploaded!');
2999
+ setTimeout(() => {
3000
+ this.clearMessages();
3001
+ }, 3000);
3002
+ }
3003
+ else {
3004
+ //console.log('reporterdoc', reporterdoc);
3005
+ if (reporterdoc.length === 0) {
3006
+ this.setError('Date of completion not selected!');
3007
+ setTimeout(() => {
3008
+ this.clearMessages();
3009
+ }, 3000);
3010
+ }
3011
+ else {
3012
+ //console.log('makerscheckers 1', reportercomments);
3013
+ if (reportercomments.trim().length === 0) {
3014
+ this.setError('Comments cannot be blank!');
3015
+ setTimeout(() => {
3016
+ this.clearMessages();
3017
+ }, 3000);
3018
+ }
3019
+ else {
3020
+ await this.uploadReport(event.entityid, event.locationid, mmddyyyy, event["id"], reportercomments, reporterdoc, docs, event, reportformatvalues, reportformatschema);
3021
+ console.log('this.events', this.events);
3022
+ for (var p = 0; p < this.events[mmdd].length; p++) {
3023
+ if (this.events[mmdd][p].id == event.id && this.events[mmdd][p].locationid == event.locationid && this.events[mmdd][p].entityid == event.entityid) {
3024
+ this.events[mmdd][p].documents = docs;
3025
+ this.events[mmdd][p].comments.push({ 'author': 'Reporter', 'comment': reportercomments + ` (Documents Saved: ${docs.length}})`, 'timestamp': new Date().toISOString() });
3026
+ this.events[mmdd][p].lastupdated = new Date().toISOString();
3027
+ }
3028
+ }
3029
+ if (event.makercheckers.length > 0) {
3030
+ await this.uploadReview(event.entityid, event.locationid, mmddyyyy, event["id"], "Auto approved", true);
3031
+ for (var p = 0; p < this.events[mmdd].length; p++) {
3032
+ if (this.events[mmdd][p].id == event.id && this.events[mmdd][p].locationid == event.locationid && this.events[mmdd][p].entityid == event.entityid) {
3033
+ this.events[mmdd][p].approved = true;
3034
+ // this.events[mmdd][p].documents = docs
3035
+ this.events[mmdd][p].comments.push({ 'author': 'Auditor', 'comment': `Auto approved (Approved: Yes})`, 'timestamp': new Date().toISOString() });
3036
+ this.events[mmdd][p].lastupdated = new Date().toISOString();
3037
+ }
3038
+ }
3039
+ }
3040
+ if (this.mode == "next") {
3041
+ this.fetchNext(this.nextPage, this.nextTabRole, this.nextTabStatus);
3042
+ }
3043
+ else {
3044
+ if (this.getCurrentTab() == this.TAB_CUSTOM) {
3045
+ this.processDateSelection(this._SfCustomContainer);
3046
+ }
3047
+ else if (this.getCurrentTab() == this.TAB_FIND) {
3048
+ const searchString = this._SfFindContainer.querySelector('#stream-search').value;
3049
+ this.processFindSelection(this._SfFindContainer, searchString);
3050
+ }
3051
+ else {
3052
+ if (this.selectedItemIds.length > 0) {
3053
+ await this.fetchBulkReportingData();
3054
+ }
3055
+ this.renderAppropriateStream(this.sdate, this.edate, true);
3056
+ // if(currentColumnButton != null) {
3057
+ // currentColumnButton.click();
3058
+ // }
3059
+ }
3060
+ }
3061
+ }
3062
+ }
3063
+ }
3064
+ });
3065
+ }
3066
+ }
3067
+ }
3068
+ if (this._SfUploader[0] != null) {
3069
+ if (listReportingContainer.querySelector('.uploader-analysis-message') != null) {
3070
+ listReportingContainer.querySelector('.uploader-analysis-message').style.display = "none";
3071
+ }
3072
+ this._SfUploader[0].querySelector('#uploader').addEventListener('analysisInProgress', (_ev) => {
3073
+ console.log('uploader analysisInProgress', _ev);
3074
+ listReportingContainer.querySelector('.uploader-analysis-message').style.display = "block";
3075
+ });
3076
+ this._SfUploader[0].querySelector('#uploader').addEventListener('analysisCompleted', (_ev) => {
3077
+ console.log('uploader analysisInProgress', _ev);
3078
+ listReportingContainer.querySelector('.uploader-analysis-message').style.display = "none";
3079
+ });
3080
+ //console.log('documentType checking', documentType);
3081
+ if (event.documentType != null) {
3082
+ this._SfUploader[0].querySelector('#uploader').docType = event.documentType;
3083
+ }
3084
+ this._SfUploader[0].querySelector('#uploader').prepopulatedInputArr = JSON.stringify([]);
3085
+ console.log('uploader', this._SfUploader[0].querySelector('#uploader'));
3086
+ this._SfUploader[0].querySelector('#uploader').loadMode();
3087
+ if (docs.length > 0) {
3088
+ this._SfUploader[0].querySelector('#uploader').prepopulatedInputArr = JSON.stringify(docs);
3089
+ this._SfUploader[0].querySelector('#uploader').loadMode();
3090
+ }
3091
+ if (this.myRole == this.TAB_APPROVER || event.approved) {
3092
+ this._SfUploader[0].querySelector('#uploader').readOnly = true;
3093
+ this._SfUploader[0].querySelector('#uploader').loadMode();
3094
+ }
3095
+ else {
3096
+ this._SfUploader[0].querySelector('#uploader').readOnly = false;
3097
+ this._SfUploader[0].querySelector('#uploader').loadMode();
3098
+ }
3099
+ const dataPassthrough = {
3100
+ projectId: this.projectId,
3101
+ countryId: this.countryId,
3102
+ entityId: event.entityid,
3103
+ locationId: event.locationid,
3104
+ mmddyyyy: mmddyyyy,
3105
+ complianceId: event['id'],
3106
+ path: "uploadextract"
3107
+ };
3108
+ const callbackUrlHost = "8icpy39ru0.execute-api.us-east-1.amazonaws.com";
3109
+ const callbackUrlPath = "test/uploadextract";
3110
+ this._SfUploader[0].querySelector('#uploader').projectId = this.projectId;
3111
+ this._SfUploader[0].querySelector('#uploader').dataPassthrough = JSON.stringify(dataPassthrough);
3112
+ this._SfUploader[0].querySelector('#uploader').callbackUrlHost = callbackUrlHost;
3113
+ this._SfUploader[0].querySelector('#uploader').callbackUrlPath = callbackUrlPath;
3114
+ this._SfUploader[0].querySelector('#uploader').loadMode();
3115
+ }
3116
+ //console.log('approved 1', event["approved"], this.myRole, this.TAB_APPROVER);
3117
+ if (this.myRole == this.TAB_APPROVER || this.myRole == this.TAB_VIEWER || this.myRole == this.TAB_AUDITOR || this.myRole == this.TAB_FUNCTION_HEAD) {
3118
+ //console.log('approved 1', event["approved"], this.myRole, this.TAB_APPROVER);
3119
+ if (event["approved"] != null) {
3120
+ if (event["approved"] === true) {
3121
+ //console.log('approved 2', event["approved"], this.myRole, this.TAB_APPROVER);
3122
+ if (listReportingContainer.querySelector('#input-approve-yes') != null) {
3123
+ listReportingContainer.querySelector('#input-approve-yes').checked = true;
3124
+ }
3125
+ if (listReportingContainer.querySelector('#input-approve-no') != null) {
3126
+ listReportingContainer.querySelector('#input-approve-no').checked = false;
3127
+ }
3128
+ }
3129
+ else {
3130
+ if (listReportingContainer.querySelector('#input-approve-yes') != null) {
3131
+ listReportingContainer.querySelector('#input-approve-yes').checked = false;
3132
+ }
3133
+ if (listReportingContainer.querySelector('#input-approve-no') != null) {
3134
+ listReportingContainer.querySelector('#input-approve-no').checked = true;
3135
+ }
3136
+ }
3137
+ }
3138
+ else {
3139
+ if (listReportingContainer.querySelector('#input-approve-yes') != null) {
3140
+ listReportingContainer.querySelector('#input-approve-yes').checked = false;
3141
+ }
3142
+ if (listReportingContainer.querySelector('#input-approve-no') != null) {
3143
+ listReportingContainer.querySelector('#input-approve-no').checked = true;
3144
+ }
3145
+ }
3146
+ }
3147
+ }
3148
+ if (event['reportformat'] != null && event['reportformat'].length > 0) {
3149
+ this.fetchReportFormat(listReportingContainer, reportformatName, (_j = event['reportformatschema']) !== null && _j !== void 0 ? _j : "", (_k = event['reportformatvalues']) !== null && _k !== void 0 ? _k : "");
3150
+ }
3151
+ };
2702
3152
  this.renderStreamEvents = (index, month, year, showGraph = true) => {
2703
3153
  //console.log('flowgraph renderStreamEvents', this.flowGraph);
2704
3154
  const lastDay = this.getLastDayOfMonth(month, year);
@@ -2758,6 +3208,26 @@ let SfIEvents = class SfIEvents extends LitElement {
2758
3208
  buttonRefresh.addEventListener('click', async () => {
2759
3209
  this.processDateSelection(eventsContainer);
2760
3210
  });
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
+ }
2761
3231
  const buttonArr = eventsContainer.querySelectorAll('.button-expand');
2762
3232
  for (var i = 0; i < buttonArr.length; i++) {
2763
3233
  buttonArr[i].addEventListener('click', (ev) => {
@@ -2779,7 +3249,7 @@ let SfIEvents = class SfIEvents extends LitElement {
2779
3249
  // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
2780
3250
  var yyyy = this.getCurrentYear(idArr[3]);
2781
3251
  // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + yyyy, null);
2782
- this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, null);
3252
+ this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, null, eventsContainer);
2783
3253
  });
2784
3254
  }
2785
3255
  const streamEventsContainer = eventsContainer.querySelectorAll('.stream-events-container');
@@ -5367,6 +5837,26 @@ let SfIEvents = class SfIEvents extends LitElement {
5367
5837
  await this.fetchAndYearlyRenderUserCalendar_2(dateResult.startDate, dateResult.endDate);
5368
5838
  this.renderThis(index);
5369
5839
  });
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
+ }
5370
5860
  const buttonArr = this._SfThisContainer.querySelectorAll('.button-expand');
5371
5861
  for (i = 0; i < buttonArr.length; i++) {
5372
5862
  buttonArr[i].addEventListener('click', (ev) => {
@@ -5387,7 +5877,7 @@ let SfIEvents = class SfIEvents extends LitElement {
5387
5877
  // (this._SfDetailContainer as HTMLDivElement).style.display = 'block'
5388
5878
  var yyyy = this.getCurrentYear(idArr[3]);
5389
5879
  // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + yyyy, (this._SfThisContainer as HTMLDivElement).querySelector('#stream-month-'+this.currentColumnIndex) as HTMLButtonElement);
5390
- this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, this._SfThisContainer.querySelector('#stream-month-' + this.currentColumnIndex));
5880
+ this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, this._SfThisContainer.querySelector('#stream-month-' + this.currentColumnIndex), this._SfThisContainer);
5391
5881
  });
5392
5882
  }
5393
5883
  const streamEventsContainer = this._SfThisContainer.querySelectorAll('.stream-events-container');
@@ -5495,7 +5985,7 @@ let SfIEvents = class SfIEvents extends LitElement {
5495
5985
  };
5496
5986
  this.renderButtonRefresh = (eventsContainer) => {
5497
5987
  document.addEventListener('scroll', () => {
5498
- console.log('scroll', window.scrollY);
5988
+ // console.log('scroll',window.scrollY)
5499
5989
  let buttonRefresh = eventsContainer.querySelector('#button-refresh');
5500
5990
  if (window.scrollY > 720) {
5501
5991
  if (buttonRefresh.style.display == "flex") {
@@ -5687,6 +6177,26 @@ let SfIEvents = class SfIEvents extends LitElement {
5687
6177
  this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
5688
6178
  this.renderStream(index);
5689
6179
  });
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
+ }
5690
6200
  const buttonArr = this._SfStreamContainer.querySelectorAll('.button-expand');
5691
6201
  for (i = 0; i < buttonArr.length; i++) {
5692
6202
  buttonArr[i].addEventListener('click', (ev) => {
@@ -5709,7 +6219,7 @@ let SfIEvents = class SfIEvents extends LitElement {
5709
6219
  //console.log('commentsinlist', (this._SfStreamContainer as HTMLDivElement).querySelector('#stream-month-'+this.currentColumnIndex) as HTMLButtonElement, this.events[mmdd][j].comments, mmdd, j);
5710
6220
  var yyyy = this.getCurrentYear(idArr[3]);
5711
6221
  // this.renderEventDetail(this.events[mmdd][j], mmdd + "/" + yyyy, (this._SfStreamContainer as HTMLDivElement).querySelector('#stream-month-'+this.currentColumnIndex) as HTMLButtonElement);
5712
- this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, this._SfStreamContainer.querySelector('#stream-month-' + this.currentColumnIndex));
6222
+ this.fetchEventDetails(this.events[mmdd][j], mmdd + "/" + yyyy, this._SfStreamContainer.querySelector('#stream-month-' + this.currentColumnIndex), this._SfStreamContainer);
5713
6223
  });
5714
6224
  }
5715
6225
  const streamEventsContainer = this._SfStreamContainer.querySelectorAll('.stream-events-container');
@@ -6485,7 +6995,7 @@ let SfIEvents = class SfIEvents extends LitElement {
6485
6995
  }
6486
6996
  });
6487
6997
  };
6488
- this.fetchEventDetails = async (listEvent, mmddyyyy, currentColumnButton) => {
6998
+ this.fetchEventDetails = async (listEvent, mmddyyyy, currentColumnButton, eventsContainer) => {
6489
6999
  console.log('listEvent', listEvent, listEvent.id);
6490
7000
  let url = "https://" + this.apiId + "/getalleventdetails";
6491
7001
  //console.log('fetch calendar url', url);
@@ -6497,7 +7007,7 @@ let SfIEvents = class SfIEvents extends LitElement {
6497
7007
  if (xhr.status == 200) {
6498
7008
  const jsonRespose = JSON.parse(xhr.responseText);
6499
7009
  console.log('jsonRespose', jsonRespose);
6500
- this.renderEventDetail(jsonRespose.data, mmddyyyy, currentColumnButton);
7010
+ this.renderEventDetail(jsonRespose.data, mmddyyyy, currentColumnButton, eventsContainer);
6501
7011
  }
6502
7012
  else {
6503
7013
  if (xhr.status === 404) {
@@ -6511,10 +7021,10 @@ let SfIEvents = class SfIEvents extends LitElement {
6511
7021
  }
6512
7022
  }
6513
7023
  };
6514
- this.renderEventDetail = (event, mmddyyyy, currentColumnButton) => {
7024
+ this.renderEventDetail = (event, mmddyyyy, currentColumnButton, eventsContainer) => {
6515
7025
  var _a, _b, _c, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
6516
7026
  console.log('event details', event, mmddyyyy, currentColumnButton == null ? "null currentColumnButton" : currentColumnButton.id);
6517
- let comments, docs, approved, dateOfCompletion, makercheckers, docsOptional, documentType;
7027
+ let comments, docs, approved, /*dateOfCompletion,*/ makercheckers, docsOptional, documentType;
6518
7028
  let entityId = "";
6519
7029
  let locationId = "";
6520
7030
  let statuteName = "";
@@ -6522,11 +7032,11 @@ let SfIEvents = class SfIEvents extends LitElement {
6522
7032
  let mmdd = mmddyyyy.split('/')[0] + '/' + mmddyyyy.split('/')[1];
6523
7033
  entityId = event.entityid;
6524
7034
  locationId = event.locationid;
6525
- let completeness = this.getCompletenessStatus(event);
7035
+ // let completeness = this.getCompletenessStatus(event);
6526
7036
  comments = event['comments'] == null ? [] : (event['comments']);
6527
7037
  docs = event['documents'] == null ? [] : event['documents'] == null ? [] : (event['documents']);
6528
7038
  approved = event['approved'] == null ? false : event['approved'] == null ? false : event['approved'];
6529
- dateOfCompletion = event['dateofcompletion'] == null ? '' : event['dateofcompletion'] == null ? '' : event['dateofcompletion'];
7039
+ // dateOfCompletion = event['dateofcompletion'] == null ? '' : event['dateofcompletion'] == null ? '' : event['dateofcompletion'];
6530
7040
  makercheckers = event['makercheckers'] == null ? [] : event['makercheckers'] == null ? [] : event['makercheckers'];
6531
7041
  docsOptional = event['docs'] == null ? [] : event['docs'] == null ? [] : event['docs'];
6532
7042
  documentType = event['documenttype'] == null ? null : event['documenttype'][0] == null ? null : event['documenttype'][0].split(" ")[0];
@@ -6542,6 +7052,11 @@ let SfIEvents = class SfIEvents extends LitElement {
6542
7052
  const statuteFields = ['jurisdiction', 'country', 'state', 'category', 'subcategory', 'statute'];
6543
7053
  const complianceFields = ['specificity', 'reference', 'obligation', 'penalty', 'authority', 'frequency', 'obligationtype', 'duedate', 'applicability', 'form'];
6544
7054
  const grcFields = ['internalcontrols', 'firstlineofdefence', 'risk', 'riskarea'];
7055
+ let listReportingContainers = eventsContainer.querySelectorAll('.list-reporting-container');
7056
+ for (let tempReportingContainer of listReportingContainers) {
7057
+ tempReportingContainer.style.display = 'none';
7058
+ tempReportingContainer.innerHTML = '';
7059
+ }
6545
7060
  var html = `
6546
7061
 
6547
7062
  <div class="d-flex justify-between m-20">
@@ -6738,142 +7253,176 @@ let SfIEvents = class SfIEvents extends LitElement {
6738
7253
  //console.log('docs received', event['documents']);
6739
7254
  //console.log('docs received', comments);
6740
7255
  //console.log('docs received', approved);
6741
- if (this.myRole == this.TAB_APPROVER || this.myRole == this.TAB_FUNCTION_HEAD) {
6742
- if (comments.length > 0) {
6743
- html += '<div class="d-flex justify-between m-20">';
6744
- html += '<h3 part="results-title" class="m-0"><br />Approve Compliance</h3>';
6745
- html += '</div>';
6746
- html += '<div class="m-20" part="report-container">';
6747
- html += '<div class="d-flex justify-between align-center">';
6748
- html += '<button class="invisible" part="button">Save</button>';
6749
- html += '<button id="button-uploader-submit-approve" class="button-submit" part="button">Save</button>';
6750
- html += '</div>';
6751
- if (this.myRole != this.TAB_FUNCTION_HEAD && docs.length > 0) {
6752
- html += '<div class="m-20">';
6753
- html += '<label part="input-label">Supporting Documents</label>';
6754
- html += '<slot name="uploader"></slot>';
6755
- html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
6756
- html += '</div>';
6757
- }
6758
- html += '<div class="d-flex m-20 flex-col">';
6759
- html += '<label part="input-label">Approver Comments*</label>';
6760
- html += '<input id="input-approver-comments" type="text" part="input" value=""/><br />';
6761
- html += '<label part="input-label">Date of Completion*</label>';
6762
- html += '<input id="input-approver-doc" part="input" type="date" value="' + (dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0, 10)) + '" disabled/><br />';
6763
- html += '<div>';
7256
+ /* if(this.myRole == this.TAB_APPROVER || this.myRole == this.TAB_FUNCTION_HEAD) {
7257
+
7258
+ if(comments.length > 0) {
7259
+
7260
+ html += '<div class="d-flex justify-between m-20">';
7261
+ html += '<h3 part="results-title" class="m-0"><br />Approve Compliance</h3>';
7262
+ html += '</div>';
7263
+ html += '<div class="m-20" part="report-container">';
7264
+ html += '<div class="d-flex justify-between align-center">'
7265
+ html += '<button class="invisible" part="button">Save</button>'
7266
+ html += '<button id="button-uploader-submit-approve" class="button-submit" part="button">Save</button>'
7267
+ html += '</div>'
7268
+
7269
+ if(this.myRole != this.TAB_FUNCTION_HEAD && docs.length > 0) {
7270
+ html += '<div class="m-20">';
7271
+ html += '<label part="input-label">Supporting Documents</label>';
7272
+ html += '<slot name="uploader"></slot>';
7273
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>'
7274
+ html += '</div>';
7275
+ }
7276
+
7277
+ html += '<div class="d-flex m-20 flex-col">';
7278
+ html += '<label part="input-label">Approver Comments*</label>';
7279
+ html += '<input id="input-approver-comments" type="text" part="input" value=""/><br />';
7280
+ html += '<label part="input-label">Date of Completion*</label>';
7281
+ html += '<input id="input-approver-doc" part="input" type="date" value="'+(dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0,10))+'" disabled/><br />';
7282
+ html += '<div>'
6764
7283
  html += '<label part="input-label">Approve?*</label><br />';
6765
- html += '<div class="mt-5">';
7284
+ html += '<div class="mt-5">'
6766
7285
  html += '<input id="input-approve-yes" name="radio-approved" type="radio"/> Yes';
6767
7286
  html += '<input id="input-approve-no" name="radio-approved" type="radio" checked/> No';
6768
- html += '</div>';
6769
- html += '</div>';
6770
- html += '</div>';
6771
- html += '</div>';
6772
- }
6773
- }
6774
- if (this.myRole == this.TAB_REPORTER || this.myRole == this.TAB_FUNCTION_HEAD) {
6775
- html += '<div class="d-flex justify-between m-20">';
6776
- html += '<h3 part="results-title" class="m-0"><br />Report Compliance</h3>';
7287
+ html += '</div>'
7288
+ html += '</div>';
6777
7289
  html += '</div>';
6778
- var showSubmissionSection = true;
6779
- var showGoogleFormLink = false;
6780
- if (event['form'].length > 5) {
6781
- if (event['form'].indexOf('docs.google.com/forms') >= 0) {
6782
- showSubmissionSection = false;
6783
- if (!approved) {
6784
- showGoogleFormLink = true;
6785
- }
6786
- }
6787
- }
6788
- if (showGoogleFormLink) {
6789
- html += ('<div part="detail-summary-form" class="mt-20 pl-20 pr-20"><button part="button" onclick="window.open(\'' + event['form'] + (this.projectId + '_' + entityId + '_' + locationId + '_' + event['id'] + '_' + mmddyyyy) + '\',\'_blank\')">Submit Via Link</button></div>');
6790
- }
6791
- if (showSubmissionSection) {
6792
- html += '<div class="m-20" part="report-container">';
6793
- html += '<div class="d-flex justify-between align-center">';
6794
- html += '<button class="invisible" part="button">Save</button>';
6795
- html += '<button id="button-uploader-submit-report" class="button-submit" part="button">Save</button>';
6796
- html += '</div>';
6797
- html += '<div class="d-flex m-20 flex-col">';
6798
- html += '<label part="input-label">Reporter Comments*</label>';
6799
- html += '<input id="input-reporter-comments" type="text" part="input" value=""/><br />';
6800
- html += '<label part="input-label">Date of Completion*</label>';
6801
- html += '<input id="input-reporter-doc" part="input" type="date" value="' + (dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0, 10)) + '" max="' + (new Date().toISOString().substring(0, 10)) + '"/><br />';
6802
- // if(docsOptional.length === 0) {
7290
+ html += '</div>';
7291
+
7292
+ }
7293
+
7294
+ }
7295
+
7296
+ if(this.myRole == this.TAB_REPORTER || this.myRole == this.TAB_FUNCTION_HEAD) {
7297
+
7298
+ html += '<div class="d-flex justify-between m-20">';
7299
+ html += '<h3 part="results-title" class="m-0"><br />Report Compliance</h3>';
7300
+ html += '</div>';
7301
+
7302
+ var showSubmissionSection = true;
7303
+ var showGoogleFormLink = false;
7304
+
7305
+ if(event['form'].length > 5) {
7306
+
7307
+ if(event['form'].indexOf('docs.google.com/forms') >= 0) {
7308
+ showSubmissionSection = false;
7309
+ if(!approved) {
7310
+ showGoogleFormLink = true;
7311
+
7312
+ }
7313
+ }
7314
+
7315
+ }
7316
+
7317
+ if(showGoogleFormLink) {
7318
+ html += ('<div part="detail-summary-form" class="mt-20 pl-20 pr-20"><button part="button" onclick="window.open(\'' + event['form'] + (this.projectId + '_' + entityId + '_' + locationId + '_' + event['id'] + '_' + mmddyyyy) + '\',\'_blank\')">Submit Via Link</button></div>');
7319
+ }
7320
+
7321
+ if(showSubmissionSection) {
7322
+
7323
+ html += '<div class="m-20" part="report-container">';
7324
+ html += '<div class="d-flex justify-between align-center">'
7325
+ html += '<button class="invisible" part="button">Save</button>'
7326
+ html += '<button id="button-uploader-submit-report" class="button-submit" part="button">Save</button>'
7327
+ html += '</div>'
7328
+
7329
+ html += '<div class="d-flex m-20 flex-col">';
7330
+ html += '<label part="input-label">Reporter Comments*</label>';
7331
+ html += '<input id="input-reporter-comments" type="text" part="input" value=""/><br />';
7332
+ html += '<label part="input-label">Date of Completion*</label>';
7333
+ html += '<input id="input-reporter-doc" part="input" type="date" value="'+(dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0,10))+'" max="'+(new Date().toISOString().substring(0, 10))+'"/><br />';
7334
+ // if(docsOptional.length === 0) {
6803
7335
  html += '<label part="input-label">Supporting Documents' + ((docsOptional.length > 0) ? '' : '*') + '</label>';
6804
- if (event['uploadguidance'] != null && event['uploadguidance'].length > 0) {
6805
- html += ('<div part="uploader-analysis-message">' + event['uploadguidance'] + '</div>');
7336
+
7337
+ if(event['uploadguidance'] != null && event['uploadguidance'].length > 0) {
7338
+ html += ('<div part="uploader-analysis-message">'+event['uploadguidance']+'</div>');
6806
7339
  }
7340
+
6807
7341
  html += '<slot name="uploader"></slot>';
6808
- html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
6809
- // }
6810
- html += '<br />';
6811
- if (event['reportformat'] != null && event['reportformat'].length > 0) {
6812
- html += '<div id="report-format-container"><div class="box"></div></div>';
6813
- }
6814
- html += '<br />';
6815
- if (makercheckers.length > 0) {
6816
- html += '<div part="td-head" class="td-head d-flex justify-center align-center"><span class="material-symbols-outlined">check_small</span><div>&nbsp;Auto-approve Enabled</div></div>';
6817
- if (completeness == "pending-approval" && this.enableDeleteLatestReport) {
6818
- html += '<div part="td-head" class="td-head d-flex justify-center align-center"><button class="mt-5" part="button" id="button-auto-approve">Auto Approve</button></div>';
6819
- }
6820
- }
6821
- html += '</div>';
6822
- html += '</div>';
6823
- }
6824
- }
6825
- if (this.myRole == this.TAB_AUDITOR) {
6826
- html += '<div class="d-flex justify-between m-20">';
6827
- html += '<h3 part="results-title" class="m-0"><br />Audit Compliance</h3>';
7342
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>'
7343
+ // }
7344
+ html += '<br />';
7345
+ if(event['reportformat'] != null && event['reportformat'].length > 0){
7346
+ html += '<div id="report-format-container"><div class="box"></div></div>'
7347
+ }
7348
+ html += '<br />';
7349
+ if(makercheckers.length > 0) {
7350
+ html += '<div part="td-head" class="td-head d-flex justify-center align-center"><span class="material-symbols-outlined">check_small</span><div>&nbsp;Auto-approve Enabled</div></div>';
7351
+
7352
+ if(completeness == "pending-approval" && this.enableDeleteLatestReport) {
7353
+ html += '<div part="td-head" class="td-head d-flex justify-center align-center"><button class="mt-5" part="button" id="button-auto-approve">Auto Approve</button></div>';
7354
+ }
7355
+ }
6828
7356
  html += '</div>';
6829
- html += '<div class="m-20" part="report-container">';
6830
- html += '<div class="d-flex justify-between align-center">';
6831
- html += '<button class="invisible" part="button">Save</button>';
6832
- html += '<button id="button-uploader-submit-audit" class="button-submit" part="button">Save</button>';
6833
7357
  html += '</div>';
6834
- html += '<div class="d-flex m-20 flex-col">';
7358
+
7359
+ }
7360
+
7361
+
7362
+
7363
+
7364
+ }
7365
+
7366
+ if(this.myRole == this.TAB_AUDITOR) {
7367
+
7368
+ html += '<div class="d-flex justify-between m-20">';
7369
+ html += '<h3 part="results-title" class="m-0"><br />Audit Compliance</h3>';
7370
+ html += '</div>';
7371
+ html += '<div class="m-20" part="report-container">';
7372
+ html += '<div class="d-flex justify-between align-center">'
7373
+ html += '<button class="invisible" part="button">Save</button>'
7374
+ html += '<button id="button-uploader-submit-audit" class="button-submit" part="button">Save</button>'
7375
+ html += '</div>'
7376
+
7377
+ html += '<div class="d-flex m-20 flex-col">';
6835
7378
  html += '<label part="input-label">Auditor Comments</label>';
6836
7379
  html += '<input id="input-auditor-comments" type="text" part="input" value=""/><br />';
6837
7380
  html += '<label part="input-label">Date of Completion</label>';
6838
- html += '<input id="input-auditor-doc" part="input" type="date" value="' + (dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0, 10)) + '" max="' + (new Date().toISOString().substring(0, 10)) + '" readonly/><br />';
6839
- html += '<div>';
6840
- html += '<label part="input-label">Approve?</label><br />';
6841
- html += '<div class="mt-5">';
6842
- html += '<input id="input-approve-yes" name="radio-approved" type="radio" checked/> Yes';
6843
- html += '<input id="input-approve-no" name="radio-approved" type="radio"/> No';
6844
- html += '</div>';
6845
- html += '</div>';
7381
+ html += '<input id="input-auditor-doc" part="input" type="date" value="'+(dateOfCompletion == "" ? dateOfCompletion : new Date(parseInt(dateOfCompletion)).toISOString().substring(0,10))+'" max="'+(new Date().toISOString().substring(0, 10))+'" readonly/><br />';
7382
+ html += '<div>'
7383
+ html += '<label part="input-label">Approve?</label><br />';
7384
+ html += '<div class="mt-5">'
7385
+ html += '<input id="input-approve-yes" name="radio-approved" type="radio" checked/> Yes';
7386
+ html += '<input id="input-approve-no" name="radio-approved" type="radio"/> No';
7387
+ html += '</div>'
7388
+ html += '</div>';
6846
7389
  html += '<br />';
6847
- if (docs.length > 0) {
6848
- html += '<label part="input-label">Supporting Documents</label>';
6849
- html += '<slot name="uploader"></slot>';
6850
- html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
7390
+ if(docs.length > 0) {
7391
+ html += '<label part="input-label">Supporting Documents</label>';
7392
+ html += '<slot name="uploader"></slot>';
7393
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>'
6851
7394
  }
6852
- html += '</div>';
6853
- html += '</div>';
7395
+ html += '</div>';
7396
+ html += '</div>';
7397
+
6854
7398
  }
6855
- if (this.myRole == this.TAB_VIEWER) {
6856
- html += '<div class="d-flex justify-between m-20">';
6857
- html += '<h3 part="results-title" class="m-0"><br />View Compliance</h3>';
6858
- html += '</div>';
6859
- html += '<div class="m-20" part="report-container">';
6860
- html += '<div class="d-flex m-20 flex-col">';
6861
- html += '<div>';
6862
- html += '<label part="input-label">Approve?</label><br />';
6863
- html += '<div class="mt-5">';
6864
- html += '<input id="input-approve-yes" name="radio-approved" type="radio" checked/> Yes';
6865
- html += '<input id="input-approve-no" name="radio-approved" type="radio"/> No';
6866
- html += '</div>';
6867
- html += '</div>';
7399
+
7400
+ if(this.myRole == this.TAB_VIEWER) {
7401
+
7402
+ html += '<div class="d-flex justify-between m-20">';
7403
+ html += '<h3 part="results-title" class="m-0"><br />View Compliance</h3>';
7404
+ html += '</div>';
7405
+ html += '<div class="m-20" part="report-container">';
7406
+
7407
+ html += '<div class="d-flex m-20 flex-col">';
7408
+ html += '<div>'
7409
+ html += '<label part="input-label">Approve?</label><br />';
7410
+ html += '<div class="mt-5">'
7411
+ html += '<input id="input-approve-yes" name="radio-approved" type="radio" checked/> Yes';
7412
+ html += '<input id="input-approve-no" name="radio-approved" type="radio"/> No';
7413
+ html += '</div>'
7414
+ html += '</div>';
6868
7415
  html += '<br />';
6869
- if (docs.length === 0) {
6870
- html += '<label part="input-label">Supporting Documents</label>';
6871
- html += '<slot name="uploader"></slot>';
6872
- html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>';
7416
+ if(docs.length === 0) {
7417
+ html += '<label part="input-label">Supporting Documents</label>';
7418
+ html += '<slot name="uploader"></slot>';
7419
+ html += '<div part="uploader-analysis-message" class="uploader-analysis-message mt-20">The analysis is running in the background. You can proceed further.</div>'
6873
7420
  }
6874
- html += '</div>';
6875
- html += '</div>';
6876
- }
7421
+ html += '</div>';
7422
+ html += '</div>';
7423
+
7424
+ } */
7425
+ html += this.renderReporting(event, mmddyyyy);
6877
7426
  html += '<div class="d-flex justify-between m-20">';
6878
7427
  html += '<h3 part="results-title" class="m-0"><br />Comments</h3>';
6879
7428
  html += '</div>';
@@ -7503,7 +8052,7 @@ let SfIEvents = class SfIEvents extends LitElement {
7503
8052
  }
7504
8053
  this.fetchStatuteDefinitionDetails(statuteName);
7505
8054
  if (event['reportformat'] != null && event['reportformat'].length > 0) {
7506
- this.fetchReportFormat(reportformatName, (_p = event['reportformatschema']) !== null && _p !== void 0 ? _p : "", (_q = event['reportformatvalues']) !== null && _q !== void 0 ? _q : "");
8055
+ this.fetchReportFormat(this._SfDetailContainer, reportformatName, (_p = event['reportformatschema']) !== null && _p !== void 0 ? _p : "", (_q = event['reportformatvalues']) !== null && _q !== void 0 ? _q : "");
7507
8056
  }
7508
8057
  };
7509
8058
  this.renderCalendar = () => {
@@ -8321,7 +8870,7 @@ let SfIEvents = class SfIEvents extends LitElement {
8321
8870
  }
8322
8871
  if (equal) {
8323
8872
  multiArr[i].preselectedValues = JSON.stringify(taggingArray.data.mappings.mappings[j][colName]);
8324
- if (taggingArray.data.mappings.mappings[j][colName].length > 0) {
8873
+ if (taggingArray.data.mappings.mappings[j][colName] != null && taggingArray.data.mappings.mappings[j][colName].length > 0) {
8325
8874
  multiArr[i].parentElement.setAttribute("part", "row-mapped");
8326
8875
  }
8327
8876
  }
@@ -13993,7 +14542,7 @@ let SfIEvents = class SfIEvents extends LitElement {
13993
14542
  this.setError(jsonRespose.error);
13994
14543
  }
13995
14544
  };
13996
- this.fetchReportFormat = async (searchName, reportformatschema = "", reportformatvalues = "") => {
14545
+ this.fetchReportFormat = async (reportingContainer, searchName, reportformatschema = "", reportformatvalues = "") => {
13997
14546
  let jsonContentIndex;
13998
14547
  let jsonContentFound = "";
13999
14548
  if (reportformatschema == "") {
@@ -14019,15 +14568,17 @@ let SfIEvents = class SfIEvents extends LitElement {
14019
14568
  console.log('format not found');
14020
14569
  return;
14021
14570
  }
14022
- this._SfDetailContainer.querySelector('#report-format-container').innerHTML = `<slot name="reporting"></slot>`;
14023
- console.log('innerhtml', this._SfDetailContainer.querySelector('#report-format-container').innerHTML);
14024
- this._SfReporting[0].querySelector('#reporting-format').name = searchName;
14025
- this._SfReporting[0].querySelector('#reporting-format').mode = reportformatvalues != "" ? "edit" : "new";
14026
- this._SfReporting[0].querySelector('#reporting-format').configjson = jsonContentFound;
14027
- if (reportformatvalues != "") {
14028
- this._SfReporting[0].querySelector('#reporting-format').prepopulateValJson = reportformatvalues;
14571
+ if (reportingContainer.querySelector('#report-format-container') != null) {
14572
+ reportingContainer.querySelector('#report-format-container').innerHTML = `<slot name="reporting"></slot>`;
14573
+ console.log('innerhtml', reportingContainer.querySelector('#report-format-container').innerHTML);
14574
+ this._SfReporting[0].querySelector('#reporting-format').name = searchName;
14575
+ this._SfReporting[0].querySelector('#reporting-format').mode = reportformatvalues != "" ? "edit" : "new";
14576
+ this._SfReporting[0].querySelector('#reporting-format').configjson = jsonContentFound;
14577
+ if (reportformatvalues != "") {
14578
+ this._SfReporting[0].querySelector('#reporting-format').prepopulateValJson = reportformatvalues;
14579
+ }
14580
+ this._SfReporting[0].querySelector('#reporting-format').loadMode();
14029
14581
  }
14030
- this._SfReporting[0].querySelector('#reporting-format').loadMode();
14031
14582
  };
14032
14583
  this.fetchSearchReportformats = async (searchString, cursor = "") => {
14033
14584
  let url = "https://" + this.apiidReportformats + "/listlarge";
@@ -15716,7 +16267,7 @@ let SfIEvents = class SfIEvents extends LitElement {
15716
16267
  }
15717
16268
  console.log('redering detail', this.myRole);
15718
16269
  // this.renderEventDetail(eventsData[role][mmdd][j], mmdd + "/" + yyyy, null);
15719
- this.fetchEventDetails(eventsData[role][mmdd][j], mmdd + "/" + yyyy, null);
16270
+ this.fetchEventDetails(eventsData[role][mmdd][j], mmdd + "/" + yyyy, null, this._SfIEventsC);
15720
16271
  });
15721
16272
  }
15722
16273
  const streamEventsContainer = this._SfIEventsC.querySelectorAll('.stream-events-container');