UNPKG

@pnp/spfx-property-controls

Version:

Reusable property pane controls for SharePoint Framework solutions

42 lines 1.73 kB
import * as React from "react"; import { PropertyPaneFieldType, } from "@microsoft/sp-property-pane"; import * as ReactDOM from "react-dom"; import { PalettePicker } from "./PalettePicker"; export class PropertyPanePalettePicker { constructor(targetProperty, properties) { this.type = PropertyPaneFieldType.Custom; this.targetProperty = targetProperty; this.properties = { key: properties.key, label: properties.label, selectedPalette: properties.selectedPalette, onPropertyChange: properties.onPropertyChange, onSelectedPalette: properties.onSelectedPalette, disabled: properties.disabled, palettes: properties.palettes, theme: properties.theme, onRender: this.onRender.bind(this), onDispose: this.onDispose.bind(this), }; } onRender(elem) { const element = React.createElement(PalettePicker, { label: this.properties.label, selectedPalette: this.properties.selectedPalette, onPropertyChange: this.properties.onPropertyChange, onSelectedPalette: this.properties.onSelectedPalette, disabled: this.properties.disabled, targetProperty: this.targetProperty, palettes: this.properties.palettes, theme: this.properties.theme, }); ReactDOM.render(element, elem); } onDispose(elem) { ReactDOM.unmountComponentAtNode(elem); } } export function PropertyPanePalettePickerField(targetProperty, properties) { return new PropertyPanePalettePicker(targetProperty, properties); } //# sourceMappingURL=PalettePickerPropertyField.js.map