Skip to content

Commit f1ce104

Browse files
Merge pull request #8 from node-projects/feature/slidershow
Feature/slidershow
2 parents 5c0512a + 66060e8 commit f1ce104

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@node-projects/automatic-slidershow-webcomponent",
3-
"version": "1.0.4",
3+
"version": "1.0.5",
44
"description": "",
55
"type": "module",
66
"private": false,

src/designer/SliderShowPlacementService.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ export default class SliderShowPlacementService extends DefaultPlacementService
99
}
1010

1111
override enterContainer(container: IDesignItem, items: IDesignItem[]) {
12+
13+
super.enterContainer(container, items);
14+
1215
for (let i of items) {
1316
if (i.hasStyle('position'))
1417
i.removeStyle('position');

src/slider/AutomaticSliderShowWebcomponent.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,16 @@ export class AutomaticSliderShowWebcomponent extends BaseCustomWebComponentConst
130130
this._showSlides();
131131
}
132132

133-
_refreshContent() {
133+
private _refreshContent() {
134134
this._dots.innerHTML = "";
135135
this._slideIndex = 0;
136136
}
137137

138+
setSlideIndex(index: number) {
139+
this._slideIndex = index;
140+
this._showSlides();
141+
}
142+
138143
private _showSlides() {
139144
if (this._slideIndex >= this.children.length) {
140145
this._slideIndex = 0;
@@ -146,11 +151,14 @@ export class AutomaticSliderShowWebcomponent extends BaseCustomWebComponentConst
146151
const dotElement = document.createElement('div');
147152
dotElement.className = "dot-element";
148153
dotElement.id = "dot-element-" + count;
154+
dotElement.addEventListener('click', () => this.setSlideIndex(index));
149155
this._dots.appendChild(dotElement);
150156
count++;
151157
}
152158

153-
(<HTMLDivElement>this._dots.children[this._slideIndex]).classList.add("dot-active");
159+
if ((<HTMLDivElement>this._dots).children.length != 0) {
160+
(<HTMLDivElement>this._dots.children[this._slideIndex]).classList.add("dot-active");
161+
}
154162

155163
let i = 0;
156164
for (const item of this.children as any as HTMLElement[]) {

0 commit comments

Comments
 (0)