<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<div id="nifi-registry-admin-create-bucket-dialog">
    <div class="pad-bottom-md" fxLayout="row" fxLayoutAlign="space-between center">
        <span class="md-card-title">Edit Policy</span>
        <button mat-icon-button (click)="cancel()">
            <mat-icon color="primary">close</mat-icon>
        </button>
    </div>
    <div flex fxLayoutAlign="start center" class="pad-bottom-md">
        <mat-input-container flex>
            <input disabled value="{{userOrGroup.identity}}" #userOrGroupInput matInput placeholder="For This User/Group">
        </mat-input-container>
    </div>
    <div flex fxLayout="row" fxLayoutAlign="start center" class="pad-bottom-md">
        <mat-checkbox [(checked)]="readCheckbox.checked && writeCheckbox.checked && deleteCheckbox.checked" (change)="toggleAllPermissions($event)">
            <span class="description">All</span>
        </mat-checkbox>
        <mat-checkbox [(checked)]="readCheckbox.checked" #readCheckbox class="pad-left-md">
            <span class="description">Read</span>
        </mat-checkbox>
        <mat-checkbox [(checked)]="writeCheckbox.checked" #writeCheckbox class="pad-left-md">
            <span class="description">Write</span>
        </mat-checkbox>
        <mat-checkbox [(checked)]="deleteCheckbox.checked" #deleteCheckbox class="pad-left-md">
            <span class="description">Delete</span>
        </mat-checkbox>
    </div>
    <div fxLayout="row">
        <span fxFlex></span>
        <button (click)="cancel()" color="fds-regular" mat-raised-button
                i18n="Cancel creation of new bucket policy|A button for cancelling the creation of a new bucket policy in the registry.@@nf-admin-workflow-cancel-bucket-policy-creation-button">
            Cancel
        </button>
        <button [disabled]="userOrGroupInput.value && !readCheckbox.checked && !writeCheckbox.checked && !deleteCheckbox.checked" class="push-left-sm" (click)="applyPolicy()" color="fds-primary" mat-raised-button
                i18n="Apply new bucket policy button|A button for applying a new bucket policy in the registry.@@nf-admin-workflow-apply-policy-to-bucket-button">
            Apply
        </button>
    </div>
</div>