openvsx-webui-test 0.19.0-dev.2 → 0.20.0-dev.1
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/delayed-load-indicator.js +2 -4
- package/lib/components/delayed-load-indicator.js.map +1 -1
- package/lib/components/generate-token-dialog.d.ts +22 -0
- package/lib/components/generate-token-dialog.d.ts.map +1 -0
- package/lib/components/generate-token-dialog.js +91 -0
- package/lib/components/generate-token-dialog.js.map +1 -0
- 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 +32 -22
- 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.js +2 -3
- 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 +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 +17 -1
- package/lib/extension-registry-service.d.ts.map +1 -1
- package/lib/extension-registry-service.js +659 -629
- package/lib/extension-registry-service.js.map +1 -1
- package/lib/extension-registry-types.d.ts +13 -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 +126 -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 +78 -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/customer-token-list.d.ts +19 -0
- package/lib/pages/admin-dashboard/customers/customer-token-list.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/customers/customer-token-list.js +70 -0
- package/lib/pages/admin-dashboard/customers/customer-token-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.d.ts → generate-access-token-dialog.d.ts} +2 -2
- package/lib/pages/user/generate-access-token-dialog.d.ts.map +1 -0
- package/lib/pages/user/generate-access-token-dialog.js +33 -0
- package/lib/pages/user/generate-access-token-dialog.js.map +1 -0
- 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 +15 -25
- 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.js +2 -4
- package/lib/utils.js.map +1 -1
- package/package.json +9 -7
- package/src/components/generate-token-dialog.tsx +167 -0
- 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 +57 -31
- 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/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 +153 -26
- package/src/extension-registry-types.ts +16 -0
- package/src/main.tsx +2 -1
- package/src/other-pages.tsx +21 -4
- package/src/pages/admin-dashboard/admin-dashboard.tsx +250 -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 +133 -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/customer-token-list.tsx +135 -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/generate-access-token-dialog.tsx +49 -0
- 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 +3 -10
- package/src/pages/user/user-settings.tsx +4 -12
- package/lib/components/copy-to-clipboard.d.ts +0 -21
- package/lib/components/copy-to-clipboard.d.ts.map +0 -1
- package/lib/components/copy-to-clipboard.js +0 -26
- package/lib/components/copy-to-clipboard.js.map +0 -1
- 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
- package/lib/pages/user/generate-token-dialog.d.ts.map +0 -1
- package/lib/pages/user/generate-token-dialog.js +0 -88
- package/lib/pages/user/generate-token-dialog.js.map +0 -1
- package/src/components/copy-to-clipboard.tsx +0 -50
- package/src/pages/user/generate-token-dialog.tsx +0 -157
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/pages/user/avatar.tsx"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAqB,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/pages/user/avatar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
2
|
/** ******************************************************************************
|
|
12
3
|
* Copyright (c) 2022 Precies. Software and others
|
|
@@ -54,13 +45,13 @@ export const CreateNamespaceDialog = props => {
|
|
|
54
45
|
setName(name);
|
|
55
46
|
setNameError(nameError);
|
|
56
47
|
};
|
|
57
|
-
const handleCreateNamespace = () =>
|
|
48
|
+
const handleCreateNamespace = async () => {
|
|
58
49
|
if (!context.user) {
|
|
59
50
|
return;
|
|
60
51
|
}
|
|
61
52
|
setPosted(true);
|
|
62
53
|
try {
|
|
63
|
-
const response =
|
|
54
|
+
const response = await context.service.createNamespace(abortController.current, name);
|
|
64
55
|
if (isError(response)) {
|
|
65
56
|
throw response;
|
|
66
57
|
}
|
|
@@ -71,7 +62,7 @@ export const CreateNamespaceDialog = props => {
|
|
|
71
62
|
context.handleError(err);
|
|
72
63
|
}
|
|
73
64
|
setPosted(false);
|
|
74
|
-
}
|
|
65
|
+
};
|
|
75
66
|
const handleEnter = (e) => {
|
|
76
67
|
if (open && e.code === 'Enter') {
|
|
77
68
|
handleCreateNamespace();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-namespace-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/create-namespace-dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-namespace-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/create-namespace-dialog.tsx"],"names":[],"mappings":";AAAA;;;;;;;;oFAQoF;AAEpF,OAAO,EAAkC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAkD,KAAK,CAAC,EAAE;IACxF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAU,CAAC;IAErD,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,MAAM,CAAkB,IAAI,eAAe,EAAE,CAAC,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACX,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACR,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAoC,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,SAA6B,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YACpC,SAAS,GAAG,8CAA8C,mBAAmB,cAAc,CAAC;QAChG,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtF,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,CAAC;YACnB,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,EAAE;QACrC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAM,OAAO,EAAE,CAAC;YAC9B,qBAAqB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,8BACH,KAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,gBAAgB,iCAA2B,EAC/E,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,aACrC,KAAC,WAAW,uCAAmC,EAC/C,KAAC,aAAa,cACV,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACN,KAAC,SAAS,IACN,SAAS,QACT,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EACzB,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,gBAAgB,GAAI,GAChC,GACM,EAChB,MAAC,aAAa,eACV,KAAC,MAAM,IAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,WAAW,uBAEvC,EACb,KAAC,kBAAkB,IACX,SAAS,QACT,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EACb,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,iCAEjB,IACL,IACX,IACV,CAAC;AACR,CAAC,CAAC"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
********************************************************************************/
|
|
10
10
|
import { FunctionComponent } from 'react';
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const GenerateAccessTokenDialog: FunctionComponent<GenerateTokenDialogProps>;
|
|
12
12
|
export interface GenerateTokenDialogProps {
|
|
13
13
|
handleTokenGenerated: () => void;
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=generate-token-dialog.d.ts.map
|
|
15
|
+
//# sourceMappingURL=generate-access-token-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-access-token-dialog.d.ts","sourceRoot":"","sources":["../../../src/pages/user/generate-access-token-dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,OAAO,CAAC;AAMxE,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,wBAAwB,CA4BjF,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2019 TypeFox and others
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
10
|
+
********************************************************************************/
|
|
11
|
+
import { useContext, useRef, useState } from 'react';
|
|
12
|
+
import { Button } from '@mui/material';
|
|
13
|
+
import { GenerateTokenDialog } from '../../components/generate-token-dialog';
|
|
14
|
+
import { isError } from '../../extension-registry-types';
|
|
15
|
+
import { MainContext } from '../../context';
|
|
16
|
+
export const GenerateAccessTokenDialog = props => {
|
|
17
|
+
const context = useContext(MainContext);
|
|
18
|
+
const abortController = useRef(new AbortController());
|
|
19
|
+
const [open, setOpen] = useState(false);
|
|
20
|
+
const handleGenerate = async (description) => {
|
|
21
|
+
if (!context.user) {
|
|
22
|
+
throw new Error('Not logged in');
|
|
23
|
+
}
|
|
24
|
+
const token = await context.service.createAccessToken(abortController.current, context.user, description);
|
|
25
|
+
if (isError(token)) {
|
|
26
|
+
throw token;
|
|
27
|
+
}
|
|
28
|
+
props.handleTokenGenerated();
|
|
29
|
+
return token.value;
|
|
30
|
+
};
|
|
31
|
+
return _jsxs(_Fragment, { children: [_jsx(Button, { variant: 'outlined', onClick: () => setOpen(true), children: "Generate new token" }), _jsx(GenerateTokenDialog, { open: open, onClose: () => setOpen(false), onGenerate: handleGenerate, onError: context.handleError })] });
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=generate-access-token-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-access-token-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/generate-access-token-dialog.tsx"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAqB,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAgD,KAAK,CAAC,EAAE;IAC1F,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,MAAM,CAAkB,IAAI,eAAe,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,KAAK,EAAE,WAAmB,EAAmB,EAAE;QAClE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1G,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,OAAO,KAAK,CAAC,KAAM,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,8BACH,KAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,mCAA6B,EACpF,KAAC,mBAAmB,IAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,OAAO,CAAC,WAAW,GAC9B,IACH,CAAC;AACR,CAAC,CAAC"}
|
package/lib/pages/user/logout.js
CHANGED
|
@@ -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, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
2
|
/** ******************************************************************************
|
|
12
3
|
* Copyright (c) 2024 Precies. Software OU and others
|
|
@@ -37,9 +28,9 @@ export const LogoutForm = forwardRef(({ children }, ref) => {
|
|
|
37
28
|
updateCsrf();
|
|
38
29
|
return () => abortController.current.abort();
|
|
39
30
|
}, []);
|
|
40
|
-
const updateCsrf = () =>
|
|
31
|
+
const updateCsrf = async () => {
|
|
41
32
|
try {
|
|
42
|
-
const csrfResponse =
|
|
33
|
+
const csrfResponse = await context.service.getCsrfToken(abortController.current);
|
|
43
34
|
if (!isError(csrfResponse)) {
|
|
44
35
|
const csrfToken = csrfResponse;
|
|
45
36
|
setCsrf(csrfToken.value);
|
|
@@ -48,7 +39,7 @@ export const LogoutForm = forwardRef(({ children }, ref) => {
|
|
|
48
39
|
catch (err) {
|
|
49
40
|
context.handleError(err);
|
|
50
41
|
}
|
|
51
|
-
}
|
|
42
|
+
};
|
|
52
43
|
return _jsxs("form", { ref: ref, method: 'post', action: context.service.getLogoutUrl(), children: [csrf ? _jsx("input", { name: '_csrf', type: 'hidden', value: csrf }) : null, _jsx(LogoutButton, { type: 'submit', children: children })] });
|
|
53
44
|
});
|
|
54
45
|
LogoutForm.displayName = 'LogoutForm';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/pages/user/logout.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/pages/user/logout.tsx"],"names":[],"mappings":";AAAA;;;;;;;;oFAQoF;AAEpF,OAAO,EAAqB,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAiB,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAqC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;IAC3F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,eAAe,GAAG,MAAM,CAAkB,IAAI,eAAe,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,GAAG,EAAE;QACX,UAAU,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,YAA6B,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,gBAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,aACtE,IAAI,CAAC,CAAC,CAAC,gBAAO,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,EAChE,KAAC,YAAY,IAAC,IAAI,EAAC,QAAQ,YACtB,QAAQ,GACE,IACZ,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,WAAW,GAAG,YAAY,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, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
2
|
/** ******************************************************************************
|
|
12
3
|
* Copyright (c) 2022 Precies. Software and others
|
|
@@ -96,7 +87,7 @@ export const PublishExtensionDialog = props => {
|
|
|
96
87
|
setFileToPublish(acceptedFiles[0]);
|
|
97
88
|
};
|
|
98
89
|
const handleFileDialogOpen = () => setOldFileToPublish(undefined);
|
|
99
|
-
const handlePublish = () =>
|
|
90
|
+
const handlePublish = async () => {
|
|
100
91
|
if (!context.user || !fileToPublish) {
|
|
101
92
|
return;
|
|
102
93
|
}
|
|
@@ -104,11 +95,11 @@ export const PublishExtensionDialog = props => {
|
|
|
104
95
|
let published = false;
|
|
105
96
|
let retryPublish = false;
|
|
106
97
|
try {
|
|
107
|
-
published =
|
|
98
|
+
published = await tryPublishExtension(fileToPublish);
|
|
108
99
|
}
|
|
109
100
|
catch (err) {
|
|
110
101
|
try {
|
|
111
|
-
|
|
102
|
+
await tryResolveNamespaceError(err);
|
|
112
103
|
retryPublish = true;
|
|
113
104
|
}
|
|
114
105
|
catch (namespaceError) {
|
|
@@ -117,7 +108,7 @@ export const PublishExtensionDialog = props => {
|
|
|
117
108
|
}
|
|
118
109
|
if (retryPublish) {
|
|
119
110
|
try {
|
|
120
|
-
published =
|
|
111
|
+
published = await tryPublishExtension(fileToPublish);
|
|
121
112
|
}
|
|
122
113
|
catch (err) {
|
|
123
114
|
context.handleError(err);
|
|
@@ -130,22 +121,22 @@ export const PublishExtensionDialog = props => {
|
|
|
130
121
|
setOldFileToPublish(undefined);
|
|
131
122
|
}
|
|
132
123
|
setPublishing(false);
|
|
133
|
-
}
|
|
124
|
+
};
|
|
134
125
|
const handleEnter = (e) => {
|
|
135
126
|
if (e.code === 'Enter') {
|
|
136
127
|
handlePublish();
|
|
137
128
|
}
|
|
138
129
|
};
|
|
139
|
-
const tryPublishExtension = (fileToPublish) =>
|
|
130
|
+
const tryPublishExtension = async (fileToPublish) => {
|
|
140
131
|
let published = false;
|
|
141
|
-
const publishResponse =
|
|
132
|
+
const publishResponse = await context.service.publishExtension(abortController.current, fileToPublish);
|
|
142
133
|
if (isError(publishResponse)) {
|
|
143
134
|
throw publishResponse;
|
|
144
135
|
}
|
|
145
136
|
published = true;
|
|
146
137
|
return published;
|
|
147
|
-
}
|
|
148
|
-
const tryResolveNamespaceError = (publishResponse) =>
|
|
138
|
+
};
|
|
139
|
+
const tryResolveNamespaceError = async (publishResponse) => {
|
|
149
140
|
const namespaceError = 'Unknown publisher: ';
|
|
150
141
|
if (!isError(publishResponse) || !publishResponse.error.startsWith(namespaceError)) {
|
|
151
142
|
throw publishResponse;
|
|
@@ -157,11 +148,11 @@ export const PublishExtensionDialog = props => {
|
|
|
157
148
|
};
|
|
158
149
|
throw result;
|
|
159
150
|
}
|
|
160
|
-
const namespaceResponse =
|
|
151
|
+
const namespaceResponse = await context.service.createNamespace(abortController.current, namespace);
|
|
161
152
|
if (isError(namespaceResponse)) {
|
|
162
153
|
throw namespaceResponse;
|
|
163
154
|
}
|
|
164
|
-
}
|
|
155
|
+
};
|
|
165
156
|
const successColor = context.pageSettings.themeType === 'dark' ? '#fff' : '#000';
|
|
166
157
|
return _jsxs(_Fragment, { children: [_jsx(Button, { variant: 'outlined', onClick: handleOpenDialog, children: "Publish extension" }), _jsxs(Dialog, { open: open, onClose: handleCancel, children: [_jsx(DialogTitle, { children: "Publish extension" }), _jsxs(DialogContent, { children: [oldFileToPublish
|
|
167
158
|
? _jsxs(Paper, { sx: {
|
|
@@ -174,7 +165,7 @@ export const PublishExtensionDialog = props => {
|
|
|
174
165
|
color: successColor,
|
|
175
166
|
bgcolor: `success.${context.pageSettings.themeType}`
|
|
176
167
|
}, children: [_jsx(CheckCircleOutline, { fontSize: 'large' }), _jsx(Typography, { variant: 'body1', sx: { ml: 1 }, children: "Changed extension package." }), _jsx(Button, { onClick: handleUndo, sx: { ml: 'auto' }, children: "Undo" })] })
|
|
177
|
-
: null, _jsx(Dropzone, { onDrop: handleDrop, onFileDialogOpen: handleFileDialogOpen, maxFiles: 1, maxSize: 512 * 1024 * 1024, children: ({ getRootProps, getInputProps, isFocused, isDragAccept, isDragReject }) => (_jsxs("section", { children: [_jsxs(DropzoneDiv,
|
|
168
|
+
: null, _jsx(Dropzone, { onDrop: handleDrop, onFileDialogOpen: handleFileDialogOpen, maxFiles: 1, maxSize: 512 * 1024 * 1024, children: ({ getRootProps, getInputProps, isFocused, isDragAccept, isDragReject }) => (_jsxs("section", { children: [_jsxs(DropzoneDiv, { ...getRootProps({ isFocused, isDragAccept, isDragReject }), style: { borderColor: getColor(isFocused, isDragAccept, isDragReject) }, children: [_jsx("input", { ...getInputProps({ accept: 'application/vsix,.vsix', multiple: false }) }), _jsx("p", { children: "Drag & drop an extension here, or click to select an extension" }), _jsx("p", { children: "(Only 1 *.vsix package at a time is accepted)" })] }), fileToPublish
|
|
178
169
|
? _jsx(Box, { mt: 1, children: _jsxs(Typography, { variant: 'body2', sx: { fontWeight: 'bold' }, children: [fileToPublish.name, " (", toMegaBytes(fileToPublish.size), " MB)"] }, fileToPublish.name) })
|
|
179
170
|
: null] })) })] }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: handleCancel, color: 'secondary', children: "Cancel" }), _jsx(ButtonWithProgress, { autoFocus: true, sx: { ml: 1 }, title: "After you click 'Publish', this extension will be available on the Marketplace", error: !fileToPublish, working: publishing, onClick: handlePublish, children: "Publish" })] })] })] });
|
|
180
171
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-extension-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/publish-extension-dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish-extension-dialog.js","sourceRoot":"","sources":["../../../src/pages/user/publish-extension-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
2
|
/********************************************************************************
|
|
12
3
|
* Copyright (c) 2022 Precies. Software and others
|
|
@@ -77,7 +68,6 @@ const GridIconItem = styled(Grid)({
|
|
|
77
68
|
alignItems: 'center'
|
|
78
69
|
});
|
|
79
70
|
export const UserNamespaceDetails = props => {
|
|
80
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
81
71
|
const INPUT_DISPLAY_NAME = 'display-name';
|
|
82
72
|
const INPUT_DESCRIPTION = 'description';
|
|
83
73
|
const INPUT_WEBSITE = 'website';
|
|
@@ -124,7 +114,7 @@ export const UserNamespaceDetails = props => {
|
|
|
124
114
|
}
|
|
125
115
|
setLogoPreview(undefined);
|
|
126
116
|
};
|
|
127
|
-
const getNamespaceDetails = () =>
|
|
117
|
+
const getNamespaceDetails = async () => {
|
|
128
118
|
if (!props.namespace.name) {
|
|
129
119
|
resetLogoPreview();
|
|
130
120
|
setCurrentDetails(undefined);
|
|
@@ -133,7 +123,7 @@ export const UserNamespaceDetails = props => {
|
|
|
133
123
|
return;
|
|
134
124
|
}
|
|
135
125
|
try {
|
|
136
|
-
const details =
|
|
126
|
+
const details = await context.service.getNamespaceDetails(abortController.current, props.namespace.name);
|
|
137
127
|
if (isError(details)) {
|
|
138
128
|
throw details;
|
|
139
129
|
}
|
|
@@ -165,11 +155,11 @@ export const UserNamespaceDetails = props => {
|
|
|
165
155
|
finally {
|
|
166
156
|
setDetailsUpdated(false);
|
|
167
157
|
}
|
|
168
|
-
}
|
|
158
|
+
};
|
|
169
159
|
const copy = (arg) => {
|
|
170
160
|
return JSON.parse(JSON.stringify(arg));
|
|
171
161
|
};
|
|
172
|
-
const setNamespaceDetails = () =>
|
|
162
|
+
const setNamespaceDetails = async () => {
|
|
173
163
|
if (!newDetails) {
|
|
174
164
|
return;
|
|
175
165
|
}
|
|
@@ -186,14 +176,14 @@ export const UserNamespaceDetails = props => {
|
|
|
186
176
|
details.socialLinks.twitter = details.socialLinks.twitter
|
|
187
177
|
? 'https://twitter.com/' + details.socialLinks.twitter
|
|
188
178
|
: undefined;
|
|
189
|
-
const result =
|
|
179
|
+
const result = await context.service.setNamespaceDetails(abortController.current, props.namespace.detailsUrl, details);
|
|
190
180
|
if (isError(result)) {
|
|
191
181
|
throw result;
|
|
192
182
|
}
|
|
193
183
|
if (logoPreview) {
|
|
194
|
-
const logoFile =
|
|
195
|
-
|
|
196
|
-
|
|
184
|
+
const logoFile = await (await fetch(logoPreview)).blob();
|
|
185
|
+
await context.service.setNamespaceLogo(abortController.current, props.namespace.detailsUrl, logoFile, details.logo);
|
|
186
|
+
await getNamespaceDetails();
|
|
197
187
|
}
|
|
198
188
|
else {
|
|
199
189
|
setCurrentDetails(copy(newDetails));
|
|
@@ -207,7 +197,7 @@ export const UserNamespaceDetails = props => {
|
|
|
207
197
|
finally {
|
|
208
198
|
setLoading(false);
|
|
209
199
|
}
|
|
210
|
-
}
|
|
200
|
+
};
|
|
211
201
|
const handleInputChange = (event) => {
|
|
212
202
|
if (!newDetails) {
|
|
213
203
|
return;
|
|
@@ -300,7 +290,7 @@ export const UserNamespaceDetails = props => {
|
|
|
300
290
|
const handleApplyLogo = () => {
|
|
301
291
|
const avatarEditor = editor.current;
|
|
302
292
|
const canvasScaled = avatarEditor.getImageScaledToCanvas();
|
|
303
|
-
canvasScaled.toBlob((blob) =>
|
|
293
|
+
canvasScaled.toBlob(async (blob) => {
|
|
304
294
|
if (blob) {
|
|
305
295
|
if (logoPreview) {
|
|
306
296
|
URL.revokeObjectURL(logoPreview);
|
|
@@ -312,7 +302,7 @@ export const UserNamespaceDetails = props => {
|
|
|
312
302
|
setNewDetails(details);
|
|
313
303
|
}
|
|
314
304
|
}
|
|
315
|
-
})
|
|
305
|
+
});
|
|
316
306
|
setEditing(false);
|
|
317
307
|
};
|
|
318
308
|
const adjustScale = (x) => {
|
|
@@ -344,7 +334,7 @@ export const UserNamespaceDetails = props => {
|
|
|
344
334
|
return _jsx(DelayedLoadIndicator, { loading: loading });
|
|
345
335
|
}
|
|
346
336
|
const successColor = context.pageSettings.themeType === 'dark' ? '#fff' : '#000';
|
|
347
|
-
return _jsxs(_Fragment, { children: [_jsxs(Dialog, { open: editing, onClose: () => setEditing(false), children: [_jsx(DialogTitle, { children: "Edit namespace logo" }), _jsx(DialogContent, { sx: { overflowY: 'unset' }, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, sx: { display: 'flex' }, children: _jsx(AvatarEditor, { style: { margin: '0 auto' }, ref: editor, image: dropzoneFile
|
|
337
|
+
return _jsxs(_Fragment, { children: [_jsxs(Dialog, { open: editing, onClose: () => setEditing(false), children: [_jsx(DialogTitle, { children: "Edit namespace logo" }), _jsx(DialogContent, { sx: { overflowY: 'unset' }, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, sx: { display: 'flex' }, children: _jsx(AvatarEditor, { style: { margin: '0 auto' }, ref: editor, image: dropzoneFile ?? '', width: 120, height: 120, border: 8, color: [200, 200, 200, 0.6], scale: editorScaleAdjusted, rotate: editorRotation, position: editorPosition, onPositionChange: handleEditorPositionChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, children: _jsx(ZoomOutIcon, {}) }), _jsx(Grid, { item: true, xs: true, children: _jsx(Slider, { min: 0, max: 2, step: 0.01, scale: adjustScale, color: 'secondary', valueLabelDisplay: 'auto', valueLabelFormat: percentageLabelFormat, value: editorScale, onChange: handleEditorScaleChange }) }), _jsx(Grid, { item: true, children: _jsx(ZoomInIcon, {}) })] }) }), _jsx(Grid, { item: true, xs: 12, sx: { display: 'flex' }, children: _jsxs(Stack, { direction: 'row', spacing: 2, sx: { margin: '0 auto' }, children: [_jsx(IconButton, { onClick: rotateLeft, title: 'Rotate image counter-clockwise', children: _jsx(RotateLeftIcon, {}) }), _jsx(IconButton, { onClick: rotateRight, title: 'Rotate image clockwise', children: _jsx(RotateRightIcon, {}) })] }) })] }) }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: 'contained', color: 'primary', onClick: handleCancelEditLogo, children: "Cancel" }), _jsx(Button, { autoFocus: true, onClick: handleApplyLogo, children: "Apply logo" })] })] }), _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: 'h5', children: "Details" }) }), detailsUpdated
|
|
348
338
|
? _jsx(Grid, { item: true, xs: 12, alignItems: 'center', children: _jsxs(Paper, { sx: {
|
|
349
339
|
mb: 2,
|
|
350
340
|
p: 2,
|
|
@@ -355,25 +345,22 @@ export const UserNamespaceDetails = props => {
|
|
|
355
345
|
color: successColor,
|
|
356
346
|
bgcolor: `success.${context.pageSettings.themeType}`
|
|
357
347
|
}, children: [_jsx(CheckCircleOutline, { fontSize: 'large' }), _jsxs(Typography, { variant: 'body1', sx: { ml: 1 }, children: ["The details of the \u201C", bannerNamespaceName, "\u201D namespace were updated."] }), _jsx(IconButton, { sx: { ml: 'auto' }, onClick: handleClose, children: _jsx(CloseIcon, {}) })] }) })
|
|
358
|
-
: null, _jsx(Grid, { item: true, xs: 4, alignItems: 'center', children: _jsx(Dropzone, { onDrop: handleDrop, onFileDialogOpen: handleFileDialogOpen, noClick: isDropzoneDisabled(), noKeyboard: isDropzoneDisabled(), noDrag: isDropzoneDisabled(), maxFiles: 1, maxSize: 4 * 1024 * 1024, children: ({ getRootProps, getInputProps, isFocused, isDragAccept, isDragReject }) => {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
: null, _jsx(IconButton, { onClick: deleteLogo, title: 'Delete logo', sx: { height: 'fit-content' }, children: _jsx(DeleteIcon, {}) })] })
|
|
375
|
-
: null] }));
|
|
376
|
-
} }) }), _jsx(Grid, { item: true, xs: 8, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, label: 'Display name', name: INPUT_DISPLAY_NAME, value: (_a = newDetails.displayName) !== null && _a !== void 0 ? _a : '', onChange: handleInputChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, multiline: true, rows: 3, margin: 'dense', variant: 'outlined', label: 'Description', name: INPUT_DESCRIPTION, value: (_b = newDetails.description) !== null && _b !== void 0 ? _b : '', onChange: handleInputChange }) })] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, label: 'Website', type: 'url', name: INPUT_WEBSITE, value: (_c = newDetails.website) !== null && _c !== void 0 ? _c : '', onChange: handleInputChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, label: 'Support link', type: 'url', name: INPUT_SUPPORT_LINK, value: (_d = newDetails.supportLink) !== null && _d !== void 0 ? _d : '', onChange: handleInputChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(GridIconItem, { item: true, children: _jsx(LinkedInIcon, { titleAccess: 'LinkedIn profile' }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(TextField, { fullWidth: true, name: INPUT_LINKEDIN, value: (_e = newDetails.socialLinks.linkedin) !== null && _e !== void 0 ? _e : '', onChange: handleInputChange, InputProps: { startAdornment: _jsxs(InputAdornment, { position: 'start', children: [_jsxs(Select, { value: linkedInAccountType, onChange: handleSelectChange, sx: {
|
|
348
|
+
: null, _jsx(Grid, { item: true, xs: 4, alignItems: 'center', children: _jsx(Dropzone, { onDrop: handleDrop, onFileDialogOpen: handleFileDialogOpen, noClick: isDropzoneDisabled(), noKeyboard: isDropzoneDisabled(), noDrag: isDropzoneDisabled(), maxFiles: 1, maxSize: 4 * 1024 * 1024, children: ({ getRootProps, getInputProps, isFocused, isDragAccept, isDragReject }) => (_jsxs(Box, { component: 'section', sx: { display: 'grid' }, children: [_jsxs(DropzoneDiv, { ...getRootProps({ isFocused, isDragAccept, isDragReject }), style: { borderColor: getColor(isFocused, isDragAccept, isDragReject) }, children: [_jsx("input", { ...getInputProps({ accept: 'image/jpeg,image/png', multiple: false }) }), _jsx("img", { src: logoPreview ?? newDetails?.logo ?? context.pageSettings.urls.extensionDefaultIcon })] }), logoPreview || newDetails?.logo ?
|
|
349
|
+
_jsxs(Box, { component: 'div', sx: {
|
|
350
|
+
gridRow: 1,
|
|
351
|
+
gridColumn: 1,
|
|
352
|
+
mb: -6,
|
|
353
|
+
display: 'flex',
|
|
354
|
+
opacity: 0,
|
|
355
|
+
height: '100%',
|
|
356
|
+
justifyContent: 'flex-end',
|
|
357
|
+
'&:hover': {
|
|
358
|
+
opacity: 1
|
|
359
|
+
}
|
|
360
|
+
}, children: [logoPreview ?
|
|
361
|
+
_jsx(IconButton, { onClick: editLogo, title: 'Edit logo', sx: { height: 'fit-content' }, children: _jsx(EditIcon, {}) })
|
|
362
|
+
: null, _jsx(IconButton, { onClick: deleteLogo, title: 'Delete logo', sx: { height: 'fit-content' }, children: _jsx(DeleteIcon, {}) })] })
|
|
363
|
+
: null] })) }) }), _jsx(Grid, { item: true, xs: 8, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, label: 'Display name', name: INPUT_DISPLAY_NAME, value: newDetails.displayName ?? '', onChange: handleInputChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, multiline: true, rows: 3, margin: 'dense', variant: 'outlined', label: 'Description', name: INPUT_DESCRIPTION, value: newDetails.description ?? '', onChange: handleInputChange }) })] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, label: 'Website', type: 'url', name: INPUT_WEBSITE, value: newDetails.website ?? '', onChange: handleInputChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { fullWidth: true, label: 'Support link', type: 'url', name: INPUT_SUPPORT_LINK, value: newDetails.supportLink ?? '', onChange: handleInputChange }) }), _jsx(Grid, { item: true, xs: 12, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(GridIconItem, { item: true, children: _jsx(LinkedInIcon, { titleAccess: 'LinkedIn profile' }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(TextField, { fullWidth: true, name: INPUT_LINKEDIN, value: newDetails.socialLinks.linkedin ?? '', onChange: handleInputChange, InputProps: { startAdornment: _jsxs(InputAdornment, { position: 'start', children: [_jsxs(Select, { value: linkedInAccountType, onChange: handleSelectChange, sx: {
|
|
377
364
|
'& .MuiSelect-select': {
|
|
378
365
|
py: 1.75
|
|
379
366
|
},
|
|
@@ -385,6 +372,6 @@ export const UserNamespaceDetails = props => {
|
|
|
385
372
|
'& .MuiOutlinedInput-notchedOutline': {
|
|
386
373
|
border: 0
|
|
387
374
|
}
|
|
388
|
-
}, children: [_jsx(MenuItem, { value: LINKED_IN_PERSONAL, selected: true, children: _jsx(PersonIcon, { sx: { color: 'text.secondary' }, titleAccess: 'Personal profile' }) }), _jsx(MenuItem, { value: LINKED_IN_COMPANY, children: _jsx(BusinessIcon, { sx: { color: 'text.secondary' }, titleAccess: 'Company profile' }) })] }), _jsxs(Typography, { color: 'textSecondary', children: ["https://www.linkedin.com/", linkedInAccountType, "/"] })] }) } }) })] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(GridIconItem, { item: true, children: _jsx(GitHubIcon, { titleAccess: 'GitHub profile' }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(TextField, { fullWidth: true, name: INPUT_GITHUB, value:
|
|
375
|
+
}, children: [_jsx(MenuItem, { value: LINKED_IN_PERSONAL, selected: true, children: _jsx(PersonIcon, { sx: { color: 'text.secondary' }, titleAccess: 'Personal profile' }) }), _jsx(MenuItem, { value: LINKED_IN_COMPANY, children: _jsx(BusinessIcon, { sx: { color: 'text.secondary' }, titleAccess: 'Company profile' }) })] }), _jsxs(Typography, { color: 'textSecondary', children: ["https://www.linkedin.com/", linkedInAccountType, "/"] })] }) } }) })] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(GridIconItem, { item: true, children: _jsx(GitHubIcon, { titleAccess: 'GitHub profile' }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(TextField, { fullWidth: true, name: INPUT_GITHUB, value: newDetails.socialLinks.github ?? '', onChange: handleInputChange, InputProps: { startAdornment: _jsx(InputAdornment, { position: 'start', children: "https://github.com/" }) } }) })] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(GridIconItem, { item: true, children: _jsx(TwitterIcon, { titleAccess: 'Twitter profile' }) }), _jsx(Grid, { item: true, xs: true, children: _jsx(TextField, { fullWidth: true, name: INPUT_TWITTER, value: newDetails.socialLinks.twitter ?? '', onChange: handleInputChange, InputProps: { startAdornment: _jsx(InputAdornment, { position: 'start', children: "https://twitter.com/" }) } }) })] }) }), _jsx(Grid, { item: true, xs: 12, sx: { display: 'flex', justifyContent: 'flex-end' }, children: _jsx(Button, { sx: { ml: { xs: 2, sm: 2, md: 2, lg: 0, xl: 0 } }, variant: 'outlined', disabled: noChanges, onClick: setNamespaceDetails, children: "Save Namespace Details" }) })] })] });
|
|
389
376
|
};
|
|
390
377
|
//# sourceMappingURL=user-namespace-details.js.map
|