UNPKG

@josojo/realitycheck-contracts

Version:

RealityCheck demo

959 lines (812 loc) 790 kB
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ 'use strict'; var _imagesloaded = require('imagesloaded'); var _imagesloaded2 = _interopRequireDefault(_imagesloaded); var _interact = require('interact.js'); var _interact2 = _interopRequireDefault(_interact); var _perfectScrollbar = require('perfect-scrollbar'); var _perfectScrollbar2 = _interopRequireDefault(_perfectScrollbar); var _gsap = require('gsap'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } require('../../../node_modules/gsap/src/uncompressed/plugins/ScrollToPlugin.js'); (function () { 'use strict'; // utility Object.defineProperties(Element.prototype, { hasClass: { value: function value(class_name) { if (this.classList) { return this.classList.contains(class_name); } else { return new RegExp('(^| )' + class_name + '( |$)', 'gi').test(this.className); } }, enumerable: false, configurable: false, writable: false }, addClass: { value: function value(class_name) { if (!this.hasClass(class_name)) { if (this.classList) { this.classList.add(class_name); } else { this.className += ' ' + class_name; } } }, enumerable: false, configurable: false, writable: false }, removeClass: { value: function value(class_name) { var classes = this.className.split(' '); if (this.hasClass(class_name)) { if (this.classList) { this.classList.remove(class_name); } else { var existing_index = classes.indexOf(class_name); classes.splice(existing_index, 1); this.className = classes.join(' '); } } else { classes = null; } }, enumerable: false, configurable: false, writable: false }, toggleClass: { value: function value(class_name) { if (this.classList) { this.classList.toggle(class_name); } else { var classes = this.className.split(' '); var existing_index = classes.indexOf(class_name); if (existing_index >= 0) { classes.splice(existing_index, 1); } else { classes.push(class_name); } this.className = classes.join(' '); } }, enumerable: false, configurable: false, writable: false } }); function rand(min, max) { return min + Math.floor(Math.random() * (max - min + 1)); } var clickCounter = 9; var isFirstFocusBond = true; var isFirstErrorEditOption = true; var editOptionId = 0; var metamask = document.getElementById('fake-metamask'); var bondUnit = 0; var _bondValue = 0; var bondValue = bondUnit + _bondValue; var monthList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec']; // set rcBrowser height function rcbrowserHeight() { var rcbrowserHeaders = document.querySelectorAll('.rcbrowser-header'); var rcbrowserMains = document.querySelectorAll('.rcbrowser-main'); var _maxHeight = document.documentElement.clientHeight * .9; for (var i = 0, len = rcbrowserHeaders.length; i < len; i += 1) { var parent = rcbrowserHeaders[i].parentNode.parentNode; var parentRect = parent.getBoundingClientRect(); var parentRectTop = parentRect.top; var maxHeight = _maxHeight - parentRectTop; var _headerHeight = rcbrowserHeaders[i].clientHeight; var _mainHeight = rcbrowserMains[i].clientHeight + 15; var _height = _headerHeight + _mainHeight; var height = Math.min(_height, maxHeight); parent.style.height = height + 'px'; } } rcbrowserHeight(); // initialize (function () { var answerItems = document.querySelectorAll('.answer-item'); function clickHandler() { var answerData = this.querySelector('.answer-data'); if (!this.hasClass('is-open')) { this.addClass('is-open'); answerData.style.display = 'block'; answerData.addClass('is-bounce'); } else { this.removeClass('is-open'); answerData.style.display = 'none'; answerData.removeClass('is-bounce'); } rcbrowserHeight(); } for (var i = 0, len = answerItems.length; i < len; i += 1) { answerItems[i].addEventListener('click', clickHandler); } })(); // set rcBrowser (function () { var items = document.querySelectorAll('.rcbrowser'); var winWidth = document.documentElement.clientWidth; var winHeight = document.documentElement.clientHeight; var paddingTop = winHeight * 0.1; var paddingLeft = winWidth * 0.1; for (var i = 0, len = items.length; i < len; i += 1) { var itemWidth = Math.min(items[i].clientWidth, winWidth * 0.9); var itemHeight = Math.min(items[i].clientHeight, winHeight * 0.9); var topMax = document.documentElement.clientHeight - itemHeight - paddingTop; var leftMax = document.documentElement.clientWidth - itemWidth - paddingLeft; items[i].style.top = rand(paddingTop, topMax) + 'px'; items[i].style.left = rand(paddingLeft, leftMax) + 'px'; } })(); // form error (function () { var formItems = document.querySelectorAll('.form-item'); var timer = null; var enableOptionValue = 0; var enableCheckboxValue = 0; function focusHandler() { // observe enter function update(self) { // textarea if (self.hasClass('rcbrowser-textarea')) { // has value if (self.value !== '') { self.parentNode.removeClass('is-error'); } } // number if (self.hasClass('rcbrowser-input--number')) { // reward if (self.hasClass('rcbrowser-input--number--reward')) { // bigger than 0 if (self.value > 0) { self.parentNode.parentNode.removeClass('is-error'); } } // add reward else if (self.hasClass('rcbrowser-input--number--add-reward')) { // bigger than 0 if (self.value > 0) { self.parentNode.parentNode.removeClass('is-error'); } } // bond else if (self.hasClass('rcbrowser-input--number--bond')) { //get bond value if (isFirstFocusBond) { bondValue = parseFloat(self.getAttribute('placeholder')); isFirstFocusBond = false; } // bigger than bond if (self.value !== '' && self.value > 0 && self.value >= bondValue) { self.parentNode.parentNode.removeClass('is-error'); } // bigger than the balance if (self.value > 5.6) { self.parentNode.parentNode.querySelector('.error-container').textContent = 'Your balance is 5.6 ETH.'; self.parentNode.parentNode.addClass('is-error'); } // has value & smaller than the balance else if (self.value !== '' && self.value > 0 && self.value < 5.6) { self.parentNode.parentNode.removeClass('is-error'); } } // answer else if (self.hasClass('rcbrowser-input--number--answer')) { // empty if (self.value !== '') { self.parentNode.parentNode.removeClass('is-error'); } } } // select if (self.hasClass('rcbrowser-select')) { if (self.getElementsByTagName('option')[0].selected === false) { self.parentNode.removeClass('is-error'); } } // checkbox if (self.hasClass('rcbrowser-input--checkbox')) { var checkboxItems = self.parentNode.parentNode.querySelectorAll('.form-item-value'); for (var i = 0, len = checkboxItems.length; i < len; i += 1) { enableCheckboxValue = checkboxItems[i].checked ? enableCheckboxValue += 1 : enableCheckboxValue; } if (enableCheckboxValue > 0) { self.parentNode.parentNode.removeClass('is-error'); } } // edit option if (self.parentNode.parentNode.parentNode.parentNode.hasClass('is-open')) { var optionItems = self.parentNode.parentNode.querySelectorAll('.form-item'); for (var _i2 = 0, _len = optionItems.length; _i2 < _len; _i2 += 1) { enableOptionValue = optionItems[_i2].value ? enableOptionValue += 1 : enableOptionValue; } if (self.parentNode.parentNode.hasClass('is-error')) { if (enableOptionValue > 1) { self.parentNode.parentNode.removeClass('is-error'); } } enableOptionValue = 0; } timer = setTimeout(update.bind(undefined, self), 60); } update(this); } function blurHandler() { isFirstFocusBond = true; enableOptionValue = 0; clearTimeout(timer); } for (var i = 0, len = formItems.length; i < len; i += 1) { formItems[i].addEventListener('focus', focusHandler, true); formItems[i].addEventListener('blur', blurHandler, true); } // get question type (function () { var container = document.querySelector('.edit-option-container'); var selector = document.getElementById('question-type'); var parent = document.querySelector('.edit-option-inner'); var addButton = document.querySelector('.add-option-button'); selector.addEventListener('change', function () { var index = this.selectedIndex; var value = this.options[index].value; if (value === 'select') { if (!container.hasClass('is-open')) { container.style.display = 'block'; container.toggleClass('is-open'); container.addClass('is-bounce'); } } else { container.removeClass('is-open'); container.removeClass('is-bounce'); container.style.display = 'none'; var inputEditOptions = document.querySelectorAll('.input-container--edit-option'); inputEditOptions[0].children[0].value = ''; for (var _i3 = 1, _len2 = inputEditOptions.length; _i3 < _len2; _i3 += 1) { inputEditOptions[_i3].parentNode.removeChild(inputEditOptions[_i3]); } editOptionId = 0; } rcbrowserHeight(); }); addButton.addEventListener('click', function () { var errorContainer = document.querySelector('.error-container--select'); var element = document.createElement('div'); element.setAttribute('class', 'input-container input-container--edit-option'); element.innerHTML = '<input type="text" name="editOption' + (editOptionId += 1) + '" class="rcbrowser-input rcbrowser-input--edit-option form-item" placeholder="Enter the option...">'; element.children[0].addEventListener('focus', focusHandler, true); element.children[0].addEventListener('blur', blurHandler, true); parent.insertBefore(element, errorContainer); element.addClass('is-bounce'); isFirstErrorEditOption = true; rcbrowserHeight(); }); })(); })(); // post question/answer/add reward (function () { var submitButtons = document.querySelectorAll('.rcbrowser-submit'); var rcBrowsers = document.querySelectorAll('.rcbrowser'); var myUserId = 'er9w8rwer8r9ewr89wr8e8r'; var myAvatarSrc = 'assets/image/avatar1.png'; function clickOpenHandler(e) { e.preventDefault(); e.stopPropagation(); var rcBrowserId = this.getAttribute('data-browser-id'); var currentBrowser = null; for (var i = 0, len = rcBrowsers.length; i < len; i += 1) { var id = rcBrowsers[i].getAttribute('data-browser-id'); if (id === rcBrowserId) { currentBrowser = rcBrowsers[i]; } } var forms = currentBrowser.querySelectorAll('.rcbrowser-form'); var formType = this.getAttribute('data-form-type'); var currentForm = null; for (var _i4 = 0, _len3 = forms.length; _i4 < _len3; _i4 += 1) { var type = forms[_i4].getAttribute('data-form-type'); if (type === formType) { currentForm = forms[_i4]; } } // check question status if (!this.hasClass('rcbrowser-submit--postaquestion')) { var currentAnswerContainer = currentBrowser.querySelector('.current-answer-container'); var hasCurrentAnswer = currentAnswerContainer.children[0] ? true : false; var answeredHistoryContainer = currentBrowser.querySelector('.answered-history-container'); var hasAnsweredHistory = answeredHistoryContainer.children[0] ? true : false; _bondValue = parseFloat(currentBrowser.querySelector('.rcbrowser-input--number--bond').value); } var textarea = currentForm.querySelectorAll('textarea'); var input = currentForm.querySelectorAll('input[type="text"]'); var checkbox = currentForm.querySelectorAll('input[type="checkbox"]'); var number = currentForm.querySelectorAll('input[type="number"]'); var selectbox = currentForm.querySelectorAll('.rcbrowser-select'); var isError = false; var enableOptionValue = 0; var enableCheckboxValue = 0; for (var _i5 = 0, _len4 = textarea.length; _i5 < _len4; _i5 += 1) { if (textarea[_i5].value === '') { textarea[_i5].parentNode.addClass('is-error'); isError = true; } else { textarea[_i5].parentNode.removeClass('is-error'); } } for (var _i6 = 0, _len5 = input.length; _i6 < _len5; _i6 += 1) { if (input[_i6].hasClass('rcbrowser-input--edit-option')) { enableOptionValue = input[_i6].value === '' ? enableOptionValue : enableOptionValue += 1; } } // edit option for (var _i7 = 0, _len6 = input.length; _i7 < _len6; _i7 += 1) { if (enableOptionValue < 2) { if (input[_i7].parentNode.parentNode.parentNode.parentNode.hasClass('is-open')) { input[_i7].parentNode.parentNode.addClass('is-error'); if (isFirstErrorEditOption) { isFirstErrorEditOption = false; } isError = true; } else { input[_i7].parentNode.removeClass('is-error'); } } } // checkbox for (var _i8 = 0, _len7 = checkbox.length; _i8 < _len7; _i8 += 1) { if (checkbox[_i8].hasClass('rcbrowser-input--checkbox')) { enableCheckboxValue = checkbox[_i8].checked === false ? enableCheckboxValue : enableCheckboxValue += 1; } } for (var _i9 = 0, _len8 = checkbox.length; _i9 < _len8; _i9 += 1) { if (enableCheckboxValue < 1) { checkbox[_i9].parentNode.parentNode.addClass('is-error'); isError = true; } else { checkbox[_i9].parentNode.parentNode.removeClass('is-error'); } } // number for (var _i10 = 0, _len9 = number.length; _i10 < _len9; _i10 += 1) { // reward if (number[_i10].hasClass('rcbrowser-input--number--reward')) { if (number[_i10].value === '' || number[_i10].value <= 0 || number[_i10].value > 5.6) { number[_i10].parentNode.parentNode.addClass('is-error'); isError = true; } else { number[_i10].parentNode.parentNode.removeClass('is-error'); } } // add reward else if (number[_i10].hasClass('rcbrowser-input--number--add-reward')) { if (number[_i10].value === '' || number[_i10].value <= 0) { // update height number[_i10].parentNode.parentNode.addClass('is-error'); isError = true; } else { number[_i10].parentNode.parentNode.removeClass('is-error'); } } // answer else if (number[_i10].hasClass('rcbrowser-input--number--answer')) { if (number[_i10].value === '') { number[_i10].parentNode.parentNode.addClass('is-error'); isError = true; } else { number[_i10].parentNode.parentNode.removeClass('is-error'); } } // bond else if (number[_i10].hasClass('rcbrowser-input--number--bond')) { if (number[_i10].value === '' || number[_i10].value <= 0 || number[_i10].value < bondValue || number[_i10].value > 5.6) { number[_i10].parentNode.parentNode.addClass('is-error'); if (number[_i10].value <= 0 || number[_i10].value < bondValue) { if (number[_i10].value <= 0) { number[_i10].parentNode.parentNode.querySelector('.error-container').innerHTML = 'Please enter a valid number.'; } else { number[_i10].parentNode.parentNode.querySelector('.error-container').innerHTML = 'Please enter an amount of more than <span class="min-amount">' + bondValue + '</span>ETH.'; } } isError = true; } else { number[_i10].parentNode.parentNode.removeClass('is-error'); } } } for (var _i11 = 0, _len10 = selectbox.length; _i11 < _len10; _i11 += 1) { if (selectbox[_i11].getElementsByTagName('option')[0].selected === true) { selectbox[_i11].parentNode.addClass('is-error'); isError = true; } else { selectbox[_i11].parentNode.removeClass('is-error'); } } if (isError) { if (currentBrowser.hasClass('.rcbrowser--postaquestion')) { _gsap.TweenLite.to(currentBrowser.querySelector('.rcbrowser-inner'), .8, { scrollTo: { y: 0, autoKill: true } }); } rcbrowserHeight(); return; } else { // scroll top _gsap.TweenLite.to(currentBrowser.querySelector('.rcbrowser-inner'), .8, { scrollTo: { y: 0, autoKill: true } }); } metamask.addClass('is-open'); setTimeout(function () { metamask.removeClass('is-open'); if (currentBrowser.hasClass('rcbrowser--qa-detail')) { if (this.hasClass('rcbrowser-submit--add-reward')) { var addValue = parseFloat(this.parentNode.parentNode.querySelector('.rcbrowser-input--number--add-reward').value); var rewardValueContainer = currentBrowser.querySelector('.reward-value-container'); var rewardValue = currentBrowser.querySelector('.reward-value'); var currentReward = parseFloat(currentBrowser.querySelector('.reward-value').textContent, 10); rewardValue.textContent = currentReward + addValue; rewardValueContainer.addClass('is-bounce'); } else { // deadline var deadlineContainer = currentBrowser.querySelector('.answer-deadline'); var date = new Date(); var stepDelay = 6; var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); var munites = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); var deadline = 'Deadline: ' + monthList[date.getMonth()] + ' ' + (date.getDate() + stepDelay) + ', ' + date.getFullYear() + ' ' + hours + ':' + munites; deadlineContainer.textContent = deadline; if (hasCurrentAnswer) { // if has answered history if (hasAnsweredHistory) { // get the current answer var parent = this.parentNode.parentNode.parentNode.parentNode; var answer = parent.querySelector('.current-answer-body').innerHTML; // get the current answer bond var bond = parent.querySelector('.current-answer-container').querySelector('.js-bond-value').innerHTML; // get the current answer user id var userId = parent.querySelector('.answer-data__user-id').children[1].textContent; // get the current answer user avatar var avatarSrc = parent.querySelector('.answer-data__avatar').getAttribute('data-avatar-src'); // create a answer item var answeredHistoryItem = document.createElement('div'); answeredHistoryItem.setAttribute('class', 'answer-item answered-history-item'); answeredHistoryItem.innerHTML = '<div class="answered-history-body">' + answer + '</div><span>3 days ago</span><div class="answer-data"><div class="answer-data-inner"><div class="answer-data__avatar" style="background-image: url(' + avatarSrc + ')" data-avatar-src="' + avatarSrc + '"></div><div class="answer-data__item answer-data__user-id"><span>User ID: </span><span>' + userId + '</span></div><div class="answer-data__item answer-data__bond"><span>Bond: </span><span class="js-bond-value">' + bond + '</span><span>ETH</span></div></div></div></div>'; // add HTML elements var lastAnswerItem = answeredHistoryContainer.children[1]; answeredHistoryContainer.insertBefore(answeredHistoryItem, lastAnswerItem); // show answer data var answerItem = answeredHistoryContainer.children[1]; answerItem.addEventListener('click', function () { var answerData = this.querySelector('.answer-data'); if (!this.hasClass('is-open')) { this.addClass('is-open'); answerData.style.display = 'block'; answerData.addClass('is-bounce'); } else { this.removeClass('is-open'); answerData.style.display = 'none'; answerData.removeClass('is-bounce'); } rcbrowserHeight(); }); // get the new answer var newAnswers = this.parentNode.parentNode.querySelectorAll('.form-item-value'); var _newAnswer = []; var newAnswer = null; for (var _i12 = 0, _len11 = newAnswers.length; _i12 < _len11; _i12 += 1) { // checkbox (multiple select) if (newAnswers[_i12].hasClass('rcbrowser-input--checkbox')) { if (newAnswers[_i12].checked) { _newAnswer.push(newAnswers[_i12].value); newAnswer = _newAnswer.join(' / '); } } // selectbox (single select, binary) else if (newAnswers[_i12].hasClass('rcbrowser-select')) { var options = newAnswers[_i12].getElementsByTagName('option'); for (var _i = 0, _len12 = options.length; _i < _len12; _i += 1) { if (options[_i].selected) { newAnswer = options[_i].value; } } } // textarea, number (free text, number) else { newAnswer = newAnswers[_i12].value; } } // set current answer var currentAnswerBody = parent.querySelector('.current-answer-body'); var p = document.createElement('p'); p.innerHTML = newAnswer; currentAnswerBody.textContent = null; currentAnswerBody.appendChild(p); // set time var currentAnswerTime = parent.querySelector('.current-answer-time'); currentAnswerTime.textContent = 'Now'; // set bond var answerDataBond = parent.querySelector('.js-bond-value'); answerDataBond.textContent = _bondValue; // set user id var answerDataUserID = parent.querySelector('.answer-data__user-id').children[1]; answerDataUserID.textContent = myUserId; // set avatar var answerDataAvatar = parent.querySelector('.answer-data__avatar'); answerDataAvatar.style.backgroundImage = 'url(' + myAvatarSrc + ')'; answerDataAvatar.setAttribute('data-avatar-src', myAvatarSrc); currentAnswerContainer.querySelector('.current-answer-item').addClass('is-bounce'); setTimeout(function () { currentAnswerContainer.querySelector('.current-answer-item').removeClass('is-bounce'); }, 200); } // if no answered history else { // get the current answer var _parent = this.parentNode.parentNode.parentNode.parentNode; var _answer2 = _parent.querySelector('.current-answer-body').innerHTML; // get the current answer bond var _bond = _parent.querySelector('.js-bond-value').innerHTML; // get the current answer user id var _userId = _parent.querySelector('.answer-data__user-id').children[1].textContent; // get the current answer user avatar var _avatarSrc = _parent.querySelector('.answer-data__avatar').getAttribute('data-avatar-src'); // create a current answer header var answeredHistoryHeader = document.createElement('div'); answeredHistoryHeader.setAttribute('class', 'answered-history-header'); answeredHistoryHeader.innerHTML = '<span>Answered History</span>'; // create a answer item var _answeredHistoryItem = document.createElement('div'); _answeredHistoryItem.setAttribute('class', 'answer-item answered-history-item'); _answeredHistoryItem.innerHTML = '<div class="answered-history-body">' + _answer2 + '</div><span>3 days ago</span><div class="answer-data"><div class="answer-data-inner"><div class="answer-data__avatar" style="background-image: url(' + _avatarSrc + ')" data-avatar-src="' + _avatarSrc + '"></div><div class="answer-data__item answer-data__user-id"><span>User ID: </span><span>' + _userId + '</span></div><div class="answer-data__item answer-data__bond"><span>Bond: </span><span class="js-bond-value">' + _bond + '</span><span>ETH</span></div></div></div></div>'; // add HTML elements answeredHistoryContainer.appendChild(answeredHistoryHeader); answeredHistoryContainer.appendChild(_answeredHistoryItem); // show answer data var _answerItem = answeredHistoryContainer.children[1]; _answerItem.addEventListener('click', function () { var answerData = this.querySelector('.answer-data'); if (!this.hasClass('is-open')) { this.addClass('is-open'); answerData.style.display = 'block'; answerData.addClass('is-bounce'); } else { this.removeClass('is-open'); answerData.style.display = 'none'; answerData.removeClass('is-bounce'); } rcbrowserHeight(); }); // get the new answer var _newAnswers = this.parentNode.parentNode.querySelectorAll('.form-item-value'); var _newAnswer2 = []; var _newAnswer3 = null; for (var _i13 = 0, _len13 = _newAnswers.length; _i13 < _len13; _i13 += 1) { // checkbox (multiple select) if (_newAnswers[_i13].hasClass('rcbrowser-input--checkbox')) { if (_newAnswers[_i13].checked) { _newAnswer2.push(_newAnswers[_i13].value); _newAnswer3 = _newAnswer2.join(' / '); } } // selectbox (single select, binary) else if (_newAnswers[_i13].hasClass('rcbrowser-select')) { var _options = _newAnswers[_i13].getElementsByTagName('option'); for (var _i14 = 0, _len14 = _options.length; _i14 < _len14; _i14 += 1) { if (_options[_i14].selected) { _newAnswer3 = _options[_i14].value; } } } // textarea, number (free text, number) else { _newAnswer3 = _newAnswers[_i13].value; } } // set current answer var _currentAnswerBody = _parent.querySelector('.current-answer-body'); var _p = document.createElement('p'); _p.innerHTML = _newAnswer3; _currentAnswerBody.textContent = null; _currentAnswerBody.appendChild(_p); // set time var _currentAnswerTime = _parent.querySelector('.current-answer-time'); _currentAnswerTime.textContent = 'Now'; // set bond var _answerDataBond = _parent.querySelector('.js-bond-value'); _answerDataBond.textContent = _bondValue; // set user id var _answerDataUserID = _parent.querySelector('.answer-data__user-id').children[1]; _answerDataUserID.textContent = myUserId; // set avatar var _answerDataAvatar = _parent.querySelector('.answer-data__avatar'); _answerDataAvatar.style.backgroundImage = 'url(' + myAvatarSrc + ')'; _answerDataAvatar.setAttribute('data-avatar-src', myAvatarSrc); currentAnswerContainer.querySelector('.current-answer-item').addClass('is-bounce'); setTimeout(function () { currentAnswerContainer.querySelector('.current-answer-item').removeClass('is-bounce'); }, 200); } } // if no answer else { var _answer = []; var _answer3 = null; // get the new answer var answers = this.parentNode.parentNode.querySelectorAll('.form-item-value'); for (var _i15 = 0, _len15 = answers.length; _i15 < _len15; _i15 += 1) { // checkbox (multiple select) if (answers[_i15].hasClass('rcbrowser-input--checkbox')) { if (answers[_i15].checked) { _answer.push(answers[_i15].value); _answer3 = _answer.join(' / '); } } // selectbox (single select, binary) else if (answers[_i15].hasClass('rcbrowser-select')) { var _options2 = answers[_i15].getElementsByTagName('option'); for (var _i16 = 0, _len16 = _options2.length; _i16 < _len16; _i16 += 1) { if (_options2[_i16].selected) { _answer3 = _answer3 || _options2[_i16].value; } } } // textarea, number (free text, number) else { _answer3 = answers[_i15].value; } } // create a current answer inner var currentAnswerInner = document.createElement('div'); currentAnswerInner.setAttribute('class', 'current-answer-inner'); // create a current answer header var currentAnswerHeader = document.createElement('div'); currentAnswerHeader.setAttribute('class', 'current-answer-header'); currentAnswerHeader.innerHTML = '<span>Current Answer</span>'; // create a current answer item var currentAnswerItem = document.createElement('div'); currentAnswerItem.setAttribute('class', 'answer-item current-answer-item'); currentAnswerItem.innerHTML = '<div class="current-answer-body"><p>' + _answer3 + '</p></div><span class="current-answer-time">Now</span><div class="answer-data"><div class="answer-data-inner"><div class="answer-data__avatar" style="background-image: url(' + myAvatarSrc + ')" data-avatar-src="' + myAvatarSrc + '"></div><div class="answer-data__item answer-data__user-id"><span>User ID: </span><span>' + myUserId + '</span></div><div class="answer-data__item answer-data__bond answer-data__bond--current"><span>Bond: </span><span class="js-bond-value">0</span><span>ETH</span></div></div></div>'; // add HTML elements currentAnswerInner.appendChild(currentAnswerHeader); currentAnswerInner.appendChild(currentAnswerItem); currentAnswerContainer.appendChild(currentAnswerInner); // currentAnswerContainer.addClass('is-open'); // set bond var _answerDataBond2 = currentAnswerContainer.querySelector('.js-bond-value'); _answerDataBond2.textContent = _bondValue; // answer data var _answerItem2 = currentAnswerContainer.querySelector('.answer-item'); currentAnswerContainer.querySelector('.current-answer-item').addClass('is-bounce'); setTimeout(function () { currentAnswerContainer.querySelector('.current-answer-item').removeClass('is-bounce'); }, 200); _answerItem2.addEventListener('click', function () { var answerData = this.querySelector('.answer-data'); if (!this.hasClass('is-open')) { this.addClass('is-open'); answerData.style.display = 'block'; answerData.addClass('is-bounce'); } else { this.removeClass('is-open'); answerData.style.display = 'none'; answerData.removeClass('is-bounce'); } rcbrowserHeight(); }); currentBrowser.addClass('has-answer'); } } } var textarea = currentForm.querySelectorAll('textarea'); var input = currentForm.querySelectorAll('input[type="text"]'); var checkbox = currentForm.querySelectorAll('input[type="checkbox"]'); var number = currentForm.querySelectorAll('input[type="number"]'); var selectbox = currentForm.querySelectorAll('.rcbrowser-select'); for (var _i17 = 0, _len17 = textarea.length; _i17 < _len17; _i17 += 1) { textarea[_i17].value = ''; } for (var _i18 = 0, _len18 = input.length; _i18 < _len18; _i18 += 1) { input[_i18].value = ''; } for (var _i19 = 0, _len19 = checkbox.length; _i19 < _len19; _i19 += 1) { checkbox[_i19].checked = false; } for (var _i20 = 0, _len20 = number.length; _i20 < _len20; _i20 += 1) { number[_i20].value = ''; } for (var _i21 = 0, _len21 = selectbox.length; _i21 < _len21; _i21 += 1) { selectbox[_i21].getElementsByTagName('option')[0].selected = true; } if (currentBrowser.hasClass('rcbrowser--postaquestion')) { var container = document.querySelector('.edit-option-container'); container.removeClass('is-open'); container.style.height = 0; var inputEditOptions = document.querySelectorAll('.input-container--edit-option'); for (var _i22 = 1, _len22 = inputEditOptions.length; _i22 < _len22; _i22 += 1) { inputEditOptions[_i22].parentNode.removeChild(inputEditOptions[_i22]); } editOptionId = 0; } if (currentBrowser.hasClass('rcbrowser--qa-detail')) { if (this.hasClass('rcbrowser-submit--add-reward')) { var _rewardValueContainer = currentBrowser.querySelector('.reward-value-container'); setTimeout(function () { _rewardValueContainer.removeClass('is-bounce'); }, 300); } else { var bondForm = currentBrowser.querySelector('.rcbrowser-input--number--bond'); bondValue = (bondUnit + _bondValue) * 2; bondForm.placeholder = bondValue; currentBrowser.querySelector('.min-amount').textContent = bondValue; } } rcbrowserHeight(); }.bind(this), 3000); if (currentBrowser.hasClass('rcbrowser--postaquestion')) { setTimeout(function () { var checkYourQATooltip = document.querySelector('.tooltip--checkyourqa'); checkYourQATooltip.addClass('is-visible'); checkYourQATooltip.addClass('is-bounce'); setTimeout(function () { checkYourQATooltip.removeClass('is-visible'); checkYourQATooltip.removeClass('is-bounce'); }, 5000); }, 3000); } } for (var i = 0, len = submitButtons.length; i < len; i += 1) { submitButtons[i].addEventListener('click', clickOpenHandler); } })(); // arbitration (function () { var buttons = document.querySelectorAll('.final-answer-button'); var rcBrowsers = document.querySelectorAll('.rcbrowser'); function clickHandler(e) { e.stopPropagation(); var rcBrowserId = this.getAttribute('data-browser-id'); var currentBrowser = null; for (var i = 0, len = rcBrowsers.length; i < len; i += 1) { var id = rcBrowsers[i].getAttribute('data-browser-id'); if (id === rcBrowserId) { currentBrowser = rcBrowsers[i]; } } // set Final Answer currentBrowser.querySelector('.current-answer-body').children[0].textContent = this.getAttribute('data-answer'); // set resolved date var date = new Date(); var resolvedDate = monthList[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear(); currentBrowser.querySelector('.rcbrowser-main-header-subtitle').innerHTML = 'Resolved at ' + resolvedDate; // delete deadline currentBrowser.querySelector('.answer-deadline').parentNode.removeChild(currentBrowser.querySelector('.answer-deadline')); // delete apply for ... currentBrowser.querySelector('.arbitration-button--applied').parentNode.removeChild(currentBrowser.querySelector('.arbitration-button--applied')); // delete time currentBrowser.querySelector('.current-answer-time').parentNode.removeChild(currentBrowser.querySelector('.current-answer-time')); // change word current answer currentBrowser.querySelector('.current-answer-header').innerHTML = '<span>Final Answer</span>'; // delete answer history container currentBrowser.querySelector('.answered-history-container').parentNode.removeChild(currentBrowser.querySelector('.answered-history-container')); currentBrowser.querySelector('.current-answer-container').style.marginTop = 0; currentBrowser.querySelector('.current-answer-item').addClass('is-bounce'); for (var _i23 = 0, _len23 = buttons.length; _i23 < _len23; _i23 += 1) { buttons[_i23].parentNode.removeChild(buttons[_i23]); } rcbrowserHeight(); } for (var i = 0, len = buttons.length; i < len; i += 1) { buttons[i].addEventListener('click', clickHandler); } })(); // apply for arbitration (function () { var arbitrationButtons = document.querySelectorAll('.arbitration-button'); function clickOpenHandler(e) { e.preventDefault(); e.stopPropagation(); metamask.addClass('is-open'); setTimeout(function () { metamask.rem