@everymatrix/lottery-game-page 0.0.10 → 0.0.12
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/cjs/helper-accordion.cjs.entry.js +88 -0
- package/dist/cjs/{helper-accordion_13.cjs.entry.js → helper-filters_2.cjs.entry.js} +21 -1023
- package/dist/cjs/helper-modal.cjs.entry.js +44 -0
- package/dist/cjs/helper-tab.cjs.entry.js +33 -0
- package/dist/cjs/helper-tabs.cjs.entry.js +38 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/lottery-bullet_2.cjs.entry.js +202 -0
- package/dist/cjs/lottery-draw-results-history.cjs.entry.js +124 -0
- package/dist/cjs/lottery-game-details.cjs.entry.js +19 -0
- package/dist/cjs/lottery-game-page.cjs.entry.js +299 -0
- package/dist/cjs/lottery-game-page.cjs.js +1 -1
- package/dist/cjs/lottery-ticket-controller.cjs.entry.js +69 -0
- package/dist/cjs/lottery-ticket.cjs.entry.js +146 -0
- package/dist/collection/collection-manifest.json +7 -1
- package/dist/esm/helper-accordion.entry.js +84 -0
- package/dist/esm/{helper-accordion_13.entry.js → helper-filters_2.entry.js} +23 -1014
- package/dist/esm/helper-modal.entry.js +40 -0
- package/dist/esm/helper-tab.entry.js +29 -0
- package/dist/esm/helper-tabs.entry.js +34 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/lottery-bullet_2.entry.js +197 -0
- package/dist/esm/lottery-draw-results-history.entry.js +120 -0
- package/dist/esm/lottery-game-details.entry.js +15 -0
- package/dist/esm/lottery-game-page.entry.js +295 -0
- package/dist/esm/lottery-game-page.js +1 -1
- package/dist/esm/lottery-ticket-controller.entry.js +65 -0
- package/dist/esm/lottery-ticket.entry.js +142 -0
- package/dist/lottery-game-page/lottery-game-page.esm.js +1 -1
- package/dist/lottery-game-page/p-010895a3.entry.js +1 -0
- package/dist/lottery-game-page/p-09f983c6.entry.js +1 -0
- package/dist/lottery-game-page/p-0c7ada78.entry.js +1 -0
- package/dist/lottery-game-page/p-2932d2a7.entry.js +1 -0
- package/dist/lottery-game-page/p-48831184.entry.js +1 -0
- package/dist/lottery-game-page/p-50298d2c.entry.js +1 -0
- package/dist/lottery-game-page/p-6736fa79.entry.js +1 -0
- package/dist/lottery-game-page/p-88f81126.entry.js +1 -0
- package/dist/lottery-game-page/{p-49bd2864.entry.js → p-95b37270.entry.js} +105 -105
- package/dist/lottery-game-page/p-a1dd3eb2.entry.js +1 -0
- package/dist/lottery-game-page/p-caf09eaf.entry.js +1 -0
- package/dist/stencil.config.js +2 -5
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-81cb3b3b.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @name isMobile
|
|
9
|
+
* @description A method that returns if the browser used to access the app is from a mobile device or not
|
|
10
|
+
* @param {String} userAgent window.navigator.userAgent
|
|
11
|
+
* @returns {Boolean} true or false
|
|
12
|
+
*/
|
|
13
|
+
const isMobile = (userAgent) => {
|
|
14
|
+
return !!(userAgent.toLowerCase().match(/android/i) ||
|
|
15
|
+
userAgent.toLowerCase().match(/blackberry|bb/i) ||
|
|
16
|
+
userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
|
|
17
|
+
userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const helperModalCss = ":host{display:block}.HelperModalWrapper{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);opacity:0;visibility:hidden;transform:scale(1.1);transition:visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;z-index:1}.HelperModalVisible{opacity:1;visibility:visible;transform:scale(1);transition:visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s}.HelperModalContent{position:relative;border:solid 1px #848e97;box-shadow:2px 2px 2px rgba(0, 0, 0, 0.007);font-size:14px;padding:10px 10px 5px 10px;background-color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;width:600px;max-height:600px;overflow-y:scroll}.HelperModalMobileContent{background:#FFF;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;width:80%;max-height:350px}.HelperModalClose{cursor:pointer;position:absolute;top:15px;right:15px;font-size:20px;color:#000}.HelperModalMobileClose{position:absolute;top:15px;right:15px;font-size:20px;color:#000}";
|
|
21
|
+
|
|
22
|
+
const HelperModal = class {
|
|
23
|
+
constructor(hostRef) {
|
|
24
|
+
index.registerInstance(this, hostRef);
|
|
25
|
+
this.cancel = index.createEvent(this, "modalCloseEvent", 7);
|
|
26
|
+
/**
|
|
27
|
+
* Toggles if the helper is visible or not
|
|
28
|
+
*/
|
|
29
|
+
this.visible = true;
|
|
30
|
+
this.userAgent = window.navigator.userAgent;
|
|
31
|
+
}
|
|
32
|
+
handleHelperModalClose() {
|
|
33
|
+
this.visible = false;
|
|
34
|
+
this.cancel.emit();
|
|
35
|
+
}
|
|
36
|
+
;
|
|
37
|
+
render() {
|
|
38
|
+
return ((this.visible &&
|
|
39
|
+
index.h("div", { class: this.visible ? "HelperModalWrapper HelperModalVisible" : "HelperModalWrapper" }, index.h("div", { class: "HelperModalWrapper HelperModalVisible" }, index.h("div", { class: "HelperModalContent" + (isMobile(this.userAgent) ? ' HelperModalMobileContent' : '') }, index.h("span", { class: "HelperModalClose" + (isMobile(this.userAgent) ? ' HelperModalMobileClose' : ''), onClick: this.handleHelperModalClose.bind(this) }, "X"), index.h("slot", null))))));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
HelperModal.style = helperModalCss;
|
|
43
|
+
|
|
44
|
+
exports.helper_modal = HelperModal;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-81cb3b3b.js');
|
|
6
|
+
|
|
7
|
+
const helperTabCss = ":host{display:block}";
|
|
8
|
+
|
|
9
|
+
const HelperTab = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
/**
|
|
13
|
+
* Selected index
|
|
14
|
+
*/
|
|
15
|
+
this.selectedIndex = 0;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Endpoing for CMS
|
|
19
|
+
*/
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
/**
|
|
22
|
+
* fetch(cmsEndpoint + / + / + selectedIndex)
|
|
23
|
+
*/
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
return [
|
|
27
|
+
index.h("div", null, "Reference site about Lorem Ipsum, giving information on its origins, as well as a random Lipsum generator.", this.selectedIndex + 1)
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
HelperTab.style = helperTabCss;
|
|
32
|
+
|
|
33
|
+
exports.helper_tab = HelperTab;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-81cb3b3b.js');
|
|
6
|
+
|
|
7
|
+
const helperTabsCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.Tabs{display:flex;gap:10px;overflow-x:auto}.TabButton{cursor:pointer;width:auto;border-radius:4px;padding:8px 15px;margin:5px 0 10px;border:1px solid #009993;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0;white-space:nowrap}.TabButton:hover{background:#F1F1F1}.TabButton.Active{background:#009993;color:#FFF}";
|
|
8
|
+
|
|
9
|
+
const HelperTabs = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
/**
|
|
13
|
+
* Tell me if it is disabled
|
|
14
|
+
*/
|
|
15
|
+
this.disabled = false;
|
|
16
|
+
/**
|
|
17
|
+
* Tell me what tab is selected
|
|
18
|
+
*/
|
|
19
|
+
this.selected = false;
|
|
20
|
+
/**
|
|
21
|
+
* Default selected index
|
|
22
|
+
*/
|
|
23
|
+
this.selectedIndex = 0;
|
|
24
|
+
/**
|
|
25
|
+
* Tabs details
|
|
26
|
+
*/
|
|
27
|
+
this.tabs = [{ label: 'Draw Details' }, { label: 'Winnings' }, { label: 'How to Play' }, { label: 'Game Odds' }, { label: 'FAQs' }];
|
|
28
|
+
}
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return (index.h("div", null, index.h("div", { class: "Tabs" }, this.tabs.map((tab, index$1) => index.h("button", { class: 'TabButton' + (this.selectedIndex == index$1 ? ' Active' : ''), onClick: () => this.selectedIndex = index$1 }, tab.label))), index.h("div", null, index.h("helper-tab", { selectedIndex: this.selectedIndex }))));
|
|
33
|
+
}
|
|
34
|
+
get host() { return index.getElement(this); }
|
|
35
|
+
};
|
|
36
|
+
HelperTabs.style = helperTabsCss;
|
|
37
|
+
|
|
38
|
+
exports.helper_tabs = HelperTabs;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["
|
|
17
|
+
return index.bootstrapLazy([["lottery-game-page.cjs",[[1,"lottery-game-page",{"endpoint":[1],"gameId":[1,"game-id"],"playerId":[2,"player-id"],"sessionId":[1,"session-id"],"language":[1],"autoPick":[4,"auto-pick"],"resetButton":[4,"reset-button"],"tickets":[32],"tabIndex":[32],"hasErrors":[32],"totalAmount":[32],"successVisible":[32],"deleteVisible":[32],"deleteEventData":[32],"daysRemaining":[32],"hoursRemaining":[32],"minutesRemaining":[32],"secondsRemaining":[32],"latestDraw":[32],"totalWinningsAmount":[32],"nextDate":[32]},[[0,"ticketCompleted","gridFilledHandler"],[0,"gridDirty","gridDirtyHandler"],[0,"deleteTicket","deleteTicketHandler"],[0,"modalCloseEvent","modalCloseEvent"],[0,"stakeChange","stakeChangeHandler"],[0,"multiplierChange","multiplierChangeHandler"]]]]],["helper-pagination.cjs",[[1,"helper-pagination",{"firstPage":[1540,"first-page"],"previousPage":[1540,"previous-page"],"offset":[1538],"limit":[1538],"total":[1538],"language":[1],"offsetInt":[32],"lastPage":[32],"limitInt":[32],"totalInt":[32],"pagesArray":[32],"endInt":[32]}]]],["lottery-bullet_2.cjs",[[1,"lottery-grid",{"ticketId":[2,"ticket-id"],"totalNumbers":[2,"total-numbers"],"gameId":[1,"game-id"],"maximumAllowed":[2,"maximum-allowed"],"minimumAllowed":[2,"minimum-allowed"],"selectable":[4],"selectedNumbers":[1,"selected-numbers"],"displaySelected":[4,"display-selected"],"language":[1],"gridIndex":[2,"grid-index"],"numbers":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[1],"selectable":[4],"isSelected":[4,"is-selected"]}]]],["helper-filters_2.cjs",[[1,"lottery-draw-results",{"endpoint":[1],"gameId":[1,"game-id"],"language":[1],"playerId":[1,"player-id"],"drawMode":[4,"draw-mode"],"drawId":[1,"draw-id"],"gameName":[1,"game-name"],"multiplier":[32],"ticketData":[32],"isLoading":[32],"drawResults":[32],"rules":[32],"toggleDrawer":[32],"hasErrors":[32],"errorText":[32]}],[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]]]],["lottery-draw-results-history.cjs",[[1,"lottery-draw-results-history",{"endpoint":[1],"gameId":[1,"game-id"],"numberOfResults":[2,"number-of-results"],"language":[1],"drawData":[32],"displayAllDrawsResults":[32],"showQuickFilters":[32],"winningDataSetsData":[32]},[[0,"filterSelection","filtersHandler"],[0,"filterSelectionReset","clearFiltersHandler"]]]]],["lottery-ticket.cjs",[[1,"lottery-ticket",{"endpoint":[1],"gameId":[1,"game-id"],"numberOfGrids":[2,"number-of-grids"],"multipleDraws":[4,"multiple-draws"],"ticketId":[2,"ticket-id"],"resetButton":[4,"reset-button"],"autoPick":[4,"auto-pick"],"language":[1],"multiplier":[32],"numberOfDraws":[32],"isLoading":[32],"hasErrors":[32],"ticketDone":[32]},[[0,"gridFilled","gridFilledHandler"]]]]],["lottery-ticket-controller.cjs",[[1,"lottery-ticket-controller",{"endpoint":[1],"ticketId":[2,"ticket-id"],"ticketDescription":[1,"ticket-description"],"gameId":[1,"game-id"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"numberOfGrids":[2,"number-of-grids"],"last":[4],"language":[1],"autoPick":[4,"auto-pick"],"resetButton":[4,"reset-button"]},[[0,"helperAccordionAction","helperAccordionActionHandler"]]]]],["helper-tabs.cjs",[[1,"helper-tabs",{"disabled":[4],"label":[1],"selected":[4],"cmsEndpoint":[1,"cms-endpoint"],"selectedIndex":[1538,"selected-index"],"tabs":[16]}]]],["helper-accordion.cjs",[[1,"helper-accordion",{"headerTitle":[1,"header-title"],"headerSubtitle":[1,"header-subtitle"],"description":[1],"footer":[4],"deleteTab":[4,"delete-tab"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"language":[1],"showContent":[32]}]]],["helper-tab.cjs",[[1,"helper-tab",{"selectedIndex":[2,"selected-index"],"cmsEndpoint":[1,"cms-endpoint"]}]]],["lottery-game-details.cjs",[[1,"lottery-game-details"]]],["helper-modal.cjs",[[1,"helper-modal",{"titleModal":[1,"title-modal"],"visible":[1540]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-81cb3b3b.js');
|
|
6
|
+
|
|
7
|
+
const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.Circle{cursor:pointer;color:#000000;display:block;background:#FFF;border:solid 2px #00958f;height:20px;width:20px;border-radius:50%;margin:0;display:flex;align-items:center;justify-content:center;user-select:none;font-size:12px;font-weight:600;position:relative}.Circle:hover{background:#aee4e2}.Circle.Selected{color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #00958f}.Circle.Disabled{color:#707070;background:#D4D4D4;border:solid 2px #707070;cursor:default}.Circle.DisabledSelected{color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #707070;cursor:default}";
|
|
8
|
+
|
|
9
|
+
const LotteryBullet = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
this.bulletEvent = index.createEvent(this, "lotteryBulletSelection", 7);
|
|
13
|
+
/**
|
|
14
|
+
* Value of the bullet
|
|
15
|
+
*/
|
|
16
|
+
this.value = '0';
|
|
17
|
+
/**
|
|
18
|
+
* Marks if the bullet should be selectable
|
|
19
|
+
*/
|
|
20
|
+
this.selectable = true;
|
|
21
|
+
/**
|
|
22
|
+
* Marks if the bullet should be selected
|
|
23
|
+
*/
|
|
24
|
+
this.isSelected = false;
|
|
25
|
+
this.select = () => {
|
|
26
|
+
if (this.selectable) {
|
|
27
|
+
this.isSelected = !this.isSelected;
|
|
28
|
+
this.bulletEvent.emit({
|
|
29
|
+
value: this.value,
|
|
30
|
+
selected: this.isSelected
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
render() {
|
|
36
|
+
return (index.h("div", { class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select() }, this.value));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
LotteryBullet.style = lotteryBulletCss;
|
|
40
|
+
|
|
41
|
+
const lotteryGridCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GridContainer{display:flex;flex-direction:column;max-width:350px}.Grid{margin-top:10px 0 10px 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}";
|
|
42
|
+
|
|
43
|
+
const LotteryGrid = class {
|
|
44
|
+
constructor(hostRef) {
|
|
45
|
+
index.registerInstance(this, hostRef);
|
|
46
|
+
this.gridFilledEvent = index.createEvent(this, "gridFilled", 7);
|
|
47
|
+
this.gridDirtyEvent = index.createEvent(this, "gridDirty", 7);
|
|
48
|
+
/**
|
|
49
|
+
* Number of bullets of grid
|
|
50
|
+
*/
|
|
51
|
+
this.totalNumbers = 0;
|
|
52
|
+
/**
|
|
53
|
+
* Number of maximum bullets that can be selected
|
|
54
|
+
*/
|
|
55
|
+
this.maximumAllowed = 0;
|
|
56
|
+
/**
|
|
57
|
+
* Minimum allowed of bullets
|
|
58
|
+
*/
|
|
59
|
+
this.minimumAllowed = 1;
|
|
60
|
+
/**
|
|
61
|
+
* Allows the user to select numbers on the grid
|
|
62
|
+
*/
|
|
63
|
+
this.selectable = true;
|
|
64
|
+
/**
|
|
65
|
+
* Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
|
|
66
|
+
*/
|
|
67
|
+
this.selectedNumbers = '';
|
|
68
|
+
/**
|
|
69
|
+
* Show only selected numbers
|
|
70
|
+
*/
|
|
71
|
+
this.displaySelected = false;
|
|
72
|
+
/**
|
|
73
|
+
* Language
|
|
74
|
+
*/
|
|
75
|
+
this.language = 'en';
|
|
76
|
+
this.numbers = [];
|
|
77
|
+
this.selectedCounter = 0;
|
|
78
|
+
}
|
|
79
|
+
connectedCallback() {
|
|
80
|
+
let selected = [];
|
|
81
|
+
if (this.selectedNumbers.length > 0) {
|
|
82
|
+
selected = this.selectedNumbers.split(',');
|
|
83
|
+
this.selectedCounter = selected.length;
|
|
84
|
+
}
|
|
85
|
+
if (this.displaySelected) {
|
|
86
|
+
selected.forEach((item) => {
|
|
87
|
+
this.numbers.push({
|
|
88
|
+
number: item,
|
|
89
|
+
selected: true,
|
|
90
|
+
selectable: this.selectable
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
[...Array(this.totalNumbers).keys()]
|
|
96
|
+
.map(number => (number + 1).toString())
|
|
97
|
+
.forEach((number) => {
|
|
98
|
+
this.numbers.push({
|
|
99
|
+
number,
|
|
100
|
+
selected: selected.indexOf(number) >= 0 ? true : false,
|
|
101
|
+
selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
lotteryBulletSelectionHandler(event) {
|
|
107
|
+
this.numbers = this.numbers.map((item) => {
|
|
108
|
+
if (item.number == event.detail.value) {
|
|
109
|
+
return {
|
|
110
|
+
number: item.number,
|
|
111
|
+
selected: event.detail.selected,
|
|
112
|
+
selectable: item.selectable
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
number: item.number,
|
|
117
|
+
selected: item.selected,
|
|
118
|
+
selectable: item.selectable
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
if (event.detail.selected) {
|
|
122
|
+
this.selectedCounter += 1;
|
|
123
|
+
if (this.selectedCounter == this.maximumAllowed) {
|
|
124
|
+
this.numbers = this.numbers.map((item) => {
|
|
125
|
+
return {
|
|
126
|
+
number: item.number,
|
|
127
|
+
selected: item.selected,
|
|
128
|
+
selectable: item.selected ? true : false
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
this.gridFilledEvent.emit({
|
|
132
|
+
id: this.ticketId,
|
|
133
|
+
index: this.gridIndex,
|
|
134
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
if (this.selectedCounter == this.maximumAllowed) {
|
|
140
|
+
this.numbers = this.numbers.map((item) => {
|
|
141
|
+
return {
|
|
142
|
+
number: item.number,
|
|
143
|
+
selected: item.selected,
|
|
144
|
+
selectable: true
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
this.gridDirtyEvent.emit({
|
|
148
|
+
id: this.ticketId,
|
|
149
|
+
index: this.gridIndex,
|
|
150
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
this.selectedCounter -= 1;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async resetSelectionHandler(event) {
|
|
157
|
+
if (event.detail && event.detail == this.ticketId) {
|
|
158
|
+
this.selectedCounter = 0;
|
|
159
|
+
this.numbers = this.numbers.map((item) => {
|
|
160
|
+
return {
|
|
161
|
+
number: item.number,
|
|
162
|
+
selected: false,
|
|
163
|
+
selectable: this.selectable
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
this.gridDirtyEvent.emit({
|
|
167
|
+
id: this.ticketId,
|
|
168
|
+
index: this.gridIndex,
|
|
169
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async autoSelectionHandler(event) {
|
|
174
|
+
if (event.detail && event.detail == this.ticketId) {
|
|
175
|
+
this.resetSelectionHandler(event);
|
|
176
|
+
let array = [...Array(this.totalNumbers).keys()]
|
|
177
|
+
.map(number => number + 1)
|
|
178
|
+
.sort(() => 0.5 - Math.random());
|
|
179
|
+
array = array.slice(0, this.minimumAllowed);
|
|
180
|
+
this.numbers = this.numbers.map((item) => {
|
|
181
|
+
return {
|
|
182
|
+
number: item.number,
|
|
183
|
+
selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
|
|
184
|
+
selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
this.gridFilledEvent.emit({
|
|
188
|
+
id: this.ticketId,
|
|
189
|
+
index: this.gridIndex,
|
|
190
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
191
|
+
});
|
|
192
|
+
this.selectedCounter = this.maximumAllowed;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
render() {
|
|
196
|
+
return (index.h("div", { class: "GridContainer" }, index.h("div", { class: "Grid" }, this.numbers.map((item) => index.h("div", null, index.h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected }))))));
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
LotteryGrid.style = lotteryGridCss;
|
|
200
|
+
|
|
201
|
+
exports.lottery_bullet = LotteryBullet;
|
|
202
|
+
exports.lottery_grid = LotteryGrid;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-81cb3b3b.js');
|
|
6
|
+
|
|
7
|
+
const DEFAULT_LANGUAGE = 'en';
|
|
8
|
+
const SUPPORTED_LANGUAGES = ['ro', 'en'];
|
|
9
|
+
const TRANSLATIONS = {
|
|
10
|
+
en: {
|
|
11
|
+
drawResultsHeader: 'Draw results history',
|
|
12
|
+
drawId: 'Draw ID',
|
|
13
|
+
drawDate: 'Draw Date',
|
|
14
|
+
drawNumbersGridA: 'Draw numbers Grid A',
|
|
15
|
+
viewAllResults: 'View All',
|
|
16
|
+
lastFiveDraws: 'Last 5 Draws',
|
|
17
|
+
lastTenDraws: 'Last 10 Draws',
|
|
18
|
+
lastFifteenDraws: 'Last 15 Draws'
|
|
19
|
+
},
|
|
20
|
+
ro: {
|
|
21
|
+
drawResultsHeader: 'Draw results history',
|
|
22
|
+
drawId: 'Draw ID',
|
|
23
|
+
drawDate: 'Draw Date',
|
|
24
|
+
drawNumbersGridA: 'Draw numbers Grid A',
|
|
25
|
+
viewAllResults: 'View All',
|
|
26
|
+
lastFiveDraws: 'Last 5 Draws',
|
|
27
|
+
lastTenDraws: 'Last 10 Draws',
|
|
28
|
+
lastFifteenDraws: 'Last 15 Draws'
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
const translate = (key, customLang) => {
|
|
32
|
+
const lang = customLang;
|
|
33
|
+
return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const lotteryDrawResultsHistoryCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GridBanner{background-color:#009993;background-repeat:no-repeat;background-position:center;color:#111;padding:0 20px 30px}.GridBanner .BannerButtonsWrapper{display:flex;justify-content:space-between;padding-top:16px}.GridBanner .BannerButtonsWrapper .BannerBackButton,.GridBanner .BannerButtonsWrapper .BannerLobbyButton{background:#fff;border:1px solid #009993;border-radius:4px;padding:7px 15px;font-size:12px;text-transform:uppercase;width:80px}.GridBanner .HistoryGridBannerArea{padding-top:30px}.HistoryGridBannerArea{display:flex;flex-direction:column;align-items:center}.BannerText{font-size:14px;font-weight:300}.BannerCountdown{font-size:22px;display:flex;gap:20px}.DrawResultsSection{max-width:500px;margin:0 auto}.HistoryGridWrapper{padding:0 15px}.HistoryGrid{border:1px solid #009993;border-radius:5px}.DrawResultsHeader{color:#009993;padding:15px;text-align:center}.DrawResultsHeader h4{text-transform:uppercase;font-size:16px;font-weight:600;margin:0}.DrawNumbersGrid{padding:10px 50px}.DrawNumbersGrid p{margin:0 0 10px 0;font-size:14px}.BulletContainer{margin-bottom:20px}.DrawResultTop{background-color:#009993;padding:10px;text-align:center;color:#fff;padding:0 50px;display:flex;justify-content:center;gap:40px}.ViewAllResults{display:block;padding:10px 40px;margin:40px auto;border:0;border-radius:5px;background-color:#009993;color:#fff;outline:none}.FilterSection{display:flex;justify-content:space-between;padding:10px 0 25px}.FilterSection .FilterResultsContainer{display:flex;gap:5px}.FilterSection .QuickFilterButton{cursor:pointer;width:max-content;border-radius:4px;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0}.FilterSection .QuickFilterButton:hover{background:#F1F1F1}.FilterSection helper-filters{margin-left:auto}";
|
|
37
|
+
|
|
38
|
+
const LotteryDrawResultsHistory = class {
|
|
39
|
+
constructor(hostRef) {
|
|
40
|
+
index.registerInstance(this, hostRef);
|
|
41
|
+
/**
|
|
42
|
+
* The number of results to be displayed
|
|
43
|
+
*/
|
|
44
|
+
this.numberOfResults = 3;
|
|
45
|
+
/**
|
|
46
|
+
*Language
|
|
47
|
+
*/
|
|
48
|
+
this.language = 'en';
|
|
49
|
+
this.drawData = [];
|
|
50
|
+
this.displayAllDrawsResults = true;
|
|
51
|
+
this.showQuickFilters = true;
|
|
52
|
+
this.winningDataSetsData = [''];
|
|
53
|
+
this.getDrawsData = () => {
|
|
54
|
+
let url = new URL(`${this.endpoint}/games/${this.gameId}`);
|
|
55
|
+
fetch(url.href)
|
|
56
|
+
.then((res) => {
|
|
57
|
+
if (res.status >= 300) {
|
|
58
|
+
throw new Error('There was an error while fetching the data');
|
|
59
|
+
}
|
|
60
|
+
return res.json();
|
|
61
|
+
})
|
|
62
|
+
.then((data) => {
|
|
63
|
+
console.log("getDrawsData ", data);
|
|
64
|
+
// filter out incomplete data sets for draws
|
|
65
|
+
this.winningDataSetsData = data.draws.filter(draw => draw.winningNumbers);
|
|
66
|
+
this.drawData = this.winningDataSetsData;
|
|
67
|
+
console.log('this.drawData', this.drawData);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
this.filterResults = (resultsNumber) => {
|
|
71
|
+
this.numberOfResults = resultsNumber;
|
|
72
|
+
this.displayAllDrawsResults = true;
|
|
73
|
+
};
|
|
74
|
+
this.getDrawResults = (drawID) => {
|
|
75
|
+
let url = new URL(`${this.endpoint}/games/${this.gameId}/draws/${drawID}`);
|
|
76
|
+
let drawOptions = {
|
|
77
|
+
method: "GET",
|
|
78
|
+
headers: {
|
|
79
|
+
'Content-Type': "application/json",
|
|
80
|
+
'Accept': 'application/json',
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
fetch(url.href, drawOptions)
|
|
84
|
+
.then((response) => {
|
|
85
|
+
return response.json();
|
|
86
|
+
})
|
|
87
|
+
.then((data) => {
|
|
88
|
+
console.log("getDrawResults ", data);
|
|
89
|
+
this.drawData = [data];
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
this.viewAllResults = () => {
|
|
93
|
+
this.numberOfResults = this.drawData.length;
|
|
94
|
+
this.displayAllDrawsResults = false;
|
|
95
|
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
// Filters events
|
|
99
|
+
filtersHandler(event) {
|
|
100
|
+
var _a;
|
|
101
|
+
this.getDrawResults((_a = event.detail) === null || _a === void 0 ? void 0 : _a.drawTicketId);
|
|
102
|
+
this.showQuickFilters = false;
|
|
103
|
+
}
|
|
104
|
+
clearFiltersHandler() {
|
|
105
|
+
this.drawData = this.winningDataSetsData;
|
|
106
|
+
this.showQuickFilters = true;
|
|
107
|
+
}
|
|
108
|
+
connectedCallback() {
|
|
109
|
+
this.getDrawsData();
|
|
110
|
+
}
|
|
111
|
+
disconnectedCallback() {
|
|
112
|
+
clearInterval(this.interval);
|
|
113
|
+
}
|
|
114
|
+
render() {
|
|
115
|
+
let gridHeader = index.h("div", { class: "DrawResultsHeader" }, this.displayAllDrawsResults ? index.h("h4", null, translate('drawResultsHeader', this.language)) :
|
|
116
|
+
index.h("div", { class: "DrawResultsHeaderContent" }, index.h("div", { class: "FilterSection" }, this.showQuickFilters &&
|
|
117
|
+
index.h("div", { class: "FilterResultsContainer" }, index.h("button", { class: "QuickFilterButton", onClick: () => this.filterResults(5) }, translate('lastFiveDraws', this.language)), index.h("button", { class: "QuickFilterButton", onClick: () => this.filterResults(10) }, translate('lastTenDraws', this.language)), index.h("button", { class: "QuickFilterButton", onClick: () => this.filterResults(15) }, translate('lastFifteenDraws', this.language))), index.h("helper-filters", { "show-filter-id": "true", "activate-ticket-search": "false", "game-id": "3797", "player-id": "2323" })), index.h("h4", null, "All draws results history")));
|
|
118
|
+
let gridContent = index.h("div", { class: "HistoryGridWrapper" }, index.h("div", { class: "HistoryGrid" }, this.drawData.map((item) => index.h("lottery-draw-results", { endpoint: this.endpoint, "game-id": this.gameId, "draw-id": item.id, "draw-mode": true })).reverse().slice(0, this.numberOfResults)));
|
|
119
|
+
return index.h("section", { class: "GridWrapper" }, index.h("div", { class: "DrawResultsSection" }, index.h("div", { class: "DrawResultsArea" }, gridHeader, gridContent, this.displayAllDrawsResults && index.h("button", { class: "ViewAllResults", onClick: this.viewAllResults }, "View All"))));
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
LotteryDrawResultsHistory.style = lotteryDrawResultsHistoryCss;
|
|
123
|
+
|
|
124
|
+
exports.lottery_draw_results_history = LotteryDrawResultsHistory;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-81cb3b3b.js');
|
|
6
|
+
|
|
7
|
+
const lotteryGameDetailsCss = ":host{display:block}";
|
|
8
|
+
|
|
9
|
+
const LotteryGameDetails = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
}
|
|
13
|
+
render() {
|
|
14
|
+
return (index.h("div", null, index.h("helper-accordion", { "header-title": "Game Details", collapsed: false }, index.h("div", { slot: "accordionContent" }, index.h("helper-tabs", null)))));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
LotteryGameDetails.style = lotteryGameDetailsCss;
|
|
18
|
+
|
|
19
|
+
exports.lottery_game_details = LotteryGameDetails;
|