123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
- import * as React from "../../../../common/keycloak/web_modules/react.js";
- import { Select, SelectOption, SelectVariant } from "../../../../common/keycloak/web_modules/@patternfly/react-core.js";
- class ScopeValue {
- constructor(value) {
- _defineProperty(this, "value", void 0);
- this.value = value;
- }
- toString() {
- return this.value.displayName ? this.value.displayName : this.value.name;
- }
- compareTo(selectOption) {
- return selectOption.name === this.value.name;
- }
- }
- export class PermissionSelect extends React.Component {
- constructor(props) {
- super(props);
- _defineProperty(this, "onSelect", (_event, selection) => {
- const {
- selected
- } = this.state;
- const {
- onSelect
- } = this.props;
- if (selected.includes(selection)) {
- this.setState(prevState => ({
- selected: prevState.selected.filter(item => item !== selection)
- }), () => onSelect(this.state.selected.map(sv => sv.value)));
- } else {
- this.setState(prevState => ({
- selected: [...prevState.selected, selection]
- }), () => onSelect(this.state.selected.map(sv => sv.value)));
- }
- });
- _defineProperty(this, "onToggle", isExpanded => {
- this.setState({
- isExpanded
- });
- });
- _defineProperty(this, "clearSelection", () => {
- this.setState({
- selected: [],
- isExpanded: false
- });
- this.props.onSelect([]);
- });
- let values = [];
- if (this.props.selected) {
- values = this.props.selected.map(s => new ScopeValue(s));
- }
- this.state = {
- isExpanded: false,
- selected: values,
- scopes: this.props.scopes.map((option, index) => React.createElement(SelectOption, {
- key: index,
- value: values.find(s => s.compareTo(option)) || new ScopeValue(option)
- }))
- };
- }
- render() {
- const {
- isExpanded,
- selected
- } = this.state;
- const titleId = 'permission-id';
- return React.createElement("div", null, React.createElement("span", {
- id: titleId,
- hidden: true
- }, "Select the permissions"), React.createElement(Select, {
- direction: this.props.direction || 'down',
- variant: SelectVariant.typeaheadMulti,
- ariaLabelTypeAhead: "Select the permissions",
- onToggle: this.onToggle,
- onSelect: this.onSelect,
- onClear: this.clearSelection,
- selections: selected,
- isExpanded: isExpanded,
- ariaLabelledBy: titleId,
- placeholderText: "Select the permissions"
- }, this.state.scopes));
- }
- }
- //# sourceMappingURL=PermissionSelect.js.map
|