Use ng-metadata as a Backport of Angular 2+ API (#2486)
* starting UtilService refactor * pre find-replace angular.module('quay') => angular.module('QuayModule') * successfully switched to ng-metadata for backported Angular2 API * working with parent component reference in child * fixing @Output to use EventEmitter * fixed @Output events for custom git trigger * more fixes * refactored QuayPages module for backwards-compatibility * reinitialized test.db * use minified libraries * replaced references for angular-ts-decorators * fixed ng-show
This commit is contained in:
parent
6352b3cac5
commit
7a352ddfbc
43 changed files with 642 additions and 551 deletions
|
@ -1,4 +1,4 @@
|
|||
import { Input, Output, Component } from 'angular-ts-decorators';
|
||||
import { Input, Output, Component, Inject, EventEmitter, OnInit } from 'ng-metadata/core';
|
||||
import * as moment from 'moment';
|
||||
|
||||
|
||||
|
@ -6,15 +6,15 @@ import * as moment from 'moment';
|
|||
* A component that lets the user set up a build trigger for a public Git repository host service.
|
||||
*/
|
||||
@Component({
|
||||
selector: 'manageTriggerGithost',
|
||||
selector: 'manage-trigger-githost',
|
||||
templateUrl: '/static/js/directives/ui/manage-trigger-githost/manage-trigger-githost.component.html'
|
||||
})
|
||||
export class ManageTriggerGithostComponent implements ng.IComponentController {
|
||||
export class ManageTriggerGithostComponent implements OnInit {
|
||||
|
||||
// FIXME: Use one-way data binding
|
||||
@Input('=') public repository: any;
|
||||
@Input('=') public trigger: Trigger;
|
||||
@Output() public activateTrigger: (trigger: {config: any, pull_robot: any}) => void;
|
||||
@Output() public activateTrigger: EventEmitter<{config: any, pull_robot?: any}> = new EventEmitter();
|
||||
private config: any;
|
||||
private local: any = {
|
||||
namespaceOptions: {
|
||||
|
@ -44,11 +44,11 @@ export class ManageTriggerGithostComponent implements ng.IComponentController {
|
|||
private namespaceTitle: string;
|
||||
private namespace: any;
|
||||
|
||||
constructor(private ApiService: any,
|
||||
private TableService: any,
|
||||
private TriggerService: any,
|
||||
private RolesService: any,
|
||||
private $scope: ng.IScope) {
|
||||
constructor(@Inject('ApiService') private ApiService: any,
|
||||
@Inject('TableService') private TableService: any,
|
||||
@Inject('TriggerService') private TriggerService: any,
|
||||
@Inject('RolesService') private RolesService: any,
|
||||
@Inject('$scope') private $scope: ng.IScope) {
|
||||
// FIXME: Here binding methods to class context in order to pass them as arguments to $scope.$watch
|
||||
this.buildOrderedNamespaces = this.buildOrderedNamespaces.bind(this);
|
||||
this.loadNamespaces = this.loadNamespaces.bind(this);
|
||||
|
@ -60,7 +60,7 @@ export class ManageTriggerGithostComponent implements ng.IComponentController {
|
|||
this.checkDockerfilePath = this.checkDockerfilePath.bind(this);
|
||||
}
|
||||
|
||||
public $onInit(): void {
|
||||
public ngOnInit(): void {
|
||||
// TODO: Replace $scope.$watch with @Output methods for child component mutations or $onChanges for parent mutations
|
||||
this.$scope.$watch(() => this.trigger, this.initialSetup.bind(this));
|
||||
this.$scope.$watch(() => this.repository, this.initialSetup.bind(this));
|
||||
|
@ -134,7 +134,7 @@ export class ManageTriggerGithostComponent implements ng.IComponentController {
|
|||
}
|
||||
|
||||
var activate = () => {
|
||||
this.activateTrigger({'config': config, 'pull_robot': this.local.robotAccount});
|
||||
this.activateTrigger.emit({config: config, pull_robot: this.local.robotAccount});
|
||||
};
|
||||
|
||||
if (this.local.robotAccount && this.local.triggerAnalysis.status == 'requiresrobot') {
|
||||
|
|
Reference in a new issue