@josojo/realitycheck-contracts
Version:
RealityCheck demo
959 lines (812 loc) • 790 kB
JavaScript
(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