mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	Expert Mode - Query Builder Switch Parser v1
This commit is contained in:
		@@ -233,7 +233,7 @@ class GeneralFunctionsQueryBuilder {
 | 
			
		||||
    let expertModeInputField = document.querySelector('#corpus-analysis-concordance-form-query');
 | 
			
		||||
    expertModeInputField.value = '';
 | 
			
		||||
    let queryBuilderInputFieldValue = Utils.unescape(document.querySelector('#corpus-analysis-concordance-query-preview').innerHTML.trim());
 | 
			
		||||
    if (queryBuilderInputFieldValue !== "") {
 | 
			
		||||
    if (queryBuilderInputFieldValue !== "" && queryBuilderInputFieldValue !== ";") {
 | 
			
		||||
      expertModeInputField.value = queryBuilderInputFieldValue;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@@ -247,6 +247,7 @@ class GeneralFunctionsQueryBuilder {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  parseTextToChip(query) {
 | 
			
		||||
    const parsingElementDict = {
 | 
			
		||||
      '<s>': {
 | 
			
		||||
@@ -301,12 +302,11 @@ class GeneralFunctionsQueryBuilder {
 | 
			
		||||
        pretty: '',
 | 
			
		||||
        type: 'token-incidence-modifier'
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    let chipElements = [];
 | 
			
		||||
  
 | 
			
		||||
    const regex = new RegExp(`<s>|<\/s>|<ent>|<ent_type="([A-Z]+)">|<\\\/ent(_type)?>|\\[(word|lemma|pos|simple_pos)=(("[^"]+")|(\\u0027[^\\u0027]+\\u0027)) ?(%c)? ?((\\&|\\|) ?(word|lemma|pos|simple_pos)=(("[^"]+")|(\\u0027[^\\u0027]+\\u0027)) ?(%c)? ?)*\\]|:: ?match\\.text_[A-Za-z]+="[^"]+"|(?<!\\[) ?(\\+|\\?|\\*|{[0-9]+(,[0-9]+)?}) ?(?![^\\]]\\])`, 'gi');
 | 
			
		||||
    let regexPattern = Object.keys(parsingElementDict).map(pattern => `(${pattern})`).join('|');
 | 
			
		||||
    const regex = new RegExp(regexPattern, 'gi');
 | 
			
		||||
    let match;
 | 
			
		||||
  
 | 
			
		||||
    while ((match = regex.exec(query)) !== null) {
 | 
			
		||||
@@ -318,6 +318,7 @@ class GeneralFunctionsQueryBuilder {
 | 
			
		||||
      for (let [pattern, chipElement] of Object.entries(parsingElementDict)) {
 | 
			
		||||
        const parsingRegex = new RegExp(pattern, 'gi');
 | 
			
		||||
        if (parsingRegex.exec(stringElement)) {
 | 
			
		||||
          // Creating the pretty text for the chip element
 | 
			
		||||
          let prettyText;
 | 
			
		||||
          switch (pattern) {
 | 
			
		||||
            case '<ent_type="([A-Z]+)">':
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user