Skip to content

Commit

Permalink
fix(core): fix jumping cursor in trigger inputs (#7486)
Browse files Browse the repository at this point in the history
  • Loading branch information
maggieneterval committed Oct 10, 2019
1 parent 36192ab commit 8529faf
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 18 deletions.
27 changes: 12 additions & 15 deletions app/scripts/modules/core/src/pipeline/config/pipelineConfigurer.js
Original file line number Diff line number Diff line change
Expand Up @@ -537,23 +537,20 @@ module.exports = angular

//update pipeline through a callback for React
this.updatePipelineConfig = changes => {
$scope.$applyAsync(() => {
$scope.pipeline = Object.assign(
{},
$scope.pipeline,
$scope.isV2TemplatedPipeline
? PipelineTemplateV2Service.filterInheritedConfig(Object.assign({}, changes))
: changes,
);
$scope.pipeline = Object.assign(
$scope.pipeline,
$scope.isV2TemplatedPipeline
? PipelineTemplateV2Service.filterInheritedConfig(Object.assign({}, changes))
: changes,
);

if ($scope.isV2TemplatedPipeline) {
$scope.renderablePipeline = Object.assign({}, $scope.renderablePipeline, changes);
} else if (!$scope.isTemplatedPipeline) {
$scope.renderablePipeline = $scope.pipeline;
}
if ($scope.isV2TemplatedPipeline) {
$scope.renderablePipeline = Object.assign($scope.renderablePipeline, changes);
} else if (!$scope.isTemplatedPipeline) {
$scope.renderablePipeline = $scope.pipeline;
}

markDirty();
});
markDirty();
};
},
]);
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import * as React from 'react';

import { IPipeline } from 'core/domain';
import { ITriggersProps, Triggers } from 'core/pipeline';

export class TriggersWrapper extends React.Component<ITriggersProps> {
private updatePipelineConfig = (changes: Partial<IPipeline>): void => {
this.props.updatePipelineConfig(changes);
this.forceUpdate();
};

public render() {
return <Triggers {...this.props} updatePipelineConfig={this.updatePipelineConfig} />;
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { module } from 'angular';
import { react2angular } from 'react2angular';

import { Triggers } from './Triggers';
import { TriggersWrapper } from './TriggersWrapper';
import { ARTIFACT_MODULE } from './artifacts/artifact.module';

export const TRIGGERS = 'spinnaker.core.pipeline.config.trigger.triggersDirective';
module(TRIGGERS, [ARTIFACT_MODULE]).component(
'triggers',
react2angular(Triggers, ['application', 'pipeline', 'fieldUpdated', 'updatePipelineConfig', 'viewState']),
react2angular(TriggersWrapper, ['application', 'pipeline', 'fieldUpdated', 'updatePipelineConfig', 'viewState']),
);
1 change: 1 addition & 0 deletions app/scripts/modules/core/src/pipeline/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export * from './config/stages/templates';
export * from './config/templates';
export * from './config/triggers/baseBuild/BaseBuildTriggerTemplate';
export * from './config/triggers/RunAsUser';
export * from './config/triggers/Triggers';
export * from './config/validation/PipelineConfigValidator';
export * from './create';
export * from './details';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ export class ManualExecutionModal extends React.Component<IManualExecutionModalP
const triggers = this.formatTriggers(pipeline && pipeline.triggers ? pipeline.triggers : []);
let trigger: ITrigger;
if (this.props.trigger) {
// Certain fields like correlationId will cause unexepected behavior if used to trigger
// Certain fields like correlationId will cause unexpected behavior if used to trigger
// a different execution, others are just left unused. Let's exclude them.
trigger = pickBy(this.props.trigger, (_, key) => !TRIGGER_FIELDS_TO_EXCLUDE.includes(key));

Expand Down

0 comments on commit 8529faf

Please sign in to comment.