mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 00:03:56 +00:00
* fixed issue with clearing search index state * clear user index before account is totally cleaned up * added logout clear on option * removed redundant clear index from logout * added feature flag * added new menu drop down and put behind feature flag * added permanentlyDeleteSelected to the menu * added permanentlyDeleteSelected to the menu * wired up logic to show to hide menu drop down items * modified the bulk collection assignment to work with end user vault * wired up delete and move to folder * merged bulk management actions header into old leveraging the feature flag * added ability to move personal items to an organization and set active collection when user is on a collection * made collection required by default * handled organization cipher share when personal items and org items are selected * moved logic to determine warning text to component class * moved logic to determine warning text to component class * Improved hide or show logic for menu * added bullet point to bulk assignment dialog content * changed description for move to folder * Fixed issue were all collections are retrived instead of only can manage, and added logic to get collections associated with a cipher * added inline assign to collections * added logic to disable three dot to template * Updated logic to retreive shared collection ids between ciphers * Added logic to make attachment view only, show or hide * Only show menu options when there are options available * Comments cleanup * update cipher row to disable menu instead of hide * Put add to folder behind feature flag * ensured old menu behaviour is shown when feature flag is turned off * refactored code base on code review suggestions * fixed bug with available collections * Made assign to collections resuable made pluralize a pipe instead * Utilized the resuable assign to collections component on the web * changed description message for collection assignment * fixed bug with ExpressionChangedAfterItHasBeenCheckedError * Added changedetectorref markForCheck * removed redundant startwith as seed value has been added * made code review suggestions * fixed bug where assign to collections shows up in trash filter * removed bitInput * refactored based on code review comments * added reference ticket * [PM-9341] Cannot assign to collections when filtering by My Vault (#9862) * Add checks for org id myvault * made myvault id a constant * show bulk move is set by individual vault and it is needed so assign to collections does not show up in trash filter (#9876) * Fixed issue where selectedOrgId is null (#9879) * Fix bug introduced with assigning items to a collection (#9897) * [PM-9601] [PM-9602] When collection management setting is turned on view only collections and assign to collections menu option show up (#10047) * Only show collections with edit access on individual vault * remove unused arguments
171 lines
5.7 KiB
HTML
171 lines
5.7 KiB
HTML
<td bitCell [ngClass]="RowHeightClass" class="tw-min-w-fit">
|
|
<input
|
|
type="checkbox"
|
|
bitCheckbox
|
|
appStopProp
|
|
[disabled]="disabled"
|
|
[checked]="checked"
|
|
(change)="$event ? this.checkedToggled.next() : null"
|
|
[attr.aria-label]="'vaultItemSelect' | i18n"
|
|
/>
|
|
</td>
|
|
<td bitCell [ngClass]="RowHeightClass" class="tw-min-w-fit">
|
|
<app-vault-icon [cipher]="cipher"></app-vault-icon>
|
|
</td>
|
|
<td bitCell [ngClass]="RowHeightClass" class="tw-truncate">
|
|
<div class="tw-inline-flex tw-w-full">
|
|
<button
|
|
bitLink
|
|
class="tw-overflow-hidden tw-text-ellipsis tw-text-start tw-leading-snug"
|
|
[disabled]="disabled"
|
|
[routerLink]="[]"
|
|
[queryParams]="{ itemId: cipher.id }"
|
|
queryParamsHandling="merge"
|
|
title="{{ 'editItemWithName' | i18n: cipher.name }}"
|
|
type="button"
|
|
appStopProp
|
|
>
|
|
{{ cipher.name }}
|
|
</button>
|
|
<ng-container *ngIf="cipher.hasAttachments">
|
|
<i
|
|
class="bwi bwi-paperclip tw-ml-2 tw-leading-normal"
|
|
appStopProp
|
|
title="{{ 'attachments' | i18n }}"
|
|
aria-hidden="true"
|
|
></i>
|
|
<span class="sr-only">{{ "attachments" | i18n }}</span>
|
|
<ng-container *ngIf="showFixOldAttachments">
|
|
<i
|
|
class="bwi bwi-exclamation-triangle tw-ml-2 tw-leading-normal tw-text-warning"
|
|
appStopProp
|
|
title="{{ 'attachmentsNeedFix' | i18n }}"
|
|
aria-hidden="true"
|
|
></i>
|
|
<span class="sr-only">{{ "attachmentsNeedFix" | i18n }}</span>
|
|
</ng-container>
|
|
</ng-container>
|
|
</div>
|
|
<br />
|
|
<span class="tw-text-sm tw-text-muted" appStopProp>{{ cipher.subTitle }}</span>
|
|
</td>
|
|
<td bitCell [ngClass]="RowHeightClass" *ngIf="showOwner" class="tw-hidden lg:tw-table-cell">
|
|
<app-org-badge
|
|
[disabled]="disabled"
|
|
[organizationId]="cipher.organizationId"
|
|
[organizationName]="cipher.organizationId | orgNameFromId: organizations"
|
|
appStopProp
|
|
>
|
|
</app-org-badge>
|
|
</td>
|
|
<td bitCell [ngClass]="RowHeightClass" *ngIf="showCollections">
|
|
<app-collection-badge
|
|
*ngIf="cipher.collectionIds"
|
|
[collectionIds]="cipher.collectionIds"
|
|
[collections]="collections"
|
|
></app-collection-badge>
|
|
</td>
|
|
<td bitCell [ngClass]="RowHeightClass" *ngIf="showGroups"></td>
|
|
<td bitCell [ngClass]="RowHeightClass" *ngIf="viewingOrgVault"></td>
|
|
<td bitCell [ngClass]="RowHeightClass" class="tw-text-right">
|
|
<button
|
|
[disabled]="disabled || disableMenu"
|
|
[bitMenuTriggerFor]="cipherOptions"
|
|
[attr.title]="disableMenu ? ('missingPermissions' | i18n) : ''"
|
|
size="small"
|
|
bitIconButton="bwi-ellipsis-v"
|
|
type="button"
|
|
appA11yTitle="{{ 'options' | i18n }}"
|
|
appStopProp
|
|
></button>
|
|
<bit-menu #cipherOptions>
|
|
<ng-container *ngIf="isNotDeletedLoginCipher">
|
|
<button bitMenuItem type="button" (click)="copy('username')">
|
|
<i class="bwi bwi-fw bwi-clone" aria-hidden="true"></i>
|
|
{{ "copyUsername" | i18n }}
|
|
</button>
|
|
<button bitMenuItem type="button" (click)="copy('password')" *ngIf="cipher.viewPassword">
|
|
<i class="bwi bwi-fw bwi-clone" aria-hidden="true"></i>
|
|
{{ "copyPassword" | i18n }}
|
|
</button>
|
|
<button bitMenuItem type="button" (click)="copy('totp')" *ngIf="showTotpCopyButton">
|
|
<i class="bwi bwi-fw bwi-clone" aria-hidden="true"></i>
|
|
{{ "copyVerificationCode" | i18n }}
|
|
</button>
|
|
<a
|
|
bitMenuItem
|
|
*ngIf="cipher.login.canLaunch"
|
|
type="button"
|
|
[href]="cipher.login.launchUri"
|
|
target="_blank"
|
|
rel="noreferrer"
|
|
>
|
|
<i class="bwi bwi-fw bwi-share-square" aria-hidden="true"></i>
|
|
{{ "launch" | i18n }}
|
|
</a>
|
|
</ng-container>
|
|
|
|
<button
|
|
bitMenuItem
|
|
*ngIf="showAttachments || !vaultBulkManagementActionEnabled"
|
|
type="button"
|
|
(click)="attachments()"
|
|
>
|
|
<i class="bwi bwi-fw bwi-paperclip" aria-hidden="true"></i>
|
|
{{ "attachments" | i18n }}
|
|
</button>
|
|
<button bitMenuItem *ngIf="showClone" type="button" (click)="clone()">
|
|
<i class="bwi bwi-fw bwi-files" aria-hidden="true"></i>
|
|
{{ "clone" | i18n }}
|
|
</button>
|
|
<!-- This option will be phased out in future releases -->
|
|
<button
|
|
bitMenuItem
|
|
*ngIf="!cipher.organizationId && !cipher.isDeleted && !vaultBulkManagementActionEnabled"
|
|
type="button"
|
|
(click)="moveToOrganization()"
|
|
>
|
|
<i class="bwi bwi-fw bwi-arrow-circle-right" aria-hidden="true"></i>
|
|
{{ "moveToOrganization" | i18n }}
|
|
</button>
|
|
<!-- This option will be phased out in future releases -->
|
|
<button
|
|
bitMenuItem
|
|
*ngIf="cipher.organizationId && !cipher.isDeleted && !vaultBulkManagementActionEnabled"
|
|
type="button"
|
|
(click)="editCollections()"
|
|
>
|
|
<i class="bwi bwi-fw bwi-collection" aria-hidden="true"></i>
|
|
{{ "collections" | i18n }}
|
|
</button>
|
|
<button
|
|
bitMenuItem
|
|
*ngIf="showAssignToCollections"
|
|
type="button"
|
|
(click)="assignToCollections()"
|
|
>
|
|
<i class="bwi bwi-fw bwi-collection" aria-hidden="true"></i>
|
|
{{ "assignToCollections" | i18n }}
|
|
</button>
|
|
<button bitMenuItem *ngIf="showEventLogs" type="button" (click)="events()">
|
|
<i class="bwi bwi-fw bwi-file-text" aria-hidden="true"></i>
|
|
{{ "eventLogs" | i18n }}
|
|
</button>
|
|
<button bitMenuItem (click)="restore()" type="button" *ngIf="cipher.isDeleted">
|
|
<i class="bwi bwi-fw bwi-undo" aria-hidden="true"></i>
|
|
{{ "restore" | i18n }}
|
|
</button>
|
|
<button
|
|
bitMenuItem
|
|
*ngIf="canEditCipher || !vaultBulkManagementActionEnabled"
|
|
(click)="deleteCipher()"
|
|
type="button"
|
|
>
|
|
<span class="tw-text-danger">
|
|
<i class="bwi bwi-fw bwi-trash" aria-hidden="true"></i>
|
|
{{ (cipher.isDeleted ? "permanentlyDelete" : "delete") | i18n }}
|
|
</span>
|
|
</button>
|
|
</bit-menu>
|
|
</td>
|