@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
108 lines • 5.75 kB
JavaScript
/**
* Comments about IsA Logic:
*
* Where it all began:
*
* This started with Compliance web part and the CodeContent/OfficeContent etc labels.
* In that web part, it was designed to make it easier to create both searchable and clickable labels for filter buttons above the SourceList.
* The IsAKeys match the object keys in the IFPSItemIsA object
* The IsAValues are the labels that relate to said keys.
*
* They both of the Keys and Values arrays need to be in the exact same order in order for some of the search logic to work.
* So far that was only used in certain Content based props in Compliance, but it could now be used in any File Based use case like Document Sets.
*
* I'll admit, it's a little cumbersom to maintain given I keep adding more keys.
* BUT the goal is to have a standard way for both identifying what items have these labels.
* But also be able to then use the same labels for filtering or generating 'highlight' elements like in PivotTiles.
*
* 2025-01-20: NOTE that IsA Keys, Values ,StdSharePointSearchTypes, StdSharePointKeys, IFPSBaseContentType were all created for different reasons at different times.
* However, they are similar and if you update one, you should review all the others for parity or consistency
*
*/
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
export const ItemIsADocSet = `ItemIsADocSet`;
export const ItemIsAFileObject = `ItemIsAFileObject`;
export const ItemIsAFile = `ItemIsAFile`;
export const ItemIsFolderContent = `ItemIsFolderContent`;
export const ItemIsAPage = `ItemIsAPage`;
export const ItemIsANewsPost = `ItemIsANewsPost`;
export const ItemIsANewsLink = `ItemIsANewsLink`;
export const ItemIsADraft = `ItemIsADraft`;
export const ItemIsAMajor = `ItemIsAMajor`;
export const ItemIsPublished = `ItemIsPublished`;
export const ItemIsUnPublished = `ItemIsUnPublished`;
export const ItemIsCodeContent = `ItemIsCodeContent`;
export const ItemIsOfficeContent = `ItemIsOfficeContent`;
export const ItemIsArchiveContent = `ItemIsArchiveContent`;
export const ItemIsDataContent = `ItemIsDataContent`;
export const ItemIsMediaContent = `ItemIsMediaContent`;
export const ItemIsSharePointContent = `ItemIsSharePointContent`;
export const ItemHasUniquePerms = `ItemHasUniquePerms`;
// List-Library type of props
export const ItemRequiresCheckout = `ItemRequiresCheckout`;
export const ItemHasNoVersioning = `ItemHasNoVersioning`;
export const ItemHasMinors = `ItemHasMinors`;
export const ItemHasNoAttachments = `ItemHasNoAttachments`;
export const ItemIsASystemList = `ItemIsASystemList`;
export const ItemIsAHiddenList = `ItemIsAHiddenList`;
export const ItemIsCheckedOut = `ItemIsCheckedOut`;
// Is this a web?
export const ItemHasMinimalDownload = `ItemHasMinimalDownload`;
// 'ToManyItems' | 'LotsOfItems' | 'NoItems'
// 'ItemHasToManyItems' | 'ItemHasLotsOfItems' | 'ItemHasNoItems'
export const ItemHasToManyItems = `ItemHasToManyItems`;
export const ItemHasLotsOfItems = `ItemHasLotsOfItems`;
export const ItemHasNoItems = `ItemHasNoItems`;
export const ItemHasNoRecentViews = `ItemHasNoRecentViews`;
export const ItemWasPopularRecently = `ItemWasPopularRecently`;
export const ItemWasPopularLifeTime = `ItemWasPopularLifeTime`;
export const ItemIsATeam = `ItemIsATeam`;
export const ItemIsASite = `ItemIsASite`;
export const ItemIsAWeb = `ItemIsAWeb`;
// 2025-01-20: Expanded to cover issue https://github.com/mikezimm/pivottiles7/issues/439
export const ItemIsAList = `ItemIsAList`;
export const ItemIsAUser = `ItemIsAUser`;
export const ItemIsAGroup = `ItemIsAGroup`;
export const ItemIsOtherContent = `ItemIsOtherContent`;
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
export const ItemIsAKeys = [
'DocSet', 'FileObject', 'File', 'FolderContent',
'Page', 'NewsPost', 'NewsLink',
'Draft', 'Major', 'Published', 'UnPublished', 'CheckedOut',
'CodeContent', 'OfficeContent', 'ArchiveContent', 'DataContent', 'MediaContent', 'SharePoint',
'UniquePerms',
'RequiresCheckout', 'VersionsDisabled', 'MinorVersionsEnabled', 'AttachmentsDisabled', 'System', 'Hidden',
'HasMinimalDownload',
'ToManyItems', 'LotsOfItems', 'NoItems',
'NoRecentViews', 'PopularRecently', 'PopularLifeTime', 'MSTeam', 'STSSite', 'STSWeb',
// 2025-01-20: Expanded to cover issue https://github.com/mikezimm/pivottiles7/issues/439
'STSList', 'STSUser', 'STSGroup',
'OtherContent',
];
export const CommonSuppressKeys = [
'FileObject', 'File', 'Major', 'Published',
'CodeContent', 'OfficeContent', 'ArchiveContent', 'DataContent', 'MediaContent', 'SharePoint',
];
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
export const ItemIsAValues = [
ItemIsADocSet, ItemIsAFileObject, ItemIsAFile, ItemIsFolderContent,
ItemIsAPage, ItemIsANewsPost, ItemIsANewsLink,
ItemIsADraft, ItemIsAMajor, ItemIsPublished, ItemIsUnPublished, ItemIsCheckedOut,
ItemIsCodeContent, ItemIsOfficeContent, ItemIsArchiveContent, ItemIsDataContent, ItemIsMediaContent, ItemIsSharePointContent,
ItemHasUniquePerms,
ItemRequiresCheckout, ItemHasNoVersioning, ItemHasMinors, ItemHasNoAttachments, ItemIsASystemList, ItemIsAHiddenList,
ItemHasMinimalDownload,
ItemHasToManyItems, ItemHasLotsOfItems, ItemHasNoItems,
ItemHasNoRecentViews, ItemWasPopularRecently, ItemWasPopularLifeTime, ItemIsATeam, ItemIsASite, ItemIsAWeb,
ItemIsOtherContent
];
//# sourceMappingURL=IFPSItemIsA.js.map