@raona/components
Version:
React components used at Raona to work with SPFx
17 lines (16 loc) • 1.93 kB
JavaScript
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 })));
};
;