@egjs/flicking-plugins 4.5.0 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declaration/AutoPlay.d.ts +2 -0
- package/declaration/pagination/Pagination.d.ts +5 -1
- package/declaration/pagination/index.d.ts +2 -2
- package/declaration/pagination/renderer/BulletRenderer.d.ts +5 -1
- package/declaration/pagination/renderer/FractionRenderer.d.ts +3 -0
- package/declaration/pagination/renderer/Renderer.d.ts +3 -0
- package/declaration/pagination/renderer/ScrollBulletRenderer.d.ts +1 -0
- package/dist/plugins.esm.js +206 -64
- package/dist/plugins.esm.js.map +1 -1
- package/dist/plugins.js +211 -69
- package/dist/plugins.js.map +1 -1
- package/dist/plugins.min.js +2 -2
- package/dist/plugins.min.js.map +1 -1
- package/package.json +1 -1
- package/src/AutoPlay.ts +4 -0
- package/src/Fade.ts +4 -2
- package/src/pagination/Pagination.ts +7 -0
- package/src/pagination/index.ts +5 -2
- package/src/pagination/renderer/BulletRenderer.ts +73 -33
- package/src/pagination/renderer/FractionRenderer.ts +21 -6
- package/src/pagination/renderer/Renderer.ts +34 -1
- package/src/pagination/renderer/ScrollBulletRenderer.ts +38 -20
- package/declaration/pagination/renderer/index.d.ts +0 -2
- package/src/pagination/renderer/index.ts +0 -5
|
@@ -15,11 +15,13 @@ declare class AutoPlay implements Plugin {
|
|
|
15
15
|
private _flicking;
|
|
16
16
|
private _timerId;
|
|
17
17
|
private _mouseEntered;
|
|
18
|
+
private _playing;
|
|
18
19
|
get duration(): number;
|
|
19
20
|
get animationDuration(): number | undefined;
|
|
20
21
|
get direction(): AutoPlayOptions["direction"];
|
|
21
22
|
get stopOnHover(): boolean;
|
|
22
23
|
get delayAfterHover(): number;
|
|
24
|
+
get playing(): boolean;
|
|
23
25
|
set duration(val: number);
|
|
24
26
|
set animationDuration(val: number | undefined);
|
|
25
27
|
set direction(val: AutoPlayOptions["direction"]);
|
|
@@ -8,6 +8,7 @@ export interface PaginationOptions {
|
|
|
8
8
|
bulletCount: number;
|
|
9
9
|
renderBullet: (className: string, index: number) => string;
|
|
10
10
|
renderFraction: (currentClass: string, totalClass: string) => string;
|
|
11
|
+
renderActiveBullet: ((className: string, index: number) => string) | null;
|
|
11
12
|
fractionCurrentFormat: (index: number) => string;
|
|
12
13
|
fractionTotalFormat: (total: number) => string;
|
|
13
14
|
scrollOnChange: (index: number, ctx: ScrollContext) => any;
|
|
@@ -22,6 +23,7 @@ declare class Pagination implements Plugin {
|
|
|
22
23
|
private _classPrefix;
|
|
23
24
|
private _bulletCount;
|
|
24
25
|
private _renderBullet;
|
|
26
|
+
private _renderActiveBullet;
|
|
25
27
|
private _renderFraction;
|
|
26
28
|
private _fractionCurrentFormat;
|
|
27
29
|
private _fractionTotalFormat;
|
|
@@ -32,6 +34,7 @@ declare class Pagination implements Plugin {
|
|
|
32
34
|
get classPrefix(): string;
|
|
33
35
|
get bulletCount(): PaginationOptions["bulletCount"];
|
|
34
36
|
get renderBullet(): PaginationOptions["renderBullet"];
|
|
37
|
+
get renderActiveBullet(): PaginationOptions["renderActiveBullet"];
|
|
35
38
|
get renderFraction(): PaginationOptions["renderFraction"];
|
|
36
39
|
get fractionCurrentFormat(): PaginationOptions["fractionCurrentFormat"];
|
|
37
40
|
get fractionTotalFormat(): PaginationOptions["fractionTotalFormat"];
|
|
@@ -42,11 +45,12 @@ declare class Pagination implements Plugin {
|
|
|
42
45
|
set bulletWrapperclassPrefixClass(val: PaginationOptions["classPrefix"]);
|
|
43
46
|
set bulletCount(val: PaginationOptions["bulletCount"]);
|
|
44
47
|
set renderBullet(val: PaginationOptions["renderBullet"]);
|
|
48
|
+
set renderActiveBullet(val: PaginationOptions["renderActiveBullet"]);
|
|
45
49
|
set renderFraction(val: PaginationOptions["renderFraction"]);
|
|
46
50
|
set fractionCurrentFormat(val: PaginationOptions["fractionCurrentFormat"]);
|
|
47
51
|
set fractionTotalFormat(val: PaginationOptions["fractionTotalFormat"]);
|
|
48
52
|
set scrollOnChange(val: PaginationOptions["scrollOnChange"]);
|
|
49
|
-
constructor({ parentEl, selector, type, classPrefix, bulletCount, renderBullet, renderFraction, fractionCurrentFormat, fractionTotalFormat, scrollOnChange }?: Partial<PaginationOptions>);
|
|
53
|
+
constructor({ parentEl, selector, type, classPrefix, bulletCount, renderBullet, renderActiveBullet, renderFraction, fractionCurrentFormat, fractionTotalFormat, scrollOnChange }?: Partial<PaginationOptions>);
|
|
50
54
|
init(flicking: Flicking): void;
|
|
51
55
|
destroy(): void;
|
|
52
56
|
update: () => void;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import Renderer from "./Renderer";
|
|
2
2
|
declare class BulletRenderer extends Renderer {
|
|
3
|
-
private
|
|
3
|
+
private _bullets;
|
|
4
|
+
private _prevIndex;
|
|
5
|
+
private get _bulletClass();
|
|
6
|
+
private get _activeClass();
|
|
7
|
+
destroy(): void;
|
|
4
8
|
render(): void;
|
|
5
9
|
update(index: number): void;
|
|
6
10
|
}
|
|
@@ -10,7 +10,10 @@ declare abstract class Renderer {
|
|
|
10
10
|
protected _pagination: Pagination;
|
|
11
11
|
protected _wrapper: HTMLElement;
|
|
12
12
|
constructor({ flicking, pagination, wrapper }: RendererOptions);
|
|
13
|
+
abstract destroy(): void;
|
|
13
14
|
abstract render(): void;
|
|
14
15
|
abstract update(index: number): void;
|
|
16
|
+
protected _createBulletFromString(html: string, index: number): HTMLElement;
|
|
17
|
+
protected _addBulletEvents(bullet: HTMLElement, index: number): void;
|
|
15
18
|
}
|
|
16
19
|
export default Renderer;
|
package/dist/plugins.esm.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/flicking-plugins
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-flicking-plugins
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.7.0
|
|
8
8
|
*/
|
|
9
9
|
import { EVENTS, DIRECTION, FlickingError, clamp } from '@egjs/flicking';
|
|
10
10
|
|
|
@@ -152,8 +152,11 @@ function () {
|
|
|
152
152
|
var progress = panel.outsetProgress;
|
|
153
153
|
var el = panel.element;
|
|
154
154
|
var target = selector ? el.querySelector(selector) : el;
|
|
155
|
-
|
|
156
|
-
target
|
|
155
|
+
|
|
156
|
+
if (target) {
|
|
157
|
+
var opacity = Math.min(1, Math.max(0, 1 - Math.abs(progress * scale)));
|
|
158
|
+
target.style.opacity = "" + opacity;
|
|
159
|
+
}
|
|
157
160
|
});
|
|
158
161
|
};
|
|
159
162
|
|
|
@@ -249,12 +252,14 @@ function () {
|
|
|
249
252
|
this._flicking = null;
|
|
250
253
|
this._timerId = 0;
|
|
251
254
|
this._mouseEntered = false;
|
|
255
|
+
this._playing = false;
|
|
252
256
|
|
|
253
257
|
this.play = function () {
|
|
254
258
|
_this._movePanel(_this._duration);
|
|
255
259
|
};
|
|
256
260
|
|
|
257
261
|
this.stop = function () {
|
|
262
|
+
_this._playing = false;
|
|
258
263
|
clearTimeout(_this._timerId);
|
|
259
264
|
};
|
|
260
265
|
|
|
@@ -328,6 +333,13 @@ function () {
|
|
|
328
333
|
enumerable: false,
|
|
329
334
|
configurable: true
|
|
330
335
|
});
|
|
336
|
+
Object.defineProperty(__proto, "playing", {
|
|
337
|
+
get: function () {
|
|
338
|
+
return this._playing;
|
|
339
|
+
},
|
|
340
|
+
enumerable: false,
|
|
341
|
+
configurable: true
|
|
342
|
+
});
|
|
331
343
|
|
|
332
344
|
__proto.init = function (flicking) {
|
|
333
345
|
var _a;
|
|
@@ -386,6 +398,7 @@ function () {
|
|
|
386
398
|
return;
|
|
387
399
|
}
|
|
388
400
|
|
|
401
|
+
this._playing = true;
|
|
389
402
|
this._timerId = window.setTimeout(function () {
|
|
390
403
|
if (direction === DIRECTION.NEXT) {
|
|
391
404
|
flicking.next(_this._animationDuration).catch(function () {
|
|
@@ -1185,6 +1198,39 @@ function () {
|
|
|
1185
1198
|
this._wrapper = wrapper;
|
|
1186
1199
|
}
|
|
1187
1200
|
|
|
1201
|
+
var __proto = Renderer.prototype;
|
|
1202
|
+
|
|
1203
|
+
__proto._createBulletFromString = function (html, index) {
|
|
1204
|
+
var range = document.createRange();
|
|
1205
|
+
var frag = range.createContextualFragment(html);
|
|
1206
|
+
var bullet = frag.firstChild;
|
|
1207
|
+
|
|
1208
|
+
this._addBulletEvents(bullet, index);
|
|
1209
|
+
|
|
1210
|
+
return bullet;
|
|
1211
|
+
};
|
|
1212
|
+
|
|
1213
|
+
__proto._addBulletEvents = function (bullet, index) {
|
|
1214
|
+
var _this = this;
|
|
1215
|
+
|
|
1216
|
+
var anchorPoints = this._flicking.camera.anchorPoints;
|
|
1217
|
+
var panelIndex = anchorPoints[index].panel.index;
|
|
1218
|
+
bullet.addEventListener(BROWSER.MOUSE_DOWN, function (e) {
|
|
1219
|
+
e.stopPropagation();
|
|
1220
|
+
});
|
|
1221
|
+
bullet.addEventListener(BROWSER.TOUCH_START, function (e) {
|
|
1222
|
+
e.stopPropagation();
|
|
1223
|
+
}, {
|
|
1224
|
+
passive: true
|
|
1225
|
+
});
|
|
1226
|
+
bullet.addEventListener(BROWSER.CLICK, function () {
|
|
1227
|
+
_this._flicking.moveTo(panelIndex).catch(function (err) {
|
|
1228
|
+
if (err instanceof FlickingError) return;
|
|
1229
|
+
throw err;
|
|
1230
|
+
});
|
|
1231
|
+
});
|
|
1232
|
+
};
|
|
1233
|
+
|
|
1188
1234
|
return Renderer;
|
|
1189
1235
|
}();
|
|
1190
1236
|
|
|
@@ -1196,64 +1242,112 @@ function (_super) {
|
|
|
1196
1242
|
function BulletRenderer() {
|
|
1197
1243
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
1198
1244
|
|
|
1199
|
-
_this.
|
|
1245
|
+
_this._bullets = [];
|
|
1246
|
+
_this._prevIndex = -1;
|
|
1200
1247
|
return _this;
|
|
1201
1248
|
}
|
|
1202
1249
|
|
|
1203
1250
|
var __proto = BulletRenderer.prototype;
|
|
1251
|
+
Object.defineProperty(__proto, "_bulletClass", {
|
|
1252
|
+
get: function () {
|
|
1253
|
+
var pagination = this._pagination;
|
|
1254
|
+
return pagination.classPrefix + "-" + PAGINATION.BULLET_SUFFIX;
|
|
1255
|
+
},
|
|
1256
|
+
enumerable: false,
|
|
1257
|
+
configurable: true
|
|
1258
|
+
});
|
|
1259
|
+
Object.defineProperty(__proto, "_activeClass", {
|
|
1260
|
+
get: function () {
|
|
1261
|
+
var pagination = this._pagination;
|
|
1262
|
+
return pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
|
|
1263
|
+
},
|
|
1264
|
+
enumerable: false,
|
|
1265
|
+
configurable: true
|
|
1266
|
+
});
|
|
1267
|
+
|
|
1268
|
+
__proto.destroy = function () {
|
|
1269
|
+
this._bullets = [];
|
|
1270
|
+
this._prevIndex = -1;
|
|
1271
|
+
};
|
|
1204
1272
|
|
|
1205
1273
|
__proto.render = function () {
|
|
1274
|
+
var _this = this;
|
|
1275
|
+
|
|
1206
1276
|
var flicking = this._flicking;
|
|
1207
1277
|
var pagination = this._pagination;
|
|
1278
|
+
var wrapper = this._wrapper;
|
|
1279
|
+
var bulletClass = this._bulletClass;
|
|
1280
|
+
var activeClass = this._activeClass;
|
|
1208
1281
|
var renderBullet = pagination.renderBullet;
|
|
1282
|
+
var renderActiveBullet = pagination.renderActiveBullet;
|
|
1209
1283
|
var bulletWrapperClass = pagination.classPrefix + "-" + PAGINATION.BULLET_WRAPPER_SUFFIX;
|
|
1210
|
-
var bulletClass = pagination.classPrefix + "-" + PAGINATION.BULLET_SUFFIX;
|
|
1211
|
-
var bulletActiveClass = pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
|
|
1212
1284
|
var anchorPoints = flicking.camera.anchorPoints;
|
|
1213
|
-
var wrapper = this._wrapper;
|
|
1214
1285
|
addClass(wrapper, bulletWrapperClass);
|
|
1215
|
-
wrapper.innerHTML = anchorPoints.map(function (
|
|
1216
|
-
|
|
1286
|
+
wrapper.innerHTML = anchorPoints.map(function (anchorPoint, index) {
|
|
1287
|
+
if (renderActiveBullet && anchorPoint.panel.index === flicking.index) {
|
|
1288
|
+
return renderActiveBullet(bulletClass, index);
|
|
1289
|
+
} else {
|
|
1290
|
+
return renderBullet(bulletClass, index);
|
|
1291
|
+
}
|
|
1217
1292
|
}).join("\n");
|
|
1218
1293
|
var bullets = [].slice.call(wrapper.children);
|
|
1219
1294
|
bullets.forEach(function (bullet, index) {
|
|
1220
1295
|
var anchorPoint = anchorPoints[index];
|
|
1221
1296
|
|
|
1222
1297
|
if (anchorPoint.panel.index === flicking.index) {
|
|
1223
|
-
addClass(bullet,
|
|
1298
|
+
addClass(bullet, activeClass);
|
|
1299
|
+
_this._prevIndex = index;
|
|
1224
1300
|
}
|
|
1225
1301
|
|
|
1226
|
-
|
|
1227
|
-
e.stopPropagation();
|
|
1228
|
-
});
|
|
1229
|
-
bullet.addEventListener(BROWSER.TOUCH_START, function (e) {
|
|
1230
|
-
e.stopPropagation();
|
|
1231
|
-
}, {
|
|
1232
|
-
passive: true
|
|
1233
|
-
});
|
|
1234
|
-
bullet.addEventListener(BROWSER.CLICK, function () {
|
|
1235
|
-
flicking.moveTo(anchorPoint.panel.index).catch(function (err) {
|
|
1236
|
-
if (err instanceof FlickingError) return;
|
|
1237
|
-
throw err;
|
|
1238
|
-
});
|
|
1239
|
-
});
|
|
1302
|
+
_this._addBulletEvents(bullet, index);
|
|
1240
1303
|
});
|
|
1241
|
-
this.
|
|
1304
|
+
this._bullets = bullets;
|
|
1242
1305
|
};
|
|
1243
1306
|
|
|
1244
1307
|
__proto.update = function (index) {
|
|
1245
1308
|
var flicking = this._flicking;
|
|
1246
1309
|
var pagination = this._pagination;
|
|
1247
|
-
var
|
|
1248
|
-
var
|
|
1310
|
+
var wrapper = this._wrapper;
|
|
1311
|
+
var bullets = this._bullets;
|
|
1312
|
+
var bulletClass = this._bulletClass;
|
|
1313
|
+
var activeClass = this._activeClass;
|
|
1314
|
+
var prevIndex = this._prevIndex;
|
|
1249
1315
|
var anchorPoints = flicking.camera.anchorPoints;
|
|
1316
|
+
var renderBullet = pagination.renderBullet;
|
|
1317
|
+
var renderActiveBullet = pagination.renderActiveBullet;
|
|
1250
1318
|
if (anchorPoints.length <= 0) return;
|
|
1251
|
-
bullets.forEach(function (bullet) {
|
|
1252
|
-
removeClass(bullet, activeClass);
|
|
1253
|
-
});
|
|
1254
1319
|
var anchorOffset = anchorPoints[0].panel.index;
|
|
1255
|
-
var
|
|
1256
|
-
|
|
1320
|
+
var activeBulletIndex = index - anchorOffset;
|
|
1321
|
+
if (prevIndex === activeBulletIndex) return;
|
|
1322
|
+
|
|
1323
|
+
if (renderActiveBullet) {
|
|
1324
|
+
var prevBullet = bullets[prevIndex];
|
|
1325
|
+
|
|
1326
|
+
if (prevBullet) {
|
|
1327
|
+
var newBullet = this._createBulletFromString(renderBullet(bulletClass, prevIndex), prevIndex);
|
|
1328
|
+
|
|
1329
|
+
prevBullet.parentElement.replaceChild(newBullet, prevBullet);
|
|
1330
|
+
bullets[prevIndex] = newBullet;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
var activeBullet = bullets[activeBulletIndex];
|
|
1334
|
+
|
|
1335
|
+
var newActiveBullet = this._createBulletFromString(renderActiveBullet(bulletClass + " " + activeClass, activeBulletIndex), activeBulletIndex);
|
|
1336
|
+
|
|
1337
|
+
wrapper.replaceChild(newActiveBullet, activeBullet);
|
|
1338
|
+
bullets[activeBulletIndex] = newActiveBullet;
|
|
1339
|
+
} else {
|
|
1340
|
+
var activeBullet = bullets[activeBulletIndex];
|
|
1341
|
+
var prevBullet = bullets[prevIndex];
|
|
1342
|
+
|
|
1343
|
+
if (prevBullet) {
|
|
1344
|
+
removeClass(prevBullet, activeClass);
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
addClass(activeBullet, activeClass);
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
this._prevIndex = activeBulletIndex;
|
|
1257
1351
|
};
|
|
1258
1352
|
|
|
1259
1353
|
return BulletRenderer;
|
|
@@ -1265,11 +1359,20 @@ function (_super) {
|
|
|
1265
1359
|
__extends(FractionRenderer, _super);
|
|
1266
1360
|
|
|
1267
1361
|
function FractionRenderer() {
|
|
1268
|
-
|
|
1362
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
1363
|
+
|
|
1364
|
+
_this._prevIndex = -1;
|
|
1365
|
+
_this._prevTotal = -1;
|
|
1366
|
+
return _this;
|
|
1269
1367
|
}
|
|
1270
1368
|
|
|
1271
1369
|
var __proto = FractionRenderer.prototype;
|
|
1272
1370
|
|
|
1371
|
+
__proto.destroy = function () {
|
|
1372
|
+
this._prevIndex = -1;
|
|
1373
|
+
this._prevTotal = -1;
|
|
1374
|
+
};
|
|
1375
|
+
|
|
1273
1376
|
__proto.render = function () {
|
|
1274
1377
|
var flicking = this._flicking;
|
|
1275
1378
|
var wrapper = this._wrapper;
|
|
@@ -1286,14 +1389,18 @@ function (_super) {
|
|
|
1286
1389
|
var flicking = this._flicking;
|
|
1287
1390
|
var wrapper = this._wrapper;
|
|
1288
1391
|
var pagination = this._pagination;
|
|
1289
|
-
var fractionCurrentClass = pagination.classPrefix + "-" + PAGINATION.FRACTION_CURRENT_SUFFIX;
|
|
1290
|
-
var fractionTotalClass = pagination.classPrefix + "-" + PAGINATION.FRACTION_TOTAL_SUFFIX;
|
|
1291
|
-
var currentWrapper = wrapper.querySelector("." + fractionCurrentClass);
|
|
1292
|
-
var totalWrapper = wrapper.querySelector("." + fractionTotalClass);
|
|
1293
1392
|
var anchorPoints = flicking.camera.anchorPoints;
|
|
1294
1393
|
var currentIndex = anchorPoints.length > 0 ? index - anchorPoints[0].panel.index + 1 : 0;
|
|
1394
|
+
var anchorCount = anchorPoints.length;
|
|
1395
|
+
if (currentIndex === this._prevIndex && anchorCount === this._prevTotal) return;
|
|
1396
|
+
var fractionCurrentSelector = "." + pagination.classPrefix + "-" + PAGINATION.FRACTION_CURRENT_SUFFIX;
|
|
1397
|
+
var fractionTotalSelector = "." + pagination.classPrefix + "-" + PAGINATION.FRACTION_TOTAL_SUFFIX;
|
|
1398
|
+
var currentWrapper = wrapper.querySelector(fractionCurrentSelector);
|
|
1399
|
+
var totalWrapper = wrapper.querySelector(fractionTotalSelector);
|
|
1295
1400
|
currentWrapper.innerHTML = pagination.fractionCurrentFormat(currentIndex);
|
|
1296
|
-
totalWrapper.innerHTML = pagination.fractionTotalFormat(
|
|
1401
|
+
totalWrapper.innerHTML = pagination.fractionTotalFormat(anchorCount);
|
|
1402
|
+
this._prevIndex = currentIndex;
|
|
1403
|
+
this._prevTotal = anchorCount;
|
|
1297
1404
|
};
|
|
1298
1405
|
|
|
1299
1406
|
return FractionRenderer;
|
|
@@ -1326,7 +1433,16 @@ function (_super) {
|
|
|
1326
1433
|
|
|
1327
1434
|
var __proto = ScrollBulletRenderer.prototype;
|
|
1328
1435
|
|
|
1436
|
+
__proto.destroy = function () {
|
|
1437
|
+
this._bullets = [];
|
|
1438
|
+
this._bulletSize = 0;
|
|
1439
|
+
this._previousIndex = -1;
|
|
1440
|
+
this._sliderIndex = -1;
|
|
1441
|
+
};
|
|
1442
|
+
|
|
1329
1443
|
__proto.render = function () {
|
|
1444
|
+
var _this = this;
|
|
1445
|
+
|
|
1330
1446
|
var wrapper = this._wrapper;
|
|
1331
1447
|
var flicking = this._flicking;
|
|
1332
1448
|
var pagination = this._pagination;
|
|
@@ -1346,21 +1462,7 @@ function (_super) {
|
|
|
1346
1462
|
}).join("\n");
|
|
1347
1463
|
var bullets = [].slice.call(sliderEl.children);
|
|
1348
1464
|
bullets.forEach(function (bullet, index) {
|
|
1349
|
-
|
|
1350
|
-
bullet.addEventListener(BROWSER.MOUSE_DOWN, function (e) {
|
|
1351
|
-
e.stopPropagation();
|
|
1352
|
-
});
|
|
1353
|
-
bullet.addEventListener(BROWSER.TOUCH_START, function (e) {
|
|
1354
|
-
e.stopPropagation();
|
|
1355
|
-
}, {
|
|
1356
|
-
passive: true
|
|
1357
|
-
});
|
|
1358
|
-
bullet.addEventListener(BROWSER.CLICK, function () {
|
|
1359
|
-
flicking.moveTo(anchorPoint.panel.index).catch(function (err) {
|
|
1360
|
-
if (err instanceof FlickingError) return;
|
|
1361
|
-
throw err;
|
|
1362
|
-
});
|
|
1363
|
-
});
|
|
1465
|
+
_this._addBulletEvents(bullet, index);
|
|
1364
1466
|
});
|
|
1365
1467
|
if (bullets.length <= 0) return;
|
|
1366
1468
|
var bulletStyle = getComputedStyle(bullets[0]);
|
|
@@ -1368,6 +1470,7 @@ function (_super) {
|
|
|
1368
1470
|
wrapper.style.width = bulletSize * pagination.bulletCount + "px";
|
|
1369
1471
|
this._bullets = bullets;
|
|
1370
1472
|
this._bulletSize = bulletSize;
|
|
1473
|
+
this._previousIndex = -1;
|
|
1371
1474
|
this.update(this._flicking.index);
|
|
1372
1475
|
window.requestAnimationFrame(function () {
|
|
1373
1476
|
removeClass(wrapper, uninitClass);
|
|
@@ -1379,10 +1482,13 @@ function (_super) {
|
|
|
1379
1482
|
var flicking = this._flicking;
|
|
1380
1483
|
var bullets = this._bullets;
|
|
1381
1484
|
var prevIndex = this._previousIndex;
|
|
1485
|
+
var renderBullet = pagination.renderBullet;
|
|
1486
|
+
var renderActiveBullet = pagination.renderActiveBullet;
|
|
1382
1487
|
var anchorPoints = flicking.camera.anchorPoints;
|
|
1383
1488
|
var anchorOffset = anchorPoints[0].panel.index;
|
|
1384
1489
|
var activeIndex = index - anchorOffset;
|
|
1385
1490
|
if (anchorPoints.length <= 0) return;
|
|
1491
|
+
var bulletClass = pagination.classPrefix + "-" + PAGINATION.BULLET_SUFFIX;
|
|
1386
1492
|
var bulletActiveClass = pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
|
|
1387
1493
|
var prevClassPrefix = pagination.classPrefix + "-" + PAGINATION.SCROLL_PREV_SUFFIX;
|
|
1388
1494
|
var nextClassPrefix = pagination.classPrefix + "-" + PAGINATION.SCROLL_NEXT_SUFFIX;
|
|
@@ -1397,6 +1503,27 @@ function (_super) {
|
|
|
1397
1503
|
|
|
1398
1504
|
var prevClassRegex = new RegExp("^" + prevClassPrefix);
|
|
1399
1505
|
var nextClassRegex = new RegExp("^" + nextClassPrefix);
|
|
1506
|
+
|
|
1507
|
+
if (renderActiveBullet) {
|
|
1508
|
+
var prevBullet = bullets[prevIndex];
|
|
1509
|
+
|
|
1510
|
+
if (prevBullet) {
|
|
1511
|
+
var newBullet = this._createBulletFromString(renderBullet(bulletClass, prevIndex), prevIndex);
|
|
1512
|
+
|
|
1513
|
+
prevBullet.parentElement.replaceChild(newBullet, prevBullet);
|
|
1514
|
+
bullets[prevIndex] = newBullet;
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
var activeBullet = bullets[activeIndex];
|
|
1518
|
+
|
|
1519
|
+
if (activeBullet) {
|
|
1520
|
+
var newActiveBullet = this._createBulletFromString(renderActiveBullet(bulletClass, activeIndex), activeIndex);
|
|
1521
|
+
|
|
1522
|
+
activeBullet.parentElement.replaceChild(newActiveBullet, activeBullet);
|
|
1523
|
+
bullets[activeIndex] = newActiveBullet;
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1400
1527
|
bullets.forEach(function (bullet, idx) {
|
|
1401
1528
|
var indexOffset = idx - activeIndex;
|
|
1402
1529
|
var classList = bullet.className.split(" ");
|
|
@@ -1456,22 +1583,24 @@ function () {
|
|
|
1456
1583
|
renderBullet = _h === void 0 ? function (className) {
|
|
1457
1584
|
return "<span class=\"" + className + "\"></span>";
|
|
1458
1585
|
} : _h,
|
|
1459
|
-
_j = _b.
|
|
1460
|
-
|
|
1586
|
+
_j = _b.renderActiveBullet,
|
|
1587
|
+
renderActiveBullet = _j === void 0 ? null : _j,
|
|
1588
|
+
_k = _b.renderFraction,
|
|
1589
|
+
renderFraction = _k === void 0 ? function (currentClass, totalClass) {
|
|
1461
1590
|
return "<span class=\"" + currentClass + "\"></span>/<span class=\"" + totalClass + "\"></span>";
|
|
1462
|
-
} : _j,
|
|
1463
|
-
_k = _b.fractionCurrentFormat,
|
|
1464
|
-
fractionCurrentFormat = _k === void 0 ? function (index) {
|
|
1465
|
-
return index.toString();
|
|
1466
1591
|
} : _k,
|
|
1467
|
-
_l = _b.
|
|
1468
|
-
|
|
1592
|
+
_l = _b.fractionCurrentFormat,
|
|
1593
|
+
fractionCurrentFormat = _l === void 0 ? function (index) {
|
|
1469
1594
|
return index.toString();
|
|
1470
1595
|
} : _l,
|
|
1471
|
-
_m = _b.
|
|
1472
|
-
|
|
1596
|
+
_m = _b.fractionTotalFormat,
|
|
1597
|
+
fractionTotalFormat = _m === void 0 ? function (index) {
|
|
1598
|
+
return index.toString();
|
|
1599
|
+
} : _m,
|
|
1600
|
+
_o = _b.scrollOnChange,
|
|
1601
|
+
scrollOnChange = _o === void 0 ? function (index, ctx) {
|
|
1473
1602
|
return ctx.moveTo(index);
|
|
1474
|
-
} :
|
|
1603
|
+
} : _o;
|
|
1475
1604
|
/* Internal Values */
|
|
1476
1605
|
|
|
1477
1606
|
|
|
@@ -1493,6 +1622,7 @@ function () {
|
|
|
1493
1622
|
this._classPrefix = classPrefix;
|
|
1494
1623
|
this._bulletCount = bulletCount;
|
|
1495
1624
|
this._renderBullet = renderBullet;
|
|
1625
|
+
this._renderActiveBullet = renderActiveBullet;
|
|
1496
1626
|
this._renderFraction = renderFraction;
|
|
1497
1627
|
this._fractionCurrentFormat = fractionCurrentFormat;
|
|
1498
1628
|
this._fractionTotalFormat = fractionTotalFormat;
|
|
@@ -1557,6 +1687,16 @@ function () {
|
|
|
1557
1687
|
enumerable: false,
|
|
1558
1688
|
configurable: true
|
|
1559
1689
|
});
|
|
1690
|
+
Object.defineProperty(__proto, "renderActiveBullet", {
|
|
1691
|
+
get: function () {
|
|
1692
|
+
return this._renderActiveBullet;
|
|
1693
|
+
},
|
|
1694
|
+
set: function (val) {
|
|
1695
|
+
this._renderActiveBullet = val;
|
|
1696
|
+
},
|
|
1697
|
+
enumerable: false,
|
|
1698
|
+
configurable: true
|
|
1699
|
+
});
|
|
1560
1700
|
Object.defineProperty(__proto, "renderFraction", {
|
|
1561
1701
|
get: function () {
|
|
1562
1702
|
return this._renderFraction;
|
|
@@ -1639,6 +1779,8 @@ function () {
|
|
|
1639
1779
|
flicking.off(EVENTS.WILL_RESTORE, this._onIndexChange);
|
|
1640
1780
|
flicking.off(EVENTS.PANEL_CHANGE, this.update);
|
|
1641
1781
|
|
|
1782
|
+
this._renderer.destroy();
|
|
1783
|
+
|
|
1642
1784
|
this._removeAllChilds();
|
|
1643
1785
|
|
|
1644
1786
|
this._flicking = null;
|