Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
malakhovks committed Jul 25, 2019
2 parents b817ab5 + 6ef7f6f commit f0c1605
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 297 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
## v0.5.1, 2019-07-25

### 🔴 Виправлення помилок

- Виправлено дерево термінів:
Реалізовано активне дерево термінів, тобто - перехід до вибраного терміну в дереві термінів (відповідне відображення речень з терміном в елементі `#term-tree` та виділення речень з терміном в `sents_from_text`).
- Дрібні виправлення інтерфейсу.
- Видалено невикористовувані `JavaScript`-бібліотеки.

## v0.5.0, 2019-07-25

### 🏭 Нові можливості
- Реалізовано підсвічування речень з вибраним терміном в елементі `#sents_from_text` та `#text-content` з використанням бібліотеки [mark.js](https://markjs.io/)
- Реалізовано підсвічування речень з вибраним терміном в елементі `#sents_from_text` та вибраних термінів в `#text-content` з використанням бібліотеки [mark.js](https://markjs.io/)

### 🔴 Виправлення помилок
- Дрібні виправлення інтерфейсу.
Expand Down
216 changes: 0 additions & 216 deletions static/javascripts/jquery.highlight-within-textarea.js

This file was deleted.

77 changes: 60 additions & 17 deletions static/javascripts/ken-recap.js
Original file line number Diff line number Diff line change
Expand Up @@ -475,12 +475,12 @@ function fetchFileToRecapService() {

function forUploadResultListClickAndEnterPressEvents() {

//clear textArea #textContent
//clear textArea #text-content
$textContent.text('');

var valOfSelectedElementInUploadResultList = termsWithIndexDict[$("#uploadResultList option:selected").text()];

// inserting sentences with selected terms in textArea #textContent
// inserting sentences with selected terms in #text-content
if (Array.isArray(resJSON.termsintext.exporterms.term[valOfSelectedElementInUploadResultList].sentpos)) {
let sentIndex = [];
let sentsForMark = [];
Expand Down Expand Up @@ -521,7 +521,33 @@ function forUploadResultListClickAndEnterPressEvents() {

treeData.push(objForTree); //add structure to array

$termTree.treeview({ data: treeData }); // add array data to bootstrap-treeview and view it on page
$termTree.treeview({ data: treeData,
onNodeSelected: function(event, node) {
// inserting sentences with selected terms in #text-content
//clear textArea #text-content
$textContent.text('');
let selectedTermInTermTree = termsWithIndexDict[node.text];
if (Array.isArray(resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos) == false) {

$textContent.append('<p>' + resJSON.termsintext.sentences.sent[resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.substring(0, resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.indexOf("/")) - 1] + '<p><br>');

mark(resJSON.termsintext.sentences.sent[resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.substring(0, resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.indexOf("/")) - 1]);
}
if (Array.isArray(resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos)) {
let sentIndex = [];
let sentsForMark = [];
for (let elementForUploadResultListDbClickAndEnterPress of resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos) {
if (!sentIndex.includes(parseInt(elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1))) {
$textContent.append('<p>' + resJSON.termsintext.sentences.sent[elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1] + '</p><br>');
sentsForMark.push(resJSON.termsintext.sentences.sent[elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1]);
sentIndex.push(parseInt(elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1));
}
}
mark(sentsForMark);
}
markTerms(node.text);
}
}); // add array data to bootstrap-treeview and view it on page
}

if (resJSON.termsintext.exporterms.term[valOfSelectedElementInUploadResultList].hasOwnProperty('relup')) {
Expand All @@ -543,23 +569,40 @@ function forUploadResultListClickAndEnterPressEvents() {

treeData.push(objForTree); //add structure to array

$termTree.treeview({ data: treeData }); // add array data to bootstrap-treeview and view it on page
$termTree.treeview({ data: treeData,
onNodeSelected: function(event, node) {
// inserting sentences with selected terms in #text-content

//clear textArea #textContent
$textContent.text('');
let selectedTermInTermTree = termsWithIndexDict[node.text];
if (Array.isArray(resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos) == false) {

$textContent.append('<p>' + resJSON.termsintext.sentences.sent[resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.substring(0, resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.indexOf("/")) - 1] + '<p><br>');

mark(resJSON.termsintext.sentences.sent[resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.substring(0, resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos.indexOf("/")) - 1]);
}
if (Array.isArray(resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos)) {
let sentIndex = [];
let sentsForMark = [];
for (let elementForUploadResultListDbClickAndEnterPress of resJSON.termsintext.exporterms.term[selectedTermInTermTree].sentpos) {
if (!sentIndex.includes(parseInt(elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1))) {
$textContent.append('<p>' + resJSON.termsintext.sentences.sent[elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1] + '</p><br>');
sentsForMark.push(resJSON.termsintext.sentences.sent[elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1]);
sentIndex.push(parseInt(elementForUploadResultListDbClickAndEnterPress.substring(0, elementForUploadResultListDbClickAndEnterPress.indexOf("/")) - 1));
}
}
mark(sentsForMark);
}
markTerms(node.text);
}
}); // add array data to bootstrap-treeview and view it on page
}

if (resJSON.termsintext.exporterms.term[valOfSelectedElementInUploadResultList].hasOwnProperty('relup') == false && resJSON.termsintext.exporterms.term[valOfSelectedElementInUploadResultList].hasOwnProperty('reldown') == false) {
$termTree.treeview({});
}

// Highlight-within-textarea
// https://github.com/lonekorean/highlight-within-textarea

/* function onInput(input) {
let term = $("#uploadResultList option:selected").text().replace(/\s?([-])\s?/g,'-');
var regex = new RegExp('\\b(\\w*' + term + '\\w*)\\b', 'gi');
return regex;
}
$textContent.highlightWithinTextarea(onInput); */

markTerms($("#uploadResultList option:selected").text().replace(/\s?([-])\s?/g,'-'));

// visualize noun chunk / term
Expand Down Expand Up @@ -829,8 +872,7 @@ $sortSelect.on('change', function (e) {
});
// Sort terms ---------------------------------------------------------------------------------------------------------

// mark.js

// mark.js ---------------------------------------------------------------------------------------------------------
function mark(text) {
// Determine selected options for mark.js
var options = {
Expand Down Expand Up @@ -867,4 +909,5 @@ function markTerms(term) {
$("#text-content").mark(term, options);
}
});
}
}
// mark.js ---------------------------------------------------------------------------------------------------------
Loading

0 comments on commit f0c1605

Please sign in to comment.