@craftercms/studio-ui
Version:
Services, components, models & utils to build CrafterCMS authoring extensions.
85 lines (83 loc) • 2.75 kB
TypeScript
/*
* Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import Person from '../../models/Person';
import { Dispatch, SetStateAction } from 'react';
import { DetailedItem } from '../../models';
import { AnyAction } from '@reduxjs/toolkit';
import { IntlShape } from 'react-intl';
import { ActionsBarAction } from '../ActionsBar';
export interface CommonDashletProps {
contentHeight?: number | string;
borderLeftColor?: string;
onMinimize?(): void;
}
export declare function parseDashletContentHeight(contentHeight: string | number): number;
export declare function getPersonFullName(person: Person): string;
export interface WithSelectedStateItem {
id: string | number;
}
export interface WithSelectedState<
ItemType extends WithSelectedStateItem = {
id: string | number;
}
> {
items: ItemType[];
isAllSelected: boolean;
hasSelected: boolean;
selected: Record<string | number, boolean>;
selectedCount: number;
}
export declare function useSpreadStateWithSelected<S extends WithSelectedState>(
initialState: Omit<S, keyof WithSelectedState> & Partial<WithSelectedState>
): [
S,
Dispatch<SetStateAction<Partial<S>>>,
(e: any, item: WithSelectedStateItem) => void,
(e: any) => void,
<T extends WithSelectedStateItem>(item: T) => boolean
];
export declare function isPage(systemType: any): boolean;
export declare function previewPage(
site: any,
authoringBase: any,
item: DetailedItem,
dispatch: Dispatch<AnyAction>,
onWidgetModeAction?: Function
): void;
export declare function useSelectionOptions(
items: DetailedItem[],
formatMessage: IntlShape['formatMessage'],
selectedCount: number
): ActionsBarAction[];
export declare function getItemViewOption(item: any): any;
export declare function getCurrentPage(offset: number, limit: number): number;
export declare function getValidatedSelectionState(
items: any,
selected: any,
limit: any
): {
itemsById: {};
state: {
items: any;
offset: number;
total: any;
loading: boolean;
selected: {};
hasSelected: boolean;
selectedCount: number;
isAllSelected: boolean;
};
};