@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
63 lines (61 loc) • 4.98 kB
JavaScript
/**
* CodeAnalizerComment: Updated 2 imports on 2024-09-22 14:49:52
* Update:: import { IFpsItemsReturn } to '@mikezimm/fps-core-v7/lib/components/molecules/process-results/CheckItemsResults;'
* Update:: import { addSearchMeta1 } to '@mikezimm/fps-core-v7/lib/components/molecules/SearchPage/functions/addSearchMeta1;'
*/
/**
* CodeAnalizerComment: Updated 12 imports on 2024-09-21 23:07:24
* Update:: import { sortObjectArrayByStringKeyCollator } to '@mikezimm/fps-core-v7/lib/logic/Arrays/sorting/objects;'
* Update:: import { IEasyLink } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-pages/interfaces/IEasyPagesPageHookProps;'
* Update:: import { createBasePerformanceInit } to '@mikezimm/fps-core-v7/lib/components/molecules/Performance/functions;'
* Update:: import { startPerformOp } to '@mikezimm/fps-core-v7/lib/components/molecules/Performance/functions;'
* Update:: import { updatePerformanceEnd } to '@mikezimm/fps-core-v7/lib/components/molecules/Performance/functions;'
* Update:: import { ILoadPerformance } to '@mikezimm/fps-core-v7/lib/components/molecules/Performance/IPerformance;'
* Update:: import { EasyIconObjectDefault } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/interfaces/eiTypes;'
* Update:: import { IEasyIcons } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/interfaces/eiTypes;'
* Update:: import { addEasyIcons } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/functions/getEasyIcon;'
* Update:: import { ISourceProps } to '@mikezimm/fps-core-v7/lib/components/molecules/source-props/ISourceProps;'
* Update:: import { IFpsItemsReturn } to '@mikezimm/fps-core-v7/lib/components/molecules/process-results/CheckItemsResults;'
* Update:: import { addSearchMeta1 } to '@mikezimm/fps-core-v7/lib/components/molecules/SearchPage/functions/addSearchMeta1;'
*/
/**
* 2024-09-06: NOT Migrated due to getSourceItems to @mikezimm/fps-core-v7/lib/components/atoms/easy-pages/functions
*/
import { sortObjectArrayByStringKeyCollator } from "@mikezimm/fps-core-v7/lib/logic/Arrays/sorting/objects";
import { createBasePerformanceInit, startPerformOp, updatePerformanceEnd } from '@mikezimm/fps-core-v7/lib/components/molecules/Performance/functions';
import { EasyIconObjectDefault, } from "@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/interfaces/eiTypes";
import { addEasyIcons } from "@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/functions/getEasyIcon";
import { addSearchMeta1 } from "@mikezimm/fps-core-v7/lib/components/molecules/SearchPage/functions/addSearchMeta1";
import { getSourceItemsAPI } from "@mikezimm/fps-core-v7/lib/restAPIs/lists/items/getSourceItemsAPI";
export async function getPagesContent(sourceProps, EasyIconObject = EasyIconObjectDefault, parentLink) {
//"List 'Site Pages' does not exist at site with URL
const performance = createBasePerformanceInit(1, false);
performance.ops.fetch1 = startPerformOp('fetch1 - getPages', null, true); // https://github.com/mikezimm/Slick-Sections/issues/69
const fetchResults = await getSourceItemsAPI(sourceProps, true, false, true);
// eslint-disable-next-line @typescript-eslint/no-unused-vars, prefer-const
let { items, errorInfo, } = fetchResults;
if (errorInfo && errorInfo.returnMess.indexOf(`"List 'Site Pages' does not exist`) > 1)
alert(`I'm sorry, this site does NOT have a library Titled 'Site Pages :(`);
performance.ops.fetch1 = updatePerformanceEnd(performance.ops.fetch1, true, items.length);
if (parentLink)
items.push(//'Title','Description','Author/Title','Editor/Title','File/ServerRelativeUrl','BannerImageUrl'
{
Title: '.. ^ Go to Parent Site',
Description: 'Quick link to parent site Home page',
File: { ServerRelativeUrl: parentLink },
type: 'current',
});
performance.ops.analyze1 = startPerformOp('analyze1 - addSearchMeta', null, true); // https://github.com/mikezimm/Slick-Sections/issues/69
items = addSearchMeta1(items, sourceProps, null);
// This should not be required because addEasyIcons already filters out 'SharePoint' and 'Files'
// EasyIconObject.GroupKeys = EasyIconObject.GroupKeys.filter( key => { return key !== 'SharePoint' } );
items = addEasyIcons(items, sourceProps, EasyIconObject, true);
performance.ops.analyze1 = updatePerformanceEnd(performance.ops.analyze1, true, items.length);
items = sortObjectArrayByStringKeyCollator(items, 'asc', 'title', true, 'en');
// eslint-disable-next-line no-eval
if (sourceProps.evalFilter)
items = items.filter(item => eval(sourceProps.evalFilter ? sourceProps.evalFilter : '') === true);
console.log(sourceProps.defType, sourceProps.listTitle, items);
return { items: items, performance: performance, errMessage: errorInfo ? errorInfo.returnMess : '' };
}
//# sourceMappingURL=getPagesContent.js.map