(inputDefine, inputRecorder)
| 1525 | } // End of createGroupSetInput |
| 1526 | |
| 1527 | function createButtonInput(inputDefine, inputRecorder) { |
| 1528 | var _btnDisabled = false; |
| 1529 | var btn = document.createElement('button'); |
| 1530 | btn.innerHTML = getInputsTextHTML(inputDefine, 'button'); |
| 1531 | var _btnListener = getBtnEventListener(inputDefine, NAMES_ON_CLICK); |
| 1532 | assert(_btnListener, 'No button onclick provided.'); |
| 1533 | btn.addEventListener('click', inputRecorder.wrapUserInputListener({ |
| 1534 | listener: function () { |
| 1535 | if (_btnDisabled) { return; } |
| 1536 | return _btnListener.apply(this, arguments); |
| 1537 | }, |
| 1538 | op: 'click' |
| 1539 | })); |
| 1540 | resetButtonInputDisabled(inputDefine); |
| 1541 | |
| 1542 | return { |
| 1543 | elList: [btn], |
| 1544 | disable: resetButtonInputDisabled, |
| 1545 | setState: setButtonInputState, |
| 1546 | getState: getButtonInputState |
| 1547 | }; |
| 1548 | |
| 1549 | function resetButtonInputDisabled(opt) { |
| 1550 | _btnDisabled = !!opt.disabled; |
| 1551 | btn.disabled = _btnDisabled; |
| 1552 | } |
| 1553 | function getButtonInputState() { |
| 1554 | return {disabled: _btnDisabled}; |
| 1555 | } |
| 1556 | function setButtonInputState(state) { |
| 1557 | if (!isObject(state)) { |
| 1558 | console.error( |
| 1559 | errMsgPrefix + ' Button input state must be object rather than ' + printObject(state) |
| 1560 | + ' May caused by test case change.' |
| 1561 | ); |
| 1562 | return; |
| 1563 | } |
| 1564 | resetButtonInputDisabled(state); |
| 1565 | } |
| 1566 | } // End of createButtonInput |
| 1567 | |
| 1568 | function createBr(inputDefine) { |
| 1569 | return {elList: [document.createElement('br')]}; |
no test coverage detected
searching dependent graphs…