diff --git a/app/static/js/CorpusAnalysis/QueryBuilder.js b/app/static/js/CorpusAnalysis/QueryBuilder.js
index 256dadd2..42dc9968 100644
--- a/app/static/js/CorpusAnalysis/QueryBuilder.js
+++ b/app/static/js/CorpusAnalysis/QueryBuilder.js
@@ -8,31 +8,31 @@ class ConcordanceQueryBuilder {
counter: 0,
yourQueryContent: [],
queryContent:[],
- concordanceQueryBuilder: document.querySelector("#concordance-query-builder"),
- concordanceQueryBuilderButton: document.querySelector("#concordance-query-builder-button"),
- closeQueryBuilder: document.querySelector("#close-query-builder"),
+ concordanceQueryBuilder: document.querySelector('#concordance-query-builder'),
+ concordanceQueryBuilderButton: document.querySelector('#concordance-query-builder-button'),
+ closeQueryBuilder: document.querySelector('#close-query-builder'),
queryBuilderTutorialModal: document.querySelector('#query-builder-tutorial-modal'),
//#region QueryBuilder Elements
positionalAttrButton: document.querySelector('#positional-attr-button'),
positionalAttrArea: document.querySelector('#positional-attr'),
- positionalAttr: document.querySelector("#token-attr"),
+ positionalAttr: document.querySelector('#token-attr'),
structuralAttrButton: document.querySelector('#structural-attr-button'),
- structuralAttrArea: document.querySelector("#structural-attr"),
+ structuralAttrArea: document.querySelector('#structural-attr'),
queryContainer: document.querySelector('#query-container'),
- buttonPreparer: document.querySelector("#button-preparer"),
- yourQuery: document.querySelector("#your-query"),
- insertQueryButton: document.querySelector("#insert-query-button"),
+ buttonPreparer: document.querySelector('#button-preparer'),
+ yourQuery: document.querySelector('#your-query'),
+ insertQueryButton: document.querySelector('#insert-query-button'),
queryPreview: document.querySelector('#query-preview'),
- tokenQuery: document.querySelector("#token-query"),
- tokenBuilderContent: document.querySelector("#token-builder-content"),
- tokenSubmitButton: document.querySelector("#token-submit"),
+ tokenQuery: document.querySelector('#token-query'),
+ tokenBuilderContent: document.querySelector('#token-builder-content'),
+ tokenSubmitButton: document.querySelector('#token-submit'),
extFormQuery: document.querySelector('#concordance-extension-form-query'),
- dropButton: "",
+ dropButton: '',
queryBuilderTutorialInfoIcon: document.querySelector('#query-builder-tutorial-info-icon'),
- tokenTutorialInfoIcon: document.querySelector("#token-tutorial-info-icon"),
+ tokenTutorialInfoIcon: document.querySelector('#token-tutorial-info-icon'),
editTokenTutorialInfoIcon: document.querySelector('#edit-options-tutorial-info-icon'),
structuralAttributeTutorialInfoIcon: document.querySelector('#add-structural-attribute-tutorial-info-icon'),
generalOptionsQueryBuilderTutorialInfoIcon: document.querySelector('#general-options-query-builder-tutorial-info-icon'),
@@ -42,73 +42,73 @@ class ConcordanceQueryBuilder {
//#region Strucutral Attributes
- sentence:document.querySelector("#sentence"),
- entity: document.querySelector("#entity"),
- textAnnotation: document.querySelector("#text-annotation"),
+ sentence:document.querySelector('#sentence'),
+ entity: document.querySelector('#entity'),
+ textAnnotation: document.querySelector('#text-annotation'),
- entityBuilder: document.querySelector("#entity-builder"),
- englishEntType: document.querySelector("#english-ent-type"),
- germanEntType: document.querySelector("#german-ent-type"),
- emptyEntity: document.querySelector("#empty-entity"),
+ entityBuilder: document.querySelector('#entity-builder'),
+ englishEntType: document.querySelector('#english-ent-type'),
+ germanEntType: document.querySelector('#german-ent-type'),
+ emptyEntity: document.querySelector('#empty-entity'),
entityAnyType: false,
- textAnnotationBuilder: document.querySelector("#text-annotation-builder"),
- textAnnotationOptions: document.querySelector("#text-annotation-options"),
- textAnnotationInput: document.querySelector("#text-annotation-input"),
- textAnnotationSubmit: document.querySelector("#text-annotation-submit"),
+ textAnnotationBuilder: document.querySelector('#text-annotation-builder'),
+ textAnnotationOptions: document.querySelector('#text-annotation-options'),
+ textAnnotationInput: document.querySelector('#text-annotation-input'),
+ textAnnotationSubmit: document.querySelector('#text-annotation-submit'),
noValueMetadataMessage: document.querySelector('#no-value-metadata-message'),
//#endregion Structural Attributes
//#region Token Attributes
tokenQueryFilled: false,
- lemma: document.querySelector("#lemma"),
- emptyToken: document.querySelector("#empty-token"),
- word: document.querySelector("#word"),
- lemma: document.querySelector("#lemma"),
- pos: document.querySelector("#pos"),
- simplePosButton: document.querySelector("#simple-pos-button"),
- incidenceModifiers: document.querySelector("[data-target='incidence-modifiers']"),
- or: document.querySelector("#or"),
- and: document.querySelector("#and"),
+ lemma: document.querySelector('#lemma'),
+ emptyToken: document.querySelector('#empty-token'),
+ word: document.querySelector('#word'),
+ lemma: document.querySelector('#lemma'),
+ pos: document.querySelector('#pos'),
+ simplePosButton: document.querySelector('#simple-pos-button'),
+ incidenceModifiers: document.querySelector('[data-target="incidence-modifiers"]'),
+ or: document.querySelector('#or'),
+ and: document.querySelector('#and'),
//#region Word and Lemma Elements
- wordBuilder: document.querySelector("#word-builder"),
- lemmaBuilder: document.querySelector("#lemma-builder"),
- inputOptions: document.querySelector("#input-options"),
- incidenceModifiersButton: document.querySelector("#incidence-modifiers-button"),
+ wordBuilder: document.querySelector('#word-builder'),
+ lemmaBuilder: document.querySelector('#lemma-builder'),
+ inputOptions: document.querySelector('#input-options'),
+ incidenceModifiersButton: document.querySelector('#incidence-modifiers-button'),
conditionContainer: document.querySelector('#condition-container'),
- wordInput: document.querySelector("#word-input"),
- lemmaInput: document.querySelector("#lemma-input"),
- ignoreCaseCheckbox : document.querySelector("#ignore-case-checkbox"),
- ignoreCase: document.querySelector("input[type='checkbox']"),
- wildcardChar: document.querySelector("#wildcard-char"),
- optionGroup: document.querySelector("#option-group"),
+ wordInput: document.querySelector('#word-input'),
+ lemmaInput: document.querySelector('#lemma-input'),
+ ignoreCaseCheckbox : document.querySelector('#ignore-case-checkbox'),
+ ignoreCase: document.querySelector('input[type="checkbox"]'),
+ wildcardChar: document.querySelector('#wildcard-char'),
+ optionGroup: document.querySelector('#option-group'),
//#endregion Word and Lemma Elements
//#region posBuilder Elements
- englishPosBuilder: document.querySelector("#english-pos-builder"),
- englishPos: document.querySelector("#english-pos"),
- germanPosBuilder: document.querySelector("#german-pos-builder"),
- germanPos: document.querySelector("#german-pos"),
+ englishPosBuilder: document.querySelector('#english-pos-builder'),
+ englishPos: document.querySelector('#english-pos'),
+ germanPosBuilder: document.querySelector('#german-pos-builder'),
+ germanPos: document.querySelector('#german-pos'),
//#endregion posBuilder Elements
//#region simple_posBuilder Elements
- simplePosBuilder: document.querySelector("#simplepos-builder"),
- simplePos: document.querySelector("#simple-pos"),
+ simplePosBuilder: document.querySelector('#simplepos-builder'),
+ simplePos: document.querySelector('#simple-pos'),
//#endregion simple_posBuilder Elements
//#region incidence modifiers
- oneOrMore: document.querySelector("#one-or-more"),
- zeroOrMore: document.querySelector("#zero-or-more"),
- zeroOrOne: document.querySelector("#zero-or-one"),
- exactlyN: document.querySelector("#exactlyN"),
- betweenNM: document.querySelector("#betweenNM"),
- nInput: document.querySelector("#n-input"),
- nSubmit: document.querySelector("#n-submit"),
- nmInput: document.querySelector("#n-m-input"),
- mInput: document.querySelector("#m-input"),
- nmSubmit: document.querySelector("#n-m-submit"),
+ oneOrMore: document.querySelector('#one-or-more'),
+ zeroOrMore: document.querySelector('#zero-or-more'),
+ zeroOrOne: document.querySelector('#zero-or-one'),
+ exactlyN: document.querySelector('#exactlyN'),
+ betweenNM: document.querySelector('#betweenNM'),
+ nInput: document.querySelector('#n-input'),
+ nSubmit: document.querySelector('#n-submit'),
+ nmInput: document.querySelector('#n-m-input'),
+ mInput: document.querySelector('#m-input'),
+ nmSubmit: document.querySelector('#n-m-submit'),
//#endregion incidence modifiers
cancelBool: false,
@@ -116,68 +116,74 @@ class ConcordanceQueryBuilder {
//#endregion Token Attributes
}
- this.elements.closeQueryBuilder.addEventListener("click", () => {this.closeQueryBuilderModal(this.elements.concordanceQueryBuilder);});
- this.elements.concordanceQueryBuilderButton.addEventListener("click", () => {this.clearAll();});
- this.elements.insertQueryButton.addEventListener("click", () => {this.insertQuery();});
- this.elements.positionalAttrButton.addEventListener("click", () => {this.showPositionalAttrArea();});
- this.elements.structuralAttrButton.addEventListener("click", () => {this.showStructuralAttrArea();});
+ this.elements.closeQueryBuilder.addEventListener('click', () => {this.closeQueryBuilderModal(this.elements.concordanceQueryBuilder);});
+ this.elements.concordanceQueryBuilderButton.addEventListener('click', () => {this.clearAll();});
+ this.elements.insertQueryButton.addEventListener('click', () => {this.insertQuery();});
+ this.elements.positionalAttrButton.addEventListener('click', () => {this.showPositionalAttrArea();});
+ this.elements.structuralAttrButton.addEventListener('click', () => {this.showStructuralAttrArea();});
//#region Structural Attribute Event Listeners
- this.elements.sentence.addEventListener("click", () => {this.addSentence();});
- this.elements.entity.addEventListener("click", () => {this.addEntity();});
- this.elements.textAnnotation.addEventListener("click", () => {this.addTextAnnotation();});
+ this.elements.sentence.addEventListener('click', () => {this.addSentence();});
+ this.elements.entity.addEventListener('click', () => {this.addEntity();});
+ this.elements.textAnnotation.addEventListener('click', () => {this.addTextAnnotation();});
- this.elements.englishEntType.addEventListener("change", () => {this.englishEntTypeHandler();});
- this.elements.germanEntType.addEventListener("change", () => {this.germanEntTypeHandler();});
- this.elements.emptyEntity.addEventListener("click", () => {this.emptyEntityButton();});
+ this.elements.englishEntType.addEventListener('change', () => {this.englishEntTypeHandler();});
+ this.elements.germanEntType.addEventListener('change', () => {this.germanEntTypeHandler();});
+ this.elements.emptyEntity.addEventListener('click', () => {this.emptyEntityButton();});
- this.elements.textAnnotationSubmit.addEventListener("click", () => {this.textAnnotationSubmitHandler();});
+ this.elements.textAnnotationSubmit.addEventListener('click', () => {this.textAnnotationSubmitHandler();});
//#endregion
//#region Token Attribute Event Listeners
- this.elements.queryBuilderTutorialInfoIcon.addEventListener("click", () => {this.tutorialIconHandler('#query-builder-tutorial-start');});
- this.elements.tokenTutorialInfoIcon.addEventListener("click", () => {this.tutorialIconHandler('#add-new-token-tutorial');});
- this.elements.editTokenTutorialInfoIcon.addEventListener("click", () => {this.tutorialIconHandler('#edit-options-tutorial');});
- this.elements.structuralAttributeTutorialInfoIcon.addEventListener("click", () => {this.tutorialIconHandler('#add-structural-attribute-tutorial');});
- this.elements.generalOptionsQueryBuilderTutorialInfoIcon.addEventListener("click", () => {this.tutorialIconHandler('#general-options-query-builder');});
+ this.elements.queryBuilderTutorialInfoIcon.addEventListener('click', () => {this.tutorialIconHandler('#query-builder-tutorial-start');});
+ this.elements.tokenTutorialInfoIcon.addEventListener('click', () => {this.tutorialIconHandler('#add-new-token-tutorial');});
+ this.elements.editTokenTutorialInfoIcon.addEventListener('click', () => {this.tutorialIconHandler('#edit-options-tutorial');});
+ this.elements.structuralAttributeTutorialInfoIcon.addEventListener('click', () => {this.tutorialIconHandler('#add-structural-attribute-tutorial');});
+ this.elements.generalOptionsQueryBuilderTutorialInfoIcon.addEventListener('click', () => {this.tutorialIconHandler('#general-options-query-builder');});
- this.elements.positionalAttr.addEventListener("change", () => {this.tokenTypeSelector();});
- this.elements.tokenSubmitButton.addEventListener("click", () => {this.addToken();});
+ this.elements.positionalAttr.addEventListener('change', () => {this.tokenTypeSelector();});
+ this.elements.tokenSubmitButton.addEventListener('click', () => {this.addToken();});
- this.elements.ignoreCase.addEventListener("change", () => {this.inputOptionHandler(this.elements.ignoreCase);});
- this.elements.wildcardChar.addEventListener("click", () => {this.inputOptionHandler(this.elements.wildcardChar);});
- this.elements.optionGroup.addEventListener("click", () => {this.inputOptionHandler(this.elements.optionGroup);});
+ this.elements.ignoreCase.addEventListener('change', () => {this.inputOptionHandler(this.elements.ignoreCase);});
+ this.elements.wildcardChar.addEventListener('click', () => {this.inputOptionHandler(this.elements.wildcardChar);});
+ this.elements.optionGroup.addEventListener('click', () => {this.inputOptionHandler(this.elements.optionGroup);});
- this.elements.oneOrMore.addEventListener("click", () => {this.incidenceModifiersHandler(this.elements.oneOrMore);});
- this.elements.zeroOrMore.addEventListener("click", () => {this.incidenceModifiersHandler(this.elements.zeroOrMore);});
- this.elements.zeroOrOne.addEventListener("click", () => {this.incidenceModifiersHandler(this.elements.zeroOrOne);});
- this.elements.nSubmit.addEventListener("click", () => {this.nSubmitHandler();});
- this.elements.nmSubmit.addEventListener("click", () => {this.nmSubmitHandler();});
+ this.elements.oneOrMore.addEventListener('click', () => {this.incidenceModifiersHandler(this.elements.oneOrMore);});
+ this.elements.zeroOrMore.addEventListener('click', () => {this.incidenceModifiersHandler(this.elements.zeroOrMore);});
+ this.elements.zeroOrOne.addEventListener('click', () => {this.incidenceModifiersHandler(this.elements.zeroOrOne);});
+ this.elements.nSubmit.addEventListener('click', () => {this.nSubmitHandler();});
+ this.elements.nmSubmit.addEventListener('click', () => {this.nmSubmitHandler();});
- this.elements.or.addEventListener("click", () => {this.orHandler();});
- this.elements.and.addEventListener("click", () => {this.andHandler();});
+ this.elements.or.addEventListener('click', () => {this.orHandler();});
+ this.elements.and.addEventListener('click', () => {this.andHandler();});
//#endregion Token Attribute Event Listeners
}
+
+
+ // ##########################################################################
+ // #################### General Functions ###################################
+ // ##########################################################################
+
//#region General Functions
- closeQueryBuilderModal(closeInstance){
+ closeQueryBuilderModal(closeInstance) {
let instance = M.Modal.getInstance(closeInstance);
instance.close();
}
- showPositionalAttrArea(){
+ showPositionalAttrArea() {
this.elements.positionalAttrArea.classList.remove('hide');
- this.elements.wordBuilder.classList.remove("hide");
- this.elements.inputOptions.classList.remove("hide");
+ this.elements.wordBuilder.classList.remove('hide');
+ this.elements.inputOptions.classList.remove('hide');
this.elements.incidenceModifiersButton.classList.remove('hide');
- this.elements.conditionContainer.classList.remove("hide");
- this.elements.ignoreCaseCheckbox.classList.remove("hide");
+ this.elements.conditionContainer.classList.remove('hide');
+ this.elements.ignoreCaseCheckbox.classList.remove('hide');
this.elements.structuralAttrArea.classList.add('hide');
this.elements.lemmaBuilder.classList.add('hide');
this.elements.englishPosBuilder.classList.add('hide');
@@ -186,70 +192,70 @@ class ConcordanceQueryBuilder {
this.elements.tokenQueryFilled = false;
- window.location.href = "#token-builder-content";
+ window.location.href = '#token-builder-content';
// Resets materialize select field to default value
let SelectInstance = M.FormSelect.getInstance(this.elements.positionalAttr);
- SelectInstance.input.value = "word";
- this.elements.positionalAttr.value = "word";
+ SelectInstance.input.value = 'word';
+ this.elements.positionalAttr.value = 'word';
}
- showStructuralAttrArea(){
+ showStructuralAttrArea() {
this.elements.positionalAttrArea.classList.add('hide');
this.elements.structuralAttrArea.classList.remove('hide');
}
buttonfactory(dataType, prettyText, queryText) {
- window.location.href = "#query-container";
+ window.location.href = '#query-container';
this.elements.counter += 1;
queryText = encodeURI(queryText);
let chipColor = 'style="background-color:#';
// Sets chip color, depending on the type of element
- if (dataType === 'start-sentence' || dataType === 'end-sentence'){
+ if (dataType === 'start-sentence' || dataType === 'end-sentence') {
chipColor += 'FD9720';
- }else if (dataType === "start-empty-entity" || dataType === "start-entity" || dataType === "end-entity"){
+ } else if (dataType === 'start-empty-entity' || dataType === 'start-entity' || dataType === 'end-entity') {
chipColor += 'A6E22D';
- }else if (dataType === "text-annotation"){
+ } else if (dataType === 'text-annotation') {
chipColor += '2FBBAB';
- }else if (dataType === "token"){
+ } else if (dataType === 'token') {
chipColor += '28B3D1';
- }else {
+ } else {
chipColor = '';
}
- // Creates a chip with the previously selected element. Is first created in the "BuilderElement" and populated with an EventListener, then moved to "yourQuery".
+ // Creates a chip with the previously selected element. Is first created in the 'BuilderElement' and populated with an EventListener, then moved to 'yourQuery'.
let builderElement = document.createElement('div');
builderElement.innerHTML +=`
-
+
${prettyText}
- close
+ close
`.trim();
let buttonElement = builderElement.firstElementChild;
- buttonElement.addEventListener("click", () => {this.deleteAttr(buttonElement);});
+ buttonElement.addEventListener('click', () => {this.deleteAttr(buttonElement);});
// Ensures that metadata is always at the end of the query:
- if(this.elements.yourQuery.lastChild === null || this.elements.yourQuery.lastChild.dataset.type !== "text-annotation"){
+ if (this.elements.yourQuery.lastChild === null || this.elements.yourQuery.lastChild.dataset.type !== 'text-annotation') {
this.elements.yourQuery.appendChild(buttonElement);
- }else if (this.elements.yourQuery.lastChild.dataset.type === "text-annotation"){
+ } else if (this.elements.yourQuery.lastChild.dataset.type === 'text-annotation') {
this.elements.yourQuery.insertBefore(buttonElement, this.elements.yourQuery.lastChild);
}
- this.elements.queryContainer.classList.remove("hide");
+ this.elements.queryContainer.classList.remove('hide');
this.queryPreviewBuilder();
// Opens a hint about the possible functions for editing the query when the first chip is added. It is displayed for 5 seconds and then deleted.
- if (this.elements.yourQuery.classList.contains("tooltipped")){
+ if (this.elements.yourQuery.classList.contains('tooltipped')) {
let tooltipInstance = M.Tooltip.getInstance(this.elements.yourQuery);
- tooltipInstance.tooltipEl.style.background = "#98ACD2";
- tooltipInstance.tooltipEl.style.borderTop = "solid 4px #0064A3"
- tooltipInstance.tooltipEl.style.padding = "10px";
- tooltipInstance.tooltipEl.style.color = "black";
+ tooltipInstance.tooltipEl.style.background = '#98ACD2';
+ tooltipInstance.tooltipEl.style.borderTop = 'solid 4px #0064A3'
+ tooltipInstance.tooltipEl.style.padding = '10px';
+ tooltipInstance.tooltipEl.style.color = 'black';
- if (tooltipInstance !== undefined){
+ if (tooltipInstance !== undefined) {
setTimeout(() => {
tooltipInstance.open();
setTimeout(() => {
@@ -257,65 +263,65 @@ class ConcordanceQueryBuilder {
}, 5000);
}, 500);
}
- this.elements.yourQuery.classList.remove("tooltipped");
+ this.elements.yourQuery.classList.remove('tooltipped');
}
}
- //#region Drag&Drop Events
- dragStartHandler(event){
+ //#region Drag&Drop Events
+ dragStartHandler(event) {
this.elements.dropButton = event.target;
let targetChip = `
-
- Drop here
-
+
+ Drop here
+
`.trim();
- let childNodes = this.elements.yourQuery.querySelectorAll("div:not(.target)");
+ let childNodes = this.elements.yourQuery.querySelectorAll('div:not(.target)');
setTimeout(() => {
- for (let element of childNodes){
- if(element === event.target){
+ for (let element of childNodes) {
+ if (element === event.target) {
continue;
- }else if (element === event.target.nextSibling){
+ } else if (element === event.target.nextSibling) {
continue;
- }else {
- element.insertAdjacentHTML("beforebegin", targetChip)
+ } else {
+ element.insertAdjacentHTML('beforebegin', targetChip)
}
}
- childNodes[childNodes.length-1].insertAdjacentHTML("afterend", targetChip);
+ childNodes[childNodes.length-1].insertAdjacentHTML('afterend', targetChip);
},0);
}
- dragOverHandler(event){
+ dragOverHandler(event) {
event.preventDefault();
}
- dragEnterHandler(event){
+ dragEnterHandler(event) {
event.preventDefault();
- event.target.style.borderStyle = "solid dotted";
+ event.target.style.borderStyle = 'solid dotted';
}
- dragLeaveHandler(event){
+ dragLeaveHandler(event) {
event.preventDefault();
- event.target.style.borderStyle = "hidden";
+ event.target.style.borderStyle = 'hidden';
}
- dragEndHandler(event){
+ dragEndHandler(event) {
let targets = document.querySelectorAll('.target');
- for (let target of targets){
+ for (let target of targets) {
target.remove();
}
}
- dropHandler(event){
+ dropHandler(event) {
let dropzone = event.target;
- for (let i = 0; i < dropzone.parentElement.childNodes.length; i++){
- if (dropzone === dropzone.parentElement.childNodes[i]){
+ for (let i = 0; i < dropzone.parentElement.childNodes.length; i++) {
+ if (dropzone === dropzone.parentElement.childNodes[i]) {
nodeIndex = i;
}
}
- for (let i = 0; i < dropzone.parentElement.childNodes.length; i++){
- if (this.elements.dropButton === dropzone.parentElement.childNodes[i]){
+ for (let i = 0; i < dropzone.parentElement.childNodes.length; i++) {
+ if (this.elements.dropButton === dropzone.parentElement.childNodes[i]) {
draggedElementIndex = i;
}
}
@@ -325,24 +331,24 @@ class ConcordanceQueryBuilder {
}
//#endregion Drag&Drop Events
- queryPreviewBuilder(){
+ queryPreviewBuilder() {
this.elements.yourQueryContent = [];
for (let element of this.elements.yourQuery.childNodes) {
let queryElement = decodeURI(element.dataset.query);
- if (queryElement.includes("<")){
- queryElement = queryElement.replace("<", "<");
+ if (queryElement.includes('<')) {
+ queryElement = queryElement.replace('<', '<');
}
- if (queryElement.includes(">")){
- queryElement = queryElement.replace(">", ">");
+ if (queryElement.includes('>')) {
+ queryElement = queryElement.replace('>', '>');
}
- if (queryElement !== "undefined") {
+ if (queryElement !== 'undefined') {
this.elements.yourQueryContent.push(queryElement);
}
}
let queryString = this.elements.yourQueryContent.join(' ');
- queryString += ";";
+ queryString += ';';
this.elements.queryPreview.innerHTML = queryString;
}
@@ -351,8 +357,8 @@ class ConcordanceQueryBuilder {
this.elements.yourQuery.removeChild(attr);
this.elements.counter -= 1;
- if(this.elements.counter === 0){
- this.elements.queryContainer.classList.add("hide");
+ if (this.elements.counter === 0) {
+ this.elements.queryContainer.classList.add('hide');
}
this.queryPreviewBuilder();
@@ -362,22 +368,21 @@ class ConcordanceQueryBuilder {
this.elements.yourQueryContent = [];
for (let element of this.elements.yourQuery.childNodes) {
- let queryElement = decodeURI(element.dataset.query);
- if (queryElement !== "undefined"){
- this.elements.yourQueryContent.push(queryElement);
- }
+ let queryElement = decodeURI(element.dataset.query);
+ if (queryElement !== 'undefined') {
+ this.elements.yourQueryContent.push(queryElement);
+ }
}
let queryString = this.elements.yourQueryContent.join(' ');
- queryString += ";";
+ queryString += ';';
this.elements.concordanceQueryBuilder.classList.add('modal-close');
this.elements.extFormQuery.value = queryString;
-
}
clearAll() {
- // Everything is reset. After 5 seconds for 5 seconds (with "instance"), a message is displayed indicating that further information can be obtained via the question mark icon
+ // Everything is reset. After 5 seconds for 5 seconds (with 'instance'), a message is displayed indicating that further information can be obtained via the question mark icon
let instance = M.Tooltip.getInstance(this.elements.queryBuilderTutorialInfoIcon);
this.hideEverything();
@@ -411,28 +416,35 @@ class ConcordanceQueryBuilder {
//#endregion General Functions
+
+
+
+ // ##########################################################################
+ // ############## Token Attribute Builder Functions #########################
+ // ##########################################################################
+
//#region Token Attribute Builder Functions
//#region General functions of the Token Builder
tokenTypeSelector() {
this.hideEverything();
switch (this.elements.positionalAttr.value) {
- case "word":
+ case 'word':
this.wordBuilder();
break;
- case "lemma":
+ case 'lemma':
this.lemmaBuilder();
break;
- case "english-pos":
+ case 'english-pos':
this.englishPosHandler();
break;
- case "german-pos":
+ case 'german-pos':
this.germanPosHandler();
break;
- case "simple-pos-button":
+ case 'simple-pos-button':
this.simplePosBuilder();
break;
- case "empty-token":
+ case 'empty-token':
this.emptyTokenHandler();
break;
default:
@@ -441,19 +453,19 @@ class ConcordanceQueryBuilder {
}
}
- hideEverything(){
+ hideEverything() {
- this.elements.wordBuilder.classList.add("hide");
- this.elements.lemmaBuilder.classList.add("hide");
- this.elements.ignoreCaseCheckbox.classList.add("hide");
- this.elements.inputOptions.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
- this.elements.conditionContainer.classList.add("hide");
- this.elements.englishPosBuilder.classList.add("hide");
- this.elements.germanPosBuilder.classList.add("hide");
- this.elements.simplePosBuilder.classList.add("hide");
- this.elements.entityBuilder.classList.add("hide");
- this.elements.textAnnotationBuilder.classList.add("hide");
+ this.elements.wordBuilder.classList.add('hide');
+ this.elements.lemmaBuilder.classList.add('hide');
+ this.elements.ignoreCaseCheckbox.classList.add('hide');
+ this.elements.inputOptions.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
+ this.elements.conditionContainer.classList.add('hide');
+ this.elements.englishPosBuilder.classList.add('hide');
+ this.elements.germanPosBuilder.classList.add('hide');
+ this.elements.simplePosBuilder.classList.add('hide');
+ this.elements.entityBuilder.classList.add('hide');
+ this.elements.textAnnotationBuilder.classList.add('hide');
}
@@ -463,20 +475,16 @@ class ConcordanceQueryBuilder {
let buttonElement;
builderElement = document.createElement('div');
builderElement.innerHTML = `
-
+
${prettyText}
- close
+ close
`;
buttonElement = builderElement.firstElementChild;
- buttonElement.addEventListener("click", () => {this.deleteTokenAttr(buttonElement);});
+ buttonElement.addEventListener('click', () => {this.deleteTokenAttr(buttonElement);});
this.elements.tokenQuery.appendChild(buttonElement);
}
- deleteTokenAttr(attr){
- // let tokenQuery = this.elements.tokenQuery.childNodes;
- // console.log(tokenQuery);
- // console.log(this.elements.tokenQuery);
- console.log(this.elements.tokenQuery.childNodes.length);
+ deleteTokenAttr(attr) {
if (this.elements.tokenQuery.childNodes.length < 2) {
this.elements.tokenQuery.removeChild(attr);
this.wordBuilder();
@@ -488,70 +496,70 @@ class ConcordanceQueryBuilder {
addToken() {
let c;
- let tokenQueryContent = ""; //for ButtonFactory(prettyText)
- let tokenQueryText = ""; //for ButtonFactory(queryText)
+ let tokenQueryContent = ''; //for ButtonFactory(prettyText)
+ let tokenQueryText = ''; //for ButtonFactory(queryText)
this.elements.cancelBool = false;
let emptyTokenCheck = false;
- if (this.elements.ignoreCase.checked){
+ if (this.elements.ignoreCase.checked) {
c = ' %c';
- }else{
+ } else {
c = '';
}
- for (let element of this.elements.tokenQuery.childNodes){
+ for (let element of this.elements.tokenQuery.childNodes) {
tokenQueryContent += ' ' + element.firstChild.data + ' ';
tokenQueryText += decodeURI(element.dataset.tokentext);
- if (element.innerText.indexOf("empty token") !== -1){
+ if (element.innerText.indexOf('empty token') !== -1) {
emptyTokenCheck = true;
}
}
- if (this.elements.tokenQueryFilled === false){
+ if (this.elements.tokenQueryFilled === false) {
switch (this.elements.positionalAttr.value) {
- case "word":
- if (this.elements.wordInput.value === "") {
+ case 'word':
+ if (this.elements.wordInput.value === '') {
this.disableTokenSubmit();
} else {
tokenQueryContent += `word=${this.elements.wordInput.value}${c}`;
- tokenQueryText += `word="${this.elements.wordInput.value}"${c}`;
+ tokenQueryText += `word='${this.elements.wordInput.value}'${c}`;
this.elements.wordInput.value = '';
}
break;
- case "lemma":
- if (this.elements.lemmaInput.value === "") {
+ case 'lemma':
+ if (this.elements.lemmaInput.value === '') {
this.disableTokenSubmit();
} else {
tokenQueryContent += `lemma=${this.elements.lemmaInput.value}${c}`;
- tokenQueryText += `lemma="${this.elements.lemmaInput.value}"${c}`;
+ tokenQueryText += `lemma='${this.elements.lemmaInput.value}'${c}`;
this.elements.lemmaInput.value = '';
}
break;
- case "english-pos":
- if (this.elements.englishPos.value === "default") {
+ case 'english-pos':
+ if (this.elements.englishPos.value === 'default') {
this.disableTokenSubmit();
} else {
tokenQueryContent += `pos=${this.elements.englishPos.value}`;
- tokenQueryText += `pos="${this.elements.englishPos.value}"`;
+ tokenQueryText += `pos='${this.elements.englishPos.value}'`;
this.elements.englishPos.value = '';
}
break;
- case "german-pos":
- if (this.elements.germanPos.value === "default") {
+ case 'german-pos':
+ if (this.elements.germanPos.value === 'default') {
this.disableTokenSubmit();
} else {
tokenQueryContent += `pos=${this.elements.germanPos.value}`;
- tokenQueryText += `pos="${this.elements.germanPos.value}"`;
+ tokenQueryText += `pos='${this.elements.germanPos.value}'`;
this.elements.germanPos.value = '';
}
break;
- case "simple-pos-button":
- if (this.elements.simplePos.value === "default") {
+ case 'simple-pos-button':
+ if (this.elements.simplePos.value === 'default') {
this.disableTokenSubmit();
} else {
tokenQueryContent += `simple_pos=${this.elements.simplePos.value}`;
- tokenQueryText += `simple_pos="${this.elements.simplePos.value}"`;
+ tokenQueryText += `simple_pos='${this.elements.simplePos.value}'`;
this.elements.simplePos.value = '';
}
break;
@@ -562,7 +570,7 @@ class ConcordanceQueryBuilder {
}
// cancelBool looks in disableTokenSubmit() whether a value is passed. If the input fields/dropdowns are empty (cancelBool === true), no token is added.
- if (this.elements.cancelBool === false){
+ if (this.elements.cancelBool === false) {
// Square brackets are added only if it is not an empty token (where they are already present).
if (emptyTokenCheck === false) {
tokenQueryText = '[' + tokenQueryText + ']';
@@ -570,17 +578,17 @@ class ConcordanceQueryBuilder {
this.buttonfactory('token', tokenQueryContent, tokenQueryText);
this.hideEverything();
this.elements.positionalAttrArea.classList.add('hide');
- this.elements.tokenQuery.innerHTML = "";
+ this.elements.tokenQuery.innerHTML = '';
}
}
disableTokenSubmit() {
this.elements.cancelBool = true;
- this.elements.tokenSubmitButton.classList.add("red");
+ this.elements.tokenSubmitButton.classList.add('red');
this.elements.noValueMessage.classList.remove('hide');
setTimeout(() => {
- this.elements.tokenSubmitButton.classList.remove("red");
+ this.elements.tokenSubmitButton.classList.remove('red');
}, 500);
setTimeout(() => {
this.elements.noValueMessage.classList.add('hide');
@@ -592,75 +600,75 @@ class ConcordanceQueryBuilder {
//#region Dropdown Select Handler
wordBuilder() {
this.hideEverything();
- this.elements.wordInput.value = "";
- this.elements.wordBuilder.classList.remove("hide");
- this.elements.inputOptions.classList.remove("hide");
+ this.elements.wordInput.value = '';
+ this.elements.wordBuilder.classList.remove('hide');
+ this.elements.inputOptions.classList.remove('hide');
this.elements.incidenceModifiersButton.classList.remove('hide');
- this.elements.conditionContainer.classList.remove("hide");
- this.elements.ignoreCaseCheckbox.classList.remove("hide");
+ this.elements.conditionContainer.classList.remove('hide');
+ this.elements.ignoreCaseCheckbox.classList.remove('hide');
// Resets materialize select field to default value
let SelectInstance = M.FormSelect.getInstance(this.elements.positionalAttr);
- SelectInstance.input.value = "word";
- this.elements.positionalAttr.value = "word";
+ SelectInstance.input.value = 'word';
+ this.elements.positionalAttr.value = 'word';
}
lemmaBuilder() {
this.hideEverything();
- this.elements.lemmaBuilder.classList.remove("hide");
- this.elements.inputOptions.classList.remove("hide");
+ this.elements.lemmaBuilder.classList.remove('hide');
+ this.elements.inputOptions.classList.remove('hide');
this.elements.incidenceModifiersButton.classList.remove('hide');
- this.elements.conditionContainer.classList.remove("hide");
- this.elements.ignoreCaseCheckbox.classList.remove("hide");
+ this.elements.conditionContainer.classList.remove('hide');
+ this.elements.ignoreCaseCheckbox.classList.remove('hide');
}
englishPosHandler() {
this.hideEverything();
- this.elements.englishPosBuilder.classList.remove("hide");
+ this.elements.englishPosBuilder.classList.remove('hide');
this.elements.incidenceModifiersButton.classList.remove('hide');
- this.elements.conditionContainer.classList.remove("hide");
+ this.elements.conditionContainer.classList.remove('hide');
// Resets materialize select dropdown
let selectInstance = M.FormSelect.getInstance(this.elements.englishPos);
- selectInstance.input.value = "English pos tagset";
- this.elements.englishPos.value = "default";
+ selectInstance.input.value = 'English pos tagset';
+ this.elements.englishPos.value = 'default';
}
germanPosHandler() {
this.hideEverything();
- this.elements.germanPosBuilder.classList.remove("hide");
+ this.elements.germanPosBuilder.classList.remove('hide');
this.elements.incidenceModifiersButton.classList.remove('hide');
- this.elements.conditionContainer.classList.remove("hide");
+ this.elements.conditionContainer.classList.remove('hide');
// Resets materialize select dropdown
let selectInstance = M.FormSelect.getInstance(this.elements.germanPos);
- selectInstance.input.value = "German pos tagset";
- this.elements.germanPos.value = "default";
+ selectInstance.input.value = 'German pos tagset';
+ this.elements.germanPos.value = 'default';
}
simplePosBuilder() {
this.hideEverything();
- this.elements.simplePosBuilder.classList.remove("hide");
+ this.elements.simplePosBuilder.classList.remove('hide');
this.elements.incidenceModifiersButton.classList.remove('hide');
- this.elements.conditionContainer.classList.remove("hide");
+ this.elements.conditionContainer.classList.remove('hide');
this.elements.simplePos.selectedIndex = 0;
// Resets materialize select dropdown
let selectInstance = M.FormSelect.getInstance(this.elements.simplePos);
- selectInstance.input.value = "simple_pos tagset";
- this.elements.simplePos.value = "default";
+ selectInstance.input.value = 'simple_pos tagset';
+ this.elements.simplePos.value = 'default';
}
emptyTokenHandler() {
- this.tokenButtonfactory("empty token", "[]");
+ this.tokenButtonfactory('empty token', '[]');
this.elements.tokenQueryFilled = true;
this.hideEverything();
this.elements.incidenceModifiersButton.classList.remove('hide');
}
//#endregion Dropdown Select Handler
- //#region Options to edit your token - Wildcard Charakter, Option Group, Incidence Modifiers, Ignore Case, "and", "or"
+ //#region Options to edit your token - Wildcard Charakter, Option Group, Incidence Modifiers, Ignore Case, 'and', 'or'
inputOptionHandler(elem) {
let input;
@@ -687,35 +695,35 @@ class ConcordanceQueryBuilder {
instance.close();
switch (this.elements.positionalAttr.value) {
- case "word":
- this.elements.wordInput.value += " {" + this.elements.nInput.value + "}";
+ case 'word':
+ this.elements.wordInput.value += ' {' + this.elements.nInput.value + '}';
break;
- case "lemma":
- this.elements.lemmaInput.value += " {" + this.elements.nInput.value + "}";
+ case 'lemma':
+ this.elements.lemmaInput.value += ' {' + this.elements.nInput.value + '}';
break;
- case "english-pos":
+ case 'english-pos':
this.elements.tokenQueryFilled = true;
- this.tokenButtonfactory(`pos=${this.elements.englishPos.value}`, `pos="${this.elements.englishPos.value}"`);
- this.tokenButtonfactory("{" + this.elements.nInput.value + "}", "{" + this.elements.nInput.value + "}");
- this.elements.englishPosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.tokenButtonfactory(`pos=${this.elements.englishPos.value}`, `pos='${this.elements.englishPos.value}'`);
+ this.tokenButtonfactory('{' + this.elements.nInput.value + '}', '{' + this.elements.nInput.value + '}');
+ this.elements.englishPosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
break;
- case "german-pos":
+ case 'german-pos':
this.elements.tokenQueryFilled = true;
- this.tokenButtonfactory(`pos=${this.elements.germanPos.value}`, `pos="${this.elements.germanPos.value}"`);
- this.tokenButtonfactory("{" + this.elements.nInput.value + "}", "{" + this.elements.nInput.value + "}");
- this.elements.germanPosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.tokenButtonfactory(`pos=${this.elements.germanPos.value}`, `pos='${this.elements.germanPos.value}'`);
+ this.tokenButtonfactory('{' + this.elements.nInput.value + '}', '{' + this.elements.nInput.value + '}');
+ this.elements.germanPosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
break;
- case "simple-pos-button":
+ case 'simple-pos-button':
this.elements.tokenQueryFilled = true;
- this.tokenButtonfactory(`simple_pos=${this.elements.simplePos.value}`, `simple_pos="${this.elements.simplePos.value}"`);
- this.tokenButtonfactory("{" + this.elements.nInput.value + "}", "{" + this.elements.nInput.value + "}");
- this.elements.simplePosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.tokenButtonfactory(`simple_pos=${this.elements.simplePos.value}`, `simple_pos='${this.elements.simplePos.value}'`);
+ this.tokenButtonfactory('{' + this.elements.nInput.value + '}', '{' + this.elements.nInput.value + '}');
+ this.elements.simplePosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
break;
- case "empty-token":
- this.tokenButtonfactory("{" + this.elements.nInput.value + "}", "{" + this.elements.nInput.value + "}");
+ case 'empty-token':
+ this.tokenButtonfactory('{' + this.elements.nInput.value + '}', '{' + this.elements.nInput.value + '}');
break;
default:
break;
@@ -728,34 +736,34 @@ class ConcordanceQueryBuilder {
instance.close();
switch (this.elements.positionalAttr.value) {
- case "word":
+ case 'word':
this.elements.wordInput.value += `{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`;
break;
- case "lemma":
+ case 'lemma':
this.elements.lemmaInput.value += `{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`;
break;
- case "english-pos":
+ case 'english-pos':
this.elements.tokenQueryFilled = true;
- this.tokenButtonfactory(`pos=${this.elements.englishPos.value}`, `pos="${this.elements.englishPos.value}"`);
+ this.tokenButtonfactory(`pos=${this.elements.englishPos.value}`, `pos='${this.elements.englishPos.value}'`);
this.tokenButtonfactory(`{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`, `{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`);
- this.elements.englishPosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.elements.englishPosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
break;
- case "german-pos":
+ case 'german-pos':
this.elements.tokenQueryFilled = true;
- this.tokenButtonfactory(`pos=${this.elements.germanPos.value}`, `pos="${this.elements.germanPos.value}"`);
+ this.tokenButtonfactory(`pos=${this.elements.germanPos.value}`, `pos='${this.elements.germanPos.value}'`);
this.tokenButtonfactory(`{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`, `{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`);
- this.elements.germanPosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.elements.germanPosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
break;
- case "simple-pos-button":
+ case 'simple-pos-button':
this.elements.tokenQueryFilled = true;
- this.tokenButtonfactory(`simple_pos=${this.elements.simplePos.value}`, `simple_pos="${this.elements.simplePos.value}"`);
+ this.tokenButtonfactory(`simple_pos=${this.elements.simplePos.value}`, `simple_pos='${this.elements.simplePos.value}'`);
this.tokenButtonfactory(`{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`, `{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`);
- this.elements.simplePosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.elements.simplePosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
break;
- case "empty-token":
+ case 'empty-token':
this.tokenButtonfactory(`{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`, `{${this.elements.nmInput.value}, ${this.elements.mInput.value}}`);
break;
default:
@@ -765,25 +773,25 @@ class ConcordanceQueryBuilder {
incidenceModifiersHandler(elem) {
// For word and lemma, the incidence modifiers are inserted in the input field. For the others, one or two chips are created which contain the respective value of the token and the incidence modifier.
- if (this.elements.positionalAttr.value === "empty-token") {
+ if (this.elements.positionalAttr.value === 'empty-token') {
this.tokenButtonfactory(elem.innerText, elem.dataset.token);
- } else if (this.elements.positionalAttr.value === "english-pos") {
- this.tokenButtonfactory(`pos=${this.elements.englishPos.value}`, `pos="${this.elements.englishPos.value}"`);
+ } else if (this.elements.positionalAttr.value === 'english-pos') {
+ this.tokenButtonfactory(`pos=${this.elements.englishPos.value}`, `pos='${this.elements.englishPos.value}'`);
this.tokenButtonfactory(elem.innerText, elem.dataset.token);
- this.elements.englishPosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.elements.englishPosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
this.elements.tokenQueryFilled = true;
- } else if (this.elements.positionalAttr.value === "german-pos") {
- this.tokenButtonfactory(`pos=${this.elements.germanPos.value}`, `pos="${this.elements.germanPos.value}"`);
+ } else if (this.elements.positionalAttr.value === 'german-pos') {
+ this.tokenButtonfactory(`pos=${this.elements.germanPos.value}`, `pos='${this.elements.germanPos.value}'`);
this.tokenButtonfactory(elem.innerText, elem.dataset.token);
- this.elements.germanPosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.elements.germanPosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
this.elements.tokenQueryFilled = true;
- } else if (this.elements.positionalAttr.value === "simple-pos-button") {
- this.tokenButtonfactory(`simple_pos=${this.elements.simplePos.value}`, `simple_pos="${this.elements.simplePos.value}"`);
+ } else if (this.elements.positionalAttr.value === 'simple-pos-button') {
+ this.tokenButtonfactory(`simple_pos=${this.elements.simplePos.value}`, `simple_pos='${this.elements.simplePos.value}'`);
this.tokenButtonfactory(elem.innerText, elem.dataset.token);
- this.elements.simplePosBuilder.classList.add("hide");
- this.elements.incidenceModifiersButton.classList.add("hide");
+ this.elements.simplePosBuilder.classList.add('hide');
+ this.elements.incidenceModifiersButton.classList.add('hide');
this.elements.tokenQueryFilled = true;
} else {
let input;
@@ -800,11 +808,11 @@ class ConcordanceQueryBuilder {
}
orHandler() {
- this.conditionHandler("or", " | ");
+ this.conditionHandler('or', ' | ');
}
andHandler() {
- this.conditionHandler("and", " & ");
+ this.conditionHandler('and', ' & ');
}
conditionHandler(conditionText, conditionQueryContent) {
@@ -813,36 +821,36 @@ class ConcordanceQueryBuilder {
let tokenQueryText;
let c;
- if (this.elements.ignoreCase.checked){
+ if (this.elements.ignoreCase.checked) {
c = ' %c';
- }else{
+ } else {
c = '';
}
switch (this.elements.positionalAttr.value) {
- case "word":
+ case 'word':
tokenQueryContent = `word=${this.elements.wordInput.value}${c}`;
- tokenQueryText = `word="${this.elements.wordInput.value}"${c}`;
+ tokenQueryText = `word='${this.elements.wordInput.value}'${c}`;
this.elements.wordInput.value = '';
break;
- case "lemma":
+ case 'lemma':
tokenQueryContent = `lemma=${this.elements.lemmaInput.value}${c}`;
- tokenQueryText = `word="${this.elements.lemmaInput.value}"${c}`;
+ tokenQueryText = `word='${this.elements.lemmaInput.value}'${c}`;
this.elements.lemmaInput.value = '';
break;
- case "english-pos":
+ case 'english-pos':
tokenQueryContent = `pos=${this.elements.englishPos.value}`;
- tokenQueryText = `pos="${this.elements.englishPos.value}"`;
+ tokenQueryText = `pos='${this.elements.englishPos.value}'`;
this.elements.englishPos.value = '';
break;
- case "german-pos":
+ case 'german-pos':
tokenQueryContent = `pos=${this.elements.germanPos.value}`;
- tokenQueryText = `pos="${this.elements.germanPos.value}"`;
+ tokenQueryText = `pos='${this.elements.germanPos.value}'`;
this.elements.germanPos.value = '';
break;
- case "simple-pos-button":
+ case 'simple-pos-button':
tokenQueryContent = `simple_pos=${this.elements.simplePos.value}`;
- tokenQueryText = `simple_pos="${this.elements.simplePos.value}"`;
+ tokenQueryText = `simple_pos='${this.elements.simplePos.value}'`;
this.elements.simplePos.value = '';
break;
default:
@@ -855,14 +863,21 @@ class ConcordanceQueryBuilder {
this.wordBuilder();
}
- //#endregion Options to edit your token - Wildcard Charakter, Option Group, Incidence Modifiers, Ignore Case, "and", "or"
+ //#endregion Options to edit your token - Wildcard Charakter, Option Group, Incidence Modifiers, Ignore Case, 'and', 'or'
//#endregion Token Attribute Builder Functions
+
+
+
+ // ##########################################################################
+ // ############ Structural Attribute Builder Functions ######################
+ // ##########################################################################
+
//#region Structural Attribute Builder Functions
addSentence() {
this.hideEverything();
- if(this.elements.sentence.text === 'End Sentence') {
+ if (this.elements.sentence.text === 'End Sentence') {
this.buttonfactory('end-sentence', 'Sentence End', '');
this.elements.sentence.innerHTML = 'Sentence';
} else {
@@ -884,33 +899,33 @@ class ConcordanceQueryBuilder {
this.elements.entity.innerHTML = 'Entity';
} else {
this.hideEverything();
- this.elements.entityBuilder.classList.remove("hide");
- window.location.href = "#entity-builder";
+ this.elements.entityBuilder.classList.remove('hide');
+ window.location.href = '#entity-builder';
}
}
englishEntTypeHandler() {
- this.buttonfactory('start-entity', 'Entity Type=' + this.elements.englishEntType.value, '
');
+ this.buttonfactory('start-entity', 'Entity Type=' + this.elements.englishEntType.value, '');
this.elements.entity.innerHTML = 'End Entity';
this.hideEverything();
this.elements.entityAnyType = false;
// Resets materialize select dropdown
let SelectInstance = M.FormSelect.getInstance(this.elements.englishEntType);
- SelectInstance.input.value = "English ent_type";
- this.elements.englishEntType.value = "default";
+ SelectInstance.input.value = 'English ent_type';
+ this.elements.englishEntType.value = 'default';
}
germanEntTypeHandler() {
- this.buttonfactory('start-entity', 'Entity Type=' + this.elements.germanEntType.value, '');
+ this.buttonfactory('start-entity', 'Entity Type=' + this.elements.germanEntType.value, '');
this.elements.entity.innerHTML = 'End Entity';
this.hideEverything();
this.elements.entityAnyType = false;
// Resets materialize select dropdown
let SelectInstance = M.FormSelect.getInstance(this.elements.germanEntType);
- SelectInstance.input.value = "German ent_type";
- this.elements.germanEntType.value = "default";
+ SelectInstance.input.value = 'German ent_type';
+ this.elements.germanEntType.value = 'default';
}
emptyEntityButton() {
@@ -922,14 +937,14 @@ class ConcordanceQueryBuilder {
addTextAnnotation() {
this.hideEverything();
- this.elements.textAnnotationBuilder.classList.remove("hide");
- window.location.href = "#text-annotation-builder";
+ this.elements.textAnnotationBuilder.classList.remove('hide');
+ window.location.href = '#text-annotation-builder';
// Resets materialize select dropdown
let SelectInstance = M.FormSelect.getInstance(this.elements.textAnnotationOptions);
- SelectInstance.input.value = "address";
- this.elements.textAnnotationOptions.value = "address";
- this.elements.textAnnotationInput.value= "";
+ SelectInstance.input.value = 'address';
+ this.elements.textAnnotationOptions.value = 'address';
+ this.elements.textAnnotationInput.value= '';
}
textAnnotationSubmitHandler() {
@@ -943,7 +958,7 @@ class ConcordanceQueryBuilder {
this.elements.noValueMetadataMessage.classList.add('hide');
}, 3000);
} else {
- let queryText = `:: match.text_${this.elements.textAnnotationOptions.value}="${this.elements.textAnnotationInput.value}"`;
+ let queryText = `:: match.text_${this.elements.textAnnotationOptions.value}='${this.elements.textAnnotationInput.value}'`;
this.buttonfactory('text-annotation', `${this.elements.textAnnotationOptions.value}=${this.elements.textAnnotationInput.value}`, queryText);
this.hideEverything();
}