UNPKG

@raona/components

Version:

React components used at Raona to work with SPFx

17 lines (16 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); // import {Dropdown, IDropdownOption} from 'office-ui-fabric-react/lib/Dropdown'; var WrapperComponent_1 = require("./WrapperComponent"); var Dropdown_1 = require("office-ui-fabric-react/lib/components/Dropdown/Dropdown"); exports.SPDropdown = function (props) { var label = props.label, dropdownOptions = props.dropdownOptions, onChange = props.onChange, multiple = props.multiple, containerClassName = props.containerClassName, labelClassName = props.labelClassName, dropdownClassName = props.dropdownClassName, disabled = props.disabled, onRenderTitle = props.onRenderTitle, requiredClassName = props.requiredClassName, requiredMessage = props.requiredMessage, errors = props.errors, placeholder = props.placeholder; var selectedItems = dropdownOptions.filter(function (o) { return o.selected; }); return (React.createElement(WrapperComponent_1.WrapperComponent, { containerClassName: containerClassName, label: label, labelClassName: labelClassName, requiredClassName: requiredClassName, requiredMessage: requiredMessage, errors: errors }, multiple ? React.createElement(Dropdown_1.Dropdown, { onRenderTitle: onRenderTitle, disabled: disabled, className: dropdownClassName, multiSelect: true, selectedKeys: selectedItems.length > 0 ? selectedItems.map(function (si) { return si.key.toString(); }) : [], onChanged: onChange, options: dropdownOptions, placeHolder: placeholder }) : React.createElement(Dropdown_1.Dropdown, { onRenderTitle: onRenderTitle, disabled: disabled, className: dropdownClassName, selectedKey: selectedItems.length > 0 ? selectedItems[0].key : undefined, onChanged: function (option, index) { option.selected = undefined; onChange(option, index); }, options: dropdownOptions, placeHolder: placeholder }))); };