@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
127 lines • 6.92 kB
TypeScript
/**
* 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
*
*/
export type IItemIsAKeys = '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' | 'STSList' | 'STSUser' | 'STSGroup' | 'OtherContent';
export type IItemIsAValues = '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' | 'ItemIsAList' | 'ItemIsAUser' | 'ItemIsAGroup' | 'ItemIsOtherContent';
export interface IFPSItemIsA {
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
DocSet?: boolean;
FileObject?: boolean;
File?: boolean;
FolderContent?: boolean;
Page?: boolean;
News?: boolean;
NewsPost?: boolean;
NewsLink?: boolean;
Draft?: boolean;
Major?: boolean;
Published?: boolean;
UnPublished?: boolean;
CheckedOut?: boolean;
CodeContent?: boolean;
OfficeContent?: boolean;
ArchiveContent?: boolean;
DataContent?: boolean;
MediaContent?: boolean;
SharePoint?: boolean;
OtherContent?: boolean;
DescIsHTML?: boolean;
UniquePerms?: boolean;
RequiresCheckout?: boolean;
VersionsDisabled?: boolean;
MinorVersionsEnabled?: boolean;
AttachmentsDisabled?: boolean;
System?: boolean;
Hidden?: boolean;
HasMinimalDownload?: boolean;
ToManyItems?: boolean;
LotsOfItems?: boolean;
NoItems?: boolean;
NoRecentViews?: boolean;
PopularRecently?: boolean;
PopularLifeTime?: boolean;
MSTeam?: boolean;
STSSite?: boolean;
STSWeb?: boolean;
STSList?: boolean;
STSUser?: boolean;
STSGroup?: boolean;
allIsAKeys: IItemIsAValues[];
allIsAKeysStr: string;
}
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
export declare const ItemIsADocSet: IItemIsAValues;
export declare const ItemIsAFileObject: IItemIsAValues;
export declare const ItemIsAFile: IItemIsAValues;
export declare const ItemIsFolderContent: IItemIsAValues;
export declare const ItemIsAPage: IItemIsAValues;
export declare const ItemIsANewsPost: IItemIsAValues;
export declare const ItemIsANewsLink: IItemIsAValues;
export declare const ItemIsADraft: IItemIsAValues;
export declare const ItemIsAMajor: IItemIsAValues;
export declare const ItemIsPublished: IItemIsAValues;
export declare const ItemIsUnPublished: IItemIsAValues;
export declare const ItemIsCodeContent: IItemIsAValues;
export declare const ItemIsOfficeContent: IItemIsAValues;
export declare const ItemIsArchiveContent: IItemIsAValues;
export declare const ItemIsDataContent: IItemIsAValues;
export declare const ItemIsMediaContent: IItemIsAValues;
export declare const ItemIsSharePointContent: IItemIsAValues;
export declare const ItemHasUniquePerms: IItemIsAValues;
export declare const ItemRequiresCheckout: IItemIsAValues;
export declare const ItemHasNoVersioning: IItemIsAValues;
export declare const ItemHasMinors: IItemIsAValues;
export declare const ItemHasNoAttachments: IItemIsAValues;
export declare const ItemIsASystemList: IItemIsAValues;
export declare const ItemIsAHiddenList: IItemIsAValues;
export declare const ItemIsCheckedOut: IItemIsAValues;
export declare const ItemHasMinimalDownload: IItemIsAValues;
export declare const ItemHasToManyItems: IItemIsAValues;
export declare const ItemHasLotsOfItems: IItemIsAValues;
export declare const ItemHasNoItems: IItemIsAValues;
export declare const ItemHasNoRecentViews: IItemIsAValues;
export declare const ItemWasPopularRecently: IItemIsAValues;
export declare const ItemWasPopularLifeTime: IItemIsAValues;
export declare const ItemIsATeam: IItemIsAValues;
export declare const ItemIsASite: IItemIsAValues;
export declare const ItemIsAWeb: IItemIsAValues;
export declare const ItemIsAList: IItemIsAValues;
export declare const ItemIsAUser: IItemIsAValues;
export declare const ItemIsAGroup: IItemIsAValues;
export declare const ItemIsOtherContent: IItemIsAValues;
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
export declare const ItemIsAKeys: IItemIsAKeys[];
export declare const CommonSuppressKeys: IItemIsAKeys[];
/**
* WARNING
* Constants, ItemIsAValues, IItemIsAValues, ItemIsAKeys AND IAnySourceItem MUST BE IN SYNC AND IN ORDER
*/
export declare const ItemIsAValues: IItemIsAValues[];
//# sourceMappingURL=IFPSItemIsA.d.ts.map