openvsx-webui-test 0.19.0-dev.2 → 0.20.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/banner.js +1 -2
- package/lib/components/banner.js.map +1 -1
- package/lib/components/copy-to-clipboard.js +1 -2
- package/lib/components/copy-to-clipboard.js.map +1 -1
- package/lib/components/delayed-load-indicator.js +2 -4
- package/lib/components/delayed-load-indicator.js.map +1 -1
- package/lib/components/error-dialog.d.ts.map +1 -1
- package/lib/components/error-dialog.js +5 -3
- package/lib/components/error-dialog.js.map +1 -1
- package/lib/components/rate-limiting/customer/general-details.d.ts +20 -0
- package/lib/components/rate-limiting/customer/general-details.d.ts.map +1 -0
- package/lib/components/rate-limiting/customer/general-details.js +8 -0
- package/lib/components/rate-limiting/customer/general-details.js.map +1 -0
- package/lib/components/rate-limiting/customer/index.d.ts +17 -0
- package/lib/components/rate-limiting/customer/index.d.ts.map +1 -0
- package/lib/components/rate-limiting/customer/index.js +15 -0
- package/lib/components/rate-limiting/customer/index.js.map +1 -0
- package/lib/components/rate-limiting/customer/usage-stats.d.ts +24 -0
- package/lib/components/rate-limiting/customer/usage-stats.d.ts.map +1 -0
- package/lib/components/rate-limiting/customer/usage-stats.js +6 -0
- package/lib/components/rate-limiting/customer/usage-stats.js.map +1 -0
- package/lib/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.d.ts +5 -2
- package/lib/components/rate-limiting/usage-stats/usage-stats-chart.d.ts.map +1 -0
- package/lib/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.js +25 -18
- package/lib/components/rate-limiting/usage-stats/usage-stats-chart.js.map +1 -0
- package/lib/components/rate-limiting/usage-stats/usage-stats-utils.d.ts +15 -0
- package/lib/components/rate-limiting/usage-stats/usage-stats-utils.d.ts.map +1 -0
- package/{src/pages/admin-dashboard/usage-stats/usage-stats-utils.ts → lib/components/rate-limiting/usage-stats/usage-stats-utils.js} +4 -3
- package/lib/components/rate-limiting/usage-stats/usage-stats-utils.js.map +1 -0
- package/lib/components/rate-limiting/usage-stats/use-usage-stats.d.ts +22 -0
- package/lib/components/rate-limiting/usage-stats/use-usage-stats.d.ts.map +1 -0
- package/lib/components/rate-limiting/usage-stats/use-usage-stats.js +58 -0
- package/lib/components/rate-limiting/usage-stats/use-usage-stats.js.map +1 -0
- package/lib/components/scan-admin/common/conditional-tooltip.js +4 -16
- package/lib/components/scan-admin/common/conditional-tooltip.js.map +1 -1
- package/lib/components/scan-admin/common/file-table.js +24 -13
- package/lib/components/scan-admin/common/file-table.js.map +1 -1
- package/lib/components/scan-admin/dialogs/quarantine-dialog.js +4 -8
- package/lib/components/scan-admin/dialogs/quarantine-dialog.js.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-content.js +2 -2
- package/lib/components/scan-admin/scan-card/scan-card-content.js.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js +21 -16
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js +1 -2
- package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js.map +1 -1
- package/lib/components/scan-admin/scan-card/scan-card-header.js +10 -5
- package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -1
- package/lib/components/scan-admin/scan-card/utils.js +1 -2
- package/lib/components/scan-admin/scan-card/utils.js.map +1 -1
- package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js +4 -6
- package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js.map +1 -1
- package/lib/components/sidepanel/drawer-header.d.ts +14 -0
- package/lib/components/sidepanel/drawer-header.d.ts.map +1 -0
- package/lib/components/sidepanel/drawer-header.js +22 -0
- package/lib/components/sidepanel/drawer-header.js.map +1 -0
- package/lib/components/sidepanel/navigation-item.d.ts.map +1 -1
- package/lib/components/sidepanel/navigation-item.js +3 -3
- package/lib/components/sidepanel/navigation-item.js.map +1 -1
- package/lib/components/sidepanel/sidepanel.d.ts +7 -1
- package/lib/components/sidepanel/sidepanel.d.ts.map +1 -1
- package/lib/components/sidepanel/sidepanel.js +12 -13
- package/lib/components/sidepanel/sidepanel.js.map +1 -1
- package/lib/components/text-divider.js +1 -2
- package/lib/components/text-divider.js.map +1 -1
- package/lib/components/timestamp.d.ts +0 -1
- package/lib/components/timestamp.d.ts.map +1 -1
- package/lib/components/timestamp.js +2 -4
- package/lib/components/timestamp.js.map +1 -1
- package/lib/context/scan-admin/scan-api-actions.js +7 -16
- package/lib/context/scan-admin/scan-api-actions.js.map +1 -1
- package/lib/context/scan-admin/scan-api-effects.js +77 -93
- package/lib/context/scan-admin/scan-api-effects.js.map +1 -1
- package/lib/context/scan-admin/scan-context.d.ts.map +1 -1
- package/lib/context/scan-admin/scan-context.js +1 -0
- package/lib/context/scan-admin/scan-context.js.map +1 -1
- package/lib/context/scan-admin/scan-reducer.js +134 -53
- package/lib/context/scan-admin/scan-reducer.js.map +1 -1
- package/lib/default/default-app.d.ts +1 -1
- package/lib/default/default-app.d.ts.map +1 -1
- package/lib/default/default-app.js +11 -22
- package/lib/default/default-app.js.map +1 -1
- package/lib/default/menu-content.d.ts.map +1 -1
- package/lib/default/menu-content.js +7 -3
- package/lib/default/menu-content.js.map +1 -1
- package/lib/default/page-settings.js +13 -18
- package/lib/default/page-settings.js.map +1 -1
- package/lib/extension-registry-service.d.ts +11 -1
- package/lib/extension-registry-service.d.ts.map +1 -1
- package/lib/extension-registry-service.js +618 -629
- package/lib/extension-registry-service.js.map +1 -1
- package/lib/extension-registry-types.d.ts +7 -0
- package/lib/extension-registry-types.d.ts.map +1 -1
- package/lib/hooks/scan-admin/use-auto-rejected-tab.js +5 -7
- package/lib/hooks/scan-admin/use-auto-rejected-tab.js.map +1 -1
- package/lib/hooks/scan-admin/use-quarantined-tab.js +5 -7
- package/lib/hooks/scan-admin/use-quarantined-tab.js.map +1 -1
- package/lib/main.d.ts.map +1 -1
- package/lib/main.js +8 -16
- package/lib/main.js.map +1 -1
- package/lib/other-pages.d.ts +12 -0
- package/lib/other-pages.d.ts.map +1 -1
- package/lib/other-pages.js +25 -12
- package/lib/other-pages.js.map +1 -1
- package/lib/pages/admin-dashboard/admin-dashboard.d.ts +0 -12
- package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/admin-dashboard.js +136 -49
- package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
- package/lib/pages/admin-dashboard/admin-routes.d.ts +25 -0
- package/lib/pages/admin-dashboard/admin-routes.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/admin-routes.js +27 -0
- package/lib/pages/admin-dashboard/admin-routes.js.map +1 -0
- package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts +1 -9
- package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js +17 -15
- package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js.map +1 -1
- package/lib/pages/admin-dashboard/components/data-grid-filter.d.ts +22 -0
- package/lib/pages/admin-dashboard/components/data-grid-filter.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/components/data-grid-filter.js +13 -0
- package/lib/pages/admin-dashboard/components/data-grid-filter.js.map +1 -0
- package/lib/pages/admin-dashboard/components/index.d.ts +2 -1
- package/lib/pages/admin-dashboard/components/index.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/components/index.js +2 -1
- package/lib/pages/admin-dashboard/components/index.js.map +1 -1
- package/lib/pages/admin-dashboard/{usage-stats/usage-stats-utils.d.ts → customers/customer-details.d.ts} +3 -2
- package/lib/pages/admin-dashboard/customers/customer-details.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/customers/customer-details.js +77 -0
- package/lib/pages/admin-dashboard/customers/customer-details.js.map +1 -0
- package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts +1 -1
- package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/customers/customer-form-dialog.js +33 -34
- package/lib/pages/admin-dashboard/customers/customer-form-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/customers/customer-member-list.d.ts +19 -0
- package/lib/pages/admin-dashboard/customers/customer-member-list.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/customers/customer-member-list.js +88 -0
- package/lib/pages/admin-dashboard/customers/customer-member-list.js.map +1 -0
- package/lib/pages/admin-dashboard/customers/customers.d.ts +1 -1
- package/lib/pages/admin-dashboard/customers/customers.js +20 -29
- package/lib/pages/admin-dashboard/customers/customers.js.map +1 -1
- package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js +4 -14
- package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/extension-admin.js +7 -16
- package/lib/pages/admin-dashboard/extension-admin.js.map +1 -1
- package/lib/pages/admin-dashboard/extension-remove-dialog.js +3 -12
- package/lib/pages/admin-dashboard/extension-remove-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/extension-version-container.js +3 -5
- package/lib/pages/admin-dashboard/extension-version-container.js.map +1 -1
- package/lib/pages/admin-dashboard/logs/logs.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/logs/logs.js +6 -24
- package/lib/pages/admin-dashboard/logs/logs.js.map +1 -1
- package/lib/pages/admin-dashboard/namespace-admin.js +7 -16
- package/lib/pages/admin-dashboard/namespace-admin.js.map +1 -1
- package/lib/pages/admin-dashboard/namespace-change-dialog.js +3 -12
- package/lib/pages/admin-dashboard/namespace-change-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/namespace-input.js +1 -1
- package/lib/pages/admin-dashboard/namespace-input.js.map +1 -1
- package/lib/pages/admin-dashboard/publisher-admin.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/publisher-admin.js +28 -22
- package/lib/pages/admin-dashboard/publisher-admin.js.map +1 -1
- package/lib/pages/admin-dashboard/publisher-revoke-dialog.js +5 -15
- package/lib/pages/admin-dashboard/publisher-revoke-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js +3 -12
- package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js.map +1 -1
- package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js +4 -13
- package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js +34 -23
- package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/tiers/tiers.js +12 -21
- package/lib/pages/admin-dashboard/tiers/tiers.js.map +1 -1
- package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js +3 -14
- package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js.map +1 -1
- package/lib/pages/admin-dashboard/usage-stats/usage-stats.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/usage-stats/usage-stats.js +11 -45
- package/lib/pages/admin-dashboard/usage-stats/usage-stats.js.map +1 -1
- package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.d.ts +22 -0
- package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.js +58 -0
- package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.js.map +1 -0
- package/lib/pages/admin-dashboard/welcome.js +1 -1
- package/lib/pages/admin-dashboard/welcome.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail-changes.js +3 -12
- package/lib/pages/extension-detail/extension-detail-changes.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail-overview.js +6 -16
- package/lib/pages/extension-detail/extension-detail-overview.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail-reviews.js +12 -24
- package/lib/pages/extension-detail/extension-detail-reviews.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail-routes.d.ts +32 -0
- package/lib/pages/extension-detail/extension-detail-routes.d.ts.map +1 -0
- package/lib/pages/extension-detail/extension-detail-routes.js +35 -0
- package/lib/pages/extension-detail/extension-detail-routes.js.map +1 -0
- package/lib/pages/extension-detail/extension-detail.d.ts +0 -19
- package/lib/pages/extension-detail/extension-detail.d.ts.map +1 -1
- package/lib/pages/extension-detail/extension-detail.js +28 -50
- package/lib/pages/extension-detail/extension-detail.js.map +1 -1
- package/lib/pages/extension-detail/extension-rating-stars.js +1 -2
- package/lib/pages/extension-detail/extension-rating-stars.js.map +1 -1
- package/lib/pages/extension-detail/extension-review-dialog.js +4 -14
- package/lib/pages/extension-detail/extension-review-dialog.js.map +1 -1
- package/lib/pages/extension-list/extension-list-container.d.ts +0 -3
- package/lib/pages/extension-list/extension-list-container.d.ts.map +1 -1
- package/lib/pages/extension-list/extension-list-container.js +5 -10
- package/lib/pages/extension-list/extension-list-container.js.map +1 -1
- package/lib/pages/extension-list/extension-list-header.js +3 -6
- package/lib/pages/extension-list/extension-list-header.js.map +1 -1
- package/lib/pages/extension-list/extension-list-item.js +7 -17
- package/lib/pages/extension-list/extension-list-item.js.map +1 -1
- package/lib/pages/extension-list/extension-list-routes.d.ts +16 -0
- package/lib/pages/extension-list/extension-list-routes.d.ts.map +1 -0
- package/lib/pages/extension-list/extension-list-routes.js +18 -0
- package/lib/pages/extension-list/extension-list-routes.js.map +1 -0
- package/lib/pages/extension-list/extension-list-searchfield.js +4 -7
- package/lib/pages/extension-list/extension-list-searchfield.js.map +1 -1
- package/lib/pages/extension-list/extension-list.js +8 -19
- package/lib/pages/extension-list/extension-list.js.map +1 -1
- package/lib/pages/namespace-detail/namespace-detail-routes.d.ts +20 -0
- package/lib/pages/namespace-detail/namespace-detail-routes.d.ts.map +1 -0
- package/lib/pages/namespace-detail/namespace-detail-routes.js +23 -0
- package/lib/pages/namespace-detail/namespace-detail-routes.js.map +1 -0
- package/lib/pages/namespace-detail/namespace-detail.d.ts +0 -7
- package/lib/pages/namespace-detail/namespace-detail.d.ts.map +1 -1
- package/lib/pages/namespace-detail/namespace-detail.js +4 -24
- package/lib/pages/namespace-detail/namespace-detail.js.map +1 -1
- package/lib/pages/user/add-namespace-member-dialog.d.ts.map +1 -1
- package/lib/pages/user/add-namespace-member-dialog.js +8 -67
- package/lib/pages/user/add-namespace-member-dialog.js.map +1 -1
- package/lib/pages/user/add-user-dialog.d.ts +25 -0
- package/lib/pages/user/add-user-dialog.d.ts.map +1 -0
- package/lib/pages/user/add-user-dialog.js +66 -0
- package/lib/pages/user/add-user-dialog.js.map +1 -0
- package/lib/pages/user/avatar.js +3 -3
- package/lib/pages/user/avatar.js.map +1 -1
- package/lib/pages/user/create-namespace-dialog.js +3 -12
- package/lib/pages/user/create-namespace-dialog.js.map +1 -1
- package/lib/pages/user/generate-token-dialog.js +3 -12
- package/lib/pages/user/generate-token-dialog.js.map +1 -1
- package/lib/pages/user/logout.js +3 -12
- package/lib/pages/user/logout.js.map +1 -1
- package/lib/pages/user/publish-extension-dialog.js +12 -21
- package/lib/pages/user/publish-extension-dialog.js.map +1 -1
- package/lib/pages/user/user-namespace-details.js +29 -42
- package/lib/pages/user/user-namespace-details.js.map +1 -1
- package/lib/pages/user/user-namespace-extension-list-item.js +6 -8
- package/lib/pages/user/user-namespace-extension-list-item.js.map +1 -1
- package/lib/pages/user/user-namespace-extension-list.js +6 -15
- package/lib/pages/user/user-namespace-extension-list.js.map +1 -1
- package/lib/pages/user/user-namespace-member-component.js +1 -1
- package/lib/pages/user/user-namespace-member-component.js.map +1 -1
- package/lib/pages/user/user-namespace-member-list.js +9 -18
- package/lib/pages/user/user-namespace-member-list.js.map +1 -1
- package/lib/pages/user/user-publisher-agreement.js +8 -18
- package/lib/pages/user/user-publisher-agreement.js.map +1 -1
- package/lib/pages/user/user-setting-tabs.d.ts.map +1 -1
- package/lib/pages/user/user-setting-tabs.js +2 -2
- package/lib/pages/user/user-setting-tabs.js.map +1 -1
- package/lib/pages/user/user-settings-customer-detail.d.ts +19 -0
- package/lib/pages/user/user-settings-customer-detail.d.ts.map +1 -0
- package/lib/pages/user/user-settings-customer-detail.js +9 -0
- package/lib/pages/user/user-settings-customer-detail.js.map +1 -0
- package/lib/pages/user/user-settings-customers.d.ts +15 -0
- package/lib/pages/user/user-settings-customers.d.ts.map +1 -0
- package/lib/pages/user/user-settings-customers.js +66 -0
- package/lib/pages/user/user-settings-customers.js.map +1 -0
- package/lib/pages/user/user-settings-delete-extension.js +8 -17
- package/lib/pages/user/user-settings-delete-extension.js.map +1 -1
- package/lib/pages/user/user-settings-extensions.js +3 -12
- package/lib/pages/user/user-settings-extensions.js.map +1 -1
- package/lib/pages/user/user-settings-namespace-detail.d.ts.map +1 -1
- package/lib/pages/user/user-settings-namespace-detail.js +4 -12
- package/lib/pages/user/user-settings-namespace-detail.js.map +1 -1
- package/lib/pages/user/user-settings-namespaces.js +6 -15
- package/lib/pages/user/user-settings-namespaces.js.map +1 -1
- package/lib/pages/user/user-settings-profile.js +1 -2
- package/lib/pages/user/user-settings-profile.js.map +1 -1
- package/lib/pages/user/user-settings-routes.d.ts +23 -0
- package/lib/pages/user/user-settings-routes.d.ts.map +1 -0
- package/lib/pages/user/user-settings-routes.js +25 -0
- package/lib/pages/user/user-settings-routes.js.map +1 -0
- package/lib/pages/user/user-settings-tokens.d.ts +0 -7
- package/lib/pages/user/user-settings-tokens.d.ts.map +1 -1
- package/lib/pages/user/user-settings-tokens.js +14 -24
- package/lib/pages/user/user-settings-tokens.js.map +1 -1
- package/lib/pages/user/user-settings.d.ts +0 -9
- package/lib/pages/user/user-settings.d.ts.map +1 -1
- package/lib/pages/user/user-settings.js +4 -12
- package/lib/pages/user/user-settings.js.map +1 -1
- package/lib/server-request.js +64 -76
- package/lib/server-request.js.map +1 -1
- package/lib/utils.d.ts +1 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +7 -14
- package/lib/utils.js.map +1 -1
- package/package.json +4 -2
- package/src/components/error-dialog.tsx +5 -3
- package/src/components/rate-limiting/customer/general-details.tsx +106 -0
- package/src/components/rate-limiting/customer/index.ts +18 -0
- package/src/components/rate-limiting/customer/usage-stats.tsx +50 -0
- package/src/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.tsx +46 -26
- package/{lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js → src/components/rate-limiting/usage-stats/usage-stats-utils.ts} +4 -2
- package/src/components/rate-limiting/usage-stats/use-usage-stats.ts +70 -0
- package/src/components/scan-admin/scan-card/scan-card-header.tsx +2 -2
- package/src/components/sidepanel/drawer-header.tsx +23 -0
- package/src/components/sidepanel/navigation-item.tsx +3 -2
- package/src/components/sidepanel/sidepanel.tsx +29 -17
- package/src/components/timestamp.tsx +1 -3
- package/src/context/scan-admin/scan-context.tsx +1 -0
- package/src/default/default-app.tsx +1 -1
- package/src/default/menu-content.tsx +6 -2
- package/src/default/page-settings.tsx +1 -1
- package/src/extension-registry-service.ts +105 -26
- package/src/extension-registry-types.ts +9 -0
- package/src/main.tsx +2 -1
- package/src/other-pages.tsx +21 -4
- package/src/pages/admin-dashboard/admin-dashboard.tsx +260 -83
- package/src/pages/admin-dashboard/admin-routes.ts +27 -0
- package/src/pages/admin-dashboard/components/data-grid-filter-operators.tsx +1 -31
- package/src/pages/admin-dashboard/components/data-grid-filter.tsx +45 -0
- package/src/pages/admin-dashboard/components/index.ts +1 -1
- package/src/pages/admin-dashboard/customers/customer-details.tsx +129 -0
- package/src/pages/admin-dashboard/customers/customer-form-dialog.tsx +3 -4
- package/src/pages/admin-dashboard/customers/customer-member-list.tsx +174 -0
- package/src/pages/admin-dashboard/customers/customers.tsx +8 -8
- package/src/pages/admin-dashboard/logs/logs.tsx +1 -10
- package/src/pages/admin-dashboard/publisher-admin.tsx +29 -11
- package/src/pages/admin-dashboard/usage-stats/usage-stats.tsx +10 -39
- package/src/pages/admin-dashboard/usage-stats/use-usage-stats.ts +70 -0
- package/src/pages/admin-dashboard/welcome.tsx +1 -1
- package/src/pages/extension-detail/extension-detail-overview.tsx +2 -2
- package/src/pages/extension-detail/extension-detail-routes.ts +35 -0
- package/src/pages/extension-detail/extension-detail.tsx +3 -23
- package/src/pages/extension-list/extension-list-container.tsx +1 -5
- package/src/pages/extension-list/extension-list-item.tsx +1 -1
- package/src/pages/extension-list/extension-list-routes.ts +18 -0
- package/src/pages/namespace-detail/namespace-detail-routes.ts +23 -0
- package/src/pages/namespace-detail/namespace-detail.tsx +0 -10
- package/src/pages/user/add-namespace-member-dialog.tsx +17 -116
- package/src/pages/user/add-user-dialog.tsx +141 -0
- package/src/pages/user/avatar.tsx +2 -2
- package/src/pages/user/user-namespace-extension-list-item.tsx +2 -2
- package/src/pages/user/user-setting-tabs.tsx +2 -1
- package/src/pages/user/user-settings-customer-detail.tsx +39 -0
- package/src/pages/user/user-settings-customers.tsx +120 -0
- package/src/pages/user/user-settings-delete-extension.tsx +1 -1
- package/src/pages/user/user-settings-namespace-detail.tsx +3 -1
- package/src/pages/user/user-settings-routes.ts +25 -0
- package/src/pages/user/user-settings-tokens.tsx +2 -9
- package/src/pages/user/user-settings.tsx +4 -12
- package/src/utils.ts +5 -9
- package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.d.ts.map +0 -1
- package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.js.map +0 -1
- package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.d.ts.map +0 -1
- package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Copyright (c) 2026 Contributors to the Eclipse Foundation.
|
|
3
|
+
*
|
|
4
|
+
* See the NOTICE file(s) distributed with this work for additional
|
|
5
|
+
* information regarding copyright ownership.
|
|
6
|
+
*
|
|
7
|
+
* This program and the accompanying materials are made available under the
|
|
8
|
+
* terms of the Eclipse Public License 2.0 which is available at
|
|
9
|
+
* https://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
*
|
|
11
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
12
|
+
*****************************************************************************/
|
|
13
|
+
import { createRoute } from '../../utils';
|
|
14
|
+
export var ExtensionListRoutes;
|
|
15
|
+
(function (ExtensionListRoutes) {
|
|
16
|
+
ExtensionListRoutes.MAIN = createRoute([]);
|
|
17
|
+
})(ExtensionListRoutes || (ExtensionListRoutes = {}));
|
|
18
|
+
//# sourceMappingURL=extension-list-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-list-routes.js","sourceRoot":"","sources":["../../../src/pages/extension-list/extension-list-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,KAAW,mBAAmB,CAEnC;AAFD,WAAiB,mBAAmB;IACnB,wBAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC,EAFgB,mBAAmB,KAAnB,mBAAmB,QAEnC"}
|
|
@@ -13,18 +13,16 @@ import SearchIcon from '@mui/icons-material/Search';
|
|
|
13
13
|
import { Paper, IconButton, InputBase } from '@mui/material';
|
|
14
14
|
import { MainContext } from '../../context';
|
|
15
15
|
export const ExtensionListSearchfield = props => {
|
|
16
|
-
var _a;
|
|
17
16
|
const { pageSettings } = useContext(MainContext);
|
|
18
17
|
const handleSearchChange = (event) => {
|
|
19
18
|
props.onSearchChanged(event.target.value);
|
|
20
19
|
};
|
|
21
20
|
const handleSearchButtonClick = () => {
|
|
22
|
-
var _a;
|
|
23
21
|
if (props.onSearchSubmit) {
|
|
24
|
-
props.onSearchSubmit(
|
|
22
|
+
props.onSearchSubmit(props.searchQuery ?? '');
|
|
25
23
|
}
|
|
26
24
|
};
|
|
27
|
-
const searchIconColor =
|
|
25
|
+
const searchIconColor = pageSettings?.themeType === 'dark' ? '#111111' : '#ffffff';
|
|
28
26
|
return _jsxs(Paper, { sx: {
|
|
29
27
|
flex: 2,
|
|
30
28
|
display: 'flex',
|
|
@@ -32,10 +30,9 @@ export const ExtensionListSearchfield = props => {
|
|
|
32
30
|
mb: { xs: 2, sm: 2, md: 0, lg: 0, xl: 0 },
|
|
33
31
|
border: (props.error ? 2 : 0),
|
|
34
32
|
borderColor: 'error.main'
|
|
35
|
-
}, children: [_jsx(InputBase, { autoFocus:
|
|
36
|
-
var _a;
|
|
33
|
+
}, children: [_jsx(InputBase, { autoFocus: props.autoFocus ?? true, value: props.searchQuery, onChange: handleSearchChange, sx: { flex: 1, pl: 1 }, placeholder: props.placeholder, id: 'search-input', type: 'search', inputMode: 'search', onKeyDown: (e) => {
|
|
37
34
|
if (e.key === 'Enter' && props.onSearchSubmit) {
|
|
38
|
-
props.onSearchSubmit(
|
|
35
|
+
props.onSearchSubmit(props.searchQuery ?? '');
|
|
39
36
|
}
|
|
40
37
|
} }), _jsx("label", { htmlFor: 'search-input', className: 'visually-hidden', children: "Search for Name, Tags or Description" }), props.hideIconButton ? '' :
|
|
41
38
|
_jsx(IconButton, { color: 'primary', "aria-label": 'Search', onClick: handleSearchButtonClick, sx: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-list-searchfield.js","sourceRoot":"","sources":["../../../src/pages/extension-list/extension-list-searchfield.tsx"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAiD,UAAU,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,MAAM,CAAC,MAAM,wBAAwB,GAAqD,KAAK,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"extension-list-searchfield.js","sourceRoot":"","sources":["../../../src/pages/extension-list/extension-list-searchfield.tsx"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAiD,UAAU,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,MAAM,CAAC,MAAM,wBAAwB,GAAqD,KAAK,CAAC,EAAE;IAE9F,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,kBAAkB,GAAG,CAAC,KAAoC,EAAE,EAAE;QAChE,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,YAAY,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,OAAO,MAAC,KAAK,IACT,EAAE,EAAE;YACA,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,MAAM;YACf,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACzC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACzC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,WAAW,EAAE,YAAY;SAC5B,aAED,KAAC,SAAS,IACN,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,EAClC,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EACtB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,EAAE,EAAC,cAAc,EACjB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;oBAC5B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBAC5C,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACL,CAAC,GACH,EACF,gBACI,OAAO,EAAC,cAAc,EACtB,SAAS,EAAC,iBAAiB,qDAEvB,EAEJ,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,KAAC,UAAU,IACP,KAAK,EAAC,SAAS,gBACJ,QAAQ,EACnB,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE;wBACA,OAAO,EAAE,gBAAgB;wBACzB,YAAY,EAAE,aAAa;wBAC3B,CAAC,EAAE,CAAC;wBACJ,UAAU,EAAE,QAAQ;wBACpB,SAAS,EAAE;4BACP,MAAM,EAAE,cAAc;yBACzB;qBACJ,YAED,KAAC,UAAU,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAI,GACrC,IAEjB,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
2
|
/********************************************************************************
|
|
12
3
|
* Copyright (c) 2019 TypeFox and others
|
|
@@ -26,13 +17,12 @@ import { debounce } from '../../utils';
|
|
|
26
17
|
import { DelayedLoadIndicator } from '../../components/delayed-load-indicator';
|
|
27
18
|
import { MainContext } from '../../context';
|
|
28
19
|
export const ExtensionList = props => {
|
|
29
|
-
var _a;
|
|
30
20
|
const abortController = useRef(new AbortController());
|
|
31
21
|
const cancellationToken = useRef({});
|
|
32
22
|
const enableLoadMore = useRef(false);
|
|
33
23
|
const lastRequestedPage = useRef(0);
|
|
34
24
|
const pageOffset = useRef(0);
|
|
35
|
-
const filterSize = useRef(
|
|
25
|
+
const filterSize = useRef(props.filter.size ?? 10);
|
|
36
26
|
const context = useContext(MainContext);
|
|
37
27
|
const [extensions, setExtensions] = useState([]);
|
|
38
28
|
const [extensionKeys, setExtensionKeys] = useState(new Set());
|
|
@@ -48,11 +38,10 @@ export const ExtensionList = props => {
|
|
|
48
38
|
};
|
|
49
39
|
}, []);
|
|
50
40
|
useEffect(() => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
debounce(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
filterSize.current = props.filter.size ?? filterSize.current;
|
|
42
|
+
debounce(async () => {
|
|
54
43
|
try {
|
|
55
|
-
const result =
|
|
44
|
+
const result = await context.service.search(abortController.current, props.filter);
|
|
56
45
|
if (isError(result)) {
|
|
57
46
|
throw result;
|
|
58
47
|
}
|
|
@@ -75,9 +64,9 @@ export const ExtensionList = props => {
|
|
|
75
64
|
finally {
|
|
76
65
|
setLoading(false);
|
|
77
66
|
}
|
|
78
|
-
}
|
|
67
|
+
}, cancellationToken.current, props.debounceTime);
|
|
79
68
|
}, [props.filter.category, props.filter.query, props.filter.sortBy, props.filter.sortOrder, props.debounceTime]);
|
|
80
|
-
const loadMore = (p) =>
|
|
69
|
+
const loadMore = async (p) => {
|
|
81
70
|
setLoading(true);
|
|
82
71
|
setHasMore(false);
|
|
83
72
|
lastRequestedPage.current = p;
|
|
@@ -87,7 +76,7 @@ export const ExtensionList = props => {
|
|
|
87
76
|
}
|
|
88
77
|
try {
|
|
89
78
|
filter.offset = (p - pageOffset.current) * filterSize.current;
|
|
90
|
-
const result =
|
|
79
|
+
const result = await context.service.search(abortController.current, filter);
|
|
91
80
|
if (isError(result)) {
|
|
92
81
|
throw result;
|
|
93
82
|
}
|
|
@@ -116,7 +105,7 @@ export const ExtensionList = props => {
|
|
|
116
105
|
finally {
|
|
117
106
|
setLoading(false);
|
|
118
107
|
}
|
|
119
|
-
}
|
|
108
|
+
};
|
|
120
109
|
const isSameFilter = (f1, f2) => {
|
|
121
110
|
return f1.category === f2.category && f1.query === f2.query && f1.sortBy === f2.sortBy && f1.sortOrder === f2.sortOrder;
|
|
122
111
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-list.js","sourceRoot":"","sources":["../../../src/pages/extension-list/extension-list.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-list.js","sourceRoot":"","sources":["../../../src/pages/extension-list/extension-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Copyright (c) 2026 Contributors to the Eclipse Foundation.
|
|
3
|
+
*
|
|
4
|
+
* See the NOTICE file(s) distributed with this work for additional
|
|
5
|
+
* information regarding copyright ownership.
|
|
6
|
+
*
|
|
7
|
+
* This program and the accompanying materials are made available under the
|
|
8
|
+
* terms of the Eclipse Public License 2.0 which is available at
|
|
9
|
+
* https://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
*
|
|
11
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
12
|
+
*****************************************************************************/
|
|
13
|
+
export declare namespace NamespaceDetailRoutes {
|
|
14
|
+
namespace Parameters {
|
|
15
|
+
const NAME = ":name";
|
|
16
|
+
}
|
|
17
|
+
const ROOT = "namespace";
|
|
18
|
+
const MAIN: string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=namespace-detail-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespace-detail-routes.d.ts","sourceRoot":"","sources":["../../../src/pages/namespace-detail/namespace-detail-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAI/E,yBAAiB,qBAAqB,CAAC;IACnC,UAAiB,UAAU,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC;KAC/B;IAEM,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,IAAI,QAAuC,CAAC;CAC5D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Copyright (c) 2026 Contributors to the Eclipse Foundation.
|
|
3
|
+
*
|
|
4
|
+
* See the NOTICE file(s) distributed with this work for additional
|
|
5
|
+
* information regarding copyright ownership.
|
|
6
|
+
*
|
|
7
|
+
* This program and the accompanying materials are made available under the
|
|
8
|
+
* terms of the Eclipse Public License 2.0 which is available at
|
|
9
|
+
* https://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
*
|
|
11
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
12
|
+
*****************************************************************************/
|
|
13
|
+
import { createRoute } from '../../utils';
|
|
14
|
+
export var NamespaceDetailRoutes;
|
|
15
|
+
(function (NamespaceDetailRoutes) {
|
|
16
|
+
let Parameters;
|
|
17
|
+
(function (Parameters) {
|
|
18
|
+
Parameters.NAME = ':name';
|
|
19
|
+
})(Parameters = NamespaceDetailRoutes.Parameters || (NamespaceDetailRoutes.Parameters = {}));
|
|
20
|
+
NamespaceDetailRoutes.ROOT = 'namespace';
|
|
21
|
+
NamespaceDetailRoutes.MAIN = createRoute([NamespaceDetailRoutes.ROOT, Parameters.NAME]);
|
|
22
|
+
})(NamespaceDetailRoutes || (NamespaceDetailRoutes = {}));
|
|
23
|
+
//# sourceMappingURL=namespace-detail-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespace-detail-routes.js","sourceRoot":"","sources":["../../../src/pages/namespace-detail/namespace-detail-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,KAAW,qBAAqB,CAOrC;AAPD,WAAiB,qBAAqB;IAClC,IAAiB,UAAU,CAE1B;IAFD,WAAiB,UAAU;QACV,eAAI,GAAG,OAAO,CAAC;IAChC,CAAC,EAFgB,UAAU,GAAV,gCAAU,KAAV,gCAAU,QAE1B;IAEY,0BAAI,GAAG,WAAW,CAAC;IACnB,0BAAI,GAAG,WAAW,CAAC,CAAC,sBAAA,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC,EAPgB,qBAAqB,KAArB,qBAAqB,QAOrC"}
|
|
@@ -8,12 +8,5 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
********************************************************************************/
|
|
10
10
|
import { FunctionComponent } from 'react';
|
|
11
|
-
export declare namespace NamespaceDetailRoutes {
|
|
12
|
-
namespace Parameters {
|
|
13
|
-
const NAME = ":name";
|
|
14
|
-
}
|
|
15
|
-
const ROOT = "namespace";
|
|
16
|
-
const MAIN: string;
|
|
17
|
-
}
|
|
18
11
|
export declare const NamespaceDetail: FunctionComponent;
|
|
19
12
|
//# sourceMappingURL=namespace-detail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-detail.d.ts","sourceRoot":"","sources":["../../../src/pages/namespace-detail/namespace-detail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAE,iBAAiB,EAAsD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"namespace-detail.d.ts","sourceRoot":"","sources":["../../../src/pages/namespace-detail/namespace-detail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAE,iBAAiB,EAAsD,MAAM,OAAO,CAAC;AAW9F,eAAO,MAAM,eAAe,EAAE,iBAwM7B,CAAC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
2
|
/********************************************************************************
|
|
12
3
|
* Copyright (c) 2022 Precies. Software and others
|
|
@@ -25,18 +16,8 @@ import TwitterIcon from '@mui/icons-material/Twitter';
|
|
|
25
16
|
import { useParams } from 'react-router-dom';
|
|
26
17
|
import { ExtensionListItem } from '../extension-list/extension-list-item';
|
|
27
18
|
import { MainContext } from '../../context';
|
|
28
|
-
import { createRoute } from '../../utils';
|
|
29
19
|
import { DelayedLoadIndicator } from '../../components/delayed-load-indicator';
|
|
30
20
|
import { isError } from '../../extension-registry-types';
|
|
31
|
-
export var NamespaceDetailRoutes;
|
|
32
|
-
(function (NamespaceDetailRoutes) {
|
|
33
|
-
let Parameters;
|
|
34
|
-
(function (Parameters) {
|
|
35
|
-
Parameters.NAME = ':name';
|
|
36
|
-
})(Parameters = NamespaceDetailRoutes.Parameters || (NamespaceDetailRoutes.Parameters = {}));
|
|
37
|
-
NamespaceDetailRoutes.ROOT = 'namespace';
|
|
38
|
-
NamespaceDetailRoutes.MAIN = createRoute([NamespaceDetailRoutes.ROOT, Parameters.NAME]);
|
|
39
|
-
})(NamespaceDetailRoutes || (NamespaceDetailRoutes = {}));
|
|
40
21
|
export const NamespaceDetail = () => {
|
|
41
22
|
const [loading, setLoading] = useState(true);
|
|
42
23
|
const [truncateReadMore, setTruncateReadMore] = useState(true);
|
|
@@ -57,9 +38,9 @@ export const NamespaceDetail = () => {
|
|
|
57
38
|
setLoading(true);
|
|
58
39
|
updateNamespaceDetails(name);
|
|
59
40
|
}, [name]);
|
|
60
|
-
const updateNamespaceDetails = (name) =>
|
|
41
|
+
const updateNamespaceDetails = async (name) => {
|
|
61
42
|
try {
|
|
62
|
-
const namespaceDetails =
|
|
43
|
+
const namespaceDetails = await service.getNamespaceDetails(abortController.current, name);
|
|
63
44
|
if (isError(namespaceDetails)) {
|
|
64
45
|
throw namespaceDetails;
|
|
65
46
|
}
|
|
@@ -76,7 +57,7 @@ export const NamespaceDetail = () => {
|
|
|
76
57
|
}
|
|
77
58
|
setLoading(false);
|
|
78
59
|
}
|
|
79
|
-
}
|
|
60
|
+
};
|
|
80
61
|
const readMore = () => {
|
|
81
62
|
setTruncateReadMore(false);
|
|
82
63
|
};
|
|
@@ -99,8 +80,7 @@ export const NamespaceDetail = () => {
|
|
|
99
80
|
setShowReadMore(showReadMore);
|
|
100
81
|
};
|
|
101
82
|
const renderNamespaceDetails = (namespaceDetails, truncateReadMore) => {
|
|
102
|
-
|
|
103
|
-
return _jsxs(_Fragment, { children: [_jsx(Box, { sx: { bgcolor: 'neutral.dark' }, children: _jsx(Container, { maxWidth: 'xl', children: _jsx(Box, { sx: { display: 'flex', alignItems: 'center', flexDirection: 'column', py: 4, px: 0 }, children: _jsxs(Grid, { container: true, children: [_jsx(Grid, { item: true, children: _jsx(Box, { component: 'img', src: (_a = namespaceDetails.logo) !== null && _a !== void 0 ? _a : pageSettings.urls.extensionDefaultIcon, sx: {
|
|
83
|
+
return _jsxs(_Fragment, { children: [_jsx(Box, { sx: { bgcolor: 'neutral.dark' }, children: _jsx(Container, { maxWidth: 'xl', children: _jsx(Box, { sx: { display: 'flex', alignItems: 'center', flexDirection: 'column', py: 4, px: 0 }, children: _jsxs(Grid, { container: true, children: [_jsx(Grid, { item: true, children: _jsx(Box, { component: 'img', src: namespaceDetails.logo ?? pageSettings.urls.extensionDefaultIcon, sx: {
|
|
104
84
|
height: '7.5rem',
|
|
105
85
|
maxWidth: '9rem',
|
|
106
86
|
mr: { xs: 0, sm: 0, md: '2rem', lg: '2rem', xl: '2rem' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-detail.js","sourceRoot":"","sources":["../../../src/pages/namespace-detail/namespace-detail.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"namespace-detail.js","sourceRoot":"","sources":["../../../src/pages/namespace-detail/namespace-detail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-namespace-member-dialog.d.ts","sourceRoot":"","sources":["../../../src/pages/user/add-namespace-member-dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"add-namespace-member-dialog.d.ts","sourceRoot":"","sources":["../../../src/pages/user/add-namespace-member-dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAW,MAAM,gCAAgC,CAAC;AAKzF,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,CAqCnE,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
2
|
/********************************************************************************
|
|
12
3
|
* Copyright (c) 2020 TypeFox and others
|
|
13
4
|
*
|
|
@@ -17,85 +8,35 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
17
8
|
*
|
|
18
9
|
* SPDX-License-Identifier: EPL-2.0
|
|
19
10
|
********************************************************************************/
|
|
20
|
-
import {
|
|
21
|
-
import { Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, Popper, Fade, Paper, Box, Avatar } from '@mui/material';
|
|
11
|
+
import { useContext, useRef } from 'react';
|
|
22
12
|
import { isError } from '../../extension-registry-types';
|
|
23
13
|
import { NamespaceDetailConfigContext } from './user-settings-namespace-detail';
|
|
24
14
|
import { MainContext } from '../../context';
|
|
15
|
+
import { AddUserDialog } from './add-user-dialog';
|
|
25
16
|
export const AddMemberDialog = props => {
|
|
26
|
-
const { open } = props;
|
|
27
17
|
const config = useContext(NamespaceDetailConfigContext);
|
|
28
18
|
const { service, handleError } = useContext(MainContext);
|
|
29
|
-
const [foundUsers, setFoundUsers] = useState([]);
|
|
30
|
-
const [showUserPopper, setShowUserPopper] = useState(false);
|
|
31
|
-
const [popperTarget, setPopperTarget] = useState(undefined);
|
|
32
19
|
const abortController = useRef(new AbortController());
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
abortController.current.abort();
|
|
36
|
-
};
|
|
37
|
-
}, []);
|
|
38
|
-
const addUser = (user) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
-
var _a;
|
|
20
|
+
const existingUsers = props.members.map(m => m.user);
|
|
21
|
+
const handleAddUser = async (user) => {
|
|
40
22
|
try {
|
|
41
23
|
if (!props.namespace) {
|
|
42
24
|
return;
|
|
43
25
|
}
|
|
44
|
-
if (props.members.find(m => m.user.loginName === user.loginName && m.user.provider === user.provider)) {
|
|
45
|
-
setShowUserPopper(false);
|
|
46
|
-
handleError({ message: `User ${user.loginName} is already a member of ${props.namespace.name}.` });
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
26
|
props.setLoadingState(true);
|
|
50
27
|
const endpoint = props.namespace.roleUrl;
|
|
51
|
-
const result =
|
|
28
|
+
const result = await service.setNamespaceMember(abortController.current, endpoint, user, config.defaultMemberRole ?? 'contributor');
|
|
52
29
|
if (isError(result)) {
|
|
53
30
|
throw result;
|
|
54
31
|
}
|
|
55
32
|
props.setLoadingState(false);
|
|
56
|
-
onClose();
|
|
33
|
+
props.onClose();
|
|
57
34
|
}
|
|
58
35
|
catch (err) {
|
|
59
|
-
setShowUserPopper(false);
|
|
60
36
|
props.setLoadingState(false);
|
|
61
37
|
handleError(err);
|
|
62
38
|
}
|
|
63
|
-
});
|
|
64
|
-
const onClose = () => {
|
|
65
|
-
setShowUserPopper(false);
|
|
66
|
-
props.onClose();
|
|
67
39
|
};
|
|
68
|
-
|
|
69
|
-
const popperTarget = e.currentTarget;
|
|
70
|
-
setPopperTarget(popperTarget);
|
|
71
|
-
const val = popperTarget.value;
|
|
72
|
-
let showUserPopper = false;
|
|
73
|
-
let foundUsers = [];
|
|
74
|
-
if (val) {
|
|
75
|
-
const users = yield service.getUserByName(abortController.current, val);
|
|
76
|
-
if (users) {
|
|
77
|
-
showUserPopper = true;
|
|
78
|
-
foundUsers = users;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
setShowUserPopper(showUserPopper);
|
|
82
|
-
setFoundUsers(foundUsers);
|
|
83
|
-
});
|
|
84
|
-
return _jsxs(_Fragment, { children: [_jsxs(Dialog, { onClose: onClose, open: open, "aria-labelledby": 'form-dialog-title', children: [_jsx(DialogTitle, { id: 'form-dialog-title', children: "Add User to Namespace" }), _jsxs(DialogContent, { children: [_jsx(DialogContentText, { children: "Enter the Login Name of the User you want to add." }), _jsx(TextField, { autoFocus: true, margin: 'dense', id: 'name', autoComplete: 'off', label: 'Open VSX User', fullWidth: true, onChange: handleUserSearch, onKeyDown: (e) => {
|
|
85
|
-
if (e.key === "Enter" && foundUsers.length === 1) {
|
|
86
|
-
e.preventDefault();
|
|
87
|
-
addUser(foundUsers[0]);
|
|
88
|
-
}
|
|
89
|
-
} })] }), _jsx(DialogActions, { children: _jsx(Button, { onClick: onClose, color: 'secondary', children: "Cancel" }) })] }), _jsx(Popper, { sx: { zIndex: 'tooltip' }, open: showUserPopper, anchorEl: popperTarget, placement: 'bottom', transition: true, children: ({ TransitionProps }) => (_jsx(Fade, Object.assign({}, TransitionProps, { timeout: 350, children: _jsx(Paper, { sx: { display: 'flex', flexDirection: 'column', width: 350 }, children: foundUsers.filter(props.filterUsers).map(foundUser => {
|
|
90
|
-
return _jsxs(Box, { onClick: () => addUser(foundUser), sx: {
|
|
91
|
-
display: 'flex',
|
|
92
|
-
height: 60,
|
|
93
|
-
alignItems: 'center',
|
|
94
|
-
'&:hover': {
|
|
95
|
-
cursor: 'pointer',
|
|
96
|
-
bgcolor: 'action.hover'
|
|
97
|
-
}
|
|
98
|
-
}, children: [_jsxs(Box, { flex: '1', marginLeft: '10px', children: [_jsx(Box, { fontWeight: 'bold', children: foundUser.loginName }), _jsx(Box, { fontSize: '0.75rem', children: foundUser.fullName })] }), _jsx(Box, { flex: '1', children: _jsx(Avatar, { variant: 'rounded', src: foundUser.avatarUrl }) })] }, 'found' + foundUser.loginName);
|
|
99
|
-
}) }) }))) })] });
|
|
40
|
+
return (_jsx(AddUserDialog, { open: props.open, title: 'Add Member', description: 'Enter the Login Name of the User you want to add.', existingUsers: existingUsers, filterUsers: props.filterUsers, onClose: props.onClose, onAddUser: handleAddUser }));
|
|
100
41
|
};
|
|
101
42
|
//# sourceMappingURL=add-namespace-member-dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-namespace-member-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/add-namespace-member-dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-namespace-member-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/add-namespace-member-dialog.tsx"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAqB,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAkC,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWlD,MAAM,CAAC,MAAM,eAAe,GAA4C,KAAK,CAAC,EAAE;IAC5E,MAAM,MAAM,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;IACxD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,MAAM,CAAkB,IAAI,eAAe,EAAE,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,aAAa,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;QAC3C,IAAI,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,IAAI,aAAa,CAAC,CAAC;YACpI,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,MAAM,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,aAAa,IACV,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAC,YAAY,EAClB,WAAW,EAAC,mDAAmD,EAC/D,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,aAAa,GAC1B,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Copyright (c) 2026 Contributors to the Eclipse Foundation.
|
|
3
|
+
*
|
|
4
|
+
* See the NOTICE file(s) distributed with this work for additional
|
|
5
|
+
* information regarding copyright ownership.
|
|
6
|
+
*
|
|
7
|
+
* This program and the accompanying materials are made available under the
|
|
8
|
+
* terms of the Eclipse Public License 2.0 which is available at
|
|
9
|
+
* https://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
*
|
|
11
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
12
|
+
*****************************************************************************/
|
|
13
|
+
import { FC } from 'react';
|
|
14
|
+
import type { UserData } from '../../extension-registry-types';
|
|
15
|
+
export interface AddUserDialogProps {
|
|
16
|
+
open: boolean;
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
existingUsers: UserData[];
|
|
20
|
+
onClose: () => void;
|
|
21
|
+
onAddUser: (user: UserData) => void;
|
|
22
|
+
filterUsers?: (user: UserData) => boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare const AddUserDialog: FC<AddUserDialogProps>;
|
|
25
|
+
//# sourceMappingURL=add-user-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-user-dialog.d.ts","sourceRoot":"","sources":["../../../src/pages/user/add-user-dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,EAAE,EAA2C,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;CAC7C;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA6GhD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createElement as _createElement } from "react";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/******************************************************************************
|
|
4
|
+
* Copyright (c) 2026 Contributors to the Eclipse Foundation.
|
|
5
|
+
*
|
|
6
|
+
* See the NOTICE file(s) distributed with this work for additional
|
|
7
|
+
* information regarding copyright ownership.
|
|
8
|
+
*
|
|
9
|
+
* This program and the accompanying materials are made available under the
|
|
10
|
+
* terms of the Eclipse Public License 2.0 which is available at
|
|
11
|
+
* https://www.eclipse.org/legal/epl-2.0.
|
|
12
|
+
*
|
|
13
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
14
|
+
*****************************************************************************/
|
|
15
|
+
import { useState, useContext, useEffect, useRef } from 'react';
|
|
16
|
+
import { Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Button, TextField, Autocomplete, Box, Avatar } from '@mui/material';
|
|
17
|
+
import { MainContext } from '../../context';
|
|
18
|
+
export const AddUserDialog = ({ open, title, description, existingUsers, onClose, onAddUser, filterUsers: externalFilter }) => {
|
|
19
|
+
const { service, handleError } = useContext(MainContext);
|
|
20
|
+
const [options, setOptions] = useState([]);
|
|
21
|
+
const [loading, setLoading] = useState(false);
|
|
22
|
+
const abortController = useRef(new AbortController());
|
|
23
|
+
const debounceTimeout = useRef();
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
return () => {
|
|
26
|
+
abortController.current.abort();
|
|
27
|
+
clearTimeout(debounceTimeout.current);
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
const isUserExcluded = (user) => existingUsers.some(u => u.loginName === user.loginName && u.provider === user.provider)
|
|
31
|
+
|| (externalFilter && !externalFilter(user));
|
|
32
|
+
const handleInputChange = (_, value) => {
|
|
33
|
+
clearTimeout(debounceTimeout.current);
|
|
34
|
+
if (!value) {
|
|
35
|
+
setOptions([]);
|
|
36
|
+
setLoading(false);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
setLoading(true);
|
|
40
|
+
debounceTimeout.current = setTimeout(async () => {
|
|
41
|
+
const users = await service.getUserByName(abortController.current, value);
|
|
42
|
+
if (users) {
|
|
43
|
+
setOptions(users);
|
|
44
|
+
}
|
|
45
|
+
setLoading(false);
|
|
46
|
+
}, 300);
|
|
47
|
+
};
|
|
48
|
+
const handleSelect = (_, user) => {
|
|
49
|
+
if (!user)
|
|
50
|
+
return;
|
|
51
|
+
if (isUserExcluded(user)) {
|
|
52
|
+
handleError({ message: `User ${user.loginName} is already added.` });
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
onAddUser(user);
|
|
56
|
+
onClose();
|
|
57
|
+
};
|
|
58
|
+
const handleClose = () => {
|
|
59
|
+
setOptions([]);
|
|
60
|
+
onClose();
|
|
61
|
+
};
|
|
62
|
+
return (_jsxs(Dialog, { onClose: handleClose, open: open, maxWidth: 'sm', fullWidth: true, children: [_jsx(DialogTitle, { children: title }), _jsxs(DialogContent, { children: [_jsx(DialogContentText, { children: description }), _jsx(Autocomplete, { options: options, loading: loading, filterOptions: (opts) => opts.filter(u => !isUserExcluded(u)), getOptionLabel: (option) => option.loginName, isOptionEqualToValue: (option, value) => option.loginName === value.loginName && option.provider === value.provider, onInputChange: handleInputChange, onChange: handleSelect, renderOption: (props, user) => (_createElement(Box, { component: 'li', ...props, key: user.loginName + user.provider, sx: { display: 'flex', alignItems: 'center', gap: 1.5 } },
|
|
63
|
+
_jsx(Avatar, { variant: 'rounded', src: user.avatarUrl, sx: { width: 36, height: 36 } }),
|
|
64
|
+
_jsxs(Box, { children: [_jsx(Box, { fontWeight: 'bold', children: user.loginName }), _jsx(Box, { fontSize: '0.75rem', color: 'text.secondary', children: user.fullName })] }))), renderInput: (params) => (_jsx(TextField, { ...params, autoFocus: true, margin: 'dense', label: 'Search User', fullWidth: true })) })] }), _jsx(DialogActions, { children: _jsx(Button, { onClick: handleClose, color: 'secondary', children: "Cancel" }) })] }));
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=add-user-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-user-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/add-user-dialog.tsx"],"names":[],"mappings":"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"}
|
package/lib/pages/user/avatar.js
CHANGED
|
@@ -11,8 +11,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
11
11
|
import { useContext, useRef, useState } from 'react';
|
|
12
12
|
import { Avatar, Menu, Typography, MenuItem, Link, Divider, IconButton } from '@mui/material';
|
|
13
13
|
import { Link as RouteLink } from 'react-router-dom';
|
|
14
|
-
import { UserSettingsRoutes } from './user-settings';
|
|
15
|
-
import { AdminDashboardRoutes } from '../admin-dashboard/admin-
|
|
14
|
+
import { UserSettingsRoutes } from './user-settings-routes';
|
|
15
|
+
import { AdminDashboardRoutes } from '../admin-dashboard/admin-routes';
|
|
16
16
|
import { MainContext } from '../../context';
|
|
17
17
|
import { LogoutForm } from './logout';
|
|
18
18
|
export const UserAvatar = () => {
|
|
@@ -38,6 +38,6 @@ export const UserAvatar = () => {
|
|
|
38
38
|
}, children: [_jsx(Typography, { variant: 'body2', color: 'text.primary', sx: { mr: 1 }, children: "Logged in as" }), _jsx(Typography, { variant: 'overline', color: 'text.primary', children: user.loginName })] }), _jsx(Divider, {}), _jsx(MenuItem, { component: RouteLink, to: UserSettingsRoutes.PROFILE, onClick: handleClose, children: _jsx(Typography, { variant: 'button', color: 'text.primary', children: "Settings" }) }), user.role && user.role === 'admin' ?
|
|
39
39
|
_jsx(MenuItem, { component: RouteLink, to: AdminDashboardRoutes.MAIN, onClick: handleClose, children: _jsx(Typography, { variant: 'button', color: 'text.primary', children: "Admin Dashboard" }) })
|
|
40
40
|
:
|
|
41
|
-
'', _jsx(MenuItem, { onClick: () =>
|
|
41
|
+
'', _jsx(MenuItem, { onClick: () => logoutFormRef.current?.submit(), children: _jsx(LogoutForm, { ref: logoutFormRef, children: _jsx(Typography, { variant: 'button', sx: { color: 'primary.dark' }, children: "Log Out" }) }) })] })] });
|
|
42
42
|
};
|
|
43
43
|
//# sourceMappingURL=avatar.js.map
|