14 Commits
1.2.0 ... 1.2.2

Author SHA1 Message Date
FutureX
46c02e2bb3 Version 1.2.2
-
2019-05-22 01:18:34 +03:00
FutureX
b4ea41fd8c Version 1.2.2
Улучшение работы автозаполнения в заданиях с переносом блоков
2019-05-22 01:15:05 +03:00
FutureX
6a9568d46d Version 1.2.2
Небольшие добавления для работы автозаполнения в заданиях с перетаскиванием блоков
2019-05-21 23:29:34 +03:00
FutureX
05db1c175b Version 1.2.2
Исправлена ошибка, изза которой не заполнялись текстовые задания
2019-05-21 22:51:00 +03:00
FutureX
4d121390fe Version 1.2.2
Заполняет некоторые задания, где надо перемещать блоки в линии
2019-05-21 22:40:01 +03:00
FutureX
cf55bea9c1 Version 1.2.1
Небольшое исправление автозаполнения заданий, где надо перемещать нехватающую часть предложения в отведенное место
2018-05-21 20:59:21 +03:00
FutureX
1a7fa8e210 Version 1.2.0
В некоторых случаях не заполнялись ответы для inputBox(текст)
2018-04-25 15:23:46 +03:00
FutureX
bf3ca076ff Update README.md 2018-04-25 14:41:00 +03:00
FutureX
d961d1cf00 Update README.md 2018-04-25 14:39:48 +03:00
FutureX
42977a5b55 Update README.md 2018-04-25 14:39:15 +03:00
FutureX
a0338001b6 Update README.md 2018-04-25 14:35:19 +03:00
FutureX
5f61af3c2c Version 1.2.0
Исправлена ошибка, изза которой неверно отображался статус расширения
2018-04-25 14:29:40 +03:00
FutureX
5850cf5c42 Version 1.2.0
Исправил ошибки заполнения некоторых ответов

Добавил options меню (такое же как и popup)

Версия более менее стабильная
2018-04-25 14:27:37 +03:00
FutureX
44b58955ba Version 1.2.0 2018-04-22 23:13:30 +03:00
6 changed files with 139 additions and 31 deletions

View File

@@ -9,10 +9,11 @@
> * ### [Функционал](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB-1) > * ### [Функционал](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB-1)
> * #### [Меню расширения](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9F%D1%80%D0%B8-%D0%BD%D0%B0%D0%B6%D0%B0%D1%82%D0%B8%D0%B8-%D0%BD%D0%B0-%D0%B8%D0%BA%D0%BE%D0%BD%D0%BA%D1%83-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D1%82%D1%81%D1%8F-%D0%BC%D0%B5%D0%BD%D1%8E-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F) > * #### [Меню расширения](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9F%D1%80%D0%B8-%D0%BD%D0%B0%D0%B6%D0%B0%D1%82%D0%B8%D0%B8-%D0%BD%D0%B0-%D0%B8%D0%BA%D0%BE%D0%BD%D0%BA%D1%83-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D1%82%D1%81%D1%8F-%D0%BC%D0%B5%D0%BD%D1%8E-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F)
> * #### [Возможности](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%A7%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B8%D0%B7-%D1%8D%D1%82%D0%BE%D0%B3%D0%BE-%D0%BC%D0%B5%D0%BD%D1%8E) > * #### [Возможности](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%A7%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B8%D0%B7-%D1%8D%D1%82%D0%BE%D0%B3%D0%BE-%D0%BC%D0%B5%D0%BD%D1%8E)
> * [Автоматический режим](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC---%D0%BF%D1%80%D0%B8-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B-%D1%81-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%BC-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%8B-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8-%D0%BF%D0%BE%D1%8F%D0%B2%D1%8F%D1%82%D1%81%D1%8F) > * [Автопоказ ответов](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC---%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8-%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D1%82%D1%8C%D1%81%D1%8F)
> * [Автоматический режим(beta)](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC---%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8-%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D1%82%D1%8C%D1%81%D1%8F)
> * [Упрощенная страница](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%A3%D0%BF%D1%80%D0%BE%D1%89%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0---%D0%B2%D0%BE-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C) > * [Упрощенная страница](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%A3%D0%BF%D1%80%D0%BE%D1%89%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0---%D0%B2%D0%BE-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C)
> * [Максимальные баллы](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B1%D0%B0%D0%BB%D0%BB%D1%8B---%D0%BF%D1%80%D0%B8-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B5-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2-%D0%B2%D1%81%D0%B5%D0%B3%D0%B4%D0%B0-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9-%D0%B1%D0%B0%D0%BB%D0%BB) > * [Максимальные баллы](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B1%D0%B0%D0%BB%D0%BB%D1%8B---%D0%BF%D1%80%D0%B8-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B5-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2-%D0%B2%D1%81%D0%B5%D0%B3%D0%B4%D0%B0-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9-%D0%B1%D0%B0%D0%BB%D0%BB)
> * #### [Пример работы](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F) > * #### [Пример работы](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D1%80%D0%B8-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%BD%D0%BE%D0%BC-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5-%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B1%D0%B0%D0%BB%D0%BB%D1%8B)
> * ### [Инструкция по установке](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%BF%D0%BE-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5-1) > * ### [Инструкция по установке](https://github.com/FutureXpo/Chrome-Extension-LMS-Answers/blob/master/README.md#%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%BF%D0%BE-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5-1)
*** ***
@@ -20,18 +21,20 @@
## Функционал: ## Функционал:
### При нажатии на иконку расширения появится меню расширения ### При нажатии на иконку расширения появится меню расширения
![Меню расширения](https://image.ibb.co/meGnP7/image.png "Меню расширения") ![Меню расширения](https://image.ibb.co/nJ8Jmx/image.png "Меню расширения")
### Что можно сделать из этого меню? ### Что можно сделать из этого меню?
* #### Можно выбрать режим "Автоматический режим" - при открытии страницы с тестом ответы автоматически появятся * #### Можно выбрать режим "Показывать ответы" - при открытии страницы с тестом ответы автоматически появятся
* Если этого не сделать, то всегда можно нажать на кнопку "Показать ответы" * Если этого не сделать, то всегда можно нажать на кнопку "Показать ответы"
* #### Можно выбрать режим "Автоматический режим" - большая часть тестов будет автоматически заполняться
* Возможны ошибки, но их вероятность мала
* #### Можно выбрать режим "Упрощенная страница" - во время тестов будет отображаться только основная часть * #### Можно выбрать режим "Упрощенная страница" - во время тестов будет отображаться только основная часть
* Основной частью считается само задание и кнопки перехода к предыдущему и следующему заданиям * Основной частью считается само задание и кнопки перехода к предыдущему и следующему заданиям
* #### Можно выбрать режим "Максимальные баллы" - при проверке ответов всегда будет полный балл * #### Можно выбрать режим "Максимальные баллы" - при проверке ответов всегда будет полный балл
* Однако преподаватель будет видеть, что поля для ответов пустые, поэтому лучше не оставлять поля пустыми. * Однако преподаватель будет видеть, что поля для ответов пустые, поэтому лучше не оставлять поля пустыми.
* После включения и выключения надо обновить страницу для того, чтобы расширение начало действовать * После включения и выключения надо обновить страницу для того, чтобы расширение начало действовать
### Пример работы расширения: ### Пример работы расширения при включенном режиме "максимальные баллы":
![Максимальные баллы](https://preview.ibb.co/mxoZ47/image.png) ![Максимальные баллы](https://preview.ibb.co/mxoZ47/image.png)
*** ***

View File

@@ -12,7 +12,7 @@ $(document).ready(function() {
//Если выбрана функция автоматического показа ответов запускается функция заполнения ответов //Если выбрана функция автоматического показа ответов запускается функция заполнения ответов
chrome.storage.sync.get(['auto_mode'], function(items) { chrome.storage.sync.get(['auto_mode'], function(items) {
var choise=items['auto_mode']; var choise=items['auto_mode'];
if(choise == undefined) choise = true; if(choise == undefined) choise = false;
if(choise){ if(choise){
var timerId = setInterval(auto_mode, 2000); var timerId = setInterval(auto_mode, 2000);
setTimeout(function() { setTimeout(function() {
@@ -50,20 +50,24 @@ function auto_mode() {
answers = document.getElementsByClassName('categories')[1]; answers = document.getElementsByClassName('categories')[1];
if(test&&answers) fill_pronunciation(test,answers); if(test&&answers) fill_pronunciation(test,answers);
//text input //text input
test = document.getElementsByTagName('input'); test = document.getElementsByClassName('inputBox');
answers = document.getElementsByTagName('b'); answers = document.getElementsByClassName('correctAnsDiv');
if(test&&answers) fill_input(test,answers); if(test&&answers) fill_input(test,answers);
//editDiv //editDiv
test = document.getElementsByClassName('editableDiv'); test = document.getElementsByClassName('editableDiv');
answers = document.getElementsByClassName('correctAnsDiv'); answers = document.getElementsByClassName('correctAnsDiv');
if(test&&answers) fill_editable(test,answers); if(test&&answers) fill_editable(test,answers);
//moveToken
test = document.getElementsByClassName('moveToken');
answers = document.getElementsByClassName('answerSentClass');
if(test&&answers) fill_sorting(test,answers);
} }
//Заполнить задания, где есть selectBox //Заполнить задания, где есть selectBox
function fill_selectbox(test,answers) { function fill_selectbox(test,answers) {
var test_arr = Array.prototype.slice.call(test); var test_arr = Array.prototype.slice.call(test);
var answers_arr = Array.prototype.slice.call(answers); var answers_arr = Array.prototype.slice.call(answers);
if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) { if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) {
var a = item.innerHTML; var a = item.innerHTML.replace(/(^\s*)|(\s*)$/g, '');;
if(test_arr[i]) if(test_arr[i])
Array.prototype.slice.call(test_arr[i].options).forEach(function(item) { Array.prototype.slice.call(test_arr[i].options).forEach(function(item) {
if(item.value.includes(a)) { if(item.value.includes(a)) {
@@ -77,11 +81,14 @@ function fill_selectbox(test,answers) {
function fill_input(test,answers) { function fill_input(test,answers) {
var test_arr = Array.prototype.slice.call(test); var test_arr = Array.prototype.slice.call(test);
var answers_arr = Array.prototype.slice.call(answers); var answers_arr = Array.prototype.slice.call(answers);
var txt_answers_arr = [];
if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) { if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) {
if(test_arr[i]) txt_answers_arr = push_answer_b(item.getElementsByClassName("showAnswersentenseClass"),txt_answers_arr);
if(test_arr[i].getAttribute("type")!=="radio"){ });
test_arr[i].setAttribute("class","inputBox ng-scope ng-valid ng-dirty"); if(answers_arr&&test_arr)test_arr.forEach(function(item, i) {
test_arr[i].value = item.innerHTML + "-"; if(item.getAttribute("type")!=="radio"&&item.getAttribute("class")!=="inputBox ng-scope ng-valid ng-dirty"){
item.setAttribute("class","inputBox ng-scope ng-valid ng-dirty");
item.value = txt_answers_arr[i]+"-";//.innerHTML + "-";
if(init===0)alert("Не забудьте убрать знак '-' в каждом задании"); if(init===0)alert("Не забудьте убрать знак '-' в каждом задании");
init = 1; init = 1;
} }
@@ -96,8 +103,8 @@ function fill_radio(test,answers) {
var text_answers_arr = Array.prototype.slice.call(answers_arr[i].getElementsByTagName('b')); var text_answers_arr = Array.prototype.slice.call(answers_arr[i].getElementsByTagName('b'));
var answer = ""; var answer = "";
if(text_answers_arr) text_answers_arr.forEach(function(item1) { if(text_answers_arr) text_answers_arr.forEach(function(item1) {
if(item1.innerHTML.search(/[a-zA-Z]/)===-1)answer=answer.substring(0,answer.length-1);
answer+=item1.innerHTML.replace(/(^\s*)|(\s*)$/g, ''); answer+=item1.innerHTML.replace(/(^\s*)|(\s*)$/g, '');
if(!item1.innerHTML.search(/[a-zA-Z]/)===-1)answer=answer.substring(0,answer.length-1)
if(item1.innerHTML!=='-')answer+=' '; if(item1.innerHTML!=='-')answer+=' ';
}); });
answer=answer.replace(/(^\s*)|(\s*)$/g, ''); answer=answer.replace(/(^\s*)|(\s*)$/g, '');
@@ -145,28 +152,49 @@ function fill_pronunciation(test,answers) {
} }
//Заполнить фразы словами //Заполнить фразы словами
function fill_phrases(test,answers) { function fill_phrases(test,answers) {
var test_arr = Array.prototype.slice.call(test);
var answers_arr = Array.prototype.slice.call(answers);
var d = [];
if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) {
Array.prototype.slice.call(item.getElementsByClassName('dndAnswerLineClass')).forEach(function(item) {d.push(item);});;
});
if(d.length>0)answers_arr=d;
var test_choises = document.getElementsByClassName('all-items-container')[0]; var test_choises = document.getElementsByClassName('all-items-container')[0];
var txt_answers_arr = [];
if(test_choises){ if(test_choises){
var text_test_choises = Array.prototype.slice.call(test_choises.getElementsByClassName('ng-binding')); var text_test_choises = Array.prototype.slice.call(test_choises.getElementsByClassName('ng-binding'));
test_choises=test_choises.getElementsByClassName('dragger'); test_choises=test_choises.getElementsByClassName('dragger');
} }
var test_arr = Array.prototype.slice.call(test); if(answers_arr&&test_arr)txt_answers_arr = push_answer_b(answers,txt_answers_arr);
var answers_arr = Array.prototype.slice.call(answers);
if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) { if(answers_arr&&test_arr)answers_arr.forEach(function(item, i) {
var text_answers_arr = Array.prototype.slice.call(answers_arr[i].getElementsByTagName('b')); var lil = 0;
/*var text_answers_arr = Array.prototype.slice.call(answers_arr[i].getElementsByTagName('b'));
var a = ""; var a = "";
if(text_answers_arr) text_answers_arr.forEach(function(item1) {a+=item1.innerHTML}); if(text_answers_arr) text_answers_arr.forEach(function(item1) {
a=a.replace(/(^\s*)|(\s*)$/g, ''); if(item1.innerHTML.search(/[a-zA-Z]/)===-1)a=a.substring(0,a.length-1);
a+=item1.innerHTML.replace(/(^\s*)|(\s*)$/g, '');
if(item1.innerHTML!=='-')a+=' ';
});
a=a.replace(/(^\s*)|(\s*)$/g, '');*/
var a = txt_answers_arr[i];
if(text_test_choises) text_test_choises.forEach(function(item,j) { if(text_test_choises) text_test_choises.forEach(function(item,j) {
if(item.innerHTML === a&&test_choises[j].getAttribute("class")!=="dragger draggable ng-scope ui-draggable cloneDropped opacityDiv") { if(item.innerHTML.includes(a)) {
test_choises[j].setAttribute("class","dragger draggable ng-scope ui-draggable cloneDropped opacityDiv"); var b = item.innerHTML.replace(a, '');
var b = test_choises[j].cloneNode(true); if( b.search(/[a-zA-Z]/) === -1 )
test_arr[i].append(b); if(lil===0&&test_choises[j].getAttribute("class")!=="dragger draggable ng-scope ui-draggable cloneDropped opacityDiv") {
test_arr[i].setAttribute("style",b.getAttribute("style")); test_choises[j].setAttribute("class","dragger draggable ng-scope ui-draggable cloneDropped opacityDiv");
test_arr[i].setAttribute("class","drop-dest droppable-Item all-items-drop dropped-items ui-droppable droppableWhiteBG droppableTransparentBG"); var b = test_choises[j].cloneNode(true);
b.setAttribute("class","dragger draggable ng-scope ui-draggable cloneDropped clone"); test_arr[i].append(b);
b.setAttribute("style",b.getAttribute("style")+"position: relative; left: 0px; top: 0px;"); test_arr[i].setAttribute("style",b.getAttribute("style"));
test_arr[i].setAttribute("class","drop-dest droppable-Item all-items-drop dropped-items ui-droppable droppableWhiteBG droppableTransparentBG");
b.setAttribute("class","dragger draggable ng-scope ui-draggable cloneDropped clone");
b.setAttribute("style",b.getAttribute("style")+"position: relative; left: 0px; top: 0px;");
lil=1;
}
} }
}); });
}); });
} }
@@ -177,14 +205,86 @@ function fill_columns(test) {
if(test_arr[i+test_arr.length/2])if(test_arr[i+test_arr.length/2].checked)item.click(); if(test_arr[i+test_arr.length/2])if(test_arr[i+test_arr.length/2].checked)item.click();
}); });
} }
//Заполнить задания, где надо перемещать
function fill_sorting(test,answers) {
var test_arr = Array.prototype.slice.call(test);
var answers_arr = Array.prototype.slice.call(answers);
if(test_arr&&answers_arr)test_arr.forEach(function(item, i) {
var text_test_choises = Array.prototype.slice.call(item.getElementsByClassName('ng-binding'));
var test_choises = Array.prototype.slice.call(item.getElementsByClassName('sorting_li ng-scope'));
var answer = answers_arr[i].innerHTML.replace(/<[^>]+>/g,'').replace(/(^\s*)|(\s*)$/g, '');
var size = text_test_choises.length;
var a = answer;
var b = "";
while (size > 0){
text_test_choises.forEach(function(item1, i) {
if(item1.innerHTML.toUpperCase().includes(a.toUpperCase())){
size--;
answer=answer.substring(a.length,answer.length).replace(/(^\s*)|(\s*)$/g, '');
a=answer;
b = b + test_choises[i].outerHTML;
}
});
a = a.substring(0,a.length-1);
}
item.innerHTML = b;
});
}
//Заполнить задания, где надо исправить ошибки //Заполнить задания, где надо исправить ошибки
function fill_editable(test,answers) { function fill_editable(test,answers) {
var test_buttons = document.getElementsByClassName('buttonContainer'); var test_buttons = document.getElementsByClassName('buttonContainer');
var test_arr = Array.prototype.slice.call(test); var test_arr = Array.prototype.slice.call(test);
var answers_arr = Array.prototype.slice.call(answers); var answers_arr = Array.prototype.slice.call(answers);
if(test_arr&&answers_arr)test_arr.forEach(function(item, i) { if(test_arr&&answers_arr)test_arr.forEach(function(item, i) {
test_buttons[i].getElementsByTagName('button')[1].click(); test_buttons[i].getElementsByTagName('button')[0].click();
if(!answers_arr[i].innerHTML.includes("No change")) if(!answers_arr[i].innerHTML.includes("No change"))
item.innerHTML=answers_arr[i].innerHTML.replace(/<[^>]+>/g,''); item.innerHTML=answers_arr[i].innerHTML.replace(/<[^>]+>/g,'');
}); });
}
//Найти ответы в строке(для inputBox)
function push_answer_b(answer_arr,answers_arr){
var answers = Array.prototype.slice.call(answer_arr);
if(answers)answers.forEach(function(answers) {
if(answers){
var txt = answers.innerHTML+" ";
var answer = " ";
var mode = 0;
var i = 0;
for(var i=0; i<txt.length;i++) {
var a = txt[i];
switch(mode){
case 0:
if(a === "<"){
var b = txt.substring(i,txt.length);
if(b.startsWith("<b>")){
mode = 2;
answer+=" ";
}
}
break;
case 1:
if(a === "<"){
var b = txt.substring(i,txt.length);
if(b.startsWith("</b>")){
if(answer.endsWith(" .")||answer.endsWith(" ,"))answer=answer.substring(0,answer.length-2)+answer.substring(answer.length-1,answer.length);
mode = 0;
if(!(b.startsWith("</b><b>")||b.startsWith("</b> <b>"))){
answer=answer.replace(/(^\s*)|(\s*)$/g, '');
answers_arr.push(answer);
answer = "";
}
}
}
else answer += a;
break;
case 2:
if(a === ">"){
mode = 1;
}
break;
}
}
}
});
return answers_arr;
} }

View File

@@ -1,4 +1,4 @@
chrome.storage.sync.get(['show_mode','simple_mode','true_mode'], function(items) { chrome.storage.sync.get(['show_mode','simple_mode','true_mode','auto_mode'], function(items) {
var choise=items['show_mode']; var choise=items['show_mode'];
if(choise == undefined) choise = true; if(choise == undefined) choise = true;
if(choise) chrome.browserAction.setBadgeText({text: "on"}); if(choise) chrome.browserAction.setBadgeText({text: "on"});

View File

@@ -1,5 +1,6 @@
{ {
"name": "LMS helper ♥", "name": "LMS helper ♥",
"homepage_url": "https://github.com/FutureXpo/Chrome-Extension-LMS-Answers",
"description": "Easy answers from your heart. Made with love by FutureX", "description": "Easy answers from your heart. Made with love by FutureX",
"icons": { "icons": {
"16": "icons/icon.png", "16": "icons/icon.png",
@@ -13,6 +14,10 @@
"default_icon": "icons/icon.png", "default_icon": "icons/icon.png",
"default_popup": "popup/popup.html" "default_popup": "popup/popup.html"
}, },
"options_ui": {
"page": "popup/popup.html",
"open_in_tab": false
},
"background": { "background": {
"scripts": ["js/background.js", "js/true_mode.js" ] "scripts": ["js/background.js", "js/true_mode.js" ]
}, },

View File

@@ -18,7 +18,7 @@
<div class="button-add style style_1"> <div class="button-add style style_1">
<input id="auto_mode" type="checkbox"> <input id="auto_mode" type="checkbox">
<label for="auto_mode" data-text="Автоматический режим"></label> <label for="auto_mode" data-text="Автоматический режим(β)"></label>
<div class="button-add__icon"></div> <div class="button-add__icon"></div>
</div> </div>

View File

@@ -97,7 +97,7 @@ body {
.style_1 label:before, .style_1 label:after { .style_1 label:before, .style_1 label:after {
content: attr(data-text); content: attr(data-text);
position: absolute; position: absolute;
right: 0.9rem; } right: 0.4rem; }
.style_2 label:before, .style_2 label:after { .style_2 label:before, .style_2 label:after {
content: attr(data-text); content: attr(data-text);
position: absolute; position: absolute;