@harbor/ui
Version:
Harbor shared UI components based on Clarity and Angular6
77 lines (76 loc) • 7.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, ViewChild } from "@angular/core";
import { CopyInputComponent } from "./copy-input.component";
import { InlineAlertComponent } from "../inline-alert/inline-alert.component";
export class PushImageButtonComponent {
constructor() {
this.registryUrl = "unknown";
this.projectName = "unknown";
}
/**
* @return {?}
*/
get tagCommand() {
return `docker tag SOURCE_IMAGE[:TAG] ${this.registryUrl}/${this.projectName}/IMAGE[:TAG]`;
}
/**
* @return {?}
*/
get pushCommand() {
return `docker push ${this.registryUrl}/${this.projectName}/IMAGE[:TAG]`;
}
/**
* @return {?}
*/
onclick() {
if (this.tagCopyInput) {
this.tagCopyInput.reset();
}
if (this.pushCopyInput) {
this.pushCopyInput.reset();
}
if (this.copyAlert) {
this.copyAlert.close();
}
}
/**
* @param {?} $event
* @return {?}
*/
onCpError($event) {
if (this.copyAlert) {
this.copyAlert.showInlineError("PUSH_IMAGE.COPY_ERROR");
}
}
}
PushImageButtonComponent.decorators = [
{ type: Component, args: [{
selector: "hbr-push-image-button",
template: "<div>\n <clr-dropdown>\n <button class=\"btn btn-link btn-font\" clrDropdownToggle (click)=\"onclick()\">\n {{ 'PUSH_IMAGE.TITLE' | translate | uppercase}}\n <clr-icon shape=\"caret down\"></clr-icon>\n </button>\n <clr-dropdown-menu *clrIfOpen [clrPosition]=\"'bottom-right'\" style=\"min-width:500px;\">\n <div class=\"commands-container\">\n <section>\n <span><h5 class=\"h5-override\">{{ 'PUSH_IMAGE.TITLE' | translate }}</h5></span>\n <span>\n <clr-tooltip>\n <clr-icon clrTooltipTrigger shape=\"info-circle\" class=\"info-tips-icon\" size=\"24\"></clr-icon>\n <clr-tooltip-content [clrPosition]=\"'top-right'\" [clrSize]=\"'md'\" *clrIfOpen>\n {{ 'PUSH_IMAGE.TOOLTIP' | translate }}\n </clr-tooltip-content>\n </clr-tooltip>\n </span>\n </section>\n <section>\n <hbr-inline-alert #copyAlert></hbr-inline-alert>\n </section>\n <section>\n <article class=\"commands-section\">\n <hbr-copy-input #tagCopy (onCopyError)=\"onCpError($event)\" inputSize=\"50\" headerTitle=\"{{ 'PUSH_IMAGE.TAG_COMMAND' | translate }}\" defaultValue=\"{{tagCommand}}\"></hbr-copy-input>\n </article>\n <article class=\"commands-section\">\n <hbr-copy-input #pushCopy (onCopyError)=\"onCpError($event)\" inputSize=\"50\" headerTitle=\"{{ 'PUSH_IMAGE.PUSH_COMMAND' | translate }}\" defaultValue=\"{{pushCommand}}\"></hbr-copy-input>\n </article>\n </section>\n </div>\n </clr-dropdown-menu>\n </clr-dropdown>\n</div>",
providers: [],
styles: [".commands-container{min-width:360px;max-width:720px;padding-left:24px}.h5-override{display:inline-block!important;margin-top:0!important;margin-bottom:12px}.commands-section{margin-top:12px;margin-bottom:24px}.info-tips-icon{color:grey}.info-tips-icon:hover{color:#007cbb;cursor:pointer}.command-title{font-size:14px;padding-left:6px}.command-input{font-size:14px;font-weight:500}:host>>>.dropdown-menu{min-width:360px;max-width:720px}.btn-font{font-size:14px!important}.hide{display:none}"]
}] }
];
PushImageButtonComponent.propDecorators = {
registryUrl: [{ type: Input }],
projectName: [{ type: Input }],
tagCopyInput: [{ type: ViewChild, args: ["tagCopy",] }],
pushCopyInput: [{ type: ViewChild, args: ["pushCopy",] }],
copyAlert: [{ type: ViewChild, args: ["copyAlert",] }]
};
if (false) {
/** @type {?} */
PushImageButtonComponent.prototype.registryUrl;
/** @type {?} */
PushImageButtonComponent.prototype.projectName;
/** @type {?} */
PushImageButtonComponent.prototype.tagCopyInput;
/** @type {?} */
PushImageButtonComponent.prototype.pushCopyInput;
/** @type {?} */
PushImageButtonComponent.prototype.copyAlert;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaGFyYm9yL3VpLyIsInNvdXJjZXMiOlsic3JjL3B1c2gtaW1hZ2UvcHVzaC1pbWFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQVM5RSxNQUFNOzsyQkFDMkIsU0FBUzsyQkFDVCxTQUFTOzs7OztRQU03QixVQUFVO1FBQ25CLE9BQU8saUNBQWlDLElBQUksQ0FBQyxXQUFXLElBQ3RELElBQUksQ0FBQyxXQUNQLGNBQWMsQ0FBQzs7Ozs7UUFHTixXQUFXO1FBQ3BCLE9BQU8sZUFBZSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLGNBQWMsQ0FBQzs7Ozs7SUFHM0UsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtLQUNGOzs7OztJQUVELFNBQVMsQ0FBQyxNQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3pEO0tBQ0Y7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsdzNEQUEwQztnQkFHMUMsU0FBUyxFQUFFLEVBQUU7O2FBQ2Q7OzswQkFFRSxLQUFLOzBCQUNMLEtBQUs7MkJBRUwsU0FBUyxTQUFDLFNBQVM7NEJBQ25CLFNBQVMsU0FBQyxVQUFVO3dCQUNwQixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb3B5SW5wdXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb3B5LWlucHV0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSW5saW5lQWxlcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vaW5saW5lLWFsZXJ0L2lubGluZS1hbGVydC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImhici1wdXNoLWltYWdlLWJ1dHRvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3B1c2gtaW1hZ2UuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3B1c2gtaW1hZ2Uuc2Nzc1wiXSxcblxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFB1c2hJbWFnZUJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJlZ2lzdHJ5VXJsOiBzdHJpbmcgPSBcInVua25vd25cIjtcbiAgQElucHV0KCkgcHJvamVjdE5hbWU6IHN0cmluZyA9IFwidW5rbm93blwiO1xuXG4gIEBWaWV3Q2hpbGQoXCJ0YWdDb3B5XCIpIHRhZ0NvcHlJbnB1dDogQ29weUlucHV0Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKFwicHVzaENvcHlcIikgcHVzaENvcHlJbnB1dDogQ29weUlucHV0Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKFwiY29weUFsZXJ0XCIpIGNvcHlBbGVydDogSW5saW5lQWxlcnRDb21wb25lbnQ7XG5cbiAgcHVibGljIGdldCB0YWdDb21tYW5kKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBkb2NrZXIgdGFnIFNPVVJDRV9JTUFHRVs6VEFHXSAke3RoaXMucmVnaXN0cnlVcmx9LyR7XG4gICAgICB0aGlzLnByb2plY3ROYW1lXG4gICAgfS9JTUFHRVs6VEFHXWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHB1c2hDb21tYW5kKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBkb2NrZXIgcHVzaCAke3RoaXMucmVnaXN0cnlVcmx9LyR7dGhpcy5wcm9qZWN0TmFtZX0vSU1BR0VbOlRBR11gO1xuICB9XG5cbiAgb25jbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YWdDb3B5SW5wdXQpIHtcbiAgICAgIHRoaXMudGFnQ29weUlucHV0LnJlc2V0KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHVzaENvcHlJbnB1dCkge1xuICAgICAgdGhpcy5wdXNoQ29weUlucHV0LnJlc2V0KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29weUFsZXJ0KSB7XG4gICAgICB0aGlzLmNvcHlBbGVydC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ3BFcnJvcigkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvcHlBbGVydCkge1xuICAgICAgdGhpcy5jb3B5QWxlcnQuc2hvd0lubGluZUVycm9yKFwiUFVTSF9JTUFHRS5DT1BZX0VSUk9SXCIpO1xuICAgIH1cbiAgfVxufVxuIl19