Mathijs den Burger pushed to branch feature/visual-editing-psp1-CHANNELMGR-896 at cms-community / hippo-addon-channel-manager
Commits: ab6cbdf3 by Mathijs den Burger at 2016-10-11T09:56:46+02:00 CHANNELMGR-896 Unhighlight label when field blurs - - - - - 3 changed files: - frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.component.js - frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.html - frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.spec.js Changes: ===================================== frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.component.js ===================================== --- a/frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.component.js +++ b/frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.component.js @@ -79,11 +79,15 @@ export class ChannelRightSidePanelCtrl { return angular.isArray(field) ? field : [field]; } - onFocus(field) { + onFieldFocus(field) { this.focusedFieldId = field.id; } - isFocused(field) { + onFieldBlur() { + this.focusedFieldId = null; + } + + isFieldFocused(field) { return this.focusedFieldId === field.id; } ===================================== frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.html ===================================== --- a/frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.html +++ b/frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.html @@ -26,7 +26,7 @@ <md-content flex="grow" layout-padding> <form class="form-dense-layout" layout="column" ng-if="$ctrl.doc"> <div ng-repeat="field in ::$ctrl.docType.fields" - ng-class="{'form-field-focused': $ctrl.isFocused(field) }"> + ng-class="{'form-field-focused': $ctrl.isFieldFocused(field) }"> <!-- edge case: a multiple field with zero values --> <md-input-container ng-if="::$ctrl.isEmptyMultiple(field)" @@ -50,12 +50,14 @@ <input ng-switch-when="STRING" ng-model="value" placeholder="" - ng-focus="$ctrl.onFocus(field)"> + ng-focus="$ctrl.onFieldFocus(field)" + ng-blur="$ctrl.onFieldBlur()"> <textarea ng-switch-when="MULTILINE_STRING" ng-model="value" placeholder="" md-no-resize - ng-focus="$ctrl.onFocus(field)"> + ng-focus="$ctrl.onFieldFocus(field)" + ng-blur="$ctrl.onFieldBlur()"> </textarea> <!-- TODO: remove once all field types for PSP1 have been implemented --> ===================================== frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.spec.js ===================================== --- a/frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.spec.js +++ b/frontend-ng/src/angularjs/channel/sidePanels/rightSidePanel/rightSidePanel.spec.js @@ -143,14 +143,17 @@ describe('ChannelRightSidePanel', () => { }); it('keeps track of the focused field', () => { - expect($ctrl.isFocused(stringField)).toBe(false); + expect($ctrl.isFieldFocused(stringField)).toBe(false); - $ctrl.onFocus(stringField); - expect($ctrl.isFocused(stringField)).toBe(true); + $ctrl.onFieldFocus(stringField); + expect($ctrl.isFieldFocused(stringField)).toBe(true); - $ctrl.onFocus(multipleStringField); - expect($ctrl.isFocused(stringField)).toBe(false); - expect($ctrl.isFocused(multipleStringField)).toBe(true); + $ctrl.onFieldFocus(multipleStringField); + expect($ctrl.isFieldFocused(stringField)).toBe(false); + expect($ctrl.isFieldFocused(multipleStringField)).toBe(true); + + $ctrl.onFieldBlur(); + expect($ctrl.isFieldFocused(multipleStringField)).toBe(false); }); }); View it on GitLab: https://code.onehippo.org/cms-community/hippo-addon-channel-manager/commit/ab6cbdf385483ac4e442190eea05327c9aea4161
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn