UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

108 lines 5.75 kB
/** * 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