UNPKG

sparnatural

Version:

Visual client-side SPARQL query builder and knowledge graph exploration tool

49 lines (43 loc) 2.08 kB
import CriteriaGroup from "../../criteriagroup/CriteriaGroup"; import { OptionTypes } from "../../criteriagroup/optionsgroup/OptionsGroup"; import GroupWrapper from "../../GroupWrapper"; // Remove the EndClass and rerender from the point where the startClassVal got selected export function removeEndClass(grpWrapper: GroupWrapper) { // first delete the whereChild classes if (grpWrapper.whereChild) grpWrapper.whereChild.html[0].dispatchEvent(new CustomEvent("onRemoveGrp")); // notify it is incomplete - it will become higher and remove the "completed" class grpWrapper.CriteriaGroup.EndClassGroup.html[0].dispatchEvent( new CustomEvent("onGrpInputNotCompleted", { bubbles: true }) ); let startVal = grpWrapper.CriteriaGroup.StartClassGroup.startClassVal; grpWrapper.CriteriaGroup.html.empty(); grpWrapper.CriteriaGroup.html.remove(); grpWrapper.CriteriaGroup = new CriteriaGroup( grpWrapper, grpWrapper.specProvider, startVal, grpWrapper.isRootGrpWrapper() ).render(); // Set state back to NONE grpWrapper.optionState = OptionTypes.NONE // set StartClassVal back to its original value grpWrapper.CriteriaGroup.StartClassGroup.startClassVal = startVal; let inputSelector = grpWrapper.CriteriaGroup.StartClassGroup.inputSelector; //inputSelector.oldWidget.val(startVal.type).niceSelect("update"); inputSelector.submitSelected() ; // nice-select is 2nd place in childrenslist. move away from nice-select... //inputSelector.html[0].children[1].classList.add("disabled"); // decrease the SPARQL var counter by 2 : one for the previous EndClassGroup, one for the new StartClassGroup // that gets its original value back grpWrapper.html[0].dispatchEvent( new CustomEvent("adjustSparqlVarID", { bubbles: true, detail: -2 }) ); // there might have been variables in the variable section which now got deleted grpWrapper.html[0].dispatchEvent( new CustomEvent("updateVarList", { bubbles: true }) ); grpWrapper.html[0].dispatchEvent( new CustomEvent("generateQuery", { bubbles: true }) ); }