1 |
- {"version":3,"sources":["../../../src/app/content/my-resources-page/ResourcesTable.tsx"],"names":["React","DataList","DataListItem","DataListItemRow","DataListCell","DataListToggle","DataListContent","DataListItemCells","Level","LevelItem","Button","DataListAction","DataListActionVisibility","Dropdown","DropdownPosition","DropdownItem","KebabToggle","css","Remove2Icon","RepositoryIcon","ShareAltIcon","EditAltIcon","AccountServiceContext","PermissionRequest","ShareTheResource","Msg","AbstractResourcesTable","EditTheResource","ContentAlert","EmptyMessageState","ContinueCancelModal","ResourcesTable","constructor","props","context","row","newIsRowOpen","state","isRowOpen","fetchPermissions","resources","data","setState","isOpen","isModalActive","contextOpen","index","length","permissions","Map","resource","doGet","_id","then","response","newPermissions","set","removeShare","get","map","a","username","scopes","doPut","success","localize","render","visibility","name","onToggle","client","baseUrl","getClientName","shareRequests","hiddenOnLg","right","onContextToggle","sharedWithUsersMessage","toggle","numOthers","visibleOnLg","hidden"],"mappings":"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","sourcesContent":["/*\n * Copyright 2018 Red Hat, Inc. and/or its affiliates.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as React from 'react';\n\nimport {\n DataList,\n DataListItem,\n DataListItemRow,\n DataListCell,\n DataListToggle,\n DataListContent,\n DataListItemCells,\n Level,\n LevelItem,\n Button,\n DataListAction,\n DataListActionVisibility,\n Dropdown,\n DropdownPosition,\n DropdownItem,\n KebabToggle\n} from '@patternfly/react-core';\nimport { css } from '@patternfly/react-styles';\n\nimport { Remove2Icon, RepositoryIcon, ShareAltIcon, EditAltIcon } from '@patternfly/react-icons';\n\nimport { HttpResponse } from '../../account-service/account.service';\nimport { AccountServiceContext } from '../../account-service/AccountServiceContext';\nimport { PermissionRequest } from \"./PermissionRequest\";\nimport { ShareTheResource } from \"./ShareTheResource\";\nimport { Permission, Resource } from \"./resource-model\";\nimport { Msg } from '../../widgets/Msg';\nimport { ResourcesTableState, ResourcesTableProps, AbstractResourcesTable } from './AbstractResourceTable';\nimport { EditTheResource } from './EditTheResource';\nimport { ContentAlert } from '../ContentAlert';\nimport EmptyMessageState from '../../widgets/EmptyMessageState';\nimport { ContinueCancelModal } from '../../widgets/ContinueCancelModal';\n\nexport interface CollapsibleResourcesTableState extends ResourcesTableState {\n isRowOpen: boolean[];\n contextOpen: boolean[];\n isModalActive: boolean;\n}\n\nexport class ResourcesTable extends AbstractResourcesTable<CollapsibleResourcesTableState> {\n static contextType = AccountServiceContext;\n context: React.ContextType<typeof AccountServiceContext>;\n\n public constructor(props: ResourcesTableProps, context: React.ContextType<typeof AccountServiceContext>) {\n super(props);\n this.context = context;\n\n this.state = {\n isRowOpen: [],\n contextOpen: [],\n isModalActive: false,\n permissions: new Map()\n }\n }\n\n private onToggle = (row: number): void => {\n const newIsRowOpen: boolean[] = this.state.isRowOpen;\n newIsRowOpen[row] = !newIsRowOpen[row];\n if (newIsRowOpen[row]) this.fetchPermissions(this.props.resources.data[row], row);\n this.setState({ isRowOpen: newIsRowOpen });\n };\n\n private onContextToggle = (row: number, isOpen: boolean): void => {\n if (this.state.isModalActive) return;\n const data = this.props.resources.data;\n const contextOpen = this.state.contextOpen;\n contextOpen[row] = isOpen;\n if (isOpen) {\n const index = row > data.length ? row - data.length - 1 : row;\n this.fetchPermissions(data[index], index);\n }\n this.setState({ contextOpen });\n }\n\n private fetchPermissions(resource: Resource, row: number): void {\n this.context!.doGet(`/resources/${resource._id}/permissions`)\n .then((response: HttpResponse<Permission[]>) => {\n const newPermissions: Map<number, Permission[]> = new Map(this.state.permissions);\n newPermissions.set(row, response.data || []);\n this.setState({ permissions: newPermissions });\n });\n }\n\n private removeShare(resource: Resource, row: number): Promise<void> {\n const permissions = this.state.permissions.get(row)!.map(a => ({ username: a.username, scopes: [] }));\n return this.context!.doPut(`/resources/${resource._id}/permissions`, permissions)\n .then(() => {\n ContentAlert.success(Msg.localize('unShareSuccess'));\n });\n }\n\n public render(): React.ReactNode {\n if (this.props.resources.data.length === 0) {\n return (\n <EmptyMessageState icon={RepositoryIcon} messageKey=\"notHaveAnyResource\"/>\n );\n }\n return (\n <DataList aria-label={Msg.localize('resources')} id=\"resourcesList\">\n <DataListItem key='resource-header' aria-labelledby='resource-header'>\n <DataListItemRow>\n // invisible toggle allows headings to line up properly\n <span style={{ visibility: 'hidden' }}>\n <DataListToggle\n isExpanded={false}\n id='resource-header-invisible-toggle'\n aria-controls=\"ex-expand1\"\n />\n </span>\n <DataListItemCells\n dataListCells={[\n <DataListCell key='resource-name-header' width={5}>\n <strong><Msg msgKey='resourceName' /></strong>\n </DataListCell>,\n <DataListCell key='application-name-header' width={5}>\n <strong><Msg msgKey='application' /></strong>\n </DataListCell>,\n <DataListCell key='permission-request-header' width={5}>\n <strong><Msg msgKey='permissionRequests' /></strong>\n </DataListCell>,\n ]}\n />\n </DataListItemRow>\n </DataListItem>\n {this.props.resources.data.map((resource: Resource, row: number) => (\n <DataListItem key={'resource-' + row} aria-labelledby={resource.name} isExpanded={this.state.isRowOpen[row]}>\n <DataListItemRow>\n <DataListToggle\n onClick={() => this.onToggle(row)}\n isExpanded={this.state.isRowOpen[row]}\n id={'resourceToggle-' + row}\n aria-controls=\"ex-expand1\"\n />\n <DataListItemCells\n dataListCells={[\n <DataListCell id={'resourceName-' + row} key={'resourceName-' + row} width={5}>\n <Msg msgKey={resource.name} />\n </DataListCell>,\n <DataListCell id={'resourceClient-' + row} key={'resourceClient-' + row} width={5}>\n <a href={resource.client.baseUrl}>{this.getClientName(resource.client)}</a>\n </DataListCell>,\n <DataListCell id={'resourceRequests-' + row} key={'permissionRequests-' + row} width={5}>\n {resource.shareRequests.length > 0 &&\n <PermissionRequest\n resource={resource}\n onClose={() => this.fetchPermissions(resource, row)}\n ></PermissionRequest>\n }\n </DataListCell>\n ]}\n />\n <DataListAction\n className={DataListActionVisibility.hiddenOnLg}\n aria-labelledby=\"check-action-item3 check-action-action3\"\n id=\"check-action-action3\"\n aria-label=\"Actions\"\n >\n <Dropdown\n isPlain\n position={DropdownPosition.right}\n onSelect={() => this.setState({ isModalActive: true })}\n toggle={<KebabToggle onToggle={isOpen => this.onContextToggle(row + this.props.resources.data.length + 1, isOpen)} />}\n isOpen={this.state.contextOpen[row + this.props.resources.data.length + 1]}\n dropdownItems={[\n <ShareTheResource\n resource={resource}\n permissions={this.state.permissions.get(row)!}\n sharedWithUsersMsg={this.sharedWithUsersMessage(row)}\n onClose={() => {\n this.setState({ isModalActive: false }, () => {\n this.onContextToggle(row + this.props.resources.data.length + 1, false);\n this.fetchPermissions(resource, row + this.props.resources.data.length + 1);\n });\n }}\n >\n {\n (toggle: () => void) => (\n <DropdownItem id={'mob-share-' + row} key=\"mob-share\" onClick={toggle}>\n <ShareAltIcon /> <Msg msgKey=\"share\"/>\n </DropdownItem>)\n }\n </ShareTheResource>,\n <EditTheResource\n resource={resource}\n permissions={this.state.permissions.get(row)!}\n onClose={() => {\n this.setState({ isModalActive: false }, () => {\n this.onContextToggle(row + this.props.resources.data.length + 1, false);\n this.fetchPermissions(resource, row + this.props.resources.data.length + 1);\n });\n }}\n >\n {\n (toggle: () => void) => (\n <DropdownItem\n id={'mob-edit-' + row} key=\"mob-edit\"\n isDisabled={this.numOthers(row) < 0}\n onClick={toggle}\n >\n <EditAltIcon /> <Msg msgKey=\"edit\"/>\n </DropdownItem>)\n }\n </EditTheResource>,\n <ContinueCancelModal\n render={(toggle: () => void) => (\n <DropdownItem\n id={'mob-remove-' + row}\n key=\"mob-remove\"\n isDisabled={this.numOthers(row) < 0}\n onClick={toggle}\n >\n <Remove2Icon /> <Msg msgKey=\"unShare\"/>\n </DropdownItem>\n )}\n modalTitle=\"unShare\"\n modalMessage=\"unShareAllConfirm\"\n onClose={() =>\n this.setState({ isModalActive: false }, () => {\n this.onContextToggle(row + this.props.resources.data.length + 1, false);\n })\n }\n onContinue={() => this.removeShare(resource, row)\n .then(() => this.fetchPermissions(resource, row + this.props.resources.data.length + 1))}\n />\n ]}\n />\n </DataListAction>\n <DataListAction\n id={`actions-${row}`}\n className={css(DataListActionVisibility.visibleOnLg, DataListActionVisibility.hidden)}\n aria-labelledby=\"Row actions\"\n aria-label=\"Actions\"\n >\n <ShareTheResource\n resource={resource}\n permissions={this.state.permissions.get(row)!}\n sharedWithUsersMsg={this.sharedWithUsersMessage(row)}\n onClose={() => this.fetchPermissions(resource, row)}\n >\n {\n (toggle: () => void) => (\n <Button id={`share-${row}`} variant=\"link\" onClick={toggle}>\n <ShareAltIcon /> <Msg msgKey=\"share\"/>\n </Button>\n )\n }\n </ShareTheResource>\n <Dropdown\n id={`action-menu-${row}`}\n isPlain\n position={DropdownPosition.right}\n toggle={<KebabToggle onToggle={isOpen => this.onContextToggle(row, isOpen)} />}\n onSelect={() => this.setState({ isModalActive: true })}\n isOpen={this.state.contextOpen[row]}\n dropdownItems={[\n <EditTheResource\n resource={resource}\n permissions={this.state.permissions.get(row)!}\n onClose={() => {\n this.setState({ isModalActive: false }, () => {\n this.onContextToggle(row, false);\n this.fetchPermissions(resource, row);\n });\n }}\n >\n {\n (toggle: () => void) => (\n <DropdownItem\n id={'edit-' + row}\n key=\"edit\"\n component=\"button\"\n isDisabled={this.numOthers(row) < 0}\n onClick={toggle}\n >\n <EditAltIcon /> <Msg msgKey=\"edit\"/>\n </DropdownItem>)\n }\n </EditTheResource>,\n <ContinueCancelModal\n render={(toggle: () => void) => (\n <DropdownItem\n id={'remove-' + row}\n key=\"remove\"\n component=\"button\"\n isDisabled={this.numOthers(row) < 0}\n onClick={toggle}\n >\n <Remove2Icon /> <Msg msgKey=\"unShare\"/>\n </DropdownItem>\n )}\n modalTitle=\"unShare\"\n modalMessage='unShareAllConfirm'\n onClose={() =>\n this.setState({ isModalActive: false }, () => {\n this.onContextToggle(row, false);\n })\n }\n onContinue={() => this.removeShare(resource, row).then(() => this.fetchPermissions(resource, row))}\n />\n ]}\n />\n </DataListAction>\n\n </DataListItemRow>\n <DataListContent\n noPadding={false}\n aria-label=\"Session Details\"\n id={'ex-expand' + row}\n isHidden={!this.state.isRowOpen[row]}\n >\n <Level gutter='md'>\n <LevelItem><span /></LevelItem>\n <LevelItem id={'shared-with-user-message-' + row}>{this.sharedWithUsersMessage(row)}</LevelItem>\n <LevelItem><span /></LevelItem>\n </Level>\n </DataListContent>\n </DataListItem>\n ))}\n </DataList>\n );\n }\n}"],"file":"ResourcesTable.js"}
|