* Enhance policy edit dialogs by updating dialog size to large for improved layout and switching to openDrawer method for better user experience.
* Enhance policy edit dialogs by adding policy status badges to indicate if a policy is enabled, improving user visibility and experience.
* Update dialog component styles to enhance drawer behavior by changing height to full screen and adding sticky footer for improved layout and user experience.
* Refactor policy display layout by wrapping buttons and badges in a flex container for improved alignment and spacing.
* Refactor password policy forms in admin console for improved layout
- Simplified the structure of form fields in `master-password.component.html` and `password-generator.component.html` by removing unnecessary div wrappers.
- Updated the label for the password type policy override in `messages.json` for clarity.
* Update dialog size in policy edit component for consistency
- Changed the dialog size from 'large' to 'default' in `policy-edit-dialog.component.html` to align with design standards.
* refactor(dialog): update dialog component styles for drawer layout
- Adjusted height class for drawer dialogs from 'tw-h-screen' to 'tw-h-full' for better layout management.
- Removed sticky positioning for footer in drawer mode to improve visual consistency.
* refactor(dialog): enhance form layout for policy edit dialogs
- Added classes for full height and flex column layout to the form elements in policy edit dialogs for improved visual consistency and usability.
Centralize edit permission checks in CipherAuthorizationService instead of using the disableForm parameter passed to VaultItemDialogComponent. This refactoring improves consistency with how delete and restore permissions are handled, establishes a single source of truth for authorization logic, and simplifies caller components.
This change also fixes the bug in ticket, which allows Users to properly edit Ciphers inside of the various Admin Console report types.
* Enhance layout responsiveness in vault components by adding flex properties to improve structure and ensure proper height management.
* Refactor vault component layout to rid of my changes
* Update apps/web/src/app/vault/individual-vault/vault.component.html
Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
---------
Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
* Fixing some tech debt before implementing actual fix of implementation
* Adding new components to handle the different routes for the integrations page to make use of bit-tab-nav-bar to follow background-fill UI spec
* Implement organization integrations page with routing and state management
- Added routing for organization integrations including device management, event management, single sign-on, and user provisioning.
- Created OrganizationIntegrationsState to manage integrations and organization data.
- Introduced OrganizationIntegrationsResolver for preloading organization and integration data.
- Updated components to utilize the new state management and resolver.
- Refactored integration routes to follow updated naming conventions.
* Refactor organization integrations components to use signals and observables; enhance async handling in templates and add debug logging
* Enhance organization integrations module with routing updates and state management improvements
- Added OrganizationIntegrationsState for better state management.
- Updated routing to redirect to single sign-on by default.
- Integrated OrganizationIntegrationsResolver for preloading data.
- Refactored components to utilize new state management and improved async handling.
* Refactor SingleSignOnComponent to remove OnInit lifecycle and debug logging
- Simplified SingleSignOnComponent by removing the OnInit implementation.
- Eliminated debug logging for integrations in ngOnInit.
- Cleaned up imports for better readability.
* Refactor WebHeaderComponent to simplify background handling
- Removed the useAltBackground input signal from WebHeaderComponent.
- Updated the HTML template to conditionally apply styles based solely on the child element count of the tabs container.
* Refactor organization integrations components for improved readability and performance
- Updated HTML templates to remove optional chaining for organization properties.
- Removed unnecessary debug logging and comments in the OrganizationIntegrationsResolver.
- Simplified DeviceManagementComponent by eliminating the OnInit lifecycle hook.
* Refactor organization integrations components to use direct state properties
- Updated components to access organization and integrations directly from state instead of using observables.
- Simplified HTML templates by removing async pipes and using direct function calls for better readability.
- Ensured consistent naming conventions for organization and integrations variables across components.
* Enhance WebHeaderComponent by adding bitTypography attribute to the title element for improved styling consistency
* Refactor organization state to use 'undefined' instead of 'null' for organization signal and remove OnInit lifecycle hook from UserProvisioningComponent for cleaner code.
* Refactor EventManagementComponent to remove OnInit lifecycle hook for cleaner code and improved readability.
* Update organization state to set organization value to 'undefined' when null is provided, enhancing state management consistency.
* Update WebHeaderComponent to allow optional title and icon inputs, enhancing flexibility in header configuration.
* Update WebHeaderComponent to allow account property to be nullable, improving type safety and handling of user data.
Update Account Recovery flow to use new KM data types from `master-password.types.ts` / `MasterPasswordService`:
- `MasterPasswordAuthenticationData`
- `MasterPasswordUnlockData`
This allows us to move away from the deprecated `makeMasterKey()` method (which takes email as salt) as we seek to eventually separate the email from the salt.
Changes are behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
* Added encrypted default collection name to new feature flagged restore user methods/endpoint.
* corrected filter to use null check with imperative code
- Renamed `activateAutofill` to `activateAutofillPolicy` in the policy order map and component.
- Updated corresponding translation keys in `messages.json` for consistency.
- Adjusted warning message in the `activate-autofill.component.html` to reflect the new naming convention.
* Refactor policy edit registration to centralize ownership and improve organization. Reordered policies for clarity and added new policies for enhanced functionality.
* Add PolicyOrderPipe for sorting policies and update policies component to utilize it
* Add organizationDataOwnership to POLICY_ORDER_MAP for policy sorting
* Fix PR comments
* Update master password policy dialog to limit the minimum length to 128
* Update master password policy to use dynamic maximum length from Utils
* Add unit tests for MasterPasswordPolicyComponent to validate password length constraints and scoring
* remove deprecated OrganizationDataOwnership components, promote vNext
* WIP: add new components and copy
* multi step dialog for organization- data ownership
* disable save
* clean up copy, fix bug
* copy change, update button text
* update copy
* un-rename model
* use policyApiService
* simplify style
Migrated vault filters to new v3 vault's navigation
* Decoupled existing vault filtering from vault component by using routed params with routed-vault-filter-bridge
* Converted vault filters to standalone components
* Removed extending filter Base Components from deprecated /libs/angular library and handled logic directly
* Moved shared 'models' and 'services' directories from web-vault into /libs/vault
* [PM-23258] changing verbiage from import data to import items
* [PM-23258] Removing vault and data from import and export titles, navs, and buttons
* [PM-23258] more verbiage changes
* [PM-23258] reverting unnecessary change
* [PM-23258] removing unused text from messages json files
* [PM-23258] small text changes from design
* [PM-23258] including secrets manager changes
* Add IncreaseBulkReinviteLimitForCloud feature flag
* Enhance PeopleTableDataSource with bulk operation limits and feature flag integration
- Introduced a new feature flag to increase the bulk reinvite limit for cloud environments.
- Added an observable to determine if the increased limit is enabled based on the feature flag and environment.
- Updated the logic for enforcing checked user limits in bulk operations, allowing for a maximum of 4000 users when the feature flag is active.
- Refactored the constructor to initialize the new observable and manage the maximum allowed checked count dynamically.
* Add unit tests for PeopleTableDataSource to validate user limit enforcement and status counts
* Refactor MembersComponent to integrate increased bulk limit feature
- Added support for conditional user limit enforcement in bulk operations based on a feature flag.
- Introduced new dependencies for ConfigService and EnvironmentService to manage configuration settings.
- Updated methods to utilize the new getCheckedUsers function, which enforces limits when the feature is enabled.
- Refactored data source initialization to accommodate the new logic for handling checked users.
* Refactor enforceCheckedUserLimit method in PeopleTableDataSource to use filtered data for user limit enforcement and to keep checked the top rows.
Removed unnecessary comments and improved readability.
* Add bulk reinvite success messages to localization files
This update introduces new localization keys for bulk reinvite success notifications, including a general success message and a limited success message that provides details on the number of users re-invited and those excluded due to limits. This enhances user feedback during bulk operations.
* Enhance bulk reinvite functionality with toast notifications
This update modifies the MembersComponent to display success messages via toast notifications when the feature flag for increased bulk limits is enabled. If the limit is exceeded, a detailed message is shown, otherwise a general success message is displayed. The legacy dialog is retained for cases when the feature flag is disabled, ensuring consistent user feedback during bulk reinvite operations.
* Rename MaxBulkReinviteCount to CloudBulkReinviteLimit
* Refactor user retrieval logic in MembersComponent to conditionally enforce bulk limits
This update modifies the MembersComponent in both the admin console and provider management sections to replace the direct calls to getCheckedUsers() with a conditional check for increased bulk limit feature. If enabled, it enforces user limits; otherwise, it retrieves all checked users. The deprecated getCheckedUsers method has been removed to streamline the code.
* Add constructor to MembersTableDataSource for improved dependency injection
This update introduces a constructor to the MembersTableDataSource class in both the admin console and provider management sections, allowing for better dependency injection of ConfigService, EnvironmentService, and DestroyRef. This change enhances the overall structure and maintainability of the code.
* Refactor PeopleTableDataSource and MembersComponent to implement new bulk limit logic
This update modifies the PeopleTableDataSource to introduce a new property for managing increased bulk limits and refactors the MembersComponent to utilize this logic. The enforcement of user limits during bulk operations is now conditional based on the feature flag, allowing for a more flexible handling of user selections. Additionally, the method for limiting and unchecking excess users has been updated for clarity and efficiency.
* Refactor PeopleTableDataSource tests to update limit enforcement logic
This update modifies the test cases for the PeopleTableDataSource to reflect the new method for limiting and unchecking excess users. The method name has been changed from `enforceCheckedUserLimit` to `limitAndUncheckExcess`, and the tests have been adjusted accordingly to ensure they accurately validate the new functionality. Additionally, unnecessary tests have been removed to streamline the test suite.
* Change CloudBulkReinviteLimit back to 4000
* Refactor MembersComponent to utilize new getCheckedUsersInVisibleOrder method
This update modifies the MembersComponent to conditionally retrieve checked users based on the increased bulk limit feature. If enabled, it uses the new getCheckedUsersInVisibleOrder method to maintain visual consistency in the filtered/sorted table view. This change enhances the handling of user selections during bulk operations.
* Refactor PeopleTableDataSource to use Signals for increased bulk limit feature and update related tests. Removed unused imports and dependencies on DestroyRef in MembersTableDataSource components.
* Refactor MembersComponent to remove unused Signal for increased bulk limit and directly utilize dataSource method for feature flag checks.
* Implement getCheckedUsersWithLimit method to streamline user retrieval based on feature flag; update MembersComponent to utilize this new method for bulk actions.
* Access Intelligence display for only enterprise
* modifying the access intelligence routing to properly match. Added documentation.
* tasks remove useriskinsights flag
* fixing tasks test cases
* tasks should only check for enterprise
* fixing uncommitted changes
* reverting unecessary change from all activites
* adding back missing test case
* add premium badge to web filter when the user does not have access to premium
* remove feature flag pass through in favor of showing/hiding archive vault observable
* refactor archive observable to be more generic
* add archive premium badge for the web
* show premium badge inline for archive filter
* show premium subscription ended message when user has archived ciphers
* fix missing refactor
* remove unneeded can archive check
* reference observable directly
* reduce the number of firstValueFroms by combining observables into a single stream
* fix failing tests
* add import to storybook
* update variable naming for premium filters
* pass event to `promptForPremium`
* remove check for organization
* fix footer variable reference
* refactor back to `hasArchiveFlagEnabled$` - more straight forward to the underlying logic
* update archive service test with new feature flag format
* Remove Type property from PolicyRequestModel to use route parameter only
* Remove PolicyType property from policy update request in auto-confirm edit policy dialog
* Run prettier
* add one time setup dialog for auto confirm
* add one time setup dialog for auto confirm
* fix copy, padding, cleanup observable logic
* cleanup
* cleanup
* refactor
* clean up
* more cleanup
* Fix deleted files
This reverts commit 7c18a5e512.