diff --git a/corsscripts/stacksortable.js b/corsscripts/stacksortable.js index 00a8f30646848cecf165e316bfa9a30c07990d19..2bb75f8632d71d36b77ef99b4e7a7137f06ce5a5 100644 --- a/corsscripts/stacksortable.js +++ b/corsscripts/stacksortable.js @@ -347,7 +347,6 @@ export const stack_sortable = class { /** * Adds double-click listeners to move items upon double-click and updates the state accordingly. * Only supported for proofmode - * TODO : fix this * * @method * @param {Object} newUsed - Updated used list. @@ -360,15 +359,15 @@ export const stack_sortable = class { // get highest-level parent var li = this._get_moveable_parent_li(e.target); li = (this.clone === "true") ? li.cloneNode(true) : this.available.removeChild(li); - this.used[0].append(li); + this.used[0][0].append(li); this.update_state(newUsed, newAvailable); } }); - this.used[0].addEventListener('dblclick', (e) => { + this.used[0][0].addEventListener('dblclick', (e) => { if (this._double_clickable(e.target)) { // get highest-level parent var li = this._get_moveable_parent_li(e.target); - this.used[0].removeChild(li); + this.used[0][0].removeChild(li); if (this.clone !== "true") { this.available.insertBefore(li, this.available.children[1]); } diff --git a/corsscripts/stacksortable.min.js b/corsscripts/stacksortable.min.js index 818c78f663edaff667dc8ff49427694b5ab39a7b..a858004880275ba3ab2a9866647b6fdb3a79ca9e 100644 --- a/corsscripts/stacksortable.min.js +++ b/corsscripts/stacksortable.min.js @@ -16,7 +16,7 @@ function _validate_top_level_keys_JSON(JSON,validKeys,requiredKeys){const keys=O export function get_iframe_height(){return document.documentElement.offsetHeight;} export const stack_sortable=class{constructor(steps,inputId=null,options=null,clone=false,columns=1,rows=null,orientation="col",index="",grid=false,item_height=null,item_width=null){this.steps=steps;this.inputId=inputId;this.orientation=orientation;this.columns=(this.orientation==="col")?columns:rows;this.rows=(this.orientation==="col")?rows:columns;this.index=index;this.use_index=this.index!=="";this.grid=grid;this.item_class=this.grid?(this.orientation==="row"?"grid-item-rigid":"grid-item"):"list-group-item";this.item_height_width={'style':''};for(const[key,val]of[['height',item_height],['width',item_width]]){if(val!==''){this.item_height_width['style']+=`${key}:${val}px;`};};this.item_height_width=(this.item_height_width['style']==='')?{}:this.item_height_width;this.item_height=(item_height!=='')?{'style':`height:${item_height}px;`}:{};this.item_width=(item_width!=='')?{'style':`width:${item_width}px;`}:{};this.container_height_width=(this.item_height_width['style']!=='')?{'style':this.item_height_width['style']+'margin: 12px;'}:{};this.state=this._generate_state(this.steps,inputId,Number(this.columns),Number(this.rows));if(inputId!==null){this.input=document.getElementById(this.inputId);this.submitted=this.input.getAttribute("readonly")==="readonly"} this.ids=this._create_ids(this.rows,this.columns);this.availableId=this.ids.available;this.usedId=this.ids.used;this.clone=clone;this.defaultOptions={used:{animation:50,cancel:".header"},available:{animation:50,cancel:".header"}};this.userOptions=this._set_user_options(options);this.options=this._set_ghostClass_group_and_disabled_options();} -add_dblclick_listeners(newUsed,newAvailable){this.available.addEventListener('dblclick',(e)=>{if(this._double_clickable(e.target)){var li=this._get_moveable_parent_li(e.target);li=(this.clone==="true")?li.cloneNode(true):this.available.removeChild(li);this.used[0].append(li);this.update_state(newUsed,newAvailable);}});this.used[0].addEventListener('dblclick',(e)=>{if(this._double_clickable(e.target)){var li=this._get_moveable_parent_li(e.target);this.used[0].removeChild(li);if(this.clone!=="true"){this.available.insertBefore(li,this.available.children[1]);} +add_dblclick_listeners(newUsed,newAvailable){this.available.addEventListener('dblclick',(e)=>{if(this._double_clickable(e.target)){var li=this._get_moveable_parent_li(e.target);li=(this.clone==="true")?li.cloneNode(true):this.available.removeChild(li);this.used[0][0].append(li);this.update_state(newUsed,newAvailable);}});this.used[0][0].addEventListener('dblclick',(e)=>{if(this._double_clickable(e.target)){var li=this._get_moveable_parent_li(e.target);this.used[0][0].removeChild(li);if(this.clone!=="true"){this.available.insertBefore(li,this.available.children[1]);} this.update_state(newUsed,newAvailable);}});} add_delete_all_listener(buttonId,newUsed,newAvailable){const button=document.getElementById(buttonId);button.addEventListener('click',()=>{this._delete_all_from_used();this.update_state(newUsed,newAvailable);});} add_headers(headers,available_header){for(const[i,value]of headers.entries()){var parentEl=document.getElementById(`usedList_${i}`);var header=this._create_header(value,`usedHeader_${i}`,this.item_height_width);parentEl.insertBefore(header,parentEl.firstChild);}