mirror of
https://github.com/IvarK/AntimatterDimensionsSourceCode.git
synced 2024-11-21 19:42:17 +00:00
Vuefy and I'm not going to cleanup SliderComponent now thank you
This commit is contained in:
parent
dc2de98ff5
commit
66b5f8f920
@ -1 +1,2 @@
|
|||||||
public/**/*.js
|
public/**/*.js
|
||||||
|
src/components/SliderComponent.vue
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import "../celestial-quote-history.js";
|
import "../celestial-quote-history.js";
|
||||||
import "../../common/ad-slider-component.js";
|
|
||||||
import PrimaryButton from "@/components/PrimaryButton";
|
import PrimaryButton from "@/components/PrimaryButton";
|
||||||
import PrimaryToggleButton from "@/components/PrimaryToggleButton";
|
import PrimaryToggleButton from "@/components/PrimaryToggleButton";
|
||||||
|
import SliderComponent from "@/components/SliderComponent";
|
||||||
|
|
||||||
Vue.component("modal-enslaved-hints", {
|
Vue.component("modal-enslaved-hints", {
|
||||||
data() {
|
data() {
|
||||||
@ -140,7 +140,8 @@ Vue.component("modal-enslaved-hints", {
|
|||||||
Vue.component("enslaved-tab", {
|
Vue.component("enslaved-tab", {
|
||||||
components: {
|
components: {
|
||||||
PrimaryButton,
|
PrimaryButton,
|
||||||
PrimaryToggleButton
|
PrimaryToggleButton,
|
||||||
|
SliderComponent
|
||||||
},
|
},
|
||||||
data: () => ({
|
data: () => ({
|
||||||
isStoringBlackHole: false,
|
isStoringBlackHole: false,
|
||||||
@ -388,7 +389,7 @@ Vue.component("enslaved-tab", {
|
|||||||
<div v-if="canAdjustStoredTime" class="l-enslaved-top-container__half">
|
<div v-if="canAdjustStoredTime" class="l-enslaved-top-container__half">
|
||||||
Black Hole charging rate: {{ storedTimeRate }}
|
Black Hole charging rate: {{ storedTimeRate }}
|
||||||
<br><br>
|
<br><br>
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderProps"
|
v-bind="sliderProps"
|
||||||
:value="storedFraction"
|
:value="storedFraction"
|
||||||
@input="adjustSlider($event)"
|
@input="adjustSlider($event)"
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
Vue.component("plus-minus-button", {
|
|
||||||
props: {
|
|
||||||
type: {
|
|
||||||
type: String,
|
|
||||||
default: "plus",
|
|
||||||
},
|
|
||||||
size: String,
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
color: "white",
|
|
||||||
computedSize: 0,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.color = getComputedStyle(this.$el).color;
|
|
||||||
this.computedSize = this.$el.offsetWidth;
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
iconClass() {
|
|
||||||
return `fas fa-${this.type}`;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
template: `
|
|
||||||
<div
|
|
||||||
class="c-ad-slider__button"
|
|
||||||
v-repeating-click="{ delay: 500 }"
|
|
||||||
@firstclick="$emit('click')"
|
|
||||||
@repeatclick="$emit('click')"
|
|
||||||
>
|
|
||||||
<div :class="iconClass" />
|
|
||||||
</div>`
|
|
||||||
});
|
|
@ -1,10 +1,13 @@
|
|||||||
import "./black-hole-unlock-button.js";
|
import "./black-hole-unlock-button.js";
|
||||||
import "./black-hole-upgrade-row.js";
|
import "./black-hole-upgrade-row.js";
|
||||||
import "./black-hole-state-row.js";
|
import "./black-hole-state-row.js";
|
||||||
import "../../common/ad-slider-component.js";
|
|
||||||
import { BlackHoleAnimation } from "./black-hole-animation.js";
|
import { BlackHoleAnimation } from "./black-hole-animation.js";
|
||||||
|
import SliderComponent from "@/components/SliderComponent";
|
||||||
|
|
||||||
Vue.component("black-hole-tab", {
|
Vue.component("black-hole-tab", {
|
||||||
|
components: {
|
||||||
|
SliderComponent
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isUnlocked: false,
|
isUnlocked: false,
|
||||||
@ -223,7 +226,7 @@ Vue.component("black-hole-tab", {
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="canAdjustStoredTime" class="l-enslaved-shop-container">
|
<div v-if="canAdjustStoredTime" class="l-enslaved-shop-container">
|
||||||
Black Hole charging rate: {{ storedTimeRate }}
|
Black Hole charging rate: {{ storedTimeRate }}
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderPropsStoring"
|
v-bind="sliderPropsStoring"
|
||||||
:value="storedFraction"
|
:value="storedFraction"
|
||||||
@input="adjustSliderStoring($event)"
|
@input="adjustSliderStoring($event)"
|
||||||
@ -232,7 +235,7 @@ Vue.component("black-hole-tab", {
|
|||||||
<div v-if="isNegativeBHUnlocked" class="l-enslaved-shop-container">
|
<div v-if="isNegativeBHUnlocked" class="l-enslaved-shop-container">
|
||||||
Inverted Black Hole divides game speed by {{ format(negativeBHDivisor, 2, 2) }}.
|
Inverted Black Hole divides game speed by {{ format(negativeBHDivisor, 2, 2) }}.
|
||||||
This requires both Black Holes to be permanent and only works when paused.
|
This requires both Black Holes to be permanent and only works when paused.
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderPropsNegative"
|
v-bind="sliderPropsNegative"
|
||||||
:value="negativeSlider"
|
:value="negativeSlider"
|
||||||
@input="adjustSliderNegative($event)"
|
@input="adjustSliderNegative($event)"
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
import "../../common/ad-slider-component.js";
|
|
||||||
import ToggleButton from "@/components/ToggleButton";
|
import ToggleButton from "@/components/ToggleButton";
|
||||||
|
import SliderComponent from "@/components/SliderComponent";
|
||||||
|
|
||||||
// The things inside player.celestials.effarig.glyphWeights
|
// The things inside player.celestials.effarig.glyphWeights
|
||||||
const _GLYPH_WEIGHT_FIELDS = ["ep", "repl", "dt", "eternities"];
|
const _GLYPH_WEIGHT_FIELDS = ["ep", "repl", "dt", "eternities"];
|
||||||
|
|
||||||
Vue.component("glyph-levels-and-weights", {
|
Vue.component("glyph-levels-and-weights", {
|
||||||
components: {
|
components: {
|
||||||
ToggleButton
|
ToggleButton,
|
||||||
|
SliderComponent
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -331,7 +332,7 @@ Vue.component("glyph-levels-and-weights", {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('ep')">
|
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('ep')">
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderProps"
|
v-bind="sliderProps"
|
||||||
:value="weights.ep"
|
:value="weights.ep"
|
||||||
:width="'100%'"
|
:width="'100%'"
|
||||||
@ -339,7 +340,7 @@ Vue.component("glyph-levels-and-weights", {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('replicanti')">
|
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('replicanti')">
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderProps"
|
v-bind="sliderProps"
|
||||||
:value="weights.repl"
|
:value="weights.repl"
|
||||||
:width="'100%'"
|
:width="'100%'"
|
||||||
@ -347,7 +348,7 @@ Vue.component("glyph-levels-and-weights", {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('dt')">
|
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('dt')">
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderProps"
|
v-bind="sliderProps"
|
||||||
:value="weights.dt"
|
:value="weights.dt"
|
||||||
:width="'100%'"
|
:width="'100%'"
|
||||||
@ -355,7 +356,7 @@ Vue.component("glyph-levels-and-weights", {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('eternities')">
|
<div class="l-glyph-levels-and-weights__slider" :style="rowStyle('eternities')">
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="sliderProps"
|
v-bind="sliderProps"
|
||||||
:value="weights.eternities"
|
:value="weights.eternities"
|
||||||
:width="'100%'"
|
:width="'100%'"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import "../glyph-component.js";
|
import "../glyph-component.js";
|
||||||
import "../../../common/ad-slider-component.js";
|
import SliderComponent from "@/components/SliderComponent";
|
||||||
|
|
||||||
const AutoSacAdvancedTab = {
|
const AutoSacAdvancedTab = {
|
||||||
props: {
|
props: {
|
||||||
@ -235,6 +235,7 @@ Vue.component("glyph-filter-panel", {
|
|||||||
components: {
|
components: {
|
||||||
"auto-sac-effect-tab": AutoSacEffectTab,
|
"auto-sac-effect-tab": AutoSacEffectTab,
|
||||||
"auto-sac-advanced-tab": AutoSacAdvancedTab,
|
"auto-sac-advanced-tab": AutoSacAdvancedTab,
|
||||||
|
SliderComponent
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -448,7 +449,7 @@ Vue.component("glyph-filter-panel", {
|
|||||||
@click="bumpRarity(type.id)"
|
@click="bumpRarity(type.id)"
|
||||||
>
|
>
|
||||||
<glyph-component :glyph="{type: type.id, strength: strengthThreshold(type.id) }" v-bind="glyphIconProps" />
|
<glyph-component :glyph="{type: type.id, strength: strengthThreshold(type.id) }" v-bind="glyphIconProps" />
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="raritySliderProps"
|
v-bind="raritySliderProps"
|
||||||
:value="rarityThresholds[type.id]"
|
:value="rarityThresholds[type.id]"
|
||||||
:width="'100%'"
|
:width="'100%'"
|
||||||
@ -478,7 +479,7 @@ Vue.component("glyph-filter-panel", {
|
|||||||
:glyph="{type: advancedType, strength: strengthThreshold(advancedType) }"
|
:glyph="{type: advancedType, strength: strengthThreshold(advancedType) }"
|
||||||
v-bind="glyphIconProps"
|
v-bind="glyphIconProps"
|
||||||
/>
|
/>
|
||||||
<ad-slider-component
|
<SliderComponent
|
||||||
v-bind="raritySliderProps"
|
v-bind="raritySliderProps"
|
||||||
:value="rarityThresholds[advancedType]"
|
:value="rarityThresholds[advancedType]"
|
||||||
:width="'100%'"
|
:width="'100%'"
|
||||||
|
41
src/components/PlusMinusButton.vue
Normal file
41
src/components/PlusMinusButton.vue
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
size: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
color: "white",
|
||||||
|
computedSize: 0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
iconClass() {
|
||||||
|
return `fas fa-${this.type}`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.color = getComputedStyle(this.$el).color;
|
||||||
|
this.computedSize = this.$el.offsetWidth;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div
|
||||||
|
v-repeating-click="{ delay: 500 }"
|
||||||
|
class="c-ad-slider__button"
|
||||||
|
@firstclick="$emit('click')"
|
||||||
|
@repeatclick="$emit('click')"
|
||||||
|
>
|
||||||
|
<div :class="iconClass" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
@ -1,4 +1,5 @@
|
|||||||
import "./plus-minus-button.js";
|
<script>
|
||||||
|
import PlusMinusButton from "@/components/PlusMinusButton";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is based on vue-slider-component
|
* This is based on vue-slider-component
|
||||||
@ -34,7 +35,11 @@ const roundToDPR = (function () {
|
|||||||
const r = typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1
|
const r = typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1
|
||||||
return value => Math.round(value * r) / r
|
return value => Math.round(value * r) / r
|
||||||
})()
|
})()
|
||||||
Vue.component("ad-slider-component", {
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
PlusMinusButton
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
width: {
|
width: {
|
||||||
type: String,
|
type: String,
|
||||||
@ -381,8 +386,8 @@ Vue.component("ad-slider-component", {
|
|||||||
let ret = this.direction === 'vertical' ? {
|
let ret = this.direction === 'vertical' ? {
|
||||||
height: this.height,
|
height: this.height,
|
||||||
} : {
|
} : {
|
||||||
width: this.width,
|
width: this.width,
|
||||||
}
|
}
|
||||||
if (this.plusMinusButtons) {
|
if (this.plusMinusButtons) {
|
||||||
ret[this.direction === "vertical" ? "margin-top" : "margin-right"] = "0.5rem";
|
ret[this.direction === "vertical" ? "margin-top" : "margin-right"] = "0.5rem";
|
||||||
ret[this.direction === "vertical" ? "margin-bottom" : "margin-left"] = "0.5rem";
|
ret[this.direction === "vertical" ? "margin-bottom" : "margin-left"] = "0.5rem";
|
||||||
@ -439,9 +444,9 @@ Vue.component("ad-slider-component", {
|
|||||||
height: '100%',
|
height: '100%',
|
||||||
position: "relative"
|
position: "relative"
|
||||||
} : {
|
} : {
|
||||||
height: this.height,
|
height: this.height,
|
||||||
position: "relative"
|
position: "relative"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dotStyles() {
|
dotStyles() {
|
||||||
let ret = {
|
let ret = {
|
||||||
@ -482,9 +487,9 @@ Vue.component("ad-slider-component", {
|
|||||||
bottom: `${this.gap * i - this.usableSize / 2 }px`,
|
bottom: `${this.gap * i - this.usableSize / 2 }px`,
|
||||||
left: 0
|
left: 0
|
||||||
} : {
|
} : {
|
||||||
left: `${this.gap * i - this.usableSize / 2 }px`,
|
left: `${this.gap * i - this.usableSize / 2 }px`,
|
||||||
top: 0
|
top: 0
|
||||||
}
|
}
|
||||||
const index = this.reverse ? (this.total - i) : i
|
const index = this.reverse ? (this.total - i) : i
|
||||||
const label = this.data ? this.data[index] : (this.spacing * index) + this.min
|
const label = this.data ? this.data[index] : (this.spacing * index) + this.min
|
||||||
if (this.piecewiseFilter && !this.piecewiseFilter({ index, label })) {
|
if (this.piecewiseFilter && !this.piecewiseFilter({ index, label })) {
|
||||||
@ -1012,142 +1017,145 @@ Vue.component("ad-slider-component", {
|
|||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.isComponentExists = false
|
this.isComponentExists = false
|
||||||
this.unbindEvents()
|
this.unbindEvents()
|
||||||
},
|
}
|
||||||
template: `
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
<div :class="['l-ad-slider', flowDirection, disabledClass, { 'l-ad-slider--has-label': piecewiseLabel }]"
|
<div :class="['l-ad-slider', flowDirection, disabledClass, { 'l-ad-slider--has-label': piecewiseLabel }]"
|
||||||
v-show="show">
|
v-show="show">
|
||||||
<plus-minus-button v-if="plusMinusButtons" type="minus" size="1.6rem" @click="increment(-1)"/>
|
<PlusMinusButton v-if="plusMinusButtons" type="minus" size="1.6rem" @click="increment(-1)"/>
|
||||||
<div ref="wrap"
|
<div ref="wrap"
|
||||||
:class="['l-ad-slider__wrap', stateClass]"
|
:class="['l-ad-slider__wrap', stateClass]"
|
||||||
:style="[wrapStyles, boolDisabled ? disabledStyle : null]"
|
:style="[wrapStyles, boolDisabled ? disabledStyle : null]"
|
||||||
@click="wrapClick">
|
@click="wrapClick">
|
||||||
<div ref="elem" aria-hidden="true" :class="['l-ad-slider__bg', 'c-ad-slider__bg', bgClass]" :style="[elemStyles, bgStyle]">
|
<div ref="elem" aria-hidden="true" :class="['l-ad-slider__bg', 'c-ad-slider__bg', bgClass]" :style="[elemStyles, bgStyle]">
|
||||||
<template v-if="isRange">
|
<template v-if="isRange">
|
||||||
<div
|
<div
|
||||||
ref="dot0"
|
ref="dot0"
|
||||||
key="dot0"
|
key="dot0"
|
||||||
:class="[tooltipStatus, 'l-ad-slider__dot', 'c-ad-slider__dot',
|
:class="[tooltipStatus, 'l-ad-slider__dot', 'c-ad-slider__dot',
|
||||||
{
|
{
|
||||||
'l-ad-slider__dot--focus': focusFlag && focusSlider === 0,
|
'l-ad-slider__dot--focus': focusFlag && focusSlider === 0,
|
||||||
'l-ad-slider__dot--dragging': flag && currentSlider === 0,
|
'l-ad-slider__dot--dragging': flag && currentSlider === 0,
|
||||||
'l-ad-slider__dot--disabled': !boolDisabled && disabledArray[0]
|
'l-ad-slider__dot--disabled': !boolDisabled && disabledArray[0]
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:style="dotStyles"
|
:style="dotStyles"
|
||||||
@mousedown="moveStart($event, 0)"
|
@mousedown="moveStart($event, 0)"
|
||||||
@touchstart="moveStart($event, 0)"
|
@touchstart="moveStart($event, 0)"
|
||||||
>
|
>
|
||||||
<slot name="dot" :value="val[0]" :index="0" :disabled="disabledArray[0]">
|
<slot name="dot" :value="val[0]" :index="0" :disabled="disabledArray[0]">
|
||||||
<div
|
<div
|
||||||
:class="['l-ad-slider__dot-handle', 'c-ad-slider__dot-handle', dotClass]"
|
:class="['l-ad-slider__dot-handle', 'c-ad-slider__dot-handle', dotClass]"
|
||||||
:style="[
|
:style="[
|
||||||
(!boolDisabled && disabledArray[0])
|
(!boolDisabled && disabledArray[0])
|
||||||
? disabledDotStyles[0]
|
? disabledDotStyles[0]
|
||||||
: null,
|
: null,
|
||||||
sliderStyles[0],
|
sliderStyles[0],
|
||||||
focusFlag && focusSlider === 0 ? focusStyles[0]: null
|
focusFlag && focusSlider === 0 ? focusStyles[0]: null
|
||||||
]"
|
]"
|
||||||
></div>
|
></div>
|
||||||
</slot>
|
|
||||||
<div ref="tooltip0" :class="['ad-slider-tooltip-' + tooltipDirection[0], 'ad-slider-tooltip-wrap']">
|
|
||||||
<slot name="tooltip" :value="val[0]" :index="0" :disabled="!boolDisabled && disabledArray[0]">
|
|
||||||
<span class="ad-slider-tooltip" :style="tooltipStyles[0]">{{ xformatter ? formatting(val[0]) : val[0] }}</span>
|
|
||||||
</slot>
|
</slot>
|
||||||
|
<div ref="tooltip0" :class="['ad-slider-tooltip-' + tooltipDirection[0], 'ad-slider-tooltip-wrap']">
|
||||||
|
<slot name="tooltip" :value="val[0]" :index="0" :disabled="!boolDisabled && disabledArray[0]">
|
||||||
|
<span class="ad-slider-tooltip" :style="tooltipStyles[0]">{{ xformatter ? formatting(val[0]) : val[0] }}</span>
|
||||||
|
</slot>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div
|
||||||
<div
|
ref="dot1"
|
||||||
ref="dot1"
|
key="dot1"
|
||||||
key="dot1"
|
:class="[tooltipStatus, 'l-ad-slider__dot', 'c-ad-slider__dot',
|
||||||
:class="[tooltipStatus, 'l-ad-slider__dot', 'c-ad-slider__dot',
|
|
||||||
{
|
{
|
||||||
'l-ad-slider__dot--focus': focusFlag && focusSlider === 1,
|
'l-ad-slider__dot--focus': focusFlag && focusSlider === 1,
|
||||||
'l-ad-slider__dot--dragging': flag && currentSlider === 1,
|
'l-ad-slider__dot--dragging': flag && currentSlider === 1,
|
||||||
'l-ad-slider__dot--disabled': !boolDisabled && disabledArray[1]
|
'l-ad-slider__dot--disabled': !boolDisabled && disabledArray[1]
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:style="dotStyles"
|
:style="dotStyles"
|
||||||
@mousedown="moveStart($event, 1)"
|
@mousedown="moveStart($event, 1)"
|
||||||
@touchstart="moveStart($event, 1)"
|
@touchstart="moveStart($event, 1)"
|
||||||
>
|
>
|
||||||
<slot name="dot" :value="val[1]" :index="1" :disabled="disabledArray[1]">
|
<slot name="dot" :value="val[1]" :index="1" :disabled="disabledArray[1]">
|
||||||
<div
|
<div
|
||||||
:class="['l-ad-slider__dot-handle', 'c-ad-slider__dot-handle', dotClass]"
|
:class="['l-ad-slider__dot-handle', 'c-ad-slider__dot-handle', dotClass]"
|
||||||
:style="[
|
:style="[
|
||||||
(!boolDisabled && disabledArray[1])
|
(!boolDisabled && disabledArray[1])
|
||||||
? disabledDotStyles[1]
|
? disabledDotStyles[1]
|
||||||
: null,
|
: null,
|
||||||
sliderStyles[1],
|
sliderStyles[1],
|
||||||
focusFlag && focusSlider === 1 ? focusStyles[1]: null
|
focusFlag && focusSlider === 1 ? focusStyles[1]: null
|
||||||
]"
|
]"
|
||||||
></div>
|
></div>
|
||||||
</slot>
|
|
||||||
<div ref="tooltip1" :class="['ad-slider-tooltip-' + tooltipDirection[1], 'ad-slider-tooltip-wrap']">
|
|
||||||
<slot name="tooltip" :value="val[1]" :index="1" :disabled="!boolDisabled && disabledArray[1]">
|
|
||||||
<span class="ad-slider-tooltip" :style="tooltipStyles[1]">{{ xformatter ? formatting(val[1]) : val[1] }}</span>
|
|
||||||
</slot>
|
</slot>
|
||||||
|
<div ref="tooltip1" :class="['ad-slider-tooltip-' + tooltipDirection[1], 'ad-slider-tooltip-wrap']">
|
||||||
|
<slot name="tooltip" :value="val[1]" :index="1" :disabled="!boolDisabled && disabledArray[1]">
|
||||||
|
<span class="ad-slider-tooltip" :style="tooltipStyles[1]">{{ xformatter ? formatting(val[1]) : val[1] }}</span>
|
||||||
|
</slot>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
</template>
|
<template v-else>
|
||||||
<template v-else>
|
<div
|
||||||
<div
|
ref="dot0"
|
||||||
ref="dot0"
|
key="dot0"
|
||||||
key="dot0"
|
:class="[tooltipStatus, 'l-ad-slider__dot', 'c-ad-slider__dot',
|
||||||
:class="[tooltipStatus, 'l-ad-slider__dot', 'c-ad-slider__dot',
|
|
||||||
{
|
{
|
||||||
'l-ad-slider__dot--focus': focusFlag && focusSlider === 0,
|
'l-ad-slider__dot--focus': focusFlag && focusSlider === 0,
|
||||||
'l-ad-slider__dot--dragging': flag && currentSlider === 0
|
'l-ad-slider__dot--dragging': flag && currentSlider === 0
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:style="dotStyles"
|
:style="dotStyles"
|
||||||
@mousedown="moveStart"
|
@mousedown="moveStart"
|
||||||
@touchstart="moveStart"
|
@touchstart="moveStart"
|
||||||
>
|
|
||||||
<slot name="dot" :value="val" :disabled="boolDisabled">
|
|
||||||
<div :class="['l-ad-slider__dot-handle', 'c-ad-slider__dot-handle', dotClass]"
|
|
||||||
:style="[sliderStyles, focusFlag && focusSlider === 0 ? focusStyles : null]">
|
|
||||||
{{dotContents(0)}}
|
|
||||||
<slot name="in-dot"/>
|
|
||||||
</div>
|
|
||||||
</slot>
|
|
||||||
<div :class="['ad-slider-tooltip-' + tooltipDirection, 'ad-slider-tooltip-wrap']">
|
|
||||||
<slot name="tooltip" :value="val">
|
|
||||||
<span class="ad-slider-tooltip" :style="tooltipStyles">{{ xformatter ? formatting(val) : val }}</span>
|
|
||||||
</slot>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<ul class="ad-slider-piecewise">
|
|
||||||
<li
|
|
||||||
v-for="(piecewiseObj, index) in piecewiseDotWrap"
|
|
||||||
class="ad-slider-piecewise-item"
|
|
||||||
:style="[piecewiseDotStyle, piecewiseObj.style]"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<slot
|
|
||||||
name="piecewise"
|
|
||||||
:value="val"
|
|
||||||
:label="piecewiseObj.label"
|
|
||||||
:index="index"
|
|
||||||
:first="index === 0"
|
|
||||||
:last="index === piecewiseDotWrap.length - 1"
|
|
||||||
:active="isActive(piecewiseObj.index)"
|
|
||||||
>
|
>
|
||||||
|
<slot name="dot" :value="val" :disabled="boolDisabled">
|
||||||
|
<div :class="['l-ad-slider__dot-handle', 'c-ad-slider__dot-handle', dotClass]"
|
||||||
|
:style="[sliderStyles, focusFlag && focusSlider === 0 ? focusStyles : null]">
|
||||||
|
{{dotContents(0)}}
|
||||||
|
<slot name="in-dot"/>
|
||||||
|
</div>
|
||||||
|
</slot>
|
||||||
|
<div :class="['ad-slider-tooltip-' + tooltipDirection, 'ad-slider-tooltip-wrap']">
|
||||||
|
<slot name="tooltip" :value="val">
|
||||||
|
<span class="ad-slider-tooltip" :style="tooltipStyles">{{ xformatter ? formatting(val) : val }}</span>
|
||||||
|
</slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<ul class="ad-slider-piecewise">
|
||||||
|
<li
|
||||||
|
v-for="(piecewiseObj, index) in piecewiseDotWrap"
|
||||||
|
class="ad-slider-piecewise-item"
|
||||||
|
:style="[piecewiseDotStyle, piecewiseObj.style]"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<slot
|
||||||
|
name="piecewise"
|
||||||
|
:value="val"
|
||||||
|
:label="piecewiseObj.label"
|
||||||
|
:index="index"
|
||||||
|
:first="index === 0"
|
||||||
|
:last="index === piecewiseDotWrap.length - 1"
|
||||||
|
:active="isActive(piecewiseObj.index)"
|
||||||
|
>
|
||||||
<span
|
<span
|
||||||
v-if="piecewise"
|
v-if="piecewise"
|
||||||
class="ad-slider-piecewise-dot"
|
class="ad-slider-piecewise-dot"
|
||||||
:style="[ piecewiseStyle, isActive(piecewiseObj.index) ? piecewiseActiveStyle : null ]"
|
:style="[ piecewiseStyle, isActive(piecewiseObj.index) ? piecewiseActiveStyle : null ]"
|
||||||
></span>
|
></span>
|
||||||
</slot>
|
</slot>
|
||||||
|
|
||||||
<slot
|
<slot
|
||||||
name="label"
|
name="label"
|
||||||
:value="val"
|
:value="val"
|
||||||
:label="piecewiseObj.label"
|
:label="piecewiseObj.label"
|
||||||
:index="index"
|
:index="index"
|
||||||
:first="index === 0"
|
:first="index === 0"
|
||||||
:last="index === piecewiseDotWrap.length - 1"
|
:last="index === piecewiseDotWrap.length - 1"
|
||||||
:active="isActive(piecewiseObj.index)"
|
:active="isActive(piecewiseObj.index)"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
v-if="piecewiseLabel"
|
v-if="piecewiseLabel"
|
||||||
class="ad-slider-piecewise-label"
|
class="ad-slider-piecewise-label"
|
||||||
@ -1155,31 +1163,31 @@ Vue.component("ad-slider-component", {
|
|||||||
>
|
>
|
||||||
{{ piecewiseObj.label }}
|
{{ piecewiseObj.label }}
|
||||||
</span>
|
</span>
|
||||||
</slot>
|
</slot>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div
|
<div
|
||||||
ref="process"
|
ref="process"
|
||||||
:class="['l-ad-slider__process', 'c-ad-slider__process', { 'ad-slider-process-draggable': isRange && processDraggable }, processClass]"
|
:class="['l-ad-slider__process', 'c-ad-slider__process', { 'ad-slider-process-draggable': isRange && processDraggable }, processClass]"
|
||||||
:style="processStyle"
|
:style="processStyle"
|
||||||
@click="processClick"
|
@click="processClick"
|
||||||
@mousedown="moveStart($event, 0, true)"
|
@mousedown="moveStart($event, 0, true)"
|
||||||
@touchstart="moveStart($event, 0, true)"
|
@touchstart="moveStart($event, 0, true)"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
ref="mergedTooltip"
|
ref="mergedTooltip"
|
||||||
:class="['vue-merged-tooltip', 'ad-slider-tooltip-' + tooltipDirection[0], 'ad-slider-tooltip-wrap']"
|
:class="['vue-merged-tooltip', 'ad-slider-tooltip-' + tooltipDirection[0], 'ad-slider-tooltip-wrap']"
|
||||||
:style="tooltipMergedPosition"
|
:style="tooltipMergedPosition"
|
||||||
>
|
>
|
||||||
<slot name="tooltip" :value="val" :merge="true">
|
<slot name="tooltip" :value="val" :merge="true">
|
||||||
<span class="ad-slider-tooltip" :style="tooltipStyles">
|
<span class="ad-slider-tooltip" :style="tooltipStyles">
|
||||||
{{ tooltipFormatHelper }}
|
{{ tooltipFormatHelper }}
|
||||||
</span>
|
</span>
|
||||||
</slot>
|
</slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<PlusMinusButton v-if="plusMinusButtons" type="plus" size="1.6rem" @click="increment(1)"/>
|
||||||
</div>
|
</div>
|
||||||
<plus-minus-button v-if="plusMinusButtons" type="plus" size="1.6rem" @click="increment(1)"/>
|
</template>
|
||||||
</div>`
|
|
||||||
});
|
|
Loading…
Reference in New Issue
Block a user