@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
84 lines • 3.78 kB
JavaScript
import { retrieveFPSEnviro } from "../../../../banner/features/FPSDOM/FPSEnviro";
import { retrieveFPSUser } from "../../../../banner/FPSWebPartClass/functions/showTricks";
import { getDeepValuesStringArray } from "../../../../logic/Objects/deep";
import { addDeepPropsToSearch } from "../../../molecules/SearchPage/functions/addDeepPropsToSearch";
import { addSearchMeta1 } from "../../../molecules/SearchPage/functions/addSearchMeta1";
import { getPageTitle } from "./getPageTitle";
export function buildAnalyticsSummary(AnalyticsSourceProps, stateSource, wpFilterProps) {
// DO something here to summarize
const FPSUser = retrieveFPSUser();
const FPSEnviro = retrieveFPSEnviro();
const currentSiteLC = FPSEnviro.siteUrl.toLowerCase();
let isMine = false, isOthers = false, isThisSite = false, isOtherSite = false;
// 2024-09-07: Set 'null as any' to remove typing warning
stateSource.items = addSearchMeta1(stateSource.items, AnalyticsSourceProps, null);
stateSource.itemsS = [];
stateSource.itemsO = [];
stateSource.itemsP = [];
if (!stateSource.meta1)
stateSource.meta1 = [];
if (!stateSource.meta2)
stateSource.meta2 = [];
stateSource.items.map((item) => {
let { searchTextLC, searchText, } = item.FPSItem.Search;
if (item['Author/Title'] === FPSUser.Title) {
searchText += ` || Mine`;
isMine = true;
}
else {
searchText += ` || OtherPeeps`;
isOthers = true;
}
// if ( item['Author/Title'] === FPSUser.Title ) { searchTextLC += ` || Mine` }
// else { item.FPSItem.SearchLC += ` || Others` }
if (item.SiteLink && item.SiteLink.Url.toLowerCase().indexOf(currentSiteLC) > -1) {
searchText += ` || ThisSite`;
isThisSite = true;
}
else {
searchText += ` || OtherSites`;
isOtherSite = true;
}
if (item.language && stateSource.meta2 && stateSource.meta2.indexOf(item.language) < 0)
stateSource.meta2.push(item.language);
if (item.performance) {
try {
item.performanceObj = JSON.parse(item.performance);
}
catch (e) { }
}
if (item.FPSProps) {
try {
item.FPSPropsObj = JSON.parse(item.FPSProps);
}
catch (e) { }
}
const PageTitle = getPageTitle(item);
if (PageTitle)
searchText = searchText + ` || ` + PageTitle;
if (item.FPSItem.Search) {
item.FPSItem.Search.searchText = searchText;
item.FPSItem.Search.searchTextLC = searchText.toLowerCase();
}
// Added search for extra Search Buttons
const wpFilterPropVals = getDeepValuesStringArray(item, wpFilterProps);
// This will add the filtered values to stateSource.meta array if they are not already there.
if (!stateSource.meta1)
stateSource.meta1 = [];
wpFilterPropVals.map((v) => { if (stateSource.meta1.indexOf(v) < 0)
stateSource.meta1.push(v); });
// This will update FPSItem.Search searchString on the item with the latest deep values.
item = addDeepPropsToSearch(wpFilterPropVals, item);
});
if (isMine === true)
stateSource.meta1.push('Mine');
if (isOthers === true)
stateSource.meta1.push('OtherPeeps');
if (isThisSite === true)
stateSource.meta1.push('ThisSite');
if (isOtherSite === true)
stateSource.meta1.push('OtherSites');
stateSource.itemsA = [];
return stateSource;
}
//# sourceMappingURL=buildAnalyticsSummary.js.map