UNPKG

@pnp/spfx-property-controls

Version:

Reusable property pane controls for SharePoint Framework solutions

48 lines 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PropertyPanePalettePicker = void 0; exports.PropertyPanePalettePickerField = PropertyPanePalettePickerField; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const sp_property_pane_1 = require("@microsoft/sp-property-pane"); const ReactDOM = tslib_1.__importStar(require("react-dom")); const PalettePicker_1 = require("./PalettePicker"); class PropertyPanePalettePicker { constructor(targetProperty, properties) { this.type = sp_property_pane_1.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_1.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); } } exports.PropertyPanePalettePicker = PropertyPanePalettePicker; function PropertyPanePalettePickerField(targetProperty, properties) { return new PropertyPanePalettePicker(targetProperty, properties); } //# sourceMappingURL=PalettePickerPropertyField.js.map