mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
refactor(widgets): remove input[button, submit, reset, image] and button windgets
These widgets are useless and only trigger extra $updateViews. The only reason we had them was to support ng:change on these widgets, but since there are no bindings present in these cases it doesn't make sense to support ng:change here. It's likely just a leftover from getangular.com Breaking change: ng:change for input[button], input[submit], input[reset], input[image] and button widgets is not supported any more
This commit is contained in:
parent
ee8e981c47
commit
714759100c
2 changed files with 1 additions and 26 deletions
|
|
@ -447,16 +447,11 @@ function noopAccessor() { return { get: noop, set: noop }; }
|
|||
*
|
||||
*/
|
||||
var textWidget = inputWidget('keydown change', modelAccessor, valueAccessor, initWidgetValue(), true),
|
||||
buttonWidget = inputWidget('click', noopAccessor, noopAccessor, noop),
|
||||
INPUT_TYPE = {
|
||||
'text': textWidget,
|
||||
'textarea': textWidget,
|
||||
'hidden': textWidget,
|
||||
'password': textWidget,
|
||||
'button': buttonWidget,
|
||||
'submit': buttonWidget,
|
||||
'reset': buttonWidget,
|
||||
'image': buttonWidget,
|
||||
'checkbox': inputWidget('click', modelFormattedAccessor, checkedAccessor, initWidgetValue(false)),
|
||||
'radio': inputWidget('click', modelFormattedAccessor, radioAccessor, radioInit),
|
||||
'select-one': inputWidget('change', modelAccessor, valueAccessor, initWidgetValue(null)),
|
||||
|
|
@ -567,7 +562,7 @@ function inputWidgetSelector(element){
|
|||
|
||||
angularWidget('input', inputWidgetSelector);
|
||||
angularWidget('textarea', inputWidgetSelector);
|
||||
angularWidget('button', inputWidgetSelector);
|
||||
|
||||
|
||||
/**
|
||||
* @workInProgress
|
||||
|
|
|
|||
|
|
@ -293,18 +293,6 @@ describe("widget", function(){
|
|||
expect(scope.$get('name')).toEqual('Kai');
|
||||
});
|
||||
|
||||
it('should call ng:change on button click', function(){
|
||||
compile('<input type="button" value="Click Me" ng:change="clicked = true"/>');
|
||||
browserTrigger(element);
|
||||
expect(scope.$get('clicked')).toEqual(true);
|
||||
});
|
||||
|
||||
it('should support button alias', function(){
|
||||
compile('<button ng:change="clicked = true">Click {{"Me"}}.</button>');
|
||||
browserTrigger(element);
|
||||
expect(scope.$get('clicked')).toEqual(true);
|
||||
expect(scope.$element.text()).toEqual("Click Me.");
|
||||
});
|
||||
|
||||
describe('radio', function(){
|
||||
|
||||
|
|
@ -417,14 +405,6 @@ describe("widget", function(){
|
|||
expect(scope.$service('$log').error.logs.shift()[0]).
|
||||
toMatchError(/Syntax Error: Token '''' is an unexpected token/);
|
||||
});
|
||||
|
||||
it('should report error on ng:change exception', function(){
|
||||
compile('<button ng:change="a-2=x">click</button>');
|
||||
browserTrigger(element);
|
||||
expect(element.hasClass('ng-exception')).toBeTruthy();
|
||||
expect(scope.$service('$log').error.logs.shift()[0]).
|
||||
toMatchError(/Syntax Error: Token '=' implies assignment but \[a-2\] can not be assigned to/);
|
||||
});
|
||||
});
|
||||
|
||||
describe('ng:switch', function(){
|
||||
|
|
|
|||
Loading…
Reference in a new issue