Current File : /home/escuelai/public_html/wp-content/plugins/learnpress/assets/js/dist/admin/editor/quiz.js |
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./assets/src/apps/js/admin/editor/actions/modal-quiz-items.js":
/*!*********************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/actions/modal-quiz-items.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const ModalQuizItems = {
toggle: function (context) {
context.commit('TOGGLE');
},
// open modal
open: function (context, quizId) {
context.commit('SET_QUIZ', quizId);
context.commit('RESET');
context.commit('TOGGLE');
},
// query available question
searchItems: function (context, payload) {
context.commit('SEARCH_ITEM_REQUEST');
LP.Request({
type: 'search-items',
query: payload.query,
page: payload.page,
exclude: JSON.stringify([])
}).then(function (response) {
var result = response.body;
if (!result.success) {
return;
}
var data = result.data;
context.commit('SET_LIST_ITEMS', data.items);
context.commit('UPDATE_PAGINATION', data.pagination);
context.commit('SEARCH_ITEM_SUCCESS');
}, function (error) {
context.commit('SEARCH_ITEMS_FAIL');
console.log(error);
});
},
// add question
addItem: function (context, item) {
context.commit('ADD_ITEM', item);
},
// remove question
removeItem: function (context, index) {
context.commit('REMOVE_ADDED_ITEM', index);
},
addQuestionsToQuiz: function (context, quiz) {
var items = context.getters.addedItems;
if (items.length > 0) {
LP.Request({
type: 'add-questions-to-quiz',
items: JSON.stringify(items),
draft_quiz: JSON.stringify(quiz)
}).then(function (response) {
var result = response.body;
if (result.success) {
var questions = result.data;
// update quiz list questions
context.commit('lqs/SET_QUESTIONS', questions, {
root: true
});
context.commit('TOGGLE');
}
}, function (error) {
console.log(error);
});
}
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ModalQuizItems);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/actions/question-list.js":
/*!******************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/actions/question-list.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const $ = window.jQuery;
const QuestionList = {
toggleAll: function (context) {
var hidden = context.getters.isHiddenListQuestions;
if (hidden) {
context.commit('OPEN_LIST_QUESTIONS');
} else {
context.commit('CLOSE_LIST_QUESTIONS');
}
LP.Request({
type: 'hidden-questions',
hidden: context.getters.hiddenQuestions
});
},
updateQuizQuestionsHidden: function (context, data) {
LP.Request($.extend({}, data, {
type: 'update-quiz-questions-hidden'
}));
},
newQuestion: function (context, payload) {
var newQuestion = JSON.parse(JSON.stringify(payload.question));
newQuestion.settings = {};
context.commit('ADD_NEW_QUESTION', newQuestion);
LP.Request({
type: 'new-question',
question: JSON.stringify(payload.question),
draft_quiz: JSON.stringify(payload.quiz)
}).then(function (response) {
var result = response.body;
if (result.success) {
context.commit('UPDATE_NEW_QUESTION_TYPE', payload.question.type, {
root: true
});
context.commit('ADD_NEW_QUESTION', result.data);
context.commit('CLOSE_LIST_QUESTIONS');
context.commit('OPEN_QUESTION', result.data);
}
}, function (error) {
console.log(error);
});
},
updateQuestionsOrder: function (context, order) {
LP.Request({
type: 'sort-questions',
order: JSON.stringify(order)
}).then(function (response) {
context.commit('SORT_QUESTIONS', order);
}, function (error) {
console.log(error);
});
},
updateQuestionTitle: function (context, question) {
context.commit('UPDATE_QUESTION_REQUEST', question.id);
LP.Request({
type: 'update-question-title',
question: JSON.stringify(question)
}).then(function () {
context.commit('UPDATE_QUESTION_SUCCESS', question.id);
}).catch(function () {
context.commit('UPDATE_QUESTION_FAILURE', question.id);
});
},
changeQuestionType: function (context, payload) {
context.commit('UPDATE_QUESTION_REQUEST', payload.question_id);
LP.Request({
type: 'change-question-type',
question_id: payload.question_id,
question_type: payload.type
}).then(function (response) {
var result = response.body;
if (result.success) {
var question = result.data;
context.commit('CHANGE_QUESTION_TYPE', question);
context.commit('UPDATE_NEW_QUESTION_TYPE', question.type.key, {
root: true
});
context.commit('UPDATE_QUESTION_SUCCESS', payload.question_id);
}
}).catch(function () {
context.commit('UPDATE_QUESTION_FAILURE', payload.question_id);
});
},
isHiddenQuestionsSettings: function (context, id) {},
cloneQuestion: function (context, question) {
LP.Request({
type: 'clone-question',
question: JSON.stringify(question)
}).then(function (response) {
var result = response.body;
if (result.success) {
var question = result.data;
context.commit('ADD_NEW_QUESTION', result.data);
context.commit('UPDATE_NEW_QUESTION_TYPE', question.type.key, {
root: true
});
}
}, function (error) {
console.log(error);
});
},
removeQuestion: function (context, question) {
var question_id = question.id;
question.temp_id = LP.uniqueId();
context.commit('REMOVE_QUESTION', question);
LP.Request({
type: 'remove-question',
question_id: question_id
}).then(function (response) {
var result = response.body;
if (result.success) {
question.id = question.temp_id;
question.temp_id = 0;
context.commit('REMOVE_QUESTION', question);
}
}, function (error) {
console.error(error);
});
},
deleteQuestion: function (context, question) {
var question_id = question.id;
question.temp_id = LP.uniqueId();
context.commit('REMOVE_QUESTION', question);
LP.Request({
type: 'delete-question',
question_id: question_id
}).then(function () {
question.id = question.temp_id;
question.temp_id = 0;
context.commit('REMOVE_QUESTION', question);
context.commit('UPDATE_QUESTION_SUCCESS', question.id);
}).catch(function () {
context.commit('UPDATE_QUESTION_FAILURE', question.id);
});
},
toggleQuestion: function (context, question) {
if (question.open) {
context.commit('CLOSE_QUESTION', question);
} else {
context.commit('OPEN_QUESTION', question);
}
LP.Request({
type: 'hidden-questions',
hidden: context.getters.hiddenQuestions
});
},
updateQuestionAnswersOrder: function (context, payload) {
context.commit('UPDATE_QUESTION_REQUEST', payload.question_id);
LP.Request({
type: 'sort-question-answers',
question_id: payload.question_id,
order: JSON.stringify(payload.order)
}).then(function (response) {
var result = response.body,
order = result.data;
context.commit('SORT_QUESTION_ANSWERS', order);
context.commit('UPDATE_QUESTION_SUCCESS', payload.question_id);
}, function (error) {
context.commit('UPDATE_QUESTION_FAILURE', payload.question_id);
console.log(error);
});
},
updateQuestionAnswerTitle: function (context, payload) {
context.commit('UPDATE_QUESTION_REQUEST', payload.question_id);
LP.Request({
type: 'update-question-answer-title',
question_id: parseInt(payload.question_id),
answer: JSON.stringify(payload.answer)
}).then(function () {
context.commit('UPDATE_QUESTION_ANSWER_SUCCESS', parseInt(payload.question_id));
context.commit('UPDATE_QUESTION_SUCCESS', payload.question_id);
}).catch(function () {
context.commit('UPDATE_QUESTION_ANSWER_FAILURE', parseInt(payload.question_id));
context.commit('UPDATE_QUESTION_FAILURE', payload.question_id);
});
},
updateQuestionCorrectAnswer: function (context, payload) {
context.commit('UPDATE_QUESTION_REQUEST', payload.question_id);
LP.Request({
type: 'change-question-correct-answer',
question_id: payload.question_id,
correct: JSON.stringify(payload.correct)
}).then(function (response) {
var result = response.body;
if (result.success) {
context.commit('CHANGE_QUESTION_CORRECT_ANSWERS', result.data);
context.commit('UPDATE_QUESTION_SUCCESS', payload.question_id);
}
}, function (error) {
context.commit('UPDATE_QUESTION_FAILURE', payload.question_id);
console.log(error);
});
},
deleteQuestionAnswer: function (context, payload) {
payload.temp_id = LP.uniqueId();
context.commit('DELETE_ANSWER', payload);
context.commit('UPDATE_QUESTION_REQUEST', payload.question_id);
LP.Request({
type: 'delete-question-answer',
question_id: payload.question_id,
answer_id: payload.answer_id
}).then(function (response) {
var result = response.body;
if (result.success) {
context.commit('DELETE_QUESTION_ANSWER', {
question_id: payload.question_id,
answer_id: payload.temp_id
//answer_id: payload.answer_id
});
context.commit('UPDATE_QUESTION_SUCCESS', payload.question_id);
}
}, function (error) {
context.commit('UPDATE_QUESTION_FAILURE', payload.question_id);
console.log(error);
});
},
newQuestionAnswer: function (context, data) {
var temp_id = LP.uniqueId(),
question_id = data.question_id;
context.commit('UPDATE_QUESTION_REQUEST', question_id);
context.commit('ADD_QUESTION_ANSWER', {
question_id: question_id,
answer: {
text: LP_Quiz_Store.getters['i18n/all'].new_option,
question_answer_id: temp_id
}
});
LP.Request({
type: 'new-question-answer',
question_id: question_id,
question_answer_id: temp_id
}).then(function (response) {
var result = response.body;
if (result.success) {
var answer = result.data;
context.commit('ADD_QUESTION_ANSWER', {
question_id: question_id,
answer: answer
});
context.commit('UPDATE_QUESTION_SUCCESS', question_id);
data.success && setTimeout(function () {
data.success.apply(data.context, [answer]);
}, 300);
}
}, function (error) {
context.commit('UPDATE_QUESTION_FAILURE', question_id);
console.error(error);
});
},
updateQuestionContent: function (context, question) {
context.commit('UPDATE_QUESTION_REQUEST', question.id);
LP.Request({
type: 'update-question-content',
question: JSON.stringify(question)
}).then(function () {
context.commit('UPDATE_QUESTION_SUCCESS', question.id);
}).catch(function () {
context.commit('UPDATE_QUESTION_FAILURE', question.id);
});
},
updateQuestionMeta: function (context, payload) {
context.commit('UPDATE_QUESTION_REQUEST', payload.question.id);
LP.Request({
type: 'update-question-meta',
question: JSON.stringify(payload.question),
meta_key: payload.meta_key
}).then(function () {
context.commit('UPDATE_QUESTION_SUCCESS', payload.question.id);
}).catch(function () {
context.commit('UPDATE_QUESTION_FAILURE', payload.question.id);
});
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuestionList);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/actions/quiz.js":
/*!*********************************************************!*\
!*** ./assets/src/apps/js/admin/editor/actions/quiz.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const Quiz = {
heartbeat: function (context) {
LP.Request({
type: 'heartbeat'
}).then(function (response) {
var result = response.body;
context.commit('UPDATE_HEART_BEAT', !!result.success);
}, function (error) {
context.commit('UPDATE_HEART_BEAT', false);
});
},
newRequest: function (context) {
context.commit('INCREASE_NUMBER_REQUEST');
context.commit('UPDATE_STATUS', 'loading');
window.onbeforeunload = function () {
return '';
};
},
requestCompleted: function (context, status) {
context.commit('DECREASE_NUMBER_REQUEST');
if (context.getters.currentRequest === 0) {
context.commit('UPDATE_STATUS', status);
window.onbeforeunload = null;
}
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Quiz);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/fill-in-blanks.js":
/*!***********************************************************!*\
!*** ./assets/src/apps/js/admin/editor/fill-in-blanks.js ***!
\***********************************************************/
/***/ (() => {
(function ($) {
window.FIB = {
getSelectedText: function getSelectedText() {
let html = '';
if (typeof window.getSelection !== 'undefined') {
const sel = window.getSelection();
if (sel.rangeCount) {
const container = document.createElement('div');
for (let i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
} else if (typeof document.selection !== 'undefined') {
if (document.selection.type === 'Text') {
html = document.selection.createRange().htmlText;
}
}
return html;
},
createTextNode(content) {
return document.createTextNode(content);
},
isContainHtml: function isContainHtml(content) {
const $el = $(content),
sel = 'b.fib-blank';
return $el.is(sel) || $el.find(sel).length || $el.parent().is(sel);
},
getSelectionRange: function getSelectionRange() {
let t = '';
if (window.getSelection) {
t = window.getSelection();
} else if (document.getSelection) {
t = document.getSelection();
} else if (document.selection) {
t = document.selection.createRange().text;
}
return t;
},
outerHTML($dom) {
return $('<div>').append($($dom).clone()).html();
},
doUpgrade(callback) {
$.ajax({
url: '',
data: {
'lp-ajax': 'fib-upgrade'
},
success(res) {
console.log(res);
callback && callback.call(res);
}
});
}
};
$(document).ready(function () {
$('#do-upgrade-fib').on('click', function () {
const $button = $(this).prop('disabled', true).addClass('ajaxloading');
FIB.doUpgrade(function () {
$button.prop('disabled', false).removeClass('ajaxloading');
});
});
});
})(jQuery);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/getters/modal-quiz-items.js":
/*!*********************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/getters/modal-quiz-items.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const ModalQuizItems = {
status: function (state) {
return state.status;
},
pagination: function (state) {
return state.pagination;
},
items: function (state, _getters) {
return state.items.map(function (item) {
var find = _getters.addedItems.find(function (_item) {
return item.id === _item.id;
});
item.added = !!find;
return item;
});
},
code: function (state) {
return Date.now();
},
addedItems: function (state) {
return state.addedItems;
},
isOpen: function (state) {
return state.open;
},
quiz: function (state) {
return state.quizId;
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ModalQuizItems);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/getters/question-list.js":
/*!******************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/getters/question-list.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const QuestionList = {
listQuestions: function (state) {
return state.questions || [];
},
questionsOrder: function (state) {
return state.order || [];
},
externalComponent: function (state) {
return state.externalComponent || [];
},
supportAnswerOptions: function (state) {
return state.supportAnswerOptions || [];
},
hiddenQuestionsSettings: function (state) {
return state.hidden_questions_settings || [];
},
hiddenQuestions: function (state) {
return state.questions.filter(function (question) {
return !question.open;
}).map(function (question) {
return parseInt(question.id);
});
},
isHiddenListQuestions: function (state, getters) {
var questions = getters.listQuestions;
var hiddenQuestions = getters.hiddenQuestions;
return questions.length === hiddenQuestions.length;
},
disableUpdateList: function (state) {
return state.disableUpdateList;
},
statusUpdateQuestions: function (state) {
return state.statusUpdateQuestions;
},
statusUpdateQuestionItem: function (state) {
return state.statusUpdateQuestionItem;
},
statusUpdateQuestionAnswer: function (state) {
return state.statusUpdateQuestionAnswer;
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuestionList);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/getters/quiz.js":
/*!*********************************************************!*\
!*** ./assets/src/apps/js/admin/editor/getters/quiz.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const Quiz = {
heartbeat: function (state) {
return state.heartbeat;
},
questionTypes: function (state) {
return state.types;
},
defaultNewQuestionType: function (state) {
return state.default_new;
},
action: function (state) {
return state.action;
},
id: function (state) {
return state.quiz_id;
},
status: function (state) {
return state.status || 'error';
},
currentRequest: function (state) {
return state.countCurrentRequest || 0;
},
nonce: function (state) {
return state.nonce;
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Quiz);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/http.js":
/*!*************************************************!*\
!*** ./assets/src/apps/js/admin/editor/http.js ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ HTTP)
/* harmony export */ });
function HTTP(options) {
const $ = window.jQuery || jQuery;
const $VueHTTP = Vue.http;
options = $.extend({
ns: 'LPRequest',
store: false
}, options || {});
let $publishingAction = null;
LP.Request = function (payload) {
$publishingAction = $('#publishing-action');
payload.id = options.store.getters.id;
payload.nonce = options.store.getters.nonce;
payload['lp-ajax'] = options.store.getters.action;
//payload.code = options.store.getters.code;
$publishingAction.find('#publish').addClass('disabled');
$publishingAction.find('.spinner').addClass('is-active');
$publishingAction.addClass('code-' + payload.code);
return $VueHTTP.post(options.store.getters.urlAjax, payload, {
emulateJSON: true,
params: {
namespace: options.ns,
code: payload.code
}
});
};
$VueHTTP.interceptors.push(function (request, next) {
if (request.params.namespace !== options.ns) {
next();
return;
}
options.store.dispatch('newRequest');
next(function (response) {
if (!jQuery.isPlainObject(response.body)) {
response.body = LP.parseJSON(response.body);
}
const body = response.body;
const result = body.success || false;
if (result) {
options.store.dispatch('requestCompleted', 'successful');
} else {
options.store.dispatch('requestCompleted', 'failed');
}
$publishingAction.removeClass('code-' + request.params.code);
if (!$publishingAction.attr('class')) {
$publishingAction.find('#publish').removeClass('disabled');
$publishingAction.find('.spinner').removeClass('is-active');
}
});
});
}
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/mutations/modal-quiz-items.js":
/*!***********************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/mutations/modal-quiz-items.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const ModalQuizItems = {
TOGGLE: function (state) {
state.open = !state.open;
},
SET_QUIZ: function (state, quizId) {
state.quizId = quizId;
},
SET_LIST_ITEMS: function (state, items) {
state.items = items;
},
ADD_ITEM: function (state, item) {
state.addedItems.push(item);
},
REMOVE_ADDED_ITEM: function (state, item) {
state.addedItems.forEach(function (_item, index) {
if (_item.id === item.id) {
state.addedItems.splice(index, 1);
}
});
},
RESET: function (state) {
state.addedItems = [];
state.items = [];
},
UPDATE_PAGINATION: function (state, pagination) {
state.pagination = pagination;
},
SEARCH_ITEM_REQUEST: function (state) {
state.status = 'loading';
},
SEARCH_ITEM_SUCCESS: function (state) {
state.status = 'successful';
},
SEARCH_ITEM_FAIL: function (state) {
state.status = 'fail';
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ModalQuizItems);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/mutations/question-list.js":
/*!********************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/mutations/question-list.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
var $ = window.jQuery;
const QuestionList = {
SORT_QUESTIONS: function (state, orders) {
state.questions = state.questions.map(function (question) {
question.order = orders[question.id];
return question;
});
},
SORT_QUESTION_ANSWERS: function (state, orders) {
state.questions = state.questions.map(function (question) {
question.answers.answer_order = orders[question.answers.question_answer_id];
return question;
});
},
ADD_QUESTION_ANSWER: function (state, payload) {
state.questions = state.questions.map(function (question) {
if (question.id === payload.question_id) {
var found = false;
if (payload.answer.temp_id) {
for (var i = 0, n = question.answers.length; i < n; i++) {
if (question.answers[i].question_answer_id == payload.answer.temp_id) {
found = true;
$Vue.set(question.answers, i, payload.answer);
}
}
}
!found && question.answers.push(payload.answer);
return question;
}
return question;
});
},
CHANGE_QUESTION_CORRECT_ANSWERS: function (state, data) {
state.questions = state.questions.map(function (question) {
if (parseInt(question.id) === data.id) {
question.answers = data.answers;
}
return question;
});
},
SET_QUESTIONS: function (state, questions) {
state.questions = questions;
},
ADD_NEW_QUESTION: function (state, question) {
var found = false;
if (question.temp_id) {
for (var i = 0, n = state.questions.length; i < n; i++) {
if (state.questions[i].id === question.temp_id) {
$Vue.set(state.questions, i, question);
found = true;
break;
}
}
}
if (!found) {
var _last_child = $('.lp-list-questions .main > div:last-child');
if (_last_child.length) {
var _offset = _last_child.offset().top;
$('html,body').animate({
scrollTop: _offset
});
}
state.questions.push(question);
}
},
CHANGE_QUESTION_TYPE: function (state, data) {
state.questions = state.questions.map(function (question) {
if (parseInt(question.id) === data.id) {
question.answers = data.answers;
question.type = data.type;
question.open = true;
}
return question;
});
},
REMOVE_QUESTION: function (state, item) {
var questions = state.questions,
index = questions.indexOf(item);
if (item.temp_id) {
state.questions[index].id = item.temp_id;
} else {
state.questions.splice(index, 1);
}
},
DELETE_QUESTION_ANSWER: function (state, payload) {
var question_id = payload.question_id,
answer_id = payload.answer_id;
state.questions = state.questions.map(function (question) {
if (question.id === question_id) {
var answers = question.answers;
answers.forEach(function (answer) {
if (answer.question_answer_id === answer_id) {
var index = answers.indexOf(answer);
answers.splice(index, 1);
}
});
}
return question;
});
},
REMOVE_QUESTIONS: function () {
// code
},
CLOSE_QUESTION: function (state, question) {
state.questions.forEach(function (_question, index) {
if (question.id === _question.id) {
state.questions[index].open = false;
}
});
},
OPEN_QUESTION: function (state, question) {
state.questions.forEach(function (_question, index) {
if (question.id === _question.id) {
state.questions[index].open = true;
}
});
},
CLOSE_LIST_QUESTIONS: function (state) {
state.questions = state.questions.map(function (_question) {
_question.open = false;
return _question;
});
},
OPEN_LIST_QUESTIONS: function (state) {
state.questions = state.questions.map(function (_question) {
_question.open = true;
return _question;
});
},
UPDATE_QUESTION_REQUEST: function (state, questionId) {
$Vue.set(state.statusUpdateQuestionItem, questionId, 'updating');
},
UPDATE_QUESTION_SUCCESS: function (state, questionID) {
$Vue.set(state.statusUpdateQuestionItem, questionID, 'successful');
},
UPDATE_QUESTION_FAILURE: function (state, questionID) {
$Vue.set(state.statusUpdateQuestionItem, questionID, 'failed');
},
UPDATE_QUESTION_ANSWER_REQUEST: function (state, question_id) {
$Vue.set(state.statusUpdateQuestionAnswer, question_id, 'updating');
},
UPDATE_QUESTION_ANSWER_SUCCESS: function (state, question_id) {
$Vue.set(state.statusUpdateQuestionAnswer, question_id, 'successful');
},
UPDATE_QUESTION_ANSWER_FAIL: function (state, question_id) {
$Vue.set(state.statusUpdateQuestionAnswer, question_id, 'failed');
},
DELETE_ANSWER: function (state, data) {
state.questions.map(function (question, index) {
if (question.id == data.question_id) {
for (var i = 0, n = question.answers.length; i < n; i++) {
if (question.answers[i].question_answer_id == data.answer_id) {
question.answers[i].question_answer_id = data.temp_id;
//state.questions[index].answers.splice(i, 1);
break;
}
}
return false;
}
});
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuestionList);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/mutations/quiz.js":
/*!***********************************************************!*\
!*** ./assets/src/apps/js/admin/editor/mutations/quiz.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const Quiz = {
UPDATE_HEART_BEAT: function (state, status) {
state.heartbeat = !!status;
},
UPDATE_STATUS: function (state, status) {
state.status = status;
},
UPDATE_NEW_QUESTION_TYPE: function (state, type) {
state.default_new = type;
},
INCREASE_NUMBER_REQUEST: function (state) {
state.countCurrentRequest++;
},
DECREASE_NUMBER_REQUEST: function (state) {
state.countCurrentRequest--;
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Quiz);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/store/i18n.js":
/*!*******************************************************!*\
!*** ./assets/src/apps/js/admin/editor/store/i18n.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const $ = window.jQuery || jQuery;
const i18n = function i18n(i18n) {
const state = $.extend({}, i18n);
const getters = {
all: function (state) {
return state;
}
};
return {
namespaced: true,
state: state,
getters: getters
};
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (i18n);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/store/modal-quiz-items.js":
/*!*******************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/store/modal-quiz-items.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _getters_modal_quiz_items__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getters/modal-quiz-items */ "./assets/src/apps/js/admin/editor/getters/modal-quiz-items.js");
/* harmony import */ var _mutations_modal_quiz_items__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mutations/modal-quiz-items */ "./assets/src/apps/js/admin/editor/mutations/modal-quiz-items.js");
/* harmony import */ var _actions_modal_quiz_items__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../actions/modal-quiz-items */ "./assets/src/apps/js/admin/editor/actions/modal-quiz-items.js");
const $ = window.jQuery || jQuery;
const Quiz = function (data) {
var state = $.extend({
quizId: false,
pagination: '',
status: ''
}, data.chooseItems);
return {
namespaced: true,
state: state,
getters: _getters_modal_quiz_items__WEBPACK_IMPORTED_MODULE_0__["default"],
mutations: _mutations_modal_quiz_items__WEBPACK_IMPORTED_MODULE_1__["default"],
actions: _actions_modal_quiz_items__WEBPACK_IMPORTED_MODULE_2__["default"]
};
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Quiz);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/store/question-list.js":
/*!****************************************************************!*\
!*** ./assets/src/apps/js/admin/editor/store/question-list.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _getters_question_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getters/question-list */ "./assets/src/apps/js/admin/editor/getters/question-list.js");
/* harmony import */ var _mutations_question_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mutations/question-list */ "./assets/src/apps/js/admin/editor/mutations/question-list.js");
/* harmony import */ var _actions_question_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../actions/question-list */ "./assets/src/apps/js/admin/editor/actions/question-list.js");
const $ = window.jQuery || jQuery;
const QuestionList = function QuestionList(data) {
const listQuestions = data.listQuestions;
const state = $.extend({
statusUpdateQuestions: {},
statusUpdateQuestionItem: {},
statusUpdateQuestionAnswer: {},
questions: listQuestions.questions.map(function (question) {
const hiddenQuestions = listQuestions.hidden_questions;
const ArrQuestionIds = Object.keys(hiddenQuestions);
const find = ArrQuestionIds.find(function (questionId) {
return parseInt(question.id) === parseInt(questionId);
});
question.open = !find;
return question;
})
}, listQuestions);
return {
namespaced: true,
state,
getters: _getters_question_list__WEBPACK_IMPORTED_MODULE_0__["default"],
mutations: _mutations_question_list__WEBPACK_IMPORTED_MODULE_1__["default"],
actions: _actions_question_list__WEBPACK_IMPORTED_MODULE_2__["default"]
};
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuestionList);
/***/ }),
/***/ "./assets/src/apps/js/admin/editor/store/quiz.js":
/*!*******************************************************!*\
!*** ./assets/src/apps/js/admin/editor/store/quiz.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _getters_quiz__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getters/quiz */ "./assets/src/apps/js/admin/editor/getters/quiz.js");
/* harmony import */ var _mutations_quiz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mutations/quiz */ "./assets/src/apps/js/admin/editor/mutations/quiz.js");
/* harmony import */ var _actions_quiz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../actions/quiz */ "./assets/src/apps/js/admin/editor/actions/quiz.js");
/* harmony import */ var _store_modal_quiz_items__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../store/modal-quiz-items */ "./assets/src/apps/js/admin/editor/store/modal-quiz-items.js");
/* harmony import */ var _store_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../store/i18n */ "./assets/src/apps/js/admin/editor/store/i18n.js");
/* harmony import */ var _store_question_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../store/question-list */ "./assets/src/apps/js/admin/editor/store/question-list.js");
const $ = window.jQuery || jQuery;
const Quiz = function Quiz(data) {
const state = $.extend({
status: 'success',
heartbeat: true,
countCurrentRequest: 0
}, data.root);
return {
state: state,
getters: _getters_quiz__WEBPACK_IMPORTED_MODULE_0__["default"],
mutations: _mutations_quiz__WEBPACK_IMPORTED_MODULE_1__["default"],
actions: _actions_quiz__WEBPACK_IMPORTED_MODULE_2__["default"],
modules: {
cqi: (0,_store_modal_quiz_items__WEBPACK_IMPORTED_MODULE_3__["default"])(data),
i18n: (0,_store_i18n__WEBPACK_IMPORTED_MODULE_4__["default"])(data.i18n),
lqs: (0,_store_question_list__WEBPACK_IMPORTED_MODULE_5__["default"])(data)
}
};
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Quiz);
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
/*!*************************************************!*\
!*** ./assets/src/apps/js/admin/editor/quiz.js ***!
\*************************************************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _store_quiz__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./store/quiz */ "./assets/src/apps/js/admin/editor/store/quiz.js");
/* harmony import */ var _http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./http */ "./assets/src/apps/js/admin/editor/http.js");
/* harmony import */ var _fill_in_blanks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fill-in-blanks */ "./assets/src/apps/js/admin/editor/fill-in-blanks.js");
/* harmony import */ var _fill_in_blanks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_fill_in_blanks__WEBPACK_IMPORTED_MODULE_2__);
window.$Vue = window.$Vue || Vue;
window.$Vuex = window.$Vuex || Vuex;
/**
* Init app.
*
* @since 3.0.0
*/
window.jQuery(document).ready(function () {
window.LP_Quiz_Store = new $Vuex.Store((0,_store_quiz__WEBPACK_IMPORTED_MODULE_0__["default"])(lp_quiz_editor));
(0,_http__WEBPACK_IMPORTED_MODULE_1__["default"])({
ns: 'LPListQuizQuestionsRequest',
store: LP_Quiz_Store
});
setTimeout(() => {
window.LP_Quiz_Editor = new $Vue({
el: '#admin-editor-lp_quiz',
template: '<lp-quiz-editor></lp-quiz-editor>'
});
}, 100);
});
})();
/******/ })()
;
//# sourceMappingURL=quiz.js.map