123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- goog.provide('goog.ui.NativeButtonRenderer');
- goog.require('goog.asserts');
- goog.require('goog.dom.InputType');
- goog.require('goog.dom.TagName');
- goog.require('goog.dom.classlist');
- goog.require('goog.events.EventType');
- goog.require('goog.ui.ButtonRenderer');
- goog.require('goog.ui.Component');
- goog.ui.NativeButtonRenderer = function() {
- goog.ui.ButtonRenderer.call(this);
- };
- goog.inherits(goog.ui.NativeButtonRenderer, goog.ui.ButtonRenderer);
- goog.addSingletonGetter(goog.ui.NativeButtonRenderer);
- goog.ui.NativeButtonRenderer.prototype.getAriaRole = function() {
-
- return undefined;
- };
- goog.ui.NativeButtonRenderer.prototype.createDom = function(button) {
- this.setUpNativeButton_(button);
- return button.getDomHelper().createDom(
- goog.dom.TagName.BUTTON, {
- 'class': this.getClassNames(button).join(' '),
- 'disabled': !button.isEnabled(),
- 'title': button.getTooltip() || '',
- 'value': button.getValue() || ''
- },
- button.getCaption() || '');
- };
- goog.ui.NativeButtonRenderer.prototype.canDecorate = function(element) {
- return element.tagName == goog.dom.TagName.BUTTON ||
- (element.tagName == goog.dom.TagName.INPUT &&
- (element.type == goog.dom.InputType.BUTTON ||
- element.type == goog.dom.InputType.SUBMIT ||
- element.type == goog.dom.InputType.RESET));
- };
- goog.ui.NativeButtonRenderer.prototype.decorate = function(button, element) {
- this.setUpNativeButton_(button);
- if (element.disabled) {
-
-
- var disabledClassName = goog.asserts.assertString(
- this.getClassForState(goog.ui.Component.State.DISABLED));
- goog.dom.classlist.add(element, disabledClassName);
- }
- return goog.ui.NativeButtonRenderer.superClass_.decorate.call(
- this, button, element);
- };
- goog.ui.NativeButtonRenderer.prototype.initializeDom = function(button) {
-
-
-
-
- button.getHandler().listen(
- button.getElement(), goog.events.EventType.CLICK,
- button.performActionInternal);
- };
- goog.ui.NativeButtonRenderer.prototype.setAllowTextSelection =
- goog.nullFunction;
- goog.ui.NativeButtonRenderer.prototype.setRightToLeft = goog.nullFunction;
- goog.ui.NativeButtonRenderer.prototype.isFocusable = function(button) {
- return button.isEnabled();
- };
- goog.ui.NativeButtonRenderer.prototype.setFocusable = goog.nullFunction;
- goog.ui.NativeButtonRenderer.prototype.setState = function(
- button, state, enable) {
- goog.ui.NativeButtonRenderer.superClass_.setState.call(
- this, button, state, enable);
- var element = button.getElement();
- if (element && state == goog.ui.Component.State.DISABLED) {
- element.disabled = enable;
- }
- };
- goog.ui.NativeButtonRenderer.prototype.getValue = function(element) {
-
-
-
- return element.value;
- };
- goog.ui.NativeButtonRenderer.prototype.setValue = function(element, value) {
- if (element) {
-
-
-
- element.value = value;
- }
- };
- goog.ui.NativeButtonRenderer.prototype.updateAriaState = goog.nullFunction;
- goog.ui.NativeButtonRenderer.prototype.setUpNativeButton_ = function(button) {
- button.setHandleMouseEvents(false);
- button.setAutoStates(goog.ui.Component.State.ALL, false);
- button.setSupportedState(goog.ui.Component.State.FOCUSED, false);
- };
|