private _buildCommands()

in desktop/src/app/components/certificate/action/certificate-commands.ts [43:93]


    private _buildCommands() {
        this.delete = this.simpleCommand({
            name: "delete",
            ...COMMAND_LABEL_ICON.Delete,
            action: (certificate: Certificate) => this.certificateService.delete(certificate.id),
            enabled: (certificate) => certificate.state !== CertificateState.deleting,
            permission: Permission.Write,
        });

        this.reactivate = this.simpleCommand({
            name: "reactivate",
            ...COMMAND_LABEL_ICON.Reactivate,
            action: (certificate) => this.certificateService.cancelDelete(certificate.id),
            enabled: (certificate) => certificate.state === CertificateState.deletefailed,
            multiple: false,
            confirm: false,
            notify: false,
            permission: Permission.Write,
        });

        this.exportAsJSON = this.simpleCommand({
            name: "exportAsJSON",
            ...COMMAND_LABEL_ICON.ExportAsJSON,
            action: (certificate) => this._exportAsJSON(certificate),
            multiple: false,
            confirm: false,
            notify: false,
        });

        this.pin = this.simpleCommand({
            name: "pin",
            label: (certificate: Certificate) => {
                return this.pinnedEntityService.isFavorite(certificate)
                    ? COMMAND_LABEL_ICON.UnpinFavoriteLabel : COMMAND_LABEL_ICON.PinFavoriteLabel;
            },
            icon: (certificate: Certificate) => {
                return this.pinnedEntityService.isFavorite(certificate)
                    ? COMMAND_LABEL_ICON.UnpinFavoriteIcon : COMMAND_LABEL_ICON.PinFavoriteIcon;
            },
            action: (certificate: Certificate) => this._pinCertificate(certificate),
            confirm: false,
            multiple: false,
        });

        this.commands = [
            this.delete,
            this.reactivate,
            this.exportAsJSON,
            this.pin,
        ];
    }