mirror of
https://github.com/goharbor/harbor.git
synced 2025-02-09 00:12:03 +01:00
fix_bug
Signed-off-by: Yogi_Wang <wang1084@126.com>
This commit is contained in:
parent
80af81154c
commit
27c180bf20
@ -69,7 +69,7 @@
|
|||||||
<span class="tooltip-content">{{'TOOLTIP.EMPTY' | translate}}</span>
|
<span class="tooltip-content">{{'TOOLTIP.EMPTY' | translate}}</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="arrowSet" [hidden]="!(filterListData[i]?.name=='label')" (click)="openLabelList(selectedValue.value, i, $event)">
|
<div class="arrowSet" [hidden]="!(filterListData[i]?.name=='label')" (click)="openLabelList(selectedValue.value, i, $event)">
|
||||||
<clr-icon shape="angle"></clr-icon>
|
<clr-icon shape="angle" ></clr-icon>
|
||||||
</div>
|
</div>
|
||||||
<clr-icon shape="warning-standard" class="is-solid is-warning warning-icon" size="14" [hidden]="!deletedLabelCount || !(filterListData[i]?.name=='label')"></clr-icon>
|
<clr-icon shape="warning-standard" class="is-solid is-warning warning-icon" size="14" [hidden]="!deletedLabelCount || !(filterListData[i]?.name=='label')"></clr-icon>
|
||||||
<clr-icon shape="times-circle" class="is-solid" (click)="deleteFilter(i)"></clr-icon>
|
<clr-icon shape="times-circle" class="is-solid" (click)="deleteFilter(i)"></clr-icon>
|
||||||
@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<clr-icon shape="plus-circle" class="is-solid plus-position" [hidden]="isFilterHide" (click)="addNewFilter()"></clr-icon>
|
<clr-icon id="add-label-list" shape="plus-circle" class="is-solid plus-position" [hidden]="isFilterHide" (click)="addNewFilter()"></clr-icon>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!--Targets-->
|
<!--Targets-->
|
||||||
|
@ -14,18 +14,22 @@
|
|||||||
<span class="spinner spinner-inline" [hidden]="inProgress === false"></span>
|
<span class="spinner spinner-inline" [hidden]="inProgress === false"></span>
|
||||||
<ul id="configTabs" class="nav" role="tablist">
|
<ul id="configTabs" class="nav" role="tablist">
|
||||||
<li role="presentation" class="nav-item">
|
<li role="presentation" class="nav-item">
|
||||||
<button id="repo-info" class="btn btn-link nav-link" aria-controls="info" [class.active]='isCurrentTabLink("repo-info")' type="button" (click)='tabLinkClick("repo-info")'>{{'REPOSITORY.INFO' | translate}}</button>
|
<button id="repo-info" class="btn btn-link nav-link" aria-controls="info" [class.active]='isCurrentTabLink("repo-info")'
|
||||||
|
type="button" (click)='tabLinkClick("repo-info")'>{{'REPOSITORY.INFO' | translate}}</button>
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation" class="nav-item">
|
<li role="presentation" class="nav-item">
|
||||||
<button id="repo-image" class="btn btn-link nav-link active" aria-controls="image" [class.active]='isCurrentTabLink("repo-image")' type="button" (click)='tabLinkClick("repo-image")'>{{'REPOSITORY.IMAGE' | translate}}</button>
|
<button id="repo-image" class="btn btn-link nav-link active" aria-controls="image" [class.active]='isCurrentTabLink("repo-image")'
|
||||||
|
type="button" (click)='tabLinkClick("repo-image")'>{{'REPOSITORY.IMAGE' | translate}}</button>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<section id="info" role="tabpanel" aria-labelledby="repo-info" [hidden]='!isCurrentTabContent("info")'>
|
<section id="info" role="tabpanel" aria-labelledby="repo-info" [hidden]='!isCurrentTabContent("info")'>
|
||||||
<form #repoInfoForm="ngForm">
|
<form #repoInfoForm="ngForm">
|
||||||
<div id="info-edit-button">
|
<div id="info-edit-button">
|
||||||
<button class="btn btn-sm" [disabled]="editing || !hasProjectAdminRole " (click)="editInfo()" ><clr-icon shape="pencil" size="16"></clr-icon> {{'BUTTON.EDIT' | translate}}</button>
|
<button class="btn btn-sm" [disabled]="editing || !hasProjectAdminRole " (click)="editInfo()">
|
||||||
|
<clr-icon shape="pencil" size="16"></clr-icon> {{'BUTTON.EDIT' | translate}}
|
||||||
|
</button>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 1024" preserveAspectRatio="xMinYMin" class="markdown">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 1024" preserveAspectRatio="xMinYMin" class="markdown">
|
||||||
<path d="M950.154 192H73.846C33.127 192 0 225.12699999999995 0 265.846v492.308C0 798.875 33.127 832 73.846 832h876.308c40.721 0 73.846-33.125 73.846-73.846V265.846C1024 225.12699999999995 990.875 192 950.154 192zM576 703.875L448 704V512l-96 123.077L256 512v192H128V320h128l96 128 96-128 128-0.125V703.875zM767.091 735.875L608 512h96V320h128v192h96L767.091 735.875z"/>
|
<path d="M950.154 192H73.846C33.127 192 0 225.12699999999995 0 265.846v492.308C0 798.875 33.127 832 73.846 832h876.308c40.721 0 73.846-33.125 73.846-73.846V265.846C1024 225.12699999999995 990.875 192 950.154 192zM576 703.875L448 704V512l-96 123.077L256 512v192H128V320h128l96 128 96-128 128-0.125V703.875zM767.091 735.875L608 512h96V320h128v192h96L767.091 735.875z" />
|
||||||
</svg>
|
</svg>
|
||||||
<span>{{ 'REPOSITORY.MARKDOWN' | translate }}</span>
|
<span>{{ 'REPOSITORY.MARKDOWN' | translate }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -41,17 +45,17 @@
|
|||||||
<textarea rows="5" name="info-edit-textarea" [(ngModel)]="imageInfo"></textarea>
|
<textarea rows="5" name="info-edit-textarea" [(ngModel)]="imageInfo"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-sm" *ngIf="editing">
|
<div class="btn-sm" *ngIf="editing">
|
||||||
<button class="btn btn-primary" [disabled]="!hasChanges()" (click)="saveInfo()" >{{'BUTTON.SAVE' | translate}}</button>
|
<button class="btn btn-primary" [disabled]="!hasChanges()" (click)="saveInfo()">{{'BUTTON.SAVE' | translate}}</button>
|
||||||
<button class="btn" (click)="cancelInfo()" >{{'BUTTON.CANCEL' | translate}}</button>
|
<button class="btn" (click)="cancelInfo()">{{'BUTTON.CANCEL' | translate}}</button>
|
||||||
</div>
|
</div>
|
||||||
<confirmation-dialog #confirmationDialog (confirmAction)="confirmCancel($event)"></confirmation-dialog>
|
<confirmation-dialog #confirmationDialog (confirmAction)="confirmCancel($event)"></confirmation-dialog>
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
<section id="image" role="tabpanel" aria-labelledby="repo-image" [hidden]='!isCurrentTabContent("image")'>
|
<section id="image" role="tabpanel" aria-labelledby="repo-image" [hidden]='!isCurrentTabContent("image")'>
|
||||||
<div id=images-container>
|
<div id=images-container>
|
||||||
<hbr-tag ngProjectAs="clr-dg-row-detail" (tagClickEvent)="watchTagClickEvt($event)" (signatureOutput)="saveSignatures($event)" class="sub-grid-custom"
|
<hbr-tag ngProjectAs="clr-dg-row-detail" (tagClickEvent)="watchTagClickEvt($event)" (signatureOutput)="saveSignatures($event)"
|
||||||
[repoName]="repoName" [registryUrl]="registryUrl" [withNotary]="withNotary" [withClair]="withClair"
|
class="sub-grid-custom" [repoName]="repoName" [registryUrl]="registryUrl" [withNotary]="withNotary"
|
||||||
[withAdmiral]="withAdmiral" [hasSignedIn]="hasSignedIn" [hasProjectAdminRole]="hasProjectAdminRole"
|
[withClair]="withClair" [withAdmiral]="withAdmiral" [hasSignedIn]="hasSignedIn" [hasProjectAdminRole]="hasProjectAdminRole"
|
||||||
[isGuest]="isGuest" [projectId]="projectId" [memberRoleID]="memberRoleID"></hbr-tag>
|
[isGuest]="isGuest" [projectId]="projectId" [memberRoleID]="memberRoleID"></hbr-tag>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
@ -260,3 +260,8 @@ hbr-image-name-input {
|
|||||||
.color-gray {
|
.color-gray {
|
||||||
color: #565656;
|
color: #565656;
|
||||||
}
|
}
|
||||||
|
clr-datagrid {
|
||||||
|
::ng-deep .datagrid-table {
|
||||||
|
position: static;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-header-wrapper {
|
.grid-header-wrapper {
|
||||||
|
@ -58,11 +58,11 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="selfReg">{{'CONFIG.MAIL_SSL' | translate}}</label>
|
<label for="selfReg">{{'CONFIG.MAIL_SSL' | translate}}</label>
|
||||||
<!--for = selfReg?-->
|
<!--for = selfReg?-->
|
||||||
<clr-checkbox-wrapper>
|
<clr-checkbox-wrapper id="emailSSL-wrapper">
|
||||||
<input type="checkbox" clrCheckbox name="emailSSL" id="emailSSL" [(ngModel)]="currentConfig.email_ssl.value"
|
<input type="checkbox" clrCheckbox name="emailSSL" id="emailSSL" [(ngModel)]="currentConfig.email_ssl.value"
|
||||||
[disabled]="disabled(currentConfig.email_ssl)" />
|
[disabled]="disabled(currentConfig.email_ssl)" />
|
||||||
<label>
|
<label>
|
||||||
<a href="javascript:void(0)" role="tooltip" aria-haspopup="true" class="tooltip tooltip-top-right top-7">
|
<a role="tooltip" aria-haspopup="true" class="tooltip tooltip-top-right top-7">
|
||||||
<clr-icon shape="info-circle" class="info-tips-icon" size="24"></clr-icon>
|
<clr-icon shape="info-circle" class="info-tips-icon" size="24"></clr-icon>
|
||||||
<span class="tooltip-content">{{'CONFIG.SSL_TOOLTIP' | translate}}</span>
|
<span class="tooltip-content">{{'CONFIG.SSL_TOOLTIP' | translate}}</span>
|
||||||
</a>
|
</a>
|
||||||
@ -71,11 +71,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="insecure">{{'CONFIG.MAIL_INSECURE' | translate}}</label>
|
<label for="insecure">{{'CONFIG.MAIL_INSECURE' | translate}}</label>
|
||||||
<clr-checkbox-wrapper>
|
<clr-checkbox-wrapper id="emailInsecure-wrapper">
|
||||||
<input type="checkbox" clrCheckbox name="emaiInsecure" id="emailInsecure" [ngModel]="!currentConfig.email_insecure.value"
|
<input type="checkbox" clrCheckbox name="emaiInsecure" id="emailInsecure" [ngModel]="!currentConfig.email_insecure.value"
|
||||||
[disabled]="disabled(currentConfig.email_insecure)" (ngModelChange)="setInsecureValue($event)" />
|
[disabled]="disabled(currentConfig.email_insecure)" (ngModelChange)="setInsecureValue($event)" />
|
||||||
<label>
|
<label>
|
||||||
<a href="javascript:void(0)" role="tooltip" aria-haspopup="true" class="tooltip tooltip-top-right top-7">
|
<a role="tooltip" aria-haspopup="true" class="tooltip tooltip-top-right top-7">
|
||||||
<clr-icon shape="info-circle" class="info-tips-icon" size="24"></clr-icon>
|
<clr-icon shape="info-circle" class="info-tips-icon" size="24"></clr-icon>
|
||||||
<span class="tooltip-content">{{'CONFIG.INSECURE_TOOLTIP' | translate}}</span>
|
<span class="tooltip-content">{{'CONFIG.INSECURE_TOOLTIP' | translate}}</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -191,11 +191,9 @@ Config Email
|
|||||||
Input Text xpath=//*[@id="emailPassword"] example
|
Input Text xpath=//*[@id="emailPassword"] example
|
||||||
Input Text xpath=//*[@id="emailFrom"] example<example@vmware.com>
|
Input Text xpath=//*[@id="emailFrom"] example<example@vmware.com>
|
||||||
Sleep 1
|
Sleep 1
|
||||||
Mouse Down xpath=//*[@id="emailSSL"]
|
Click Element xpath=//clr-checkbox-wrapper[@id="emailSSL-wrapper"]//label
|
||||||
Mouse Up xpath=//*[@id="emailSSL"]
|
|
||||||
Sleep 1
|
Sleep 1
|
||||||
Mouse Down xpath=//*[@id="emailInsecure"]
|
Click Element xpath=//clr-checkbox-wrapper[@id="emailInsecure-wrapper"]//label
|
||||||
Mouse Up xpath=//*[@id="emailInsecure"]
|
|
||||||
Sleep 1
|
Sleep 1
|
||||||
Click Element xpath=${config_email_save_button_xpath}
|
Click Element xpath=${config_email_save_button_xpath}
|
||||||
Sleep 6
|
Sleep 6
|
||||||
|
@ -34,7 +34,7 @@ ${link_to_registries} //clr-modal//span[contains(.,'Endpoint')]
|
|||||||
${new_endpoint_button} //hbr-endpoint//button[contains(.,'New')]
|
${new_endpoint_button} //hbr-endpoint//button[contains(.,'New')]
|
||||||
${rule_name} //input[@id='ruleName']
|
${rule_name} //input[@id='ruleName']
|
||||||
${source_project} //input[@value='name']
|
${source_project} //input[@value='name']
|
||||||
${source_image_filter_add} //hbr-create-edit-rule/clr-modal/div/div[1]/div/div[1]/div/div[2]/form/section/div[4]/clr-icon
|
${source_image_filter_add} //hbr-create-edit-rule/clr-modal//clr-icon[@id="add-label-list"]
|
||||||
${source_iamge_repo_filter} //hbr-create-edit-rule//section/div[4]/div/div[1]/div/label/input
|
${source_iamge_repo_filter} //hbr-create-edit-rule//section/div[4]/div/div[1]/div/label/input
|
||||||
${source_image_tag_filter} //hbr-create-edit-rule//section/div[4]/div/div[2]/div/label/input
|
${source_image_tag_filter} //hbr-create-edit-rule//section/div[4]/div/div[2]/div/label/input
|
||||||
${rule_target_select} //select[@id='ruleTarget']
|
${rule_target_select} //select[@id='ruleTarget']
|
||||||
@ -42,7 +42,7 @@ ${rule_trigger_select} //select[@id="ruleTrigger"]
|
|||||||
${schedule_type_select} //select[@name="scheduleType"]
|
${schedule_type_select} //select[@name="scheduleType"]
|
||||||
${schedule_day_select} //select[@name="scheduleDay"]
|
${schedule_day_select} //select[@name="scheduleDay"]
|
||||||
${shcedule_time} //input[@type="time"]
|
${shcedule_time} //input[@type="time"]
|
||||||
${destination_insecure_checkbox} //hbr-create-edit-endpoint/clr-modal//input[@id="clr-checkbox-destination_insecure"]
|
${destination_insecure_checkbox} //hbr-create-edit-endpoint/clr-modal//input[@id="destination_insecure"]
|
||||||
${ping_test_button} //button[contains(.,'Test')]
|
${ping_test_button} //button[contains(.,'Test')]
|
||||||
${nav_to_registries} //clr-vertical-nav//span[contains(.,'Registries')]
|
${nav_to_registries} //clr-vertical-nav//span[contains(.,'Registries')]
|
||||||
${nav_to_replications} //clr-vertical-nav//span[contains(.,'Replications')]
|
${nav_to_replications} //clr-vertical-nav//span[contains(.,'Replications')]
|
||||||
|
@ -136,8 +136,8 @@ Verify Project Setting
|
|||||||
\ Run Keyword If ${contenttrust} == "false" Checkbox Should Not Be Checked //clr-checkbox-wrapper[@name='content-trust']//label
|
\ Run Keyword If ${contenttrust} == "false" Checkbox Should Not Be Checked //clr-checkbox-wrapper[@name='content-trust']//label
|
||||||
\ Run Keyword If ${preventrunning} == "true" Checkbox Should Be Checked //div[@id='prevent-vulenrability-image']//clr-checkbox-wrapper//label
|
\ Run Keyword If ${preventrunning} == "true" Checkbox Should Be Checked //div[@id='prevent-vulenrability-image']//clr-checkbox-wrapper//label
|
||||||
\ Run Keyword If ${preventrunning} == "false" Checkbox Should Not Be Checked //div[@id='prevent-vulenrability-image']//clr-checkbox-wrapper//label
|
\ Run Keyword If ${preventrunning} == "false" Checkbox Should Not Be Checked //div[@id='prevent-vulenrability-image']//clr-checkbox-wrapper//label
|
||||||
\ Run Keyword If ${scanonpush} == "true" Checkbox Should Be Checked //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//label
|
\ Run Keyword If ${scanonpush} == "true" Checkbox Should Be Checked //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//input
|
||||||
\ Run Keyword If ${scanonpush} == "true" Checkbox Should Not Be Checked //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//label
|
\ Run Keyword If ${scanonpush} == "true" Checkbox Should Not Be Checked //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//input
|
||||||
\ Close Browser
|
\ Close Browser
|
||||||
|
|
||||||
Verify System Setting
|
Verify System Setting
|
||||||
|
Loading…
Reference in New Issue
Block a user