sf-i-events 1.0.778 → 1.0.780
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/dev/index.html +8 -8
- package/package.json +1 -1
- package/sf-i-events.d.ts +3 -2
- package/sf-i-events.js +229 -23
- package/src/sf-i-events.ts +260 -24
- package/dev/Untitled-1.json +0 -4835
- package/dev/Untitled-2.json +0 -38553
package/sf-i-events.js
CHANGED
|
@@ -2267,16 +2267,41 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2267
2267
|
html += '<div id="stream-event-filter" part="stream-event-total" class="d-flex flex-wrap"></div>';
|
|
2268
2268
|
return html;
|
|
2269
2269
|
};
|
|
2270
|
+
this.renderCalendarEventSummaryViewer = () => {
|
|
2271
|
+
var html = '';
|
|
2272
|
+
html += '<div id="stream-event-summary" part="stream-event-total" class="d-flex flex-wrap">';
|
|
2273
|
+
html += '<div part="badge-dashboard" class="d-flex flex-col align-start mr-10 mb-10 no-shrink"><div class="d-flex justify-center"><span>Total:</span> <span id="graph-total">DASHBOARD_TOTAL</span></div><div class="d-flex justify-center">DASHBOARD_TOTAL_SUBFILTER</div></div>';
|
|
2274
|
+
html += '<div part="badge-dashboard" id="chip-completeness-0" class="chip stat-completeness d-flex flex-col align-start mr-10 mb-10 no-shrink"><div class="d-flex justify-center"><span class="material-icons color-not-started">schedule</span> <span>Not Started:</span> <span id="graph-not-started">DASHBOARD_NOT_STARTED</span></div><div class="d-flex justify-center">DASHBOARD_NOT_STARTED_SUBFILTER</div></div>';
|
|
2275
|
+
html += '<div part="badge-dashboard" id="chip-completeness-1" class="chip stat-completeness d-flex flex-col align-start mr-10 mb-10 no-shrink"><div class="d-flex justify-center"><span class="material-symbols-outlined color-pending">pending</span> <span>Pending Approval:</span> <span id="graph-pending-approval">DASHBOARD_PENDING_APPROVAL</span></div><div class="d-flex justify-center">DASHBOARD_PENDING_APPROVAL_SUBFILTER</div></div>';
|
|
2276
|
+
html += '<div part="badge-dashboard" id="chip-completeness-2" class="chip stat-completeness d-flex flex-col align-start mr-10 mb-10 no-shrink"><div class="d-flex justify-center"><span class="material-symbols-outlined color-rejected">block</span> <span>Rejected:</span> <span id="graph-rejected">DASHBOARD_REJECTED</span></div><div class="d-flex justify-center">DASHBOARD_REJECTED_SUBFILTER</div></div>';
|
|
2277
|
+
html += '<div part="badge-dashboard" id="chip-completeness-3" class="chip stat-completeness d-flex flex-col align-start mr-10 mb-10 no-shrink"><div class="d-flex justify-center"><span class="material-symbols-outlined color-done">check_circle</span> <span>Approved:</span> <span id="graph-approved">DASHBOARD_APPROVED</span></div><div class="d-flex justify-center">DASHBOARD_APPROVED_SUBFILTER</div></div>';
|
|
2278
|
+
html += '<div part="badge-dashboard" id="chip-timeliness-0" class="chip stat-timeliness justify-center align-center mr-10 mb-10 no-shrink late-statuses"><span class="material-icons color-in-time">schedule</span> <span>In Time:</span> <span id="graph-in-time">DASHBOARD_IN_TIME</span></div>';
|
|
2279
|
+
html += '<div part="badge-dashboard" id="chip-timeliness-1" class="chip stat-timeliness justify-center align-center mr-10 mb-10 no-shrink late-statuses"><span class="material-icons color-past-due-date">timer</span> <span>Past Due Date:</span> <span id="graph-past-due-date">DASHBOARD_PAST_DUE_DATE</span></div>';
|
|
2280
|
+
html += '<div part="badge-dashboard" id="chip-timeliness-2" class="chip stat-timeliness justify-center align-center mr-10 mb-10 no-shrink late-statuses"><span class="material-icons color-late-reported">report_off</span> <span>Late Reported:</span> <span id="graph-late-reported">DASHBOARD_LATE_REPORTED</span></div>';
|
|
2281
|
+
html += '<div part="badge-dashboard" id="chip-timeliness-3" class="chip stat-timeliness justify-center align-center mr-10 mb-10 no-shrink late-statuses"><span class="material-icons color-late-approved">remove_done</span> <span>Late Approved:</span> <span id="graph-late-approved">DASHBOARD_LATE_APPROVED</span></div>';
|
|
2282
|
+
html += '<div part="badge-dashboard" id="chip-timeliness-4" class="chip stat-timeliness justify-center align-center mr-10 mb-10 no-shrink late-statuses"><span class="material-icons color-late-executed">running_with_errors</span> <span>Late Executed:</span> <span id="graph-late-executed">DASHBOARD_LATE_EXECUTED</span></div>';
|
|
2283
|
+
html += '<div part="badge-dashboard" id="chip-compliance-0" class="chip stat-compliance justify-center align-center mr-10 mb-10 no-shrink compliance-statuses"><span class="material-icons color-scheduled">schedule</span> <span>Scheduled:</span> <span id="graph-scheduled">DASHBOARD_SCHEDULED</span></div>';
|
|
2284
|
+
html += '<div part="badge-dashboard" id="chip-compliance-1" class="chip stat-compliance justify-center align-center mr-10 mb-10 no-shrink compliance-statuses"><span class="material-icons color-not-complied">disabled_by_default</span> <span>Not Complied:</span> <span id="graph-not-complied">DASHBOARD_NOT_COMPLIED</span></div>';
|
|
2285
|
+
html += '<div part="badge-dashboard" id="chip-compliance-2" class="chip stat-compliance justify-center align-center mr-10 mb-10 no-shrink compliance-statuses"><span class="material-icons color-partially-complied">rule</span> <span>Partially Complied:</span> <span id="graph-partially-complied">DASHBOARD_PARTIALLY_COMPLIED</span></div>';
|
|
2286
|
+
html += '<div part="badge-dashboard" id="chip-compliance-3" class="chip stat-compliance justify-center align-center mr-10 mb-10 no-shrink compliance-statuses"><span class="material-symbols-outlined color-complied">sweep</span> <span>Complied:</span> <span id="graph-complied">DASHBOARD_COMPLIED</span></div>';
|
|
2287
|
+
html += '</div>';
|
|
2288
|
+
html += '<div id="stream-event-filter" part="stream-event-total" class="d-flex flex-wrap"></div>';
|
|
2289
|
+
return html;
|
|
2290
|
+
};
|
|
2270
2291
|
this.renderStatisticsFiltersTableStart = () => {
|
|
2271
2292
|
var html = '';
|
|
2272
2293
|
html += '<div class="w-100 scroll-x">';
|
|
2273
2294
|
html += '<table id="statistics-table" part="statistics-table" class="statistics-table w-100"><tbody>';
|
|
2274
2295
|
return html;
|
|
2275
2296
|
};
|
|
2276
|
-
this.renderStatisticsFiltersTableRow = () => {
|
|
2297
|
+
this.renderStatisticsFiltersTableRow = (filterUser = false) => {
|
|
2277
2298
|
var html = '';
|
|
2278
2299
|
html += '<tr class="tablerow">';
|
|
2279
|
-
html += '<td part="td-body" class="td-body TD_BODY_CLASS"><div class="d-flex align-center flex-wrap"><div part="td-head" class="pl-0-imp w-100 d-flex align-center">FILTER_CRITERIA_NAME</div><div>DASHBOARD_FILTER_NAME</div
|
|
2300
|
+
html += '<td part="td-body" class="td-body TD_BODY_CLASS"><div class="d-flex align-center flex-wrap"><div part="td-head" class="pl-0-imp w-100 d-flex align-center">FILTER_CRITERIA_NAME</div><div>DASHBOARD_FILTER_NAME</div>';
|
|
2301
|
+
if (filterUser) {
|
|
2302
|
+
html += '<div part="td-head" class="pl-0-imp w-100 d-flex align-center">Last Access</div><div>DASHBOARD_LAST_ACTIVE</div><div part="td-head" class="pl-0-imp w-100 d-flex align-center">Last Action</div><div>DASHBOARD_LAST_ACTION</div>';
|
|
2303
|
+
}
|
|
2304
|
+
html += '</div></td>';
|
|
2280
2305
|
html += '<td part="td-body" class="td-body TD_BODY_CLASS"><div class="d-flex align-center flex-wrap"><div part="td-head" class="pl-0-imp w-100 d-flex align-center"><span class="small-icon material-icons color-not-started">schedule</span> Not Started</div><div>DASHBOARD_NOT_STARTED</div></div></td>';
|
|
2281
2306
|
html += '<td part="td-body" class="td-body TD_BODY_CLASS"><div class="d-flex align-center flex-wrap"><div part="td-head" class="pl-0-imp w-100 d-flex align-center"><span class="small-icon material-symbols-outlined color-pending">pending</span> Pending Approval</div><div>DASHBOARD_PENDING_APPROVAL</div></div></td>';
|
|
2282
2307
|
html += '<td part="td-body" class="td-body TD_BODY_CLASS"><div class="d-flex align-center flex-wrap"><div part="td-head" class="pl-0-imp w-100 d-flex align-center"><span class="small-icon material-symbols-outlined color-rejected">block</span> Rejected</div><div>DASHBOARD_REJECTED</div></div></td>';
|
|
@@ -2287,7 +2312,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2287
2312
|
};
|
|
2288
2313
|
this.renderStatisticsFiltersTableEnd = () => {
|
|
2289
2314
|
var html = '';
|
|
2290
|
-
html += '</tbody></table
|
|
2315
|
+
html += '</tbody></table></div>';
|
|
2291
2316
|
return html;
|
|
2292
2317
|
};
|
|
2293
2318
|
this.getCalendarRowHide = (events, i, lastDay, month, firstDate = null, currDate = null) => {
|
|
@@ -2826,8 +2851,13 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2826
2851
|
return html;
|
|
2827
2852
|
};
|
|
2828
2853
|
this.renderStatistics = (_firstDay, _endDay, iInit, iLast, showGraph, index, month, period, firstDate = null, parametersTitle) => {
|
|
2829
|
-
var _a, _b, _c, _f, _g, _h, _j, _k;
|
|
2854
|
+
var _a, _b, _c, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
2830
2855
|
var total = 0, notStarted = 0, approved = 0, pendingApproval = 0, rejected = 0;
|
|
2856
|
+
let subfiltersTotal = {};
|
|
2857
|
+
let subfiltersNotStarted = {};
|
|
2858
|
+
let subfiltersPendingApproval = {};
|
|
2859
|
+
let subfiltersRejected = {};
|
|
2860
|
+
let subfiltersApproved = {};
|
|
2831
2861
|
var html = '';
|
|
2832
2862
|
// var lastDay = iLast;
|
|
2833
2863
|
// var slice = 2;
|
|
@@ -2836,7 +2866,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2836
2866
|
this.clearSelectedLegend();
|
|
2837
2867
|
html += this.renderCalendarStatisticsGraphs(showGraph, parametersTitle);
|
|
2838
2868
|
html += this.renderCalendarContainerDivStart(index);
|
|
2839
|
-
html += this.
|
|
2869
|
+
html += this.renderCalendarEventSummaryViewer();
|
|
2840
2870
|
let filtersTableHtml = "";
|
|
2841
2871
|
if (Object.keys(this.statisticsFiltersData).length > 0) {
|
|
2842
2872
|
filtersTableHtml += this.renderStatisticsFiltersTableStart();
|
|
@@ -2861,13 +2891,37 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2861
2891
|
// hide = this.getCalendarRowHide(this.events[mmdd], i, lastDay, month, firstDate, currDate);
|
|
2862
2892
|
// }
|
|
2863
2893
|
if (this.statistics[mmdd] != null) {
|
|
2864
|
-
console.log('mmdd', mmdd, this.statistics[mmdd]['approved']);
|
|
2865
2894
|
// html += this.renderCalendarRowDivStart(i, firstDate, mmdd.split("/")[1] + "/" + mmdd.split("/")[0]);
|
|
2866
2895
|
total += this.statistics[mmdd].count;
|
|
2896
|
+
console.log('mmdd', mmdd, this.statistics[mmdd].count, total);
|
|
2867
2897
|
notStarted += (_a = this.statistics[mmdd]["not-started"]) !== null && _a !== void 0 ? _a : 0;
|
|
2868
2898
|
pendingApproval += (_b = this.statistics[mmdd]["pending-approval"]) !== null && _b !== void 0 ? _b : 0;
|
|
2869
2899
|
rejected += (_c = this.statistics[mmdd]["rejected"]) !== null && _c !== void 0 ? _c : 0;
|
|
2870
2900
|
approved += (_f = this.statistics[mmdd]["approved"]) !== null && _f !== void 0 ? _f : 0;
|
|
2901
|
+
for (let subfilter of Object.keys(this.statistics['subfilters'])) {
|
|
2902
|
+
if (subfiltersTotal[subfilter] == null) {
|
|
2903
|
+
subfiltersTotal[subfilter] = 0;
|
|
2904
|
+
}
|
|
2905
|
+
if (subfiltersNotStarted[subfilter] == null) {
|
|
2906
|
+
subfiltersNotStarted[subfilter] = 0;
|
|
2907
|
+
}
|
|
2908
|
+
if (subfiltersPendingApproval[subfilter] == null) {
|
|
2909
|
+
subfiltersPendingApproval[subfilter] = 0;
|
|
2910
|
+
}
|
|
2911
|
+
if (subfiltersRejected[subfilter] == null) {
|
|
2912
|
+
subfiltersRejected[subfilter] = 0;
|
|
2913
|
+
}
|
|
2914
|
+
if (subfiltersApproved[subfilter] == null) {
|
|
2915
|
+
subfiltersApproved[subfilter] = 0;
|
|
2916
|
+
}
|
|
2917
|
+
if (this.statistics['subfilters'][subfilter][mmdd] != null) {
|
|
2918
|
+
subfiltersTotal[subfilter] += (this.statistics['subfilters'][subfilter][mmdd].count);
|
|
2919
|
+
subfiltersNotStarted[subfilter] += ((_g = this.statistics['subfilters'][subfilter][mmdd]['not-started']) !== null && _g !== void 0 ? _g : 0);
|
|
2920
|
+
subfiltersPendingApproval[subfilter] += ((_h = this.statistics['subfilters'][subfilter][mmdd]['pending-approval']) !== null && _h !== void 0 ? _h : 0);
|
|
2921
|
+
subfiltersRejected[subfilter] += ((_j = this.statistics['subfilters'][subfilter][mmdd]['rejected']) !== null && _j !== void 0 ? _j : 0);
|
|
2922
|
+
subfiltersApproved[subfilter] += ((_k = this.statistics['subfilters'][subfilter][mmdd]['approved']) !== null && _k !== void 0 ? _k : 0);
|
|
2923
|
+
}
|
|
2924
|
+
}
|
|
2871
2925
|
}
|
|
2872
2926
|
}
|
|
2873
2927
|
if (Object.keys(this.statisticsFiltersData).length > 0) {
|
|
@@ -2877,6 +2931,13 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2877
2931
|
let filtername = filterval.split(';')[0];
|
|
2878
2932
|
let filterid = filterval.split(';')[1];
|
|
2879
2933
|
let filterTotal = 0, filterNotStarted = 0, filterPendingApproval = 0, filterRejected = 0, filterApproved = 0;
|
|
2934
|
+
let lastActive = "";
|
|
2935
|
+
let lastAction = "";
|
|
2936
|
+
let subfiltersFilterTotal = {};
|
|
2937
|
+
let subfiltersFilterNotStarted = {};
|
|
2938
|
+
let subfiltersFilterPendingApproval = {};
|
|
2939
|
+
let subfiltersFilterRejected = {};
|
|
2940
|
+
let subfiltersFilterApproved = {};
|
|
2880
2941
|
for (var i = iInit; i <= iLast; i++) {
|
|
2881
2942
|
let mmdd = "";
|
|
2882
2943
|
if (firstDate == null) {
|
|
@@ -2888,16 +2949,45 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2888
2949
|
mmdd = ("0" + (currDate.getMonth() + 1)).slice(-2) + "/" + ("0" + currDate.getDate()).slice(-2);
|
|
2889
2950
|
}
|
|
2890
2951
|
if (this.statisticsFiltersData[filtercriteria][filterid] != null) {
|
|
2952
|
+
if (this.statisticsFiltersData[filtercriteria][filterid]['lasttime'] != null) {
|
|
2953
|
+
lastAction = (_l = this.statisticsFiltersData[filtercriteria][filterid]['lasttime']['lastaction']) !== null && _l !== void 0 ? _l : "";
|
|
2954
|
+
lastActive = (_m = this.statisticsFiltersData[filtercriteria][filterid]['lasttime']['lastactive']) !== null && _m !== void 0 ? _m : "";
|
|
2955
|
+
}
|
|
2891
2956
|
if (this.statisticsFiltersData[filtercriteria][filterid][mmdd] != null) {
|
|
2892
2957
|
filterTotal += this.statisticsFiltersData[filtercriteria][filterid][mmdd].count;
|
|
2893
|
-
filterNotStarted += (
|
|
2894
|
-
filterPendingApproval += (
|
|
2895
|
-
filterRejected += (
|
|
2896
|
-
filterApproved += (
|
|
2958
|
+
filterNotStarted += (_o = this.statisticsFiltersData[filtercriteria][filterid][mmdd]['not-started']) !== null && _o !== void 0 ? _o : 0;
|
|
2959
|
+
filterPendingApproval += (_p = this.statisticsFiltersData[filtercriteria][filterid][mmdd]['pending-approval']) !== null && _p !== void 0 ? _p : 0;
|
|
2960
|
+
filterRejected += (_q = this.statisticsFiltersData[filtercriteria][filterid][mmdd]['rejected']) !== null && _q !== void 0 ? _q : 0;
|
|
2961
|
+
filterApproved += (_r = this.statisticsFiltersData[filtercriteria][filterid][mmdd]['approved']) !== null && _r !== void 0 ? _r : 0;
|
|
2962
|
+
for (let subfilter of Object.keys(this.statisticsFiltersData[filtercriteria][filterid]['subfilters'])) {
|
|
2963
|
+
if (subfiltersFilterTotal[subfilter] == null) {
|
|
2964
|
+
subfiltersFilterTotal[subfilter] = 0;
|
|
2965
|
+
}
|
|
2966
|
+
if (subfiltersFilterNotStarted[subfilter] == null) {
|
|
2967
|
+
subfiltersFilterNotStarted[subfilter] = 0;
|
|
2968
|
+
}
|
|
2969
|
+
if (subfiltersFilterPendingApproval[subfilter] == null) {
|
|
2970
|
+
subfiltersFilterPendingApproval[subfilter] = 0;
|
|
2971
|
+
}
|
|
2972
|
+
if (subfiltersFilterRejected[subfilter] == null) {
|
|
2973
|
+
subfiltersFilterRejected[subfilter] = 0;
|
|
2974
|
+
}
|
|
2975
|
+
if (subfiltersFilterApproved[subfilter] == null) {
|
|
2976
|
+
subfiltersFilterApproved[subfilter] = 0;
|
|
2977
|
+
}
|
|
2978
|
+
if (this.statisticsFiltersData[filtercriteria][filterid]['subfilters'][subfilter][mmdd] != null) {
|
|
2979
|
+
subfiltersFilterTotal[subfilter] += (this.statisticsFiltersData[filtercriteria][filterid]['subfilters'][subfilter][mmdd].count);
|
|
2980
|
+
console.log('subfilterTotal', subfiltersFilterTotal);
|
|
2981
|
+
subfiltersFilterNotStarted[subfilter] += ((_s = this.statisticsFiltersData[filtercriteria][filterid]['subfilters'][subfilter][mmdd]['not-started']) !== null && _s !== void 0 ? _s : 0);
|
|
2982
|
+
subfiltersFilterPendingApproval[subfilter] += ((_t = this.statisticsFiltersData[filtercriteria][filterid]['subfilters'][subfilter][mmdd]['pending-approval']) !== null && _t !== void 0 ? _t : 0);
|
|
2983
|
+
subfiltersFilterRejected[subfilter] += ((_u = this.statisticsFiltersData[filtercriteria][filterid]['subfilters'][subfilter][mmdd]['rejected']) !== null && _u !== void 0 ? _u : 0);
|
|
2984
|
+
subfiltersFilterApproved[subfilter] += ((_v = this.statisticsFiltersData[filtercriteria][filterid]['subfilters'][subfilter][mmdd]['approved']) !== null && _v !== void 0 ? _v : 0);
|
|
2985
|
+
}
|
|
2986
|
+
}
|
|
2897
2987
|
}
|
|
2898
2988
|
}
|
|
2899
2989
|
}
|
|
2900
|
-
filtersTableHtml += this.renderStatisticsFiltersTableRow();
|
|
2990
|
+
filtersTableHtml += this.renderStatisticsFiltersTableRow(lastAction != "" || lastActive != "");
|
|
2901
2991
|
if (filterindex % 2 == 0) {
|
|
2902
2992
|
filtersTableHtml = filtersTableHtml.replace(/TD_BODY_CLASS/g, "td-light");
|
|
2903
2993
|
}
|
|
@@ -2906,11 +2996,26 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2906
2996
|
}
|
|
2907
2997
|
filtersTableHtml = filtersTableHtml.replace("FILTER_CRITERIA_NAME", filtercriteria + "");
|
|
2908
2998
|
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_FILTER_NAME", (filtername + "").replace(/\([^)]*\)/g, ""));
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2999
|
+
let filterTotalHtml = filterTotal + "";
|
|
3000
|
+
let filterNotStartedHtml = filterNotStarted + Util.percentageString(filterNotStarted, filterTotal);
|
|
3001
|
+
let filterPendingApprovalHtml = filterPendingApproval + Util.percentageString(filterPendingApproval, filterTotal);
|
|
3002
|
+
let filterRejectedHtml = filterRejected + Util.percentageString(filterRejected, filterTotal);
|
|
3003
|
+
let filterApprovedHtml = filterApproved + Util.percentageString(filterApproved, filterTotal);
|
|
3004
|
+
for (let subfilter of Object.keys(this.statisticsFiltersData[filtercriteria][filterid]['subfilters'])) {
|
|
3005
|
+
filterTotalHtml += `<br />${subfilter}: ${subfiltersFilterTotal[subfilter]}${Util.percentageString(subfiltersFilterTotal[subfilter], filterTotal)}`;
|
|
3006
|
+
filterNotStartedHtml += `<br />${subfilter}: ${subfiltersFilterNotStarted[subfilter]}${Util.percentageString(subfiltersFilterNotStarted[subfilter], filterNotStarted)}`;
|
|
3007
|
+
filterPendingApprovalHtml += `<br />${subfilter}: ${subfiltersFilterPendingApproval[subfilter]}${Util.percentageString(subfiltersFilterPendingApproval[subfilter], filterPendingApproval)}`;
|
|
3008
|
+
filterRejectedHtml += `<br />${subfilter}: ${subfiltersFilterRejected[subfilter]}${Util.percentageString(subfiltersFilterRejected[subfilter], filterRejected)}`;
|
|
3009
|
+
filterApprovedHtml += `<br />${subfilter}: ${subfiltersFilterApproved[subfilter]}${Util.percentageString(subfiltersFilterApproved[subfilter], filterApproved)}`;
|
|
3010
|
+
}
|
|
3011
|
+
console.log('subfilterstotal', subfiltersFilterTotal);
|
|
3012
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_TOTAL", filterTotalHtml);
|
|
3013
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_NOT_STARTED", filterNotStartedHtml);
|
|
3014
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_APPROVED", filterApprovedHtml);
|
|
3015
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_PENDING_APPROVAL", filterPendingApprovalHtml);
|
|
3016
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_REJECTED", filterRejectedHtml);
|
|
3017
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_LAST_ACTION", lastAction);
|
|
3018
|
+
filtersTableHtml = filtersTableHtml.replace("DASHBOARD_LAST_ACTIVE", lastActive);
|
|
2914
3019
|
}
|
|
2915
3020
|
filtersTableHtml += this.renderStatisticsFiltersTableEnd();
|
|
2916
3021
|
}
|
|
@@ -2921,13 +3026,30 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
2921
3026
|
this.period = period;
|
|
2922
3027
|
//console.log('renderevents htmlcols', this.htmlDataCompliances);
|
|
2923
3028
|
console.log('progress', this.period, total, notStarted, approved, this.statistics);
|
|
3029
|
+
let totalHtml = "";
|
|
3030
|
+
let notStartedHtml = "";
|
|
3031
|
+
let pendingApprovalHtml = "";
|
|
3032
|
+
let rejectedHtml = "";
|
|
3033
|
+
let approvedHtml = "";
|
|
3034
|
+
for (let subfilter of Object.keys(this.statistics['subfilters'])) {
|
|
3035
|
+
totalHtml += `<br />${subfilter}: ${subfiltersTotal[subfilter]}${Util.percentageString(subfiltersTotal[subfilter], total)}`;
|
|
3036
|
+
notStartedHtml += `<br />${subfilter}: ${subfiltersNotStarted[subfilter]}${Util.percentageString(subfiltersNotStarted[subfilter], notStarted)}`;
|
|
3037
|
+
pendingApprovalHtml += `<br />${subfilter}: ${subfiltersPendingApproval[subfilter]}${Util.percentageString(subfiltersPendingApproval[subfilter], pendingApproval)}`;
|
|
3038
|
+
rejectedHtml += `<br />${subfilter}: ${subfiltersRejected[subfilter]}${Util.percentageString(subfiltersRejected[subfilter], rejected)}`;
|
|
3039
|
+
approvedHtml += `<br />${subfilter}: ${subfiltersApproved[subfilter]}${Util.percentageString(subfiltersApproved[subfilter], approved)}`;
|
|
3040
|
+
}
|
|
2924
3041
|
html = html.replace("DASHBOARD_TOTAL", total + "");
|
|
3042
|
+
html = html.replace("DASHBOARD_TOTAL_SUBFILTER", totalHtml.replace('<br />', ''));
|
|
2925
3043
|
html = html.replace("DASHBOARD_NOT_STARTED", notStarted + "");
|
|
3044
|
+
html = html.replace("DASHBOARD_NOT_STARTED_SUBFILTER", notStartedHtml.replace('<br />', ''));
|
|
2926
3045
|
html = html.replace("DASHBOARD_APPROVED", approved + "");
|
|
3046
|
+
html = html.replace("DASHBOARD_APPROVED_SUBFILTER", approvedHtml.replace('<br />', ''));
|
|
2927
3047
|
html = html.replace("DASHBOARD_PENDING_APPROVAL", pendingApproval + "");
|
|
3048
|
+
html = html.replace("DASHBOARD_PENDING_APPROVAL_SUBFILTER", pendingApprovalHtml.replace('<br />', ''));
|
|
2928
3049
|
html = html.replace("DASHBOARD_REJECTED", rejected + "");
|
|
3050
|
+
html = html.replace("DASHBOARD_REJECTED_SUBFILTER", rejectedHtml.replace('<br />', ''));
|
|
2929
3051
|
this.htmlDataStats = 'Completeness<br /><br /><table class="w-100"><tr><th class="w-14">Total</th><th class="w-14">Not Started</th><th class="w-14">Approved</th><th class="w-14">Pending Approval</th><th class="w-14">Rejected</th><tr>';
|
|
2930
|
-
this.htmlDataStats += '<tr><td class="w-14 text-center td-odd">' + total + '</td><td class="w-14 text-center td-odd">' + notStarted + '</td><td class="w-14 text-center td-odd">' + approved + '</td><td class="w-14 text-center td-odd">' + pendingApproval + '</td><td class="w-14 text-center td-odd">' + rejected + '</td></table>';
|
|
3052
|
+
this.htmlDataStats += '<tr><td class="w-14 text-center td-odd">' + total + totalHtml + '</td><td class="w-14 text-center td-odd">' + notStarted + notStartedHtml + '</td><td class="w-14 text-center td-odd">' + approved + approvedHtml + '</td><td class="w-14 text-center td-odd">' + pendingApproval + pendingApprovalHtml + '</td><td class="w-14 text-center td-odd">' + rejected + rejectedHtml + '</td></table>';
|
|
2931
3053
|
if (Object.keys(this.statisticsFiltersData).length > 0) {
|
|
2932
3054
|
this.htmlDataStats += '<br /><br />Report<br /><br />';
|
|
2933
3055
|
this.htmlDataStats += filtersTableHtml;
|
|
@@ -4455,6 +4577,9 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4455
4577
|
filterscriteria = Object.keys(this.statisticsFiltersData)[0];
|
|
4456
4578
|
}
|
|
4457
4579
|
for (let criteria of Object.keys(this.statisticsMeta)) {
|
|
4580
|
+
if (criteria == "subfilters") {
|
|
4581
|
+
continue;
|
|
4582
|
+
}
|
|
4458
4583
|
let option = new Option();
|
|
4459
4584
|
option.value = criteria;
|
|
4460
4585
|
console.log('statistics filters criteria', criteria, filterscriteria, criteria == filterscriteria);
|
|
@@ -4483,7 +4608,9 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4483
4608
|
let inputLabelCriteria = eventsContainer.querySelector('#input-label-criteria');
|
|
4484
4609
|
let selectFilterValues = eventsContainer.querySelector('#select-filter-values');
|
|
4485
4610
|
selectFilterValues.value = "";
|
|
4486
|
-
|
|
4611
|
+
let inputLabelSubfilters = eventsContainer.querySelector('#input-label-subfilter');
|
|
4612
|
+
let selectSubfilterCriteria = eventsContainer.querySelector('#select-subfilter-criteria');
|
|
4613
|
+
selectSubfilterCriteria.value = "";
|
|
4487
4614
|
selectFilterValues.innerHTML = "";
|
|
4488
4615
|
let option = new Option();
|
|
4489
4616
|
option.value = "";
|
|
@@ -4505,11 +4632,37 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4505
4632
|
console.log('changed');
|
|
4506
4633
|
this.processDateSelectionViewer(eventsContainer);
|
|
4507
4634
|
});
|
|
4635
|
+
selectSubfilterCriteria.style.display = 'block';
|
|
4636
|
+
inputLabelSubfilters.style.display = 'block';
|
|
4637
|
+
let sortedSubfilters = Util.alphabeticalSort(Object.keys(this.statisticsMeta.subfilters));
|
|
4638
|
+
if (sortedSubfilters.length > 1) {
|
|
4639
|
+
let option = new Option();
|
|
4640
|
+
option.value = "";
|
|
4641
|
+
option.innerHTML = "All";
|
|
4642
|
+
selectSubfilterCriteria.add(option);
|
|
4643
|
+
}
|
|
4644
|
+
for (let subfilter of sortedSubfilters) {
|
|
4645
|
+
let option = new Option();
|
|
4646
|
+
option.value = subfilter;
|
|
4647
|
+
option.innerHTML = subfilter;
|
|
4648
|
+
selectSubfilterCriteria.add(option);
|
|
4649
|
+
}
|
|
4650
|
+
let inputLabelSubfiltersValue = eventsContainer.querySelector('#input-label-subfilter-value');
|
|
4651
|
+
let selectSubfilterValues = eventsContainer.querySelector('#select-subfilter-values');
|
|
4652
|
+
inputLabelSubfiltersValue.style.display = 'none';
|
|
4653
|
+
selectSubfilterValues.style.display = 'none';
|
|
4654
|
+
let selectSubfilterCriteriaNew = Util.clearListeners(selectSubfilterCriteria);
|
|
4655
|
+
selectSubfilterCriteriaNew.addEventListener('change', () => {
|
|
4656
|
+
this.processDateSelectionViewer(eventsContainer);
|
|
4657
|
+
});
|
|
4508
4658
|
}
|
|
4509
4659
|
else {
|
|
4510
4660
|
selectFilterValues.style.display = 'none';
|
|
4511
4661
|
inputLabelCriteria.style.display = 'none';
|
|
4662
|
+
selectSubfilterCriteria.style.display = 'none';
|
|
4663
|
+
inputLabelSubfilters.style.display = 'none';
|
|
4512
4664
|
}
|
|
4665
|
+
this.processDateSelectionViewer(eventsContainer);
|
|
4513
4666
|
});
|
|
4514
4667
|
let selectFilterCriteriaMobileNew = Util.clearListeners(selectFilterCriteriaMobile);
|
|
4515
4668
|
selectFilterCriteriaMobileNew.addEventListener('change', (ev) => {
|
|
@@ -4768,7 +4921,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4768
4921
|
const radioRisk = eventContainer.querySelector('#radio-risk');
|
|
4769
4922
|
radioRisk === null || radioRisk === void 0 ? void 0 : radioRisk.addEventListener('click', () => {
|
|
4770
4923
|
this.flowGraph = this.FLOW_GRAPH_RISKAREAS;
|
|
4771
|
-
//console.log('setting flow graph to ', this.flowGraph);
|
|
4924
|
+
// console.log('setting flow graph to ', this.flowGraph);
|
|
4772
4925
|
this.renderRangeEvents(new Date(valueStart), (new Date(valueEnd).getTime() - new Date(valueStart).getTime()) / (1000 * 60 * 60 * 24), eventContainer);
|
|
4773
4926
|
this.renderRiskGraph(eventContainer);
|
|
4774
4927
|
this.attachHandlers(eventContainer, valueStart, valueEnd);
|
|
@@ -4918,7 +5071,6 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4918
5071
|
//console.log('valueend', valueEnd);
|
|
4919
5072
|
let filtercriteria = this._SfCustomContainer.querySelector('#select-filter-criteria').value;
|
|
4920
5073
|
let filtercriterianame = "";
|
|
4921
|
-
console.log('criteria', this._SfCustomContainer.querySelector('#select-filter-criteria').options[this._SfCustomContainer.querySelector('#select-filter-criteria').selectedIndex]);
|
|
4922
5074
|
if (this._SfCustomContainer.querySelector('#select-filter-criteria').options[this._SfCustomContainer.querySelector('#select-filter-criteria').selectedIndex] != null) {
|
|
4923
5075
|
filtercriterianame = this._SfCustomContainer.querySelector('#select-filter-criteria').options[this._SfCustomContainer.querySelector('#select-filter-criteria').selectedIndex].innerHTML;
|
|
4924
5076
|
}
|
|
@@ -4950,6 +5102,30 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4950
5102
|
this.htmlStatsFilter = "Filters Selected -> " + Util.titleCase(filtercriterianame) + " -> " + Util.titleCase(filtervaluename);
|
|
4951
5103
|
}
|
|
4952
5104
|
}
|
|
5105
|
+
let subfiltervalue = this._SfCustomContainer.querySelector('#select-subfilter-values').value;
|
|
5106
|
+
let subfiltervaluename = "";
|
|
5107
|
+
if (this._SfCustomContainer.querySelector('#select-subfilter-values').options[this._SfCustomContainer.querySelector('#select-subfilter-values').selectedIndex] != null) {
|
|
5108
|
+
subfiltervaluename = this._SfCustomContainer.querySelector('#select-subfilter-values').options[this._SfCustomContainer.querySelector('#select-subfilter-values').selectedIndex].innerHTML;
|
|
5109
|
+
}
|
|
5110
|
+
if (subfiltervalue == "") {
|
|
5111
|
+
subfiltervalue = this._SfCustomContainer.querySelector('#select-subfilter-values-mobile').value;
|
|
5112
|
+
if (this._SfCustomContainer.querySelector('#select-subfilter-values-mobile').options[this._SfCustomContainer.querySelector('#select-subfilter-values-mobile').selectedIndex] != null) {
|
|
5113
|
+
subfiltervaluename = this._SfCustomContainer.querySelector('#select-subfilter-values-mobile').options[this._SfCustomContainer.querySelector('#select-subfilter-values-mobile').selectedIndex].innerHTML;
|
|
5114
|
+
}
|
|
5115
|
+
}
|
|
5116
|
+
console.log('subfiltervalue, subfiltervaluename', subfiltervalue, subfiltervaluename);
|
|
5117
|
+
let subfiltercriteria = this._SfCustomContainer.querySelector('#select-subfilter-criteria').value;
|
|
5118
|
+
let subfiltercriterianame = "";
|
|
5119
|
+
if (this._SfCustomContainer.querySelector('#select-subfilter-criteria').options[this._SfCustomContainer.querySelector('#select-subfilter-criteria').selectedIndex] != null) {
|
|
5120
|
+
subfiltercriterianame = this._SfCustomContainer.querySelector('#select-subfilter-criteria').options[this._SfCustomContainer.querySelector('#select-subfilter-criteria').selectedIndex].innerHTML;
|
|
5121
|
+
}
|
|
5122
|
+
if (subfiltercriteria == "") {
|
|
5123
|
+
subfiltercriteria = this._SfCustomContainer.querySelector('#select-subfilter-criteria-mobile').value;
|
|
5124
|
+
if (this._SfCustomContainer.querySelector('#select-subfilter-criteria-mobile').options[this._SfCustomContainer.querySelector('#select-subfilter-criteria-mobile').selectedIndex] != null) {
|
|
5125
|
+
subfiltercriterianame = this._SfCustomContainer.querySelector('#select-subfilter-criteria-mobile').options[this._SfCustomContainer.querySelector('#select-subfilter-criteria-mobile').selectedIndex].innerHTML;
|
|
5126
|
+
}
|
|
5127
|
+
}
|
|
5128
|
+
console.log('subfiltercriteria, subfiltercriterianame', subfiltercriteria, subfiltercriterianame);
|
|
4953
5129
|
if (valueStart != "" && valueEnd != "") {
|
|
4954
5130
|
this.initCustomRightColViewer();
|
|
4955
5131
|
if (!this.checkStartDateEarliness(valueStart)) {
|
|
@@ -4974,7 +5150,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
4974
5150
|
tsEnd.setDate(tsEnd.getDate() + 2);
|
|
4975
5151
|
//console.log('tsstart', tsStart);
|
|
4976
5152
|
//console.log('tsend', tsEnd);
|
|
4977
|
-
let meta = await this.fetchStatistics((tsStart.getMonth() + 1) + "/" + tsStart.getDate() + "/" + tsStart.getFullYear(), (tsEnd.getMonth() + 1) + "/" + tsEnd.getDate() + "/" + tsEnd.getFullYear(), filtercriteria, filtervalue);
|
|
5153
|
+
let meta = await this.fetchStatistics((tsStart.getMonth() + 1) + "/" + tsStart.getDate() + "/" + tsStart.getFullYear(), (tsEnd.getMonth() + 1) + "/" + tsEnd.getDate() + "/" + tsEnd.getFullYear(), filtercriteria, filtervalue, subfiltercriteria, subfiltervalue);
|
|
4978
5154
|
this.renderRangeStatistics(new Date(valueStart), ((new Date(valueEnd).getTime() + 24 * 60 * 60 * 1000) - new Date(valueStart).getTime()) / (1000 * 60 * 60 * 24), this._SfCustomContainer);
|
|
4979
5155
|
if (meta != null)
|
|
4980
5156
|
this.renderStatisticsFilters(this._SfCustomContainer);
|
|
@@ -6660,6 +6836,14 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
6660
6836
|
html += '<label part="input-label-filter-value" id="input-label-criteria-mobile"></label>';
|
|
6661
6837
|
html += '<select id="select-filter-values-mobile"></select>';
|
|
6662
6838
|
html += '</div>';
|
|
6839
|
+
html += '<div class="title-item-date">';
|
|
6840
|
+
html += '<label part="input-label-subfilter-criteria" id="input-label-subfilter-mobile">Subfilter Criteria</label>';
|
|
6841
|
+
html += '<select id="select-subfilter-criteria-mobile"></select>';
|
|
6842
|
+
html += '</div>';
|
|
6843
|
+
html += '<div class="title-item-date">';
|
|
6844
|
+
html += '<label part="input-label-subfilter-value" id="input-label-subfilter-value-mobile"></label>';
|
|
6845
|
+
html += '<select id="select-subfilter-values-mobile"></select>';
|
|
6846
|
+
html += '</div>';
|
|
6663
6847
|
html += '</div>';
|
|
6664
6848
|
html += '<div class="d-flex w-100">';
|
|
6665
6849
|
html += '<div class="calendar-left-col desktop-only flex-col justify-start align-end">';
|
|
@@ -6688,6 +6872,14 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
6688
6872
|
html += '<label part="input-label-filter-value" id="input-label-criteria"></label>';
|
|
6689
6873
|
html += '<select part="input-select-calendar-filter" id="select-filter-values"></select>';
|
|
6690
6874
|
html += '</div>';
|
|
6875
|
+
html += '<div class="title-item-date d-flex flex-col align-start">';
|
|
6876
|
+
html += '<label part="input-label-subfilter-criteria" id="input-label-subfilter">Subfilter Criteria</label>';
|
|
6877
|
+
html += '<select part="input-select-calendar-subfilter" id="select-subfilter-criteria"></select>';
|
|
6878
|
+
html += '</div>';
|
|
6879
|
+
html += '<div class="title-item-date d-flex flex-col align-start">';
|
|
6880
|
+
html += '<label part="input-label-subfilter-value" id="input-label-subfilter-value"></label>';
|
|
6881
|
+
html += '<select part="input-select-calendar-subfilter" id="select-subfilter-values"></select>';
|
|
6882
|
+
html += '</div>';
|
|
6691
6883
|
html += '</div>';
|
|
6692
6884
|
html += '<div class="calendar-right-data flex-grow">';
|
|
6693
6885
|
html += '</div>';
|
|
@@ -6803,12 +6995,24 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
6803
6995
|
selectFilterValues.style.display = 'none';
|
|
6804
6996
|
let inputLabelFilter = this._SfCustomContainer.querySelector('#input-label-filter');
|
|
6805
6997
|
inputLabelFilter.style.display = 'none';
|
|
6998
|
+
let selectSubfilterCriteria = this._SfCustomContainer.querySelector('#select-subfilter-criteria');
|
|
6999
|
+
selectSubfilterCriteria.style.display = 'none';
|
|
7000
|
+
let selectSubfilterValues = this._SfCustomContainer.querySelector('#select-subfilter-values');
|
|
7001
|
+
selectSubfilterValues.style.display = 'none';
|
|
7002
|
+
let inputLabelSubfilter = this._SfCustomContainer.querySelector('#input-label-subfilter');
|
|
7003
|
+
inputLabelSubfilter.style.display = 'none';
|
|
6806
7004
|
let selectFilterCriteriaMobile = this._SfCustomContainer.querySelector('#select-filter-criteria-mobile');
|
|
6807
7005
|
selectFilterCriteriaMobile.style.display = 'none';
|
|
6808
7006
|
let selectFilterValuesMobile = this._SfCustomContainer.querySelector('#select-filter-values-mobile');
|
|
6809
7007
|
selectFilterValuesMobile.style.display = 'none';
|
|
6810
7008
|
let inputLabelFilterMobile = this._SfCustomContainer.querySelector('#input-label-filter-mobile');
|
|
6811
7009
|
inputLabelFilterMobile.style.display = 'none';
|
|
7010
|
+
let selectSubfilterCriteriaMobile = this._SfCustomContainer.querySelector('#select-subfilter-criteria-mobile');
|
|
7011
|
+
selectSubfilterCriteriaMobile.style.display = 'none';
|
|
7012
|
+
let selectSubfilterValuesMobile = this._SfCustomContainer.querySelector('#select-subfilter-values-mobile');
|
|
7013
|
+
selectSubfilterValuesMobile.style.display = 'none';
|
|
7014
|
+
let inputLabelSubfilterMobile = this._SfCustomContainer.querySelector('#input-label-subfilter-mobile');
|
|
7015
|
+
inputLabelSubfilterMobile.style.display = 'none';
|
|
6812
7016
|
this._SfCustomContainer.querySelector('#button-year-to-date').click();
|
|
6813
7017
|
};
|
|
6814
7018
|
this.renderThis = (index = 1, showGraph = true, showBackgroundButton) => {
|
|
@@ -16236,6 +16440,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
16236
16440
|
"approved": approved,
|
|
16237
16441
|
"entityid": entityId,
|
|
16238
16442
|
"locationid": locationId,
|
|
16443
|
+
"userid": this.userProfileId,
|
|
16239
16444
|
"username": this.userName,
|
|
16240
16445
|
"module": module
|
|
16241
16446
|
};
|
|
@@ -16289,6 +16494,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
16289
16494
|
"approved": approved,
|
|
16290
16495
|
"entityid": entityId,
|
|
16291
16496
|
"locationid": locationId,
|
|
16497
|
+
"userid": this.userProfileId,
|
|
16292
16498
|
"username": this.userName,
|
|
16293
16499
|
"module": module
|
|
16294
16500
|
};
|
|
@@ -17797,7 +18003,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
17797
18003
|
}
|
|
17798
18004
|
}
|
|
17799
18005
|
};
|
|
17800
|
-
this.fetchStatistics = async (startDate = "", endDate = "", filtercriteria, filterid) => {
|
|
18006
|
+
this.fetchStatistics = async (startDate = "", endDate = "", filtercriteria, filterid, subfiltercriteria, subfilterid) => {
|
|
17801
18007
|
var _a;
|
|
17802
18008
|
let path = "";
|
|
17803
18009
|
this.sdate = startDate;
|
|
@@ -17822,7 +18028,7 @@ let SfIEvents = class SfIEvents extends LitElement {
|
|
|
17822
18028
|
url = "https://" + this.apiIdNotices + "/" + path;
|
|
17823
18029
|
}
|
|
17824
18030
|
//console.log('fetch calendar url', url);
|
|
17825
|
-
let urlBody = { "projectid": this.projectId, "userid": this.userProfileId, "role": this.myRole, "sdate": sDate, "edate": eDate, "filtercriteria": filtercriteria };
|
|
18031
|
+
let urlBody = { "projectid": this.projectId, "userid": this.userProfileId, "role": this.myRole, "sdate": sDate, "edate": eDate, "filtercriteria": filtercriteria, "subfiltercriteria": subfiltercriteria, "subfilterid": subfilterid };
|
|
17826
18032
|
if (filtercriteria == 'function') {
|
|
17827
18033
|
urlBody["functionid"] = filterid;
|
|
17828
18034
|
urlBody["locationid"] = '';
|