Skip to content

Commit

Permalink
remove unused code
Browse files Browse the repository at this point in the history
  • Loading branch information
binrysearch committed Sep 2, 2024
1 parent 4cb8b97 commit 4f6e298
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 216 deletions.
2 changes: 1 addition & 1 deletion src/packages/tooltip/tooltipPosition.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import getWindowSize from "../../util/getWindowSize";
import removeEntry from "../../util/removeEntry";
import getOffset, { Offset } from "../../util/getOffset";
import { Offset } from "../../util/getOffset";

export type TooltipPosition =
| "floating"
Expand Down
4 changes: 1 addition & 3 deletions src/packages/tour/refresh.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { placeTooltip } from "../../packages/tooltip";
import { _recreateBullets, _updateProgressBar } from "./showElement";
import { Tour } from "./tour";
import {
getElementByClassName,
Expand Down Expand Up @@ -60,8 +59,7 @@ export default function refresh(tour: Tour, refreshSteps?: boolean) {

if (refreshSteps) {
tour.setSteps(fetchSteps(tour));
_recreateBullets(tour, step);
_updateProgressBar(referenceLayer, currentStep, tour.getSteps().length);
// TODO: how to refresh the tooltip here? do we need to convert the steps into a state?
}

// re-align tooltip
Expand Down
212 changes: 0 additions & 212 deletions src/packages/tour/showElement.ts
Original file line number Diff line number Diff line change
@@ -1,233 +1,26 @@
import scrollParentToElement from "../../util/scrollParentToElement";
import scrollTo from "../../util/scrollTo";
import { addClass, setClass } from "../../util/className";
import setAnchorAsButton from "../../util/setAnchorAsButton";
import { TourStep, nextStep, previousStep } from "./steps";
import { placeTooltip } from "../../packages/tooltip";
import removeShowElement from "./removeShowElement";
import createElement from "../../util/createElement";
import setStyle from "../../util/setStyle";
import appendChild from "../../util/appendChild";
import {
activeClassName,
arrowClassName,
bulletsClassName,
disabledButtonClassName,
disableInteractionClassName,
doneButtonClassName,
dontShowAgainClassName,
fullButtonClassName,
helperLayerClassName,
helperNumberLayerClassName,
hiddenButtonClassName,
nextButtonClassName,
previousButtonClassName,
progressBarClassName,
progressClassName,
skipButtonClassName,
tooltipButtonsClassName,
tooltipClassName,
tooltipHeaderClassName,
tooltipReferenceLayerClassName,
tooltipTextClassName,
tooltipTitleClassName,
} from "./classNames";
import { Tour } from "./tour";
import { dataStepNumberAttribute } from "./dataAttributes";
import {
getElementByClassName,
queryElement,
queryElementByClassName,
} from "../../util/queryElement";
import { setPositionRelativeToStep } from "./position";
import getPropValue from "../../util/getPropValue";
import { TourTooltip } from "./tourTooltip";
import getOffset from "../..//util/getOffset";
import van from "../dom/van";

/**
* Gets the current progress percentage
*
* @api private
* @returns current progress percentage
*/
export const _getProgress = (currentStep: number, introItemsLength: number) => {
// Steps are 0 indexed
return ((currentStep + 1) / introItemsLength) * 100;
};

/**
* Add disableinteraction layer and adjust the size and position of the layer
*
* @api private
*/
export const _disableInteraction = (tour: Tour, step: TourStep) => {
let disableInteractionLayer = queryElementByClassName(
disableInteractionClassName
);

if (disableInteractionLayer === null) {
disableInteractionLayer = createElement("div", {
className: disableInteractionClassName,
});

tour.getTargetElement().appendChild(disableInteractionLayer);
}

setPositionRelativeToStep(
tour.getTargetElement(),
disableInteractionLayer,
step,
tour.getOption("helperElementPadding")
);
};

/**
* Creates the bullets layer
* @private
*/
function _createBullets(tour: Tour, step: TourStep): HTMLElement {
const bulletsLayer = createElement("div", {
className: bulletsClassName,
});

if (tour.getOption("showBullets") === false) {
bulletsLayer.style.display = "none";
}

const ulContainer = createElement("ul");
ulContainer.setAttribute("role", "tablist");

const anchorClick = function (this: HTMLElement) {
const stepNumber = this.getAttribute(dataStepNumberAttribute);
if (stepNumber == null) return;

tour.goToStep(parseInt(stepNumber, 10));
};

const steps = tour.getSteps();
for (let i = 0; i < steps.length; i++) {
const { step: stepNumber } = steps[i];

const innerLi = createElement("li");
const anchorLink = createElement("a");

innerLi.setAttribute("role", "presentation");
anchorLink.setAttribute("role", "tab");

anchorLink.onclick = anchorClick;

if (i === step.step - 1) {
setClass(anchorLink, activeClassName);
}

setAnchorAsButton(anchorLink);
anchorLink.innerHTML = "&nbsp;";
anchorLink.setAttribute(dataStepNumberAttribute, stepNumber.toString());

innerLi.appendChild(anchorLink);
ulContainer.appendChild(innerLi);
}

bulletsLayer.appendChild(ulContainer);

return bulletsLayer;
}

/**
* Deletes and recreates the bullets layer
* @private
*/
export function _recreateBullets(tour: Tour, step: TourStep) {
if (tour.getOption("showBullets")) {
const existing = queryElementByClassName(bulletsClassName);

if (existing && existing.parentNode) {
existing.parentNode.replaceChild(_createBullets(tour, step), existing);
}
}
}

/**
* Updates the bullets
*/
function _updateBullets(
showBullets: boolean,
oldReferenceLayer: HTMLElement,
step: TourStep
) {
if (showBullets) {
const oldRefActiveBullet = queryElement(
`.${bulletsClassName} li > a.${activeClassName}`,
oldReferenceLayer
);

const oldRefBulletStepNumber = queryElement(
`.${bulletsClassName} li > a[${dataStepNumberAttribute}="${step.step}"]`,
oldReferenceLayer
);

if (oldRefActiveBullet && oldRefBulletStepNumber) {
oldRefActiveBullet.className = "";
setClass(oldRefBulletStepNumber, activeClassName);
}
}
}

/**
* Creates the progress-bar layer and elements
* @private
*/
function _createProgressBar(tour: Tour) {
const progressLayer = createElement("div");

setClass(progressLayer, progressClassName);

if (tour.getOption("showProgress") === false) {
progressLayer.style.display = "none";
}

const progressBar = createElement("div", {
className: progressBarClassName,
});

if (tour.getOption("progressBarAdditionalClass")) {
addClass(progressBar, tour.getOption("progressBarAdditionalClass"));
}

const progress = _getProgress(tour.getCurrentStep(), tour.getSteps().length);
progressBar.setAttribute("role", "progress");
progressBar.setAttribute("aria-valuemin", "0");
progressBar.setAttribute("aria-valuemax", "100");
progressBar.setAttribute("aria-valuenow", progress.toString());
progressBar.style.cssText = `width:${progress}%;`;

progressLayer.appendChild(progressBar);

return progressLayer;
}

/**
* Updates an existing progress bar variables
* @private
*/
export function _updateProgressBar(
oldReferenceLayer: HTMLElement,
currentStep: number,
introItemsLength: number
) {
const progressBar = queryElement(
`.${progressClassName} .${progressBarClassName}`,
oldReferenceLayer
);

if (!progressBar) return;

const progress = _getProgress(currentStep, introItemsLength);

progressBar.style.cssText = `width:${progress}%;`;
progressBar.setAttribute("aria-valuenow", progress.toString());
}

/**
* To set the show element
Expand Down Expand Up @@ -460,11 +253,6 @@ export default async function _showElement(tour: Tour, step: TourStep) {
disableInteractionLayer.parentNode.removeChild(disableInteractionLayer);
}

//disable interaction
if (step.disableInteraction) {
_disableInteraction(tour, step);
}

setShowElement(step.element as HTMLElement);

await tour.callback("afterChange")?.call(tour, step.element);
Expand Down

0 comments on commit 4f6e298

Please sign in to comment.