feat: update keycloak theme
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
||||
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
||||
import * as React from "../../../keycloak.v2/web_modules/react.js";
|
||||
import { Checkbox, DataList, DataListItem, DataListItemRow, DataListCell, DataListItemCells } from "../../../keycloak.v2/web_modules/@patternfly/react-core.js";
|
||||
import { ContentPage } from "../ContentPage.js";
|
||||
import { AccountServiceContext } from "../../account-service/AccountServiceContext.js";
|
||||
import { Msg } from "../../widgets/Msg.js";
|
||||
export class GroupsPage extends React.Component {
|
||||
constructor(props, context) {
|
||||
super(props);
|
||||
_defineProperty(this, "context", void 0);
|
||||
_defineProperty(this, "changeDirectMembership", (checked, event) => {
|
||||
this.setState({
|
||||
isDirectMembership: checked
|
||||
});
|
||||
});
|
||||
this.context = context;
|
||||
this.state = {
|
||||
groups: [],
|
||||
directGroups: [],
|
||||
isDirectMembership: false
|
||||
};
|
||||
this.fetchGroups();
|
||||
}
|
||||
fetchGroups() {
|
||||
this.context.doGet("/groups").then(response => {
|
||||
const directGroups = response.data || [];
|
||||
const groups = [...directGroups];
|
||||
const groupsPaths = directGroups.map(s => s.path);
|
||||
directGroups.forEach(el => this.getParents(el, groups, groupsPaths));
|
||||
this.setState({
|
||||
groups: groups,
|
||||
directGroups: directGroups
|
||||
});
|
||||
});
|
||||
}
|
||||
getParents(el, groups, groupsPaths) {
|
||||
const parentPath = el.path.slice(0, el.path.lastIndexOf('/'));
|
||||
if (parentPath && groupsPaths.indexOf(parentPath) === -1) {
|
||||
el = {
|
||||
name: parentPath.slice(parentPath.lastIndexOf('/') + 1),
|
||||
path: parentPath
|
||||
};
|
||||
groups.push(el);
|
||||
groupsPaths.push(parentPath);
|
||||
this.getParents(el, groups, groupsPaths);
|
||||
}
|
||||
}
|
||||
emptyGroup() {
|
||||
return /*#__PURE__*/React.createElement(DataListItem, {
|
||||
key: "emptyItem",
|
||||
"aria-labelledby": "empty-item"
|
||||
}, /*#__PURE__*/React.createElement(DataListItemRow, {
|
||||
key: "emptyRow"
|
||||
}, /*#__PURE__*/React.createElement(DataListItemCells, {
|
||||
dataListCells: [/*#__PURE__*/React.createElement(DataListCell, {
|
||||
key: "empty"
|
||||
}, /*#__PURE__*/React.createElement("strong", null, /*#__PURE__*/React.createElement(Msg, {
|
||||
msgKey: "noGroupsText"
|
||||
})))]
|
||||
})));
|
||||
}
|
||||
renderGroupList(group, appIndex) {
|
||||
return /*#__PURE__*/React.createElement(DataListItem, {
|
||||
id: `${appIndex}-group`,
|
||||
key: 'group-' + appIndex,
|
||||
"aria-labelledby": "groups-list"
|
||||
}, /*#__PURE__*/React.createElement(DataListItemRow, null, /*#__PURE__*/React.createElement(DataListItemCells, {
|
||||
dataListCells: [/*#__PURE__*/React.createElement(DataListCell, {
|
||||
id: `${appIndex}-group-name`,
|
||||
width: 2,
|
||||
key: 'name-' + appIndex
|
||||
}, group.name), /*#__PURE__*/React.createElement(DataListCell, {
|
||||
id: `${appIndex}-group-path`,
|
||||
width: 2,
|
||||
key: 'path-' + appIndex
|
||||
}, group.path), /*#__PURE__*/React.createElement(DataListCell, {
|
||||
id: `${appIndex}-group-directMembership`,
|
||||
width: 2,
|
||||
key: 'directMembership-' + appIndex
|
||||
}, /*#__PURE__*/React.createElement(Checkbox, {
|
||||
id: `${appIndex}-checkbox-directMembership`,
|
||||
isChecked: group.id != null,
|
||||
isDisabled: true
|
||||
}))]
|
||||
})));
|
||||
}
|
||||
render() {
|
||||
return /*#__PURE__*/React.createElement(ContentPage, {
|
||||
title: Msg.localize('groupLabel')
|
||||
}, /*#__PURE__*/React.createElement(DataList, {
|
||||
id: "groups-list",
|
||||
"aria-label": Msg.localize('groupLabel'),
|
||||
isCompact: true
|
||||
}, /*#__PURE__*/React.createElement(DataListItem, {
|
||||
id: "groups-list-header",
|
||||
"aria-labelledby": "Columns names"
|
||||
}, /*#__PURE__*/React.createElement(DataListItemRow, null, /*#__PURE__*/React.createElement(DataListItemCells, {
|
||||
dataListCells: [/*#__PURE__*/React.createElement(DataListCell, {
|
||||
key: "directMembership-header"
|
||||
}, /*#__PURE__*/React.createElement(Checkbox, {
|
||||
label: Msg.localize('directMembership'),
|
||||
id: "directMembership-checkbox",
|
||||
isChecked: this.state.isDirectMembership,
|
||||
onChange: this.changeDirectMembership
|
||||
}))]
|
||||
}))), /*#__PURE__*/React.createElement(DataListItem, {
|
||||
id: "groups-list-header",
|
||||
"aria-labelledby": "Columns names"
|
||||
}, /*#__PURE__*/React.createElement(DataListItemRow, null, /*#__PURE__*/React.createElement(DataListItemCells, {
|
||||
dataListCells: [/*#__PURE__*/React.createElement(DataListCell, {
|
||||
key: "group-name-header",
|
||||
width: 2
|
||||
}, /*#__PURE__*/React.createElement("strong", null, /*#__PURE__*/React.createElement(Msg, {
|
||||
msgKey: "Name"
|
||||
}))), /*#__PURE__*/React.createElement(DataListCell, {
|
||||
key: "group-path-header",
|
||||
width: 2
|
||||
}, /*#__PURE__*/React.createElement("strong", null, /*#__PURE__*/React.createElement(Msg, {
|
||||
msgKey: "path"
|
||||
}))), /*#__PURE__*/React.createElement(DataListCell, {
|
||||
key: "group-direct-membership-header",
|
||||
width: 2
|
||||
}, /*#__PURE__*/React.createElement("strong", null, /*#__PURE__*/React.createElement(Msg, {
|
||||
msgKey: "directMembership"
|
||||
})))]
|
||||
}))), this.state.groups.length === 0 ? this.emptyGroup() : this.state.isDirectMembership ? this.state.directGroups.map((group, appIndex) => this.renderGroupList(group, appIndex)) : this.state.groups.map((group, appIndex) => this.renderGroupList(group, appIndex))));
|
||||
}
|
||||
}
|
||||
_defineProperty(GroupsPage, "contextType", AccountServiceContext);
|
||||
;
|
||||
//# sourceMappingURL=GroupsPage.js.map
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user