@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
50 lines (49 loc) • 2.38 kB
TypeScript
import CultureInfo from "../../culture-info";
import { ICultureSensitiveDirtyTracking } from "../dirty-tracking/dirty-tracking";
import { PropertyDataType, PropertyValue, PropertyValuePerCulture, TypeInfo } from "./data-type";
import { IProperty, PropertyBase } from "./property";
export interface ICultureSensitiveProperty<T extends PropertyDataType | unknown = PropertyDataType, B extends boolean = boolean> extends IProperty, ICultureSensitiveDirtyTracking {
/**
* Gets the value for a specific culture.
* @param culture - The culture for which to get the value
* @returns The value or null.
*/
getValue(culture: CultureInfo): PropertyValue<T, B>;
/**
* Gets all values for the specified cultures
* @param cultures - The cultures to get the values for
* @returns The values per culture. A value can be null for a certain culture.
*/
getValues(cultures?: Array<CultureInfo>): PropertyValuePerCulture<T, B>;
/**
* Gets all cultures that the property supports.
* These are always equal to the cultures the {@link IEntity} was loaded with.
* @returns List of cultures.
*/
getCultures(): Array<CultureInfo>;
/**
* Sets a value for a specific culture.
* @param culture - The culture for which to set the value
* @param value - The value
*/
setValue(culture: CultureInfo, value: PropertyValue<T, B>): void;
}
export declare class CultureSensitiveProperty<T extends PropertyDataType | unknown, B extends boolean> extends PropertyBase<T, B> implements ICultureSensitiveProperty<T, B> {
private readonly _loadedCultures;
private readonly _values;
private _dirtyValueCalculators;
readonly isMultiLanguage: true;
isTracking: boolean;
get isDirty(): boolean;
constructor(name: string, typeInfo: TypeInfo<T, B>, loadedCultures: Array<CultureInfo>, values?: PropertyValuePerCulture<T, B>, hasDataSource?: boolean);
getTypeName(): string;
getValue(culture: CultureInfo): PropertyValue<T, B>;
getValues(cultures?: Array<CultureInfo>): PropertyValuePerCulture<T, B>;
getCultures(): Array<CultureInfo>;
setValue(culture: CultureInfo, value: PropertyValue<T, B>): void;
startTracking(): void;
markClean(): void;
getDirtyCultures(): Array<CultureInfo>;
private cultureMustBeLoaded;
private culturesMustBeLoaded;
}