MediaWiki:Common.js: Difference between revisions

m revert once more
Tags: Mobile edit Mobile web edit
m test4
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


function onClickOrTap(element, target, handler){
const onClickOrTap = (element, handler) => {
   let touchMoveHappened = false;
   let touchMoveHappened = false;
   element.addEventListener('touchstart', () => {
   element.addEventListener('touchstart', () => {
     // on mobile this is the 1st event that happens
     // on mobile this is the 1st event that happens
     touchMoveHappened = false;
     touchMoveHappened = false;
   })
   });
   element.addEventListener('touchmove', () => {
   element.addEventListener('touchmove', () => {
     // on mobile this might get triggered in which case the
     // on mobile this might get triggered in which case the
Line 12: Line 12:
     // we'll keep a track of it
     // we'll keep a track of it
     touchMoveHappened = true;
     touchMoveHappened = true;
   })
   });
   element.addEventListener('touchend', () => {
   element.addEventListener('touchend', (e) => {
     // happens after touchstart, but before click
     // happens after touchstart, but before click
     // if touch happened then we'll exit
     // if touch happened then we'll exit
Line 23: Line 23:
     e.preventDefault();
     e.preventDefault();
     // at this point we are ready to call our original handler
     // at this point we are ready to call our original handler
     handler(element, target);
     handler(e);
   }
   });
  )
   element.addEventListener('click', (e) => {
   element.addEventListener('click', () => {
     // this will only get triggered on desktop
     // this will only get triggered on desktop
     // because we call preventDefault for the "touchend" event
     // because we call preventDefault for the "touchend" event
     handler(element, target);
     handler(e);
   })
   });
}
}
/* Create Page */
/* Create Page */
const createPageTargetIdDataSetString = "[data-create-page-target-id]";
const createPageTargetIdDataSetString = "[data-create-page-target-id]";
Line 85: Line 85:
     itemsCreateInputPageGrid.push(targetElement);
     itemsCreateInputPageGrid.push(targetElement);
      
      
     //onClickOrTap(element,targetElement,toggleGridTarget(element,target));
     onClickOrTap(element, (e) => {
      
    toggleGridTarget(element, targetElement)
    element.addEventListener("click", () =>
    });
        toggleGridTarget(element, targetElement)
     //element.addEventListener("click", () =>
    );
    //    toggleGridTarget(element, targetElement)
    //);
   }
   }