UNPKG

@mikezimm/fps-core-v7

Version:

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

127 lines 6.92 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 * */ 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