* work: moving the form
* fix: lint do be crazy sometimes
* fix: remove debug stuff
* fix: dialogService
* per Danielle Flinn: option 1, leave sizing wide.
* work: move modules to own container
* work: reorg modules
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* [EC-1086] fix: faulty orgId override
When single vault policy was in effect the orgId that the user belongs to was was always set for new ciphers for new ciphers. This was overwriting the client organization's id when a provider was trying to create new items in their clients vault.
* [AC-1086] chore: remove uneccessary assignments
* init refactor
* Fix current user access checks
* Add in warning dialogs that are aware of other APs
* cleanup handlers; refresh sa list on removal
* Code review updates
* [SM-580] Add warning dialog for Service account People tab (#4893)
* Add warning dialog from figma
* move dialog out of access selector component; add after delete event; remove people-sa logic
* remove commented code and unused service
* Updates to work with SM-581
---------
Co-authored-by: William Martin <contact@willmartian.com>
---------
Co-authored-by: William Martin <contact@willmartian.com>
* [EC-775] feat: add compatibility layer from #4154
* [EC-775] fix: ciphers not reloading on filter change
* [EC-775] feat: add support for cipher types
* [EC-775] feat: implement organization switching
* [EC-775] feat: remove invalid folder and collection checks
Had to remove these becuase they were causing double navigations on each click.
* [EC-775] fix: fix reverse data flow race condition
vault-filter.component was pushing up old filter models which would sometimes overwrite new filter models that came from the routed filter service.
* [EC-775] fix: No folder use-case not working
* [EC-775] feat: make navigation behave like master
* [EC-775] feat: add support for trash
* [EC-775] chore: simplify findNode
* [EC-775] feat: add support for org vault
* [EC-775] feat: add support for orgId in path
* [EC-775] feat: use proper treenode constructor
* [EC-775] chore: remove unnecessary variable
* [EC-775] docs: add docs to relevant classes
* [EC-775] chore: use existing function for searching tree
* [EC-775] fix: hide "new" button in trash view
* [EC-775] feat: add explicit handling for `AllItems`
* [EC-775] fix: prune folderId when changing organization
* [EC-775] fix: properly use `undefined` instead of `null`
* [EC-775] chore: simplify setters using ternary operator
* [EC-775] feat: add static typing to `type` filter
* [EC-775] feat: use new `All` variable for collections
* [EC-775] feat: return `RouterLink` compatible link from `createRoute`
* [EC-775] feat: add ordId path support to `createRoute`
* [EC-775] fix: interpret params differently in org vault
This is needed due to how defaults used to work when using `state-in-code`. We really want to get rid of this type of logic going forward.
* [EC-775] doc: clarify `createRoute`
* [EC-775] fix: better `type` typing
* [EC-775] feat: remove support for path navigation
It's better that we circle back to this type of navigationt when we're working on the VVR and have more knowledge about how this is supposed to work.
* [EC-775] fix: refactor bridge service to improve readability
Refactor follows feedback from PR review
* Init service layer changes
* refactor service to inherit abstract
* refactor access-selector component
* update access selector in projects
* add service accounts access selector
* update i18n
* fix delete action; use useExisting in providers
* update static permissions
* service account people should be readwrite on creation
* use setter instead of observable input
* remove warning callout
* remove abstract service
* truncate name in table
* remove extra comments
* Add projects access policy page
* Add locale
* use map instead of forEach
* refactor view factories
* update SA people copy
* map list responses
* Swap to using granted policies endpoints
* Remove text-xl from icon
---------
Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: William Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* Init service layer changes
* refactor service to inherit abstract
* refactor access-selector component
* update access selector in projects
* add service accounts access selector
* update i18n
* fix delete action; use useExisting in providers
* update static permissions
* service account people should be readwrite on creation
* use setter instead of observable input
* remove warning callout
* remove abstract service
* truncate name in table
* remove extra comments
* use map instead of forEach
* refactor view factories
* update SA people copy
* map list responses
---------
Co-authored-by: William Martin <contact@willmartian.com>
* remove added template for ngIf and rename icon directive
* fix regression in product switcher
* fix text color of bulk delete in org vault
* use ng-container for *ngIf
* Move autofillConstants to autofill folder
* Remove autofillConstants from whitelist capital
* Add vault team as code owners for autofill folder
* Update codeowners for web
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
* SM-281: Initial commit with trash component setup
* SM-281: Customize secrets list component, add ability to hard delete secrets
* SM-281: Add support for restoring secrets in SM
* SM-281: restoreSecret emit values as an array
* SM-281: Fix bug caused by mistake when doing merge conflict resolution
* SM-281: Clean up TrashService and move more functionality to TrashApiService
* Cleanup responses
* Merge TrashService and SecretService
* Remove tw-text-sm from dialogs
* Split delete into two components
* Change secrets table to have a single boolean for trash
* SM-281: Rename component to secret-hard-delete
* Remove unused organizationId
* Remove duplicate buttons
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* This commit implements the following main changes:
- Query elements by using a TreeWalker instead of `document.querySelector[All]`. The reason for this is that `querySelector[All]` doesn't traverse into elements with ShadowRoot.
- Recursively traverse into elements with `openOrClosedShadowRoot` or `Element.shadowRoot` (depending on browser support) inside TreeWalker loop.
- Use new query logic everywhere inside `autofill.js`. This also means we need to use filter functions to find elements with specific nodeNames and/or attributes instead of CSS selector strings.
- Add two new `instanceof Element` checks to prevent `Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'." errors`.
This change is fully backward compatible. If `openOrClosedShadowRoot` is not available it will always return undefined and we will never traverse into ShadowRoots just as the behavior was before this change.
* refactor: outsource recursive logic to accumulatingQueryDocAll
We don't want the `els` argument on the `queryDocAll` function because it's never used from outside the function itself. Thus the recursive logic is moved to `accumulatingQueryDocAll`.
Now `queryDocAll` creates an empty array and passes it to `accumulatingQueryDocAll` which recursively walks the document and all ShadowRoots and pushes all found nodes directly to the referenced array.
The decision to use a directly mutated array instead of `Array.concat(els)` or `Array.push(...els)` is for performance reasons. Pushing to the referenced array was 74% faster than using `Array.push` with spread operator and even 90% faster than using `Array.concat`.
Co-authored-by: Chad Miller <64046472+chadm-sq@users.noreply.github.com>
* refactor: extract input field relevance check into own function
Addresses CodeScene analysis violation "Bumpy Road Ahead" where conditional logic is checked for a nesting of 2 or deeper.
* refactor: use proper element attribute handling
- use el.type attribute instead of el.attribute.type on input elements. This makes sure we also get 'text' when type attribute is not explicitly specified
- use el.htmlFor attribute instead of el.attribute.for on label elements
- use `hasAttribute` and `getAttribute` methods instead of `attributes[]` which is discouraged by https://quirksmode.org/dom/core/#attributes
- improve readability of `isRelevantInputField`
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Chad Miller <64046472+chadm-sq@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>