All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.account.resources.content.my-resources-page.MyResourcesPage.js.map Maven / Gradle / Ivy

There is a newer version: 26.0.5
Show newest version
{"version":3,"file":"MyResourcesPage.js","names":["React","parse","Button","Level","LevelItem","PageSection","PageSectionVariants","Stack","StackItem","Tab","Tabs","TextInput","AccountServiceContext","Scope","ResourcesTable","ContentPage","Msg","SharedResourcesTable","MY_RESOURCES_TAB","SHARED_WITH_ME_TAB","MyResourcesPage","Component","constructor","props","context","_defineProperty","scope","name","displayName","state","myResources","data","forEach","resource","fetchShareRequests","response","doGet","resources","pendingRequest","sharedWithMe","_id","shareRequests","username","scopes","forceUpdate","value","setState","nameFilter","fetchFilteredResources","fetchInitialResources","isSharedWithMeTab","fetchResources","nextUrl","prevUrl","tabIndex","activeTabKey","isModalOpen","hasNext","hasPrevious","first","max","params","url","extraParams","then","map","makeScopeObj","parseResourceResponse","fetchPending","fetchPermissionRequests","length","links","headers","get","undefined","parsed","next","prev","makeTab","eventKey","title","sharedResourcesTab","createElement","id","localize","hasGutter","isFilled","onChange","handleFilterRequest","type","placeholder","iconVariant","render","onRefresh","bind","variant","light","activeKey","onSelect","event","index","handleTabClick","onClick","handlePreviousClick","msgKey","handleFirstPageClick","handleNextClick","clearNextPrev","newMyResources"],"sources":["../../../src/app/content/my-resources-page/MyResourcesPage.tsx"],"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 parse from '../../util/ParseLink';\n\nimport {\n    Button,\n    Level,\n    LevelItem,\n    PageSection,\n    PageSectionVariants,\n    Stack,\n    StackItem,\n    Tab,\n    Tabs,\n    TextInput\n} from '@patternfly/react-core';\n\nimport {HttpResponse} from '../../account-service/account.service';\nimport {AccountServiceContext} from '../../account-service/AccountServiceContext';\n\nimport { PaginatedResources, Resource, Scope, Permission } from './resource-model';\nimport {ResourcesTable} from './ResourcesTable';\nimport {ContentPage} from '../ContentPage';\nimport {Msg} from '../../widgets/Msg';\nimport { SharedResourcesTable } from './SharedResourcesTable';\n\nexport interface MyResourcesPageProps {\n}\n\nexport interface MyResourcesPageState {\n    activeTabKey: number;\n    isModalOpen: boolean;\n    nameFilter: string;\n    myResources: PaginatedResources;\n    sharedWithMe: PaginatedResources;\n}\n\nconst MY_RESOURCES_TAB = 0;\nconst SHARED_WITH_ME_TAB = 1;\n\nexport class MyResourcesPage extends React.Component {\n    static contextType = AccountServiceContext;\n    context: React.ContextType;\n    private first = 0;\n    private max = 5;\n\n    public constructor(props: MyResourcesPageProps, context: React.ContextType) {\n        super(props);\n        this.context = context;\n\n        this.state = {\n            activeTabKey: MY_RESOURCES_TAB,\n            nameFilter: '',\n            isModalOpen: false,\n            myResources: {nextUrl: '', prevUrl: '', data: []},\n            sharedWithMe: {nextUrl: '', prevUrl: '', data: []}\n        };\n\n        this.fetchInitialResources();\n    }\n\n    private isSharedWithMeTab(): boolean {\n        return this.state.activeTabKey === SHARED_WITH_ME_TAB;\n    }\n\n    private hasNext(): boolean {\n        if (this.isSharedWithMeTab()) {\n            return (this.state.sharedWithMe.nextUrl !== null) && (this.state.sharedWithMe.nextUrl !== '');\n        } else {\n            return (this.state.myResources.nextUrl !== null) && (this.state.myResources.nextUrl !== '');\n        }\n    }\n\n    private hasPrevious(): boolean {\n        if (this.isSharedWithMeTab()) {\n            return (this.state.sharedWithMe.prevUrl !== null) && (this.state.sharedWithMe.prevUrl !== '');\n        } else {\n            return (this.state.myResources.prevUrl !== null) && (this.state.myResources.prevUrl !== '');\n        }\n    }\n\n    private fetchInitialResources(): void {\n        if (this.isSharedWithMeTab()) {\n            this.fetchResources(\"/resources/shared-with-me\");\n        } else {\n            this.fetchResources(\"/resources\", {first: this.first, max: this.max});\n        }\n    }\n\n    private fetchFilteredResources(params: Record): void {\n        if (this.isSharedWithMeTab()) {\n            this.fetchResources(\"/resources/shared-with-me\", params);\n        } else {\n            this.fetchResources(\"/resources\", {...params, first: this.first, max: this.max});\n        }\n    }\n\n    private fetchResources(url: string, extraParams?: Record): void {\n        this.context!.doGet(url, {params: extraParams})\n            .then((response: HttpResponse) => {\n                const resources: Resource[] = response.data || [];\n                resources.forEach((resource: Resource) => resource.shareRequests = []);\n\n                // serialize the Scope objects from JSON so that toString() will work.\n                resources.forEach((resource: Resource) => resource.scopes = resource.scopes.map(this.makeScopeObj));\n\n                if (this.isSharedWithMeTab()) {\n                    this.setState({sharedWithMe: this.parseResourceResponse(response)}, this.fetchPending);\n                } else {\n                    this.setState({myResources: this.parseResourceResponse(response)}, this.fetchPermissionRequests);\n                }\n            });\n    }\n\n    private makeScopeObj = (scope: Scope): Scope => {\n        return new Scope(scope.name, scope.displayName);\n    }\n\n    private fetchPermissionRequests = () => {\n        this.state.myResources.data.forEach((resource: Resource) => {\n            this.fetchShareRequests(resource);\n        });\n    }\n\n    private fetchShareRequests(resource: Resource): void {\n        this.context!.doGet('/resources/' + resource._id + '/permissions/requests')\n            .then((response) => {\n                resource.shareRequests = response.data || [];\n                if (resource.shareRequests.length > 0) {\n                    this.forceUpdate();\n                }\n            });\n    }\n\n    private fetchPending = async () => {\n        const response: HttpResponse = await this.context!.doGet(`/resources/pending-requests`);\n        const resources: Resource[] = response.data || [];\n        resources.forEach((pendingRequest: Resource) => {\n            this.state.sharedWithMe.data.forEach(resource => {\n                if (resource._id === pendingRequest._id) {\n                    resource.shareRequests = [{username: 'me', scopes: pendingRequest.scopes}]\n                    this.forceUpdate();\n                }\n            });\n        });\n    }\n\n    private parseResourceResponse(response: HttpResponse): PaginatedResources {\n        const links: string | undefined = response.headers.get('link') || undefined;\n        const parsed = parse(links);\n\n        let next = '';\n        let prev = '';\n\n        if (parsed !== null) {\n            if (parsed.next) next = parsed.next;\n            if (parsed.prev) prev = parsed.prev;\n        }\n\n        const resources: Resource[] = response.data || [];\n\n        return {nextUrl: next, prevUrl: prev, data: resources};\n    }\n\n    private makeTab(eventKey: number, title: string, resources: PaginatedResources, sharedResourcesTab: boolean): React.ReactNode {\n        return (\n            \n                \n                    \n                    \n                        \n                            \n                                \n                            \n                        \n                    \n                    \n                        {!sharedResourcesTab && }\n                        {sharedResourcesTab && }\n                    \n                \n            \n        )\n    }\n\n    public render(): React.ReactNode {\n        return (\n            \n                \n                     this.handleTabClick(index as number)}>\n                        {this.makeTab(0, 'myResources', this.state.myResources, false)}\n                        {this.makeTab(1, 'sharedwithMe', this.state.sharedWithMe, true)}\n                    \n\n                    \n                        \n                            {this.hasPrevious() && }\n                        \n\n                        \n                            {this.hasPrevious() && }\n                        \n\n                        \n                            {this.hasNext() && }\n                        \n                    \n                \n            \n        );\n    }\n\n    private handleFilterRequest = (value: string) => {\n        this.setState({nameFilter: value});\n        this.fetchFilteredResources({name: value});\n    }\n\n    private clearNextPrev(): void {\n        const newMyResources: PaginatedResources = this.state.myResources;\n        newMyResources.nextUrl = '';\n        newMyResources.prevUrl = '';\n        this.setState({myResources: newMyResources});\n    }\n\n    private handleFirstPageClick = () => {\n        this.fetchInitialResources();\n    }\n\n    private handleNextClick = () => {\n        if (this.isSharedWithMeTab()) {\n            this.fetchResources(this.state.sharedWithMe.nextUrl);\n        } else {\n            this.fetchResources(this.state.myResources.nextUrl);\n        }\n    }\n\n    private handlePreviousClick = () => {\n        if (this.isSharedWithMeTab()) {\n            this.fetchResources(this.state.sharedWithMe.prevUrl);\n        } else {\n            this.fetchResources(this.state.myResources.prevUrl);\n        }\n    }\n\n    private handleTabClick = (tabIndex: number) => {\n        if (this.state.activeTabKey === tabIndex) return;\n\n        this.setState({\n            nameFilter: '',\n            activeTabKey: tabIndex\n        }, () => {this.fetchInitialResources()});\n    };\n};\n"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy