@wcardinal/wcardinal-ui 0.344.0 → 0.345.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/dist/wcardinal/ui/d-pagination.js +26 -4
- package/dist/wcardinal/ui/d-pagination.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +27 -5
- package/dist/wcardinal-ui.js +27 -5
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -588,16 +588,27 @@ var DPagination = /** @class */ (function (_super) {
|
|
|
588
588
|
var required1m = required1n + m1;
|
|
589
589
|
if (required0 <= required1) {
|
|
590
590
|
if (3 <= nrequired1 && required + required0 + required1m <= space) {
|
|
591
|
-
var
|
|
591
|
+
var l = space - (required + required0 + required1m);
|
|
592
|
+
var n1 = Math.floor(l / m1);
|
|
592
593
|
this.doUpdate2(value, size, 0, 1, 0, n1);
|
|
593
594
|
}
|
|
595
|
+
else if (3 <= nrequired0 &&
|
|
596
|
+
3 <= nrequired1 &&
|
|
597
|
+
required + required0m + required1m <= space) {
|
|
598
|
+
var l = space - (required + required0m + required1m);
|
|
599
|
+
var n1 = Math.floor((l * 0.5) / m1);
|
|
600
|
+
var n0 = Math.floor((l - n1 * m1) / m0);
|
|
601
|
+
this.doUpdate2(value, size, 1, 1, n0, n1);
|
|
602
|
+
}
|
|
594
603
|
else if (2 <= nrequired1 && required + required0 + required1n <= space) {
|
|
595
604
|
this.doUpdate2(value, size, 0, 2, 0, 0);
|
|
596
605
|
}
|
|
597
606
|
else if (3 <= nrequired0 &&
|
|
598
607
|
2 <= nrequired1 &&
|
|
599
608
|
required + required0m + required1n <= space) {
|
|
600
|
-
|
|
609
|
+
var l = space - (required + required0m + required1n);
|
|
610
|
+
var n0 = Math.floor(l / m0);
|
|
611
|
+
this.doUpdate2(value, size, 1, 2, n0, 0);
|
|
601
612
|
}
|
|
602
613
|
else if (2 <= nrequired0 &&
|
|
603
614
|
2 <= nrequired1 &&
|
|
@@ -615,16 +626,27 @@ var DPagination = /** @class */ (function (_super) {
|
|
|
615
626
|
}
|
|
616
627
|
else {
|
|
617
628
|
if (3 <= nrequired0 && required + required0m + required1 <= space) {
|
|
618
|
-
var
|
|
629
|
+
var l = space - (required + required0m + required1);
|
|
630
|
+
var n0 = Math.floor(l / m0);
|
|
619
631
|
this.doUpdate2(value, size, 1, 0, n0, 0);
|
|
620
632
|
}
|
|
633
|
+
else if (3 <= nrequired0 &&
|
|
634
|
+
3 <= nrequired1 &&
|
|
635
|
+
required + required0m + required1m <= space) {
|
|
636
|
+
var l = space - (required + required0m + required1m);
|
|
637
|
+
var n0 = Math.floor((l * 0.5) / m0);
|
|
638
|
+
var n1 = Math.floor((l - n0 * m0) / m1);
|
|
639
|
+
this.doUpdate2(value, size, 1, 1, n0, n1);
|
|
640
|
+
}
|
|
621
641
|
else if (2 <= nrequired0 && required + required0n + required1 <= space) {
|
|
622
642
|
this.doUpdate2(value, size, 2, 0, 0, 0);
|
|
623
643
|
}
|
|
624
644
|
else if (2 <= nrequired0 &&
|
|
625
645
|
3 <= nrequired1 &&
|
|
626
646
|
required + required0n + required1m <= space) {
|
|
627
|
-
|
|
647
|
+
var l = space - (required + required0n + required1m);
|
|
648
|
+
var n1 = Math.floor(l / m1);
|
|
649
|
+
this.doUpdate2(value, size, 2, 1, 0, n1);
|
|
628
650
|
}
|
|
629
651
|
else if (2 <= nrequired0 &&
|
|
630
652
|
2 <= nrequired1 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-pagination.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-pagination.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DButton } from \"./d-button\";\nimport {\n\tDLayoutHorizontal,\n\tDLayoutHorizontalOptions,\n\tDThemeLayoutHorizontal\n} from \"./d-layout-horizontal\";\nimport { DPaginationDots } from \"./d-pagination-dots\";\nimport { DPaginationButtonLast, DPaginationButtonLastOptions } from \"./d-pagination-button-last\";\nimport { DPaginationButtonNext, DPaginationButtonNextOptions } from \"./d-pagination-button-next\";\nimport { DPaginationButtonPage, DPaginationButtonPageOptions } from \"./d-pagination-button-page\";\nimport {\n\tDPaginationButtonPrevious,\n\tDPaginationButtonPreviousOptions\n} from \"./d-pagination-button-previous\";\nimport { DPaginationButtonTop, DPaginationButtonTopOptions } from \"./d-pagination-button-top\";\nimport { isNumber } from \"./util/is-number\";\nimport { DPaginationPage, DPaginationPageOptions } from \"./d-pagination-page\";\nimport { DLayoutSpace, DLayoutSpaceOptions } from \"./d-layout-space\";\nimport { DImageBase } from \"./d-image-base\";\nimport { DApplications } from \"./d-applications\";\n\nexport interface DPaginationButtonOptions {\n\t/**\n\t * {@link DPagination} top button options.\n\t */\n\ttop?: DPaginationButtonTopOptions | boolean | null;\n\n\t/**\n\t * {@link DPagination} previous button options.\n\t */\n\tprevious?: DPaginationButtonPreviousOptions | boolean | null;\n\n\t/**\n\t * {@link DPagination} page button options.\n\t */\n\tpage?: DPaginationButtonPageOptions;\n\n\t/**\n\t * {@link DPagination} next button options.\n\t */\n\tnext?: DPaginationButtonNextOptions | boolean | null;\n\n\t/**\n\t * {@link DPagination} last button options.\n\t */\n\tlast?: DPaginationButtonLastOptions | boolean | null;\n\n\t/**\n\t * A space between page buttons and next / previous buttons.\n\t */\n\tspace?: DLayoutSpaceOptions | boolean | number | null;\n}\n\nexport interface DPaginationOptions<THEME extends DThemePagination>\n\textends DLayoutHorizontalOptions<THEME> {\n\t/**\n\t * An index number of a selected page.\n\t */\n\tvalue?: number;\n\n\t/**\n\t * An index number of a selected page.\n\t *\n\t * @deprecated in favor of {@link value}.\n\t */\n\tselected?: number;\n\n\t/**\n\t * A total number of pages.\n\t */\n\tsize?: number;\n\n\t/**\n\t * A total number of pages.\n\t *\n\t * @deprecated in favor of {@link size};\n\t */\n\ttotal?: number;\n\n\t/**\n\t * {@link DPagination} button options.\n\t */\n\tbutton?: DPaginationButtonOptions;\n\n\t/**\n\t * {@link DPagination} page options.\n\t */\n\tpage?: DPaginationPageOptions;\n}\n\nexport interface DThemePagination extends DThemeLayoutHorizontal {\n\tgetButtonSpace(): number;\n}\n\nexport class DPagination<\n\tTHEME extends DThemePagination = DThemePagination,\n\tOPTIONS extends DPaginationOptions<THEME> = DPaginationOptions<THEME>\n> extends DLayoutHorizontal<THEME, OPTIONS> {\n\tprotected _size: number;\n\tprotected _value: number;\n\n\tprotected _buttonTop?: DButton<string> | null;\n\tprotected _buttonPrevious?: DButton<string> | null;\n\tprotected _spaceLeft?: DLayoutSpace | null;\n\tprotected _dots0?: DPaginationDots;\n\tprotected _buttonPages0?: DButton<number>[];\n\tprotected _page?: DPaginationPage;\n\tprotected _buttonPages1?: DButton<number>[];\n\tprotected _dots1?: DPaginationDots;\n\tprotected _spaceRight?: DLayoutSpace | null;\n\tprotected _buttonNext?: DButton<string> | null;\n\tprotected _buttonLast?: DButton<string> | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tif (options != null) {\n\t\t\tthis._size = options.size ?? options.total ?? 10;\n\t\t\tthis._value = options.value ?? options.selected ?? 0;\n\t\t} else {\n\t\t\tthis._size = 10;\n\t\t\tthis._value = 0;\n\t\t}\n\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\tthis.addChild(buttonTop);\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\tthis.addChild(buttonPrevious);\n\t\t}\n\t\tconst spaceLeft = this.spaceLeft;\n\t\tif (spaceLeft != null) {\n\t\t\tthis.addChild(spaceLeft);\n\t\t}\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tconst buttonPages0Length = buttonPages0.length;\n\t\tthis.addChild(buttonPages0[0]);\n\t\tthis.addChild(this.dots0);\n\t\tfor (let i = 1; i < buttonPages0Length; ++i) {\n\t\t\tthis.addChild(buttonPages0[i]);\n\t\t}\n\t\tthis.addChild(this.page);\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tconst buttonPages1Length = buttonPages1.length;\n\t\tfor (let i = 0, imax = buttonPages1Length - 1; i < imax; ++i) {\n\t\t\tthis.addChild(buttonPages1[i]);\n\t\t}\n\t\tthis.addChild(this.dots1);\n\t\tthis.addChild(buttonPages1[buttonPages1Length - 1]);\n\t\tconst spaceRight = this.spaceRight;\n\t\tif (spaceRight != null) {\n\t\t\tthis.addChild(spaceRight);\n\t\t}\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\tthis.addChild(buttonNext);\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast != null) {\n\t\t\tthis.addChild(buttonLast);\n\t\t}\n\t}\n\n\t/**\n\t * Sets a value that is an index of a current page.\n\t *\n\t * @param value a value that is an index of a page\n\t */\n\tset value(value: number) {\n\t\tif (0 <= value && value < this._size && this._value !== value) {\n\t\t\tthis._value = value;\n\t\t\tthis.toDirty();\n\t\t\tDApplications.update(this);\n\t\t}\n\t}\n\n\t/**\n\t * Returns a value that is an index of a current page.\n\t *\n\t * @returns a value that is an index of a selected page.\n\t */\n\tget value(): number {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Selects a page.\n\t *\n\t * @param index an index of a page\n\t * @deprecated in favor of {@link #value}.\n\t */\n\tset selected(index: number) {\n\t\tthis.value = index;\n\t}\n\n\t/**\n\t * Returns an index of the selected page.\n\t *\n\t * @returns an index of the selected page.\n\t * @deprecated in favor of {@link value}.\n\t */\n\tget selected(): number {\n\t\treturn this.value;\n\t}\n\n\t/**\n\t * Sets a number of total pages.\n\t *\n\t * @param size a number of pages\n\t */\n\tset size(size: number) {\n\t\tif (0 <= size && this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tif (size === 0) {\n\t\t\t\tthis._value = -1;\n\t\t\t} else {\n\t\t\t\tthis._value = Math.max(0, Math.min(this._size - 1, this._value));\n\t\t\t}\n\t\t\tthis.toDirty();\n\t\t\tDApplications.update(this);\n\t\t}\n\t}\n\n\t/**\n\t * Returns a number of total pages.\n\t *\n\t * @returns a number of total pages.\n\t */\n\tget size(): number {\n\t\treturn this._size;\n\t}\n\n\t/**\n\t * Sets a number of total pages.\n\t *\n\t * @param total a number of pages\n\t * @deprecated in favor of {@link size}\n\t */\n\tset total(total: number) {\n\t\tthis.size = total;\n\t}\n\n\t/**\n\t * Returns a number of total pages.\n\t *\n\t * @returns a number of total pages.\n\t * @deprecated in favor of {@link size}\n\t */\n\tget total(): number {\n\t\treturn this.size;\n\t}\n\n\tprotected get dots0(): DPaginationDots {\n\t\tlet result = this._dots0;\n\t\tif (result == null) {\n\t\t\tresult = this.newDots();\n\t\t\tthis._dots0 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get dots1(): DPaginationDots {\n\t\tlet result = this._dots1;\n\t\tif (result == null) {\n\t\t\tresult = this.newDots();\n\t\t\tthis._dots1 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newDots(): DPaginationDots {\n\t\treturn new DPaginationDots();\n\t}\n\n\tprotected get buttonLast(): DButton<string> | null {\n\t\tlet result = this._buttonLast;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonLast();\n\t\t\tthis._buttonLast = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonLast(): DButton<string> | null {\n\t\tconst last = this._options?.button?.last;\n\t\tif (last !== null && last !== false && last !== undefined) {\n\t\t\tconst result = new DPaginationButtonLast(last !== true ? last : undefined);\n\t\t\tresult.on(\"active\", () => {\n\t\t\t\tthis.onButtonLastActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonLastActive(): void {\n\t\tthis.moveTo(this._size - 1);\n\t}\n\n\tprotected moveTo(index: number): void {\n\t\tif (0 <= index && index < this._size && this._value !== index) {\n\t\t\tconst oldIndex = this._value;\n\t\t\tthis._value = index;\n\t\t\tthis.emit(\"change\", index, oldIndex, this);\n\t\t\tthis.toDirty();\n\t\t\tDApplications.update(this);\n\t\t}\n\t}\n\n\tprotected get buttonNext(): DButton<string> | null {\n\t\tlet result = this._buttonNext;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonNext();\n\t\t\tthis._buttonNext = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonNext(): DButton<string> | null {\n\t\tconst next = this._options?.button?.next;\n\t\tif (next !== null && next !== false) {\n\t\t\tconst result = new DPaginationButtonNext(next !== true ? next : undefined);\n\t\t\tresult.on(\"active\", (): void => {\n\t\t\t\tthis.onButtonNextActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonNextActive(): void {\n\t\tthis.moveTo(this._value + 1);\n\t}\n\n\tprotected get buttonPrevious(): DButton<string> | null {\n\t\tlet result = this._buttonPrevious;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonPrevious();\n\t\t\tthis._buttonPrevious = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonPrevious(): DButton<string> | null {\n\t\tconst previous = this._options?.button?.previous;\n\t\tif (previous !== null && previous !== false) {\n\t\t\tconst result = new DPaginationButtonPrevious(previous !== true ? previous : undefined);\n\t\t\tresult.on(\"active\", (): void => {\n\t\t\t\tthis.onButtonPreviousActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonPreviousActive(): void {\n\t\tthis.moveTo(this._value - 1);\n\t}\n\n\tprotected get buttonTop(): DButton<string> | null {\n\t\tlet result = this._buttonTop;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonTop();\n\t\t\tthis._buttonTop = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonTop(): DButton<string> | null {\n\t\tconst top = this._options?.button?.top;\n\t\tif (top !== null && top !== false && top !== undefined) {\n\t\t\tconst result = new DPaginationButtonTop(top !== true ? top : undefined);\n\t\t\tresult.on(\"active\", (): void => {\n\t\t\t\tthis.onButtonTopActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonTopActive(): void {\n\t\tthis.moveTo(0);\n\t}\n\n\tprotected newButtonPage(): DButton<number> {\n\t\tconst result = new DPaginationButtonPage(this._options?.button?.page);\n\t\tresult.on(\"active\", (): void => {\n\t\t\tthis.onButtonPageActive(result);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected get buttonPages0(): DButton<number>[] {\n\t\tlet result = this._buttonPages0;\n\t\tif (result == null) {\n\t\t\tresult = this.newButtonPages0();\n\t\t\tthis._buttonPages0 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonPages0(): DButton<number>[] {\n\t\treturn [\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage()\n\t\t];\n\t}\n\n\tprotected allocButtonPages0(size: number): void {\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tconst buttonPages0Length = buttonPages0.length;\n\t\tconst index = this.getChildIndex(buttonPages0[buttonPages0Length - 1]) + 1;\n\t\tfor (let i = 0, imax = size - buttonPages0Length; i < imax; ++i) {\n\t\t\tconst buttonPage = this.newButtonPage();\n\t\t\tthis.addChildAt(buttonPage, index + i);\n\t\t\tbuttonPages0.push(buttonPage);\n\t\t}\n\t}\n\n\tprotected get buttonPages1(): DButton<number>[] {\n\t\tlet result = this._buttonPages1;\n\t\tif (result == null) {\n\t\t\tresult = this.newButtonPages1();\n\t\t\tthis._buttonPages1 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonPages1(): DButton<number>[] {\n\t\treturn [\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage()\n\t\t];\n\t}\n\n\tprotected allocButtonPages1(size: number): void {\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tconst buttonPages1Length = buttonPages1.length;\n\t\tconst index = this.getChildIndex(buttonPages1[0]);\n\t\tfor (let i = 0, imax = size - buttonPages1Length; i < imax; ++i) {\n\t\t\tconst buttonPage = this.newButtonPage();\n\t\t\tthis.addChildAt(buttonPage, index);\n\t\t\tbuttonPages1.unshift(buttonPage);\n\t\t}\n\t}\n\n\tprotected get page(): DPaginationPage {\n\t\tlet result = this._page;\n\t\tif (result == null) {\n\t\t\tresult = this.newPage();\n\t\t\tthis._page = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newPage(): DPaginationPage {\n\t\treturn new DPaginationPage(this._options?.page);\n\t}\n\n\tprotected onButtonPageActive(button: DButton<number>): void {\n\t\tconst text = button.text;\n\t\tif (isNumber(text)) {\n\t\t\tthis.moveTo(text - 1);\n\t\t\tif (button.state.isFocused) {\n\t\t\t\tbutton.state.isHovered = false;\n\t\t\t\tthis.page.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected get spaceLeft(): DLayoutSpace | null {\n\t\tlet result = this._spaceLeft;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSpaceLeft();\n\t\t\tthis._spaceLeft = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpaceLeft(): DLayoutSpace | null {\n\t\tif (this.buttonTop != null || this.buttonPrevious != null) {\n\t\t\treturn this.newSpace();\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get spaceRight(): DLayoutSpace | null {\n\t\tlet result = this._spaceRight;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSpaceRight();\n\t\t\tthis._spaceRight = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpaceRight(): DLayoutSpace | null {\n\t\tif (this.buttonLast != null || this.buttonNext != null) {\n\t\t\treturn this.newSpace();\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected newSpace(): DLayoutSpace | null {\n\t\tconst space = this._options?.button?.space;\n\t\tif (space !== null && space !== false) {\n\t\t\tif (space === true || space === undefined) {\n\t\t\t\treturn new DLayoutSpace({\n\t\t\t\t\tweight: 1\n\t\t\t\t});\n\t\t\t} else if (isNumber(space)) {\n\t\t\t\treturn new DLayoutSpace({\n\t\t\t\t\twidth: space\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn new DLayoutSpace(space);\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onReflow(): void {\n\t\tthis.update();\n\t\tsuper.onReflow();\n\t}\n\n\tprotected update(): void {\n\t\tconst size = this._size;\n\t\tconst value = this._value;\n\t\tif (size <= 0) {\n\t\t\tthis.doUpdate0(value, size);\n\t\t} else {\n\t\t\tif (this._auto.width.isOn) {\n\t\t\t\tthis.doUpdate2(value, size, 0, 0, 0, 0);\n\t\t\t} else {\n\t\t\t\tthis.doUpdate1(value, size);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doUpdate0(value: number, size: number): void {\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\tbuttonTop.state.isEnabled = false;\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\tbuttonPrevious.state.isEnabled = false;\n\t\t}\n\n\t\tthis.hideDots(this.dots0);\n\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t}\n\n\t\tthis.hidePage(this.page);\n\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t}\n\n\t\tthis.hideDots(this.dots1);\n\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\tbuttonNext.state.isEnabled = false;\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast) {\n\t\t\tbuttonLast.state.isEnabled = false;\n\t\t}\n\t}\n\n\tprotected doUpdate1(value: number, size: number): void {\n\t\tlet required = 0;\n\t\tlet nrequired = 0;\n\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\trequired += buttonTop.width;\n\t\t\tnrequired += 1;\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\trequired += buttonPrevious.width;\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst spaceLeft = this.spaceLeft;\n\t\tif (spaceLeft != null) {\n\t\t\tif (spaceLeft.weight < 0) {\n\t\t\t\trequired += spaceLeft.width;\n\t\t\t}\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst page = this.page;\n\t\trequired += page.width;\n\t\tnrequired += 1;\n\n\t\tconst spaceRight = this.spaceRight;\n\t\tif (spaceRight != null) {\n\t\t\tif (spaceRight.weight < 0) {\n\t\t\t\trequired += spaceRight.width;\n\t\t\t}\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\trequired += buttonNext.width;\n\t\t\tnrequired += 1;\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast) {\n\t\t\trequired += buttonLast.width;\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst marginHorizontal = this._margin.horizontal;\n\t\tif (2 <= nrequired) {\n\t\t\trequired += (nrequired - 1) * marginHorizontal;\n\t\t}\n\n\t\tconst padding = this.padding;\n\t\tconst space = this.width - (padding.getLeft() + padding.getRight());\n\t\tif (space <= required) {\n\t\t\tthis.doUpdate2(value, size, 4, 4, 0, 0);\n\t\t} else {\n\t\t\tconst buttonPages0 = this.buttonPages0;\n\t\t\tconst buttonPage0Width = buttonPages0[0].width;\n\t\t\tconst nrequired0 = value;\n\t\t\tconst required0 = nrequired0 * (buttonPage0Width + marginHorizontal);\n\n\t\t\tconst buttonPages1 = this.buttonPages1;\n\t\t\tconst buttonPage1Width = buttonPages1[0].width;\n\t\t\tconst nrequired1 = size - (value + 1);\n\t\t\tconst required1 = nrequired1 * (buttonPage1Width + marginHorizontal);\n\n\t\t\tif (required + required0 + required1 <= space) {\n\t\t\t\tthis.doUpdate2(value, size, 0, 0, 0, 0);\n\t\t\t} else {\n\t\t\t\tconst dots1 = this.dots1;\n\t\t\t\tconst dots1Width = dots1.width;\n\t\t\t\tconst dots0 = this.dots0;\n\t\t\t\tconst dots0Width = dots0.width;\n\t\t\t\tconst m0 = marginHorizontal + buttonPage0Width;\n\t\t\t\tconst m1 = marginHorizontal + buttonPage1Width;\n\t\t\t\tconst required0n = dots0Width + m0;\n\t\t\t\tconst required1n = dots1Width + m1;\n\t\t\t\tconst required0m = required0n + m0;\n\t\t\t\tconst required1m = required1n + m1;\n\t\t\t\tif (required0 <= required1) {\n\t\t\t\t\tif (3 <= nrequired1 && required + required0 + required1m <= space) {\n\t\t\t\t\t\tconst n1 = Math.floor((space - (required + required0 + required1m)) / m1);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 0, 1, 0, n1);\n\t\t\t\t\t} else if (2 <= nrequired1 && required + required0 + required1n <= space) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 0, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t3 <= nrequired0 &&\n\t\t\t\t\t\t2 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0m + required1n <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 1, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t2 <= nrequired0 &&\n\t\t\t\t\t\t2 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0n + required1n <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t1 <= nrequired0 &&\n\t\t\t\t\t\t1 <= nrequired1 &&\n\t\t\t\t\t\trequired + dots0Width + dots1Width <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 3, 3, 0, 0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 4, 4, 0, 0);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (3 <= nrequired0 && required + required0m + required1 <= space) {\n\t\t\t\t\t\tconst n0 = Math.floor((space - (required + required0m + required1)) / m0);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 1, 0, n0, 0);\n\t\t\t\t\t} else if (2 <= nrequired0 && required + required0n + required1 <= space) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 0, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t2 <= nrequired0 &&\n\t\t\t\t\t\t3 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0n + required1m <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 1, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t2 <= nrequired0 &&\n\t\t\t\t\t\t2 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0n + required1n <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t1 <= nrequired0 &&\n\t\t\t\t\t\t1 <= nrequired1 &&\n\t\t\t\t\t\trequired + dots0Width + dots1Width <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 3, 3, 0, 0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 4, 4, 0, 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doUpdate2(\n\t\tvalue: number,\n\t\tsize: number,\n\t\tleft: 0 | 1 | 2 | 3 | 4,\n\t\tright: 0 | 1 | 2 | 3 | 4,\n\t\tnleft1: number,\n\t\tnright1: number\n\t): void {\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\tbuttonTop.state.isEnabled = 0 < value;\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\tbuttonPrevious.state.isEnabled = 0 < value;\n\t\t}\n\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tswitch (left) {\n\t\t\tcase 0:\n\t\t\t\tthis.hideDots(this.dots0);\n\t\t\t\tthis.allocButtonPages0(value);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\t\t\tif (i < value) {\n\t\t\t\t\t\tthis.showPage(buttonPages0[i], i);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tthis.showDots(this.dots0, 1, value - 2 - nleft1);\n\t\t\t\tthis.allocButtonPages0(2 + nleft1);\n\t\t\t\tthis.showPage(buttonPages0[0], 0);\n\t\t\t\tfor (let i = 1, imax = buttonPages0.length - nleft1 - 1; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tfor (let i = 0, imax = 1 + nleft1; i < imax; ++i) {\n\t\t\t\t\tthis.showPage(\n\t\t\t\t\t\tbuttonPages0[buttonPages0.length - imax + i],\n\t\t\t\t\t\tvalue - 1 - (imax - 1) + i\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.showDots(this.dots0, 0, value - 2);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length - 1; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tthis.showPage(buttonPages0[buttonPages0.length - 1], value - 1);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tthis.showDots(this.dots0, 0, value - 1);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tthis.hideDots(this.dots0);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.showPage(this.page, value);\n\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tswitch (right) {\n\t\t\tcase 0:\n\t\t\t\tthis.allocButtonPages1(size - (value + 1));\n\t\t\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tconst j = value + 1 + i;\n\t\t\t\t\tif (j < size) {\n\t\t\t\t\t\tthis.showPage(buttonPages1[i], j);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.hideDots(this.dots1);\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tthis.allocButtonPages1(2 + nright1);\n\t\t\t\tfor (let i = 0, imax = 1 + nright1; i < imax; ++i) {\n\t\t\t\t\tthis.showPage(buttonPages1[i], value + 1 + i);\n\t\t\t\t}\n\t\t\t\tfor (let i = 1 + nright1, imax = buttonPages1.length - 1; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.showPage(buttonPages1[buttonPages1.length - 1], size - 1);\n\t\t\t\tthis.showDots(this.dots1, value + 2 + nright1, size - 2);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.showPage(buttonPages1[0], value + 1);\n\t\t\t\tfor (let i = 1, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.showDots(this.dots1, value + 2, size - 1);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.showDots(this.dots1, value + 1, size - 1);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.hideDots(this.dots1);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\tbuttonNext.state.isEnabled = value < size - 1;\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast != null) {\n\t\t\tbuttonLast.state.isEnabled = value < size - 1;\n\t\t}\n\t}\n\n\tprotected showPage(button: DImageBase<number>, index: number): void {\n\t\tbutton.text = index + 1;\n\t\tbutton.show();\n\t}\n\n\tprotected hidePage(button: DImageBase<number>): void {\n\t\tbutton.hide();\n\t}\n\n\tprotected showDots(dots: DPaginationDots, from: number, to: number): void {\n\t\tdots.show();\n\t}\n\n\tprotected hideDots(dots: DPaginationDots): void {\n\t\tdots.hide();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPagination\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-pagination.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-pagination.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DButton } from \"./d-button\";\nimport {\n\tDLayoutHorizontal,\n\tDLayoutHorizontalOptions,\n\tDThemeLayoutHorizontal\n} from \"./d-layout-horizontal\";\nimport { DPaginationDots } from \"./d-pagination-dots\";\nimport { DPaginationButtonLast, DPaginationButtonLastOptions } from \"./d-pagination-button-last\";\nimport { DPaginationButtonNext, DPaginationButtonNextOptions } from \"./d-pagination-button-next\";\nimport { DPaginationButtonPage, DPaginationButtonPageOptions } from \"./d-pagination-button-page\";\nimport {\n\tDPaginationButtonPrevious,\n\tDPaginationButtonPreviousOptions\n} from \"./d-pagination-button-previous\";\nimport { DPaginationButtonTop, DPaginationButtonTopOptions } from \"./d-pagination-button-top\";\nimport { isNumber } from \"./util/is-number\";\nimport { DPaginationPage, DPaginationPageOptions } from \"./d-pagination-page\";\nimport { DLayoutSpace, DLayoutSpaceOptions } from \"./d-layout-space\";\nimport { DImageBase } from \"./d-image-base\";\nimport { DApplications } from \"./d-applications\";\n\nexport interface DPaginationButtonOptions {\n\t/**\n\t * {@link DPagination} top button options.\n\t */\n\ttop?: DPaginationButtonTopOptions | boolean | null;\n\n\t/**\n\t * {@link DPagination} previous button options.\n\t */\n\tprevious?: DPaginationButtonPreviousOptions | boolean | null;\n\n\t/**\n\t * {@link DPagination} page button options.\n\t */\n\tpage?: DPaginationButtonPageOptions;\n\n\t/**\n\t * {@link DPagination} next button options.\n\t */\n\tnext?: DPaginationButtonNextOptions | boolean | null;\n\n\t/**\n\t * {@link DPagination} last button options.\n\t */\n\tlast?: DPaginationButtonLastOptions | boolean | null;\n\n\t/**\n\t * A space between page buttons and next / previous buttons.\n\t */\n\tspace?: DLayoutSpaceOptions | boolean | number | null;\n}\n\nexport interface DPaginationOptions<THEME extends DThemePagination>\n\textends DLayoutHorizontalOptions<THEME> {\n\t/**\n\t * An index number of a selected page.\n\t */\n\tvalue?: number;\n\n\t/**\n\t * An index number of a selected page.\n\t *\n\t * @deprecated in favor of {@link value}.\n\t */\n\tselected?: number;\n\n\t/**\n\t * A total number of pages.\n\t */\n\tsize?: number;\n\n\t/**\n\t * A total number of pages.\n\t *\n\t * @deprecated in favor of {@link size};\n\t */\n\ttotal?: number;\n\n\t/**\n\t * {@link DPagination} button options.\n\t */\n\tbutton?: DPaginationButtonOptions;\n\n\t/**\n\t * {@link DPagination} page options.\n\t */\n\tpage?: DPaginationPageOptions;\n}\n\nexport interface DThemePagination extends DThemeLayoutHorizontal {\n\tgetButtonSpace(): number;\n}\n\nexport class DPagination<\n\tTHEME extends DThemePagination = DThemePagination,\n\tOPTIONS extends DPaginationOptions<THEME> = DPaginationOptions<THEME>\n> extends DLayoutHorizontal<THEME, OPTIONS> {\n\tprotected _size: number;\n\tprotected _value: number;\n\n\tprotected _buttonTop?: DButton<string> | null;\n\tprotected _buttonPrevious?: DButton<string> | null;\n\tprotected _spaceLeft?: DLayoutSpace | null;\n\tprotected _dots0?: DPaginationDots;\n\tprotected _buttonPages0?: DButton<number>[];\n\tprotected _page?: DPaginationPage;\n\tprotected _buttonPages1?: DButton<number>[];\n\tprotected _dots1?: DPaginationDots;\n\tprotected _spaceRight?: DLayoutSpace | null;\n\tprotected _buttonNext?: DButton<string> | null;\n\tprotected _buttonLast?: DButton<string> | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tif (options != null) {\n\t\t\tthis._size = options.size ?? options.total ?? 10;\n\t\t\tthis._value = options.value ?? options.selected ?? 0;\n\t\t} else {\n\t\t\tthis._size = 10;\n\t\t\tthis._value = 0;\n\t\t}\n\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\tthis.addChild(buttonTop);\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\tthis.addChild(buttonPrevious);\n\t\t}\n\t\tconst spaceLeft = this.spaceLeft;\n\t\tif (spaceLeft != null) {\n\t\t\tthis.addChild(spaceLeft);\n\t\t}\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tconst buttonPages0Length = buttonPages0.length;\n\t\tthis.addChild(buttonPages0[0]);\n\t\tthis.addChild(this.dots0);\n\t\tfor (let i = 1; i < buttonPages0Length; ++i) {\n\t\t\tthis.addChild(buttonPages0[i]);\n\t\t}\n\t\tthis.addChild(this.page);\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tconst buttonPages1Length = buttonPages1.length;\n\t\tfor (let i = 0, imax = buttonPages1Length - 1; i < imax; ++i) {\n\t\t\tthis.addChild(buttonPages1[i]);\n\t\t}\n\t\tthis.addChild(this.dots1);\n\t\tthis.addChild(buttonPages1[buttonPages1Length - 1]);\n\t\tconst spaceRight = this.spaceRight;\n\t\tif (spaceRight != null) {\n\t\t\tthis.addChild(spaceRight);\n\t\t}\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\tthis.addChild(buttonNext);\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast != null) {\n\t\t\tthis.addChild(buttonLast);\n\t\t}\n\t}\n\n\t/**\n\t * Sets a value that is an index of a current page.\n\t *\n\t * @param value a value that is an index of a page\n\t */\n\tset value(value: number) {\n\t\tif (0 <= value && value < this._size && this._value !== value) {\n\t\t\tthis._value = value;\n\t\t\tthis.toDirty();\n\t\t\tDApplications.update(this);\n\t\t}\n\t}\n\n\t/**\n\t * Returns a value that is an index of a current page.\n\t *\n\t * @returns a value that is an index of a selected page.\n\t */\n\tget value(): number {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Selects a page.\n\t *\n\t * @param index an index of a page\n\t * @deprecated in favor of {@link #value}.\n\t */\n\tset selected(index: number) {\n\t\tthis.value = index;\n\t}\n\n\t/**\n\t * Returns an index of the selected page.\n\t *\n\t * @returns an index of the selected page.\n\t * @deprecated in favor of {@link value}.\n\t */\n\tget selected(): number {\n\t\treturn this.value;\n\t}\n\n\t/**\n\t * Sets a number of total pages.\n\t *\n\t * @param size a number of pages\n\t */\n\tset size(size: number) {\n\t\tif (0 <= size && this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tif (size === 0) {\n\t\t\t\tthis._value = -1;\n\t\t\t} else {\n\t\t\t\tthis._value = Math.max(0, Math.min(this._size - 1, this._value));\n\t\t\t}\n\t\t\tthis.toDirty();\n\t\t\tDApplications.update(this);\n\t\t}\n\t}\n\n\t/**\n\t * Returns a number of total pages.\n\t *\n\t * @returns a number of total pages.\n\t */\n\tget size(): number {\n\t\treturn this._size;\n\t}\n\n\t/**\n\t * Sets a number of total pages.\n\t *\n\t * @param total a number of pages\n\t * @deprecated in favor of {@link size}\n\t */\n\tset total(total: number) {\n\t\tthis.size = total;\n\t}\n\n\t/**\n\t * Returns a number of total pages.\n\t *\n\t * @returns a number of total pages.\n\t * @deprecated in favor of {@link size}\n\t */\n\tget total(): number {\n\t\treturn this.size;\n\t}\n\n\tprotected get dots0(): DPaginationDots {\n\t\tlet result = this._dots0;\n\t\tif (result == null) {\n\t\t\tresult = this.newDots();\n\t\t\tthis._dots0 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get dots1(): DPaginationDots {\n\t\tlet result = this._dots1;\n\t\tif (result == null) {\n\t\t\tresult = this.newDots();\n\t\t\tthis._dots1 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newDots(): DPaginationDots {\n\t\treturn new DPaginationDots();\n\t}\n\n\tprotected get buttonLast(): DButton<string> | null {\n\t\tlet result = this._buttonLast;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonLast();\n\t\t\tthis._buttonLast = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonLast(): DButton<string> | null {\n\t\tconst last = this._options?.button?.last;\n\t\tif (last !== null && last !== false && last !== undefined) {\n\t\t\tconst result = new DPaginationButtonLast(last !== true ? last : undefined);\n\t\t\tresult.on(\"active\", () => {\n\t\t\t\tthis.onButtonLastActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonLastActive(): void {\n\t\tthis.moveTo(this._size - 1);\n\t}\n\n\tprotected moveTo(index: number): void {\n\t\tif (0 <= index && index < this._size && this._value !== index) {\n\t\t\tconst oldIndex = this._value;\n\t\t\tthis._value = index;\n\t\t\tthis.emit(\"change\", index, oldIndex, this);\n\t\t\tthis.toDirty();\n\t\t\tDApplications.update(this);\n\t\t}\n\t}\n\n\tprotected get buttonNext(): DButton<string> | null {\n\t\tlet result = this._buttonNext;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonNext();\n\t\t\tthis._buttonNext = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonNext(): DButton<string> | null {\n\t\tconst next = this._options?.button?.next;\n\t\tif (next !== null && next !== false) {\n\t\t\tconst result = new DPaginationButtonNext(next !== true ? next : undefined);\n\t\t\tresult.on(\"active\", (): void => {\n\t\t\t\tthis.onButtonNextActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonNextActive(): void {\n\t\tthis.moveTo(this._value + 1);\n\t}\n\n\tprotected get buttonPrevious(): DButton<string> | null {\n\t\tlet result = this._buttonPrevious;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonPrevious();\n\t\t\tthis._buttonPrevious = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonPrevious(): DButton<string> | null {\n\t\tconst previous = this._options?.button?.previous;\n\t\tif (previous !== null && previous !== false) {\n\t\t\tconst result = new DPaginationButtonPrevious(previous !== true ? previous : undefined);\n\t\t\tresult.on(\"active\", (): void => {\n\t\t\t\tthis.onButtonPreviousActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonPreviousActive(): void {\n\t\tthis.moveTo(this._value - 1);\n\t}\n\n\tprotected get buttonTop(): DButton<string> | null {\n\t\tlet result = this._buttonTop;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newButtonTop();\n\t\t\tthis._buttonTop = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonTop(): DButton<string> | null {\n\t\tconst top = this._options?.button?.top;\n\t\tif (top !== null && top !== false && top !== undefined) {\n\t\t\tconst result = new DPaginationButtonTop(top !== true ? top : undefined);\n\t\t\tresult.on(\"active\", (): void => {\n\t\t\t\tthis.onButtonTopActive();\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onButtonTopActive(): void {\n\t\tthis.moveTo(0);\n\t}\n\n\tprotected newButtonPage(): DButton<number> {\n\t\tconst result = new DPaginationButtonPage(this._options?.button?.page);\n\t\tresult.on(\"active\", (): void => {\n\t\t\tthis.onButtonPageActive(result);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected get buttonPages0(): DButton<number>[] {\n\t\tlet result = this._buttonPages0;\n\t\tif (result == null) {\n\t\t\tresult = this.newButtonPages0();\n\t\t\tthis._buttonPages0 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonPages0(): DButton<number>[] {\n\t\treturn [\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage()\n\t\t];\n\t}\n\n\tprotected allocButtonPages0(size: number): void {\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tconst buttonPages0Length = buttonPages0.length;\n\t\tconst index = this.getChildIndex(buttonPages0[buttonPages0Length - 1]) + 1;\n\t\tfor (let i = 0, imax = size - buttonPages0Length; i < imax; ++i) {\n\t\t\tconst buttonPage = this.newButtonPage();\n\t\t\tthis.addChildAt(buttonPage, index + i);\n\t\t\tbuttonPages0.push(buttonPage);\n\t\t}\n\t}\n\n\tprotected get buttonPages1(): DButton<number>[] {\n\t\tlet result = this._buttonPages1;\n\t\tif (result == null) {\n\t\t\tresult = this.newButtonPages1();\n\t\t\tthis._buttonPages1 = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newButtonPages1(): DButton<number>[] {\n\t\treturn [\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage(),\n\t\t\tthis.newButtonPage()\n\t\t];\n\t}\n\n\tprotected allocButtonPages1(size: number): void {\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tconst buttonPages1Length = buttonPages1.length;\n\t\tconst index = this.getChildIndex(buttonPages1[0]);\n\t\tfor (let i = 0, imax = size - buttonPages1Length; i < imax; ++i) {\n\t\t\tconst buttonPage = this.newButtonPage();\n\t\t\tthis.addChildAt(buttonPage, index);\n\t\t\tbuttonPages1.unshift(buttonPage);\n\t\t}\n\t}\n\n\tprotected get page(): DPaginationPage {\n\t\tlet result = this._page;\n\t\tif (result == null) {\n\t\t\tresult = this.newPage();\n\t\t\tthis._page = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newPage(): DPaginationPage {\n\t\treturn new DPaginationPage(this._options?.page);\n\t}\n\n\tprotected onButtonPageActive(button: DButton<number>): void {\n\t\tconst text = button.text;\n\t\tif (isNumber(text)) {\n\t\t\tthis.moveTo(text - 1);\n\t\t\tif (button.state.isFocused) {\n\t\t\t\tbutton.state.isHovered = false;\n\t\t\t\tthis.page.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected get spaceLeft(): DLayoutSpace | null {\n\t\tlet result = this._spaceLeft;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSpaceLeft();\n\t\t\tthis._spaceLeft = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpaceLeft(): DLayoutSpace | null {\n\t\tif (this.buttonTop != null || this.buttonPrevious != null) {\n\t\t\treturn this.newSpace();\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get spaceRight(): DLayoutSpace | null {\n\t\tlet result = this._spaceRight;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSpaceRight();\n\t\t\tthis._spaceRight = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpaceRight(): DLayoutSpace | null {\n\t\tif (this.buttonLast != null || this.buttonNext != null) {\n\t\t\treturn this.newSpace();\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected newSpace(): DLayoutSpace | null {\n\t\tconst space = this._options?.button?.space;\n\t\tif (space !== null && space !== false) {\n\t\t\tif (space === true || space === undefined) {\n\t\t\t\treturn new DLayoutSpace({\n\t\t\t\t\tweight: 1\n\t\t\t\t});\n\t\t\t} else if (isNumber(space)) {\n\t\t\t\treturn new DLayoutSpace({\n\t\t\t\t\twidth: space\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn new DLayoutSpace(space);\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onReflow(): void {\n\t\tthis.update();\n\t\tsuper.onReflow();\n\t}\n\n\tprotected update(): void {\n\t\tconst size = this._size;\n\t\tconst value = this._value;\n\t\tif (size <= 0) {\n\t\t\tthis.doUpdate0(value, size);\n\t\t} else {\n\t\t\tif (this._auto.width.isOn) {\n\t\t\t\tthis.doUpdate2(value, size, 0, 0, 0, 0);\n\t\t\t} else {\n\t\t\t\tthis.doUpdate1(value, size);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doUpdate0(value: number, size: number): void {\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\tbuttonTop.state.isEnabled = false;\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\tbuttonPrevious.state.isEnabled = false;\n\t\t}\n\n\t\tthis.hideDots(this.dots0);\n\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t}\n\n\t\tthis.hidePage(this.page);\n\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t}\n\n\t\tthis.hideDots(this.dots1);\n\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\tbuttonNext.state.isEnabled = false;\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast) {\n\t\t\tbuttonLast.state.isEnabled = false;\n\t\t}\n\t}\n\n\tprotected doUpdate1(value: number, size: number): void {\n\t\tlet required = 0;\n\t\tlet nrequired = 0;\n\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\trequired += buttonTop.width;\n\t\t\tnrequired += 1;\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\trequired += buttonPrevious.width;\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst spaceLeft = this.spaceLeft;\n\t\tif (spaceLeft != null) {\n\t\t\tif (spaceLeft.weight < 0) {\n\t\t\t\trequired += spaceLeft.width;\n\t\t\t}\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst page = this.page;\n\t\trequired += page.width;\n\t\tnrequired += 1;\n\n\t\tconst spaceRight = this.spaceRight;\n\t\tif (spaceRight != null) {\n\t\t\tif (spaceRight.weight < 0) {\n\t\t\t\trequired += spaceRight.width;\n\t\t\t}\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\trequired += buttonNext.width;\n\t\t\tnrequired += 1;\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast) {\n\t\t\trequired += buttonLast.width;\n\t\t\tnrequired += 1;\n\t\t}\n\n\t\tconst marginHorizontal = this._margin.horizontal;\n\t\tif (2 <= nrequired) {\n\t\t\trequired += (nrequired - 1) * marginHorizontal;\n\t\t}\n\n\t\tconst padding = this.padding;\n\t\tconst space = this.width - (padding.getLeft() + padding.getRight());\n\t\tif (space <= required) {\n\t\t\tthis.doUpdate2(value, size, 4, 4, 0, 0);\n\t\t} else {\n\t\t\tconst buttonPages0 = this.buttonPages0;\n\t\t\tconst buttonPage0Width = buttonPages0[0].width;\n\t\t\tconst nrequired0 = value;\n\t\t\tconst required0 = nrequired0 * (buttonPage0Width + marginHorizontal);\n\n\t\t\tconst buttonPages1 = this.buttonPages1;\n\t\t\tconst buttonPage1Width = buttonPages1[0].width;\n\t\t\tconst nrequired1 = size - (value + 1);\n\t\t\tconst required1 = nrequired1 * (buttonPage1Width + marginHorizontal);\n\n\t\t\tif (required + required0 + required1 <= space) {\n\t\t\t\tthis.doUpdate2(value, size, 0, 0, 0, 0);\n\t\t\t} else {\n\t\t\t\tconst dots1 = this.dots1;\n\t\t\t\tconst dots1Width = dots1.width;\n\t\t\t\tconst dots0 = this.dots0;\n\t\t\t\tconst dots0Width = dots0.width;\n\t\t\t\tconst m0 = marginHorizontal + buttonPage0Width;\n\t\t\t\tconst m1 = marginHorizontal + buttonPage1Width;\n\t\t\t\tconst required0n = dots0Width + m0;\n\t\t\t\tconst required1n = dots1Width + m1;\n\t\t\t\tconst required0m = required0n + m0;\n\t\t\t\tconst required1m = required1n + m1;\n\t\t\t\tif (required0 <= required1) {\n\t\t\t\t\tif (3 <= nrequired1 && required + required0 + required1m <= space) {\n\t\t\t\t\t\tconst l = space - (required + required0 + required1m);\n\t\t\t\t\t\tconst n1 = Math.floor(l / m1);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 0, 1, 0, n1);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t3 <= nrequired0 &&\n\t\t\t\t\t\t3 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0m + required1m <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst l = space - (required + required0m + required1m);\n\t\t\t\t\t\tconst n1 = Math.floor((l * 0.5) / m1);\n\t\t\t\t\t\tconst n0 = Math.floor((l - n1 * m1) / m0);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 1, 1, n0, n1);\n\t\t\t\t\t} else if (2 <= nrequired1 && required + required0 + required1n <= space) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 0, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t3 <= nrequired0 &&\n\t\t\t\t\t\t2 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0m + required1n <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst l = space - (required + required0m + required1n);\n\t\t\t\t\t\tconst n0 = Math.floor(l / m0);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 1, 2, n0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t2 <= nrequired0 &&\n\t\t\t\t\t\t2 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0n + required1n <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t1 <= nrequired0 &&\n\t\t\t\t\t\t1 <= nrequired1 &&\n\t\t\t\t\t\trequired + dots0Width + dots1Width <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 3, 3, 0, 0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 4, 4, 0, 0);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (3 <= nrequired0 && required + required0m + required1 <= space) {\n\t\t\t\t\t\tconst l = space - (required + required0m + required1);\n\t\t\t\t\t\tconst n0 = Math.floor(l / m0);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 1, 0, n0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t3 <= nrequired0 &&\n\t\t\t\t\t\t3 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0m + required1m <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst l = space - (required + required0m + required1m);\n\t\t\t\t\t\tconst n0 = Math.floor((l * 0.5) / m0);\n\t\t\t\t\t\tconst n1 = Math.floor((l - n0 * m0) / m1);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 1, 1, n0, n1);\n\t\t\t\t\t} else if (2 <= nrequired0 && required + required0n + required1 <= space) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 0, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t2 <= nrequired0 &&\n\t\t\t\t\t\t3 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0n + required1m <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst l = space - (required + required0n + required1m);\n\t\t\t\t\t\tconst n1 = Math.floor(l / m1);\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 1, 0, n1);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t2 <= nrequired0 &&\n\t\t\t\t\t\t2 <= nrequired1 &&\n\t\t\t\t\t\trequired + required0n + required1n <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 2, 2, 0, 0);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t1 <= nrequired0 &&\n\t\t\t\t\t\t1 <= nrequired1 &&\n\t\t\t\t\t\trequired + dots0Width + dots1Width <= space\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 3, 3, 0, 0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.doUpdate2(value, size, 4, 4, 0, 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doUpdate2(\n\t\tvalue: number,\n\t\tsize: number,\n\t\tleft: 0 | 1 | 2 | 3 | 4,\n\t\tright: 0 | 1 | 2 | 3 | 4,\n\t\tnleft1: number,\n\t\tnright1: number\n\t): void {\n\t\tconst buttonTop = this.buttonTop;\n\t\tif (buttonTop != null) {\n\t\t\tbuttonTop.state.isEnabled = 0 < value;\n\t\t}\n\t\tconst buttonPrevious = this.buttonPrevious;\n\t\tif (buttonPrevious != null) {\n\t\t\tbuttonPrevious.state.isEnabled = 0 < value;\n\t\t}\n\n\t\tconst buttonPages0 = this.buttonPages0;\n\t\tswitch (left) {\n\t\t\tcase 0:\n\t\t\t\tthis.hideDots(this.dots0);\n\t\t\t\tthis.allocButtonPages0(value);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\t\t\tif (i < value) {\n\t\t\t\t\t\tthis.showPage(buttonPages0[i], i);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tthis.showDots(this.dots0, 1, value - 2 - nleft1);\n\t\t\t\tthis.allocButtonPages0(2 + nleft1);\n\t\t\t\tthis.showPage(buttonPages0[0], 0);\n\t\t\t\tfor (let i = 1, imax = buttonPages0.length - nleft1 - 1; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tfor (let i = 0, imax = 1 + nleft1; i < imax; ++i) {\n\t\t\t\t\tthis.showPage(\n\t\t\t\t\t\tbuttonPages0[buttonPages0.length - imax + i],\n\t\t\t\t\t\tvalue - 1 - (imax - 1) + i\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.showDots(this.dots0, 0, value - 2);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length - 1; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tthis.showPage(buttonPages0[buttonPages0.length - 1], value - 1);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tthis.showDots(this.dots0, 0, value - 1);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tthis.hideDots(this.dots0);\n\t\t\t\tfor (let i = 0, imax = buttonPages0.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages0[i]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.showPage(this.page, value);\n\n\t\tconst buttonPages1 = this.buttonPages1;\n\t\tswitch (right) {\n\t\t\tcase 0:\n\t\t\t\tthis.allocButtonPages1(size - (value + 1));\n\t\t\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tconst j = value + 1 + i;\n\t\t\t\t\tif (j < size) {\n\t\t\t\t\t\tthis.showPage(buttonPages1[i], j);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.hideDots(this.dots1);\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tthis.allocButtonPages1(2 + nright1);\n\t\t\t\tfor (let i = 0, imax = 1 + nright1; i < imax; ++i) {\n\t\t\t\t\tthis.showPage(buttonPages1[i], value + 1 + i);\n\t\t\t\t}\n\t\t\t\tfor (let i = 1 + nright1, imax = buttonPages1.length - 1; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.showPage(buttonPages1[buttonPages1.length - 1], size - 1);\n\t\t\t\tthis.showDots(this.dots1, value + 2 + nright1, size - 2);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.showPage(buttonPages1[0], value + 1);\n\t\t\t\tfor (let i = 1, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.showDots(this.dots1, value + 2, size - 1);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.showDots(this.dots1, value + 1, size - 1);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tfor (let i = 0, imax = buttonPages1.length; i < imax; ++i) {\n\t\t\t\t\tthis.hidePage(buttonPages1[i]);\n\t\t\t\t}\n\t\t\t\tthis.hideDots(this.dots1);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst buttonNext = this.buttonNext;\n\t\tif (buttonNext != null) {\n\t\t\tbuttonNext.state.isEnabled = value < size - 1;\n\t\t}\n\t\tconst buttonLast = this.buttonLast;\n\t\tif (buttonLast != null) {\n\t\t\tbuttonLast.state.isEnabled = value < size - 1;\n\t\t}\n\t}\n\n\tprotected showPage(button: DImageBase<number>, index: number): void {\n\t\tbutton.text = index + 1;\n\t\tbutton.show();\n\t}\n\n\tprotected hidePage(button: DImageBase<number>): void {\n\t\tbutton.hide();\n\t}\n\n\tprotected showDots(dots: DPaginationDots, from: number, to: number): void {\n\t\tdots.show();\n\t}\n\n\tprotected hideDots(dots: DPaginationDots): void {\n\t\tdots.hide();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPagination\";\n\t}\n}\n"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.345.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -86008,16 +86008,27 @@ var DPagination = /** @class */ (function (_super) {
|
|
|
86008
86008
|
var required1m = required1n + m1;
|
|
86009
86009
|
if (required0 <= required1) {
|
|
86010
86010
|
if (3 <= nrequired1 && required + required0 + required1m <= space) {
|
|
86011
|
-
var
|
|
86011
|
+
var l = space - (required + required0 + required1m);
|
|
86012
|
+
var n1 = Math.floor(l / m1);
|
|
86012
86013
|
this.doUpdate2(value, size, 0, 1, 0, n1);
|
|
86013
86014
|
}
|
|
86015
|
+
else if (3 <= nrequired0 &&
|
|
86016
|
+
3 <= nrequired1 &&
|
|
86017
|
+
required + required0m + required1m <= space) {
|
|
86018
|
+
var l = space - (required + required0m + required1m);
|
|
86019
|
+
var n1 = Math.floor((l * 0.5) / m1);
|
|
86020
|
+
var n0 = Math.floor((l - n1 * m1) / m0);
|
|
86021
|
+
this.doUpdate2(value, size, 1, 1, n0, n1);
|
|
86022
|
+
}
|
|
86014
86023
|
else if (2 <= nrequired1 && required + required0 + required1n <= space) {
|
|
86015
86024
|
this.doUpdate2(value, size, 0, 2, 0, 0);
|
|
86016
86025
|
}
|
|
86017
86026
|
else if (3 <= nrequired0 &&
|
|
86018
86027
|
2 <= nrequired1 &&
|
|
86019
86028
|
required + required0m + required1n <= space) {
|
|
86020
|
-
|
|
86029
|
+
var l = space - (required + required0m + required1n);
|
|
86030
|
+
var n0 = Math.floor(l / m0);
|
|
86031
|
+
this.doUpdate2(value, size, 1, 2, n0, 0);
|
|
86021
86032
|
}
|
|
86022
86033
|
else if (2 <= nrequired0 &&
|
|
86023
86034
|
2 <= nrequired1 &&
|
|
@@ -86035,16 +86046,27 @@ var DPagination = /** @class */ (function (_super) {
|
|
|
86035
86046
|
}
|
|
86036
86047
|
else {
|
|
86037
86048
|
if (3 <= nrequired0 && required + required0m + required1 <= space) {
|
|
86038
|
-
var
|
|
86049
|
+
var l = space - (required + required0m + required1);
|
|
86050
|
+
var n0 = Math.floor(l / m0);
|
|
86039
86051
|
this.doUpdate2(value, size, 1, 0, n0, 0);
|
|
86040
86052
|
}
|
|
86053
|
+
else if (3 <= nrequired0 &&
|
|
86054
|
+
3 <= nrequired1 &&
|
|
86055
|
+
required + required0m + required1m <= space) {
|
|
86056
|
+
var l = space - (required + required0m + required1m);
|
|
86057
|
+
var n0 = Math.floor((l * 0.5) / m0);
|
|
86058
|
+
var n1 = Math.floor((l - n0 * m0) / m1);
|
|
86059
|
+
this.doUpdate2(value, size, 1, 1, n0, n1);
|
|
86060
|
+
}
|
|
86041
86061
|
else if (2 <= nrequired0 && required + required0n + required1 <= space) {
|
|
86042
86062
|
this.doUpdate2(value, size, 2, 0, 0, 0);
|
|
86043
86063
|
}
|
|
86044
86064
|
else if (2 <= nrequired0 &&
|
|
86045
86065
|
3 <= nrequired1 &&
|
|
86046
86066
|
required + required0n + required1m <= space) {
|
|
86047
|
-
|
|
86067
|
+
var l = space - (required + required0n + required1m);
|
|
86068
|
+
var n1 = Math.floor(l / m1);
|
|
86069
|
+
this.doUpdate2(value, size, 2, 1, 0, n1);
|
|
86048
86070
|
}
|
|
86049
86071
|
else if (2 <= nrequired0 &&
|
|
86050
86072
|
2 <= nrequired1 &&
|
package/dist/wcardinal-ui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.345.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -67470,16 +67470,27 @@
|
|
|
67470
67470
|
var required1m = required1n + m1;
|
|
67471
67471
|
if (required0 <= required1) {
|
|
67472
67472
|
if (3 <= nrequired1 && required + required0 + required1m <= space) {
|
|
67473
|
-
var
|
|
67473
|
+
var l = space - (required + required0 + required1m);
|
|
67474
|
+
var n1 = Math.floor(l / m1);
|
|
67474
67475
|
this.doUpdate2(value, size, 0, 1, 0, n1);
|
|
67475
67476
|
}
|
|
67477
|
+
else if (3 <= nrequired0 &&
|
|
67478
|
+
3 <= nrequired1 &&
|
|
67479
|
+
required + required0m + required1m <= space) {
|
|
67480
|
+
var l = space - (required + required0m + required1m);
|
|
67481
|
+
var n1 = Math.floor((l * 0.5) / m1);
|
|
67482
|
+
var n0 = Math.floor((l - n1 * m1) / m0);
|
|
67483
|
+
this.doUpdate2(value, size, 1, 1, n0, n1);
|
|
67484
|
+
}
|
|
67476
67485
|
else if (2 <= nrequired1 && required + required0 + required1n <= space) {
|
|
67477
67486
|
this.doUpdate2(value, size, 0, 2, 0, 0);
|
|
67478
67487
|
}
|
|
67479
67488
|
else if (3 <= nrequired0 &&
|
|
67480
67489
|
2 <= nrequired1 &&
|
|
67481
67490
|
required + required0m + required1n <= space) {
|
|
67482
|
-
|
|
67491
|
+
var l = space - (required + required0m + required1n);
|
|
67492
|
+
var n0 = Math.floor(l / m0);
|
|
67493
|
+
this.doUpdate2(value, size, 1, 2, n0, 0);
|
|
67483
67494
|
}
|
|
67484
67495
|
else if (2 <= nrequired0 &&
|
|
67485
67496
|
2 <= nrequired1 &&
|
|
@@ -67497,16 +67508,27 @@
|
|
|
67497
67508
|
}
|
|
67498
67509
|
else {
|
|
67499
67510
|
if (3 <= nrequired0 && required + required0m + required1 <= space) {
|
|
67500
|
-
var
|
|
67511
|
+
var l = space - (required + required0m + required1);
|
|
67512
|
+
var n0 = Math.floor(l / m0);
|
|
67501
67513
|
this.doUpdate2(value, size, 1, 0, n0, 0);
|
|
67502
67514
|
}
|
|
67515
|
+
else if (3 <= nrequired0 &&
|
|
67516
|
+
3 <= nrequired1 &&
|
|
67517
|
+
required + required0m + required1m <= space) {
|
|
67518
|
+
var l = space - (required + required0m + required1m);
|
|
67519
|
+
var n0 = Math.floor((l * 0.5) / m0);
|
|
67520
|
+
var n1 = Math.floor((l - n0 * m0) / m1);
|
|
67521
|
+
this.doUpdate2(value, size, 1, 1, n0, n1);
|
|
67522
|
+
}
|
|
67503
67523
|
else if (2 <= nrequired0 && required + required0n + required1 <= space) {
|
|
67504
67524
|
this.doUpdate2(value, size, 2, 0, 0, 0);
|
|
67505
67525
|
}
|
|
67506
67526
|
else if (2 <= nrequired0 &&
|
|
67507
67527
|
3 <= nrequired1 &&
|
|
67508
67528
|
required + required0n + required1m <= space) {
|
|
67509
|
-
|
|
67529
|
+
var l = space - (required + required0n + required1m);
|
|
67530
|
+
var n1 = Math.floor(l / m1);
|
|
67531
|
+
this.doUpdate2(value, size, 2, 1, 0, n1);
|
|
67510
67532
|
}
|
|
67511
67533
|
else if (2 <= nrequired0 &&
|
|
67512
67534
|
2 <= nrequired1 &&
|