mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	Remove unused second backup
This commit is contained in:
		@@ -1,127 +0,0 @@
 | 
				
			|||||||
class RessourceList {
 | 
					 | 
				
			||||||
  constructor(idOrElement, options = {}) {
 | 
					 | 
				
			||||||
    this.list = new List(idOrElement, {...RessourceList.options, ...options});
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  init(ressources) {
 | 
					 | 
				
			||||||
    this.list.clear();
 | 
					 | 
				
			||||||
    this.add(Object.values(ressources));
 | 
					 | 
				
			||||||
    this.list.sort('id', {order: 'desc'});
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  update(patch) {
 | 
					 | 
				
			||||||
    let item, pathArray;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    for (let operation of patch) {
 | 
					 | 
				
			||||||
      /*
 | 
					 | 
				
			||||||
       * '/{ressourceName}/{ressourceId}/{valueName}' -> ['{ressourceId}', {valueName}]
 | 
					 | 
				
			||||||
       * Example: '/jobs/1/status' -> ['1', 'status']
 | 
					 | 
				
			||||||
      */
 | 
					 | 
				
			||||||
      let [id, valueName] = operation.path.split("/").slice(2);
 | 
					 | 
				
			||||||
      switch(operation.op) {
 | 
					 | 
				
			||||||
        case 'add':
 | 
					 | 
				
			||||||
          this.add(operation.value);
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        case 'remove':
 | 
					 | 
				
			||||||
          this.remove(id);
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        case 'replace':
 | 
					 | 
				
			||||||
          this.replace(id, valueName, operation.value);
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        default:
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  add(values) {
 | 
					 | 
				
			||||||
    /* WORKAROUND: Set a callback function ('() => {return;}') to force List.js
 | 
					 | 
				
			||||||
                   perform the add method asynchronous.
 | 
					 | 
				
			||||||
     * https://listjs.com/api/#add
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    this.list.add(values, () => {return;});
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  remove(id) {
 | 
					 | 
				
			||||||
    this.list.remove('id', id);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  replace(id, valueName, newValue) {
 | 
					 | 
				
			||||||
    if (!this.list.valuesNames.includes(valueName)) {return;}
 | 
					 | 
				
			||||||
    let item = this.list.get('id', id);
 | 
					 | 
				
			||||||
    item.values({[valueName]: newValue});
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RessourceList.options = {page: 5, pagination: [{innerWindow: 4, outerWindow: 1}]};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class CorpusList extends RessourceList {
 | 
					 | 
				
			||||||
  constructor(idOrElement, options = {}) {
 | 
					 | 
				
			||||||
    super(idOrElement, {...CorpusList.options, ...options});
 | 
					 | 
				
			||||||
    nopaque.corporaSubscribers.push(this);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
CorpusList.options = {
 | 
					 | 
				
			||||||
  item: `<tr>
 | 
					 | 
				
			||||||
           <td><a class="btn-floating disabled"><i class="material-icons">book</i></a></td>
 | 
					 | 
				
			||||||
           <td><b class="title"></b><br><i class="description"></i></td>
 | 
					 | 
				
			||||||
           <td><span class="badge new status" data-badge-caption=""></span></td>
 | 
					 | 
				
			||||||
           <td class="right-align">
 | 
					 | 
				
			||||||
             <a class="btn-floating delete red tooltipped waves-effect waves-light" data-position="top" data-tooltip="Delete"><i class="material-icons">delete</i></a>
 | 
					 | 
				
			||||||
             <a class="btn-floating edit tooltipped waves-effect waves-light" data-position="top" data-tooltip="Edit"><i class="material-icons">edit</i></a>
 | 
					 | 
				
			||||||
             <a class="analyse btn-floating tooltipped waves-effect waves-light" data-position="top" data-tooltip="Analyse"><i class="material-icons">search</i></a>
 | 
					 | 
				
			||||||
           </td>
 | 
					 | 
				
			||||||
         </tr>`,
 | 
					 | 
				
			||||||
  valueNames: [{data: ['id']}, 'description', 'status', 'title']
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class JobList extends RessourceList {
 | 
					 | 
				
			||||||
  constructor(idOrElement, options = {}) {
 | 
					 | 
				
			||||||
    super(idOrElement, {...JobList.options, ...options});
 | 
					 | 
				
			||||||
    nopaque.jobsSubscribers.push(this);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
JobList.options = {
 | 
					 | 
				
			||||||
  item: `<tr>
 | 
					 | 
				
			||||||
           <td><a class="btn-floating disabled"><i class="material-icons service"></i></a></td>
 | 
					 | 
				
			||||||
           <td><b class="title"></b><br><i class="description"></i></td>
 | 
					 | 
				
			||||||
           <td><span class="badge new status" data-badge-caption=""></span></td>
 | 
					 | 
				
			||||||
           <td class="right-align">
 | 
					 | 
				
			||||||
             <a class="btn-floating delete red tooltipped waves-effect waves-light" data-position="top" data-tooltip="Delete"><i class="material-icons">delete</i></a>
 | 
					 | 
				
			||||||
             <a class="btn-floating tooltipped view waves-effect waves-light" data-position="top" data-tooltip="View"><i class="material-icons">send</i></a>
 | 
					 | 
				
			||||||
           </td>
 | 
					 | 
				
			||||||
         </tr>`,
 | 
					 | 
				
			||||||
  valueNames: [{data: ['id']}, {name: 'service', attr: 'data-service'}, 'description', 'status', 'title']
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class QueryResultList extends RessourceList {
 | 
					 | 
				
			||||||
  constructor(idOrElement, options = {}) {
 | 
					 | 
				
			||||||
    super(idOrElement, {...QueryResultList.options, ...options});
 | 
					 | 
				
			||||||
    nopaque.queryResultsSubscribers.push(this);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
QueryResultList.options = {
 | 
					 | 
				
			||||||
  item: `<tr>
 | 
					 | 
				
			||||||
           <td><b class="title"></b><br><i class="description"></i><br></td>
 | 
					 | 
				
			||||||
           <td><span class="corpus_title"></span><br><span class="query"></span></td>
 | 
					 | 
				
			||||||
           <td class="right-align">
 | 
					 | 
				
			||||||
             <a class="btn-floating delete red tooltipped waves-effect waves-light" data-position="top" data-tooltip="Delete"><i class="material-icons">delete</i></a>
 | 
					 | 
				
			||||||
             <a class="btn-floating tooltipped view waves-effect waves-light" data-position="top" data-tooltip="View"><i class="material-icons">send</i></a>
 | 
					 | 
				
			||||||
             <a class="analyse btn-floating tooltipped waves-effect waves-light" data-position="top" data-tooltip="Analyse"><i class="material-icons">search</i></a>
 | 
					 | 
				
			||||||
           </td>
 | 
					 | 
				
			||||||
         </tr>`,
 | 
					 | 
				
			||||||
  valueNames: [{data: ['id']}, 'corpus_title', 'description', 'query', 'title']
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export { CorpusList, JobList, QueryResultList };
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user