@dcrackel/hematournamentui 1.0.696 → 1.0.698
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/AGENTS.md +85 -0
- package/README.md +22 -6
- package/dist/HemaTournamentUI-lib.es.js +43127 -44314
- package/dist/HemaTournamentUI-lib.umd.js +34 -38
- package/dist/hematournamentui-tailwind.css +3724 -0
- package/dist/hematournamentui.css +2 -9
- package/package.json +48 -43
- package/src/stories/Atoms/Input/BaseInput.vue +21 -18
- package/src/stories/Atoms/RadioGroup/BaseRadioGroup.vue +1 -0
- package/src/stories/Atoms/Tag/BaseTag.vue +17 -31
- package/src/stories/Atoms/Text/BaseText.vue +67 -144
- package/src/stories/Molecules/Boxes/BoutBoxes/PassesBox/PassesBox.vue +1 -0
- package/src/stories/Molecules/Boxes/BoutBoxes/TimerBox/TimerBox.vue +1 -0
- package/src/stories/Molecules/Boxes/CounterBox/CounterBox.vue +1 -0
- package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.vue +1 -0
- package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.vue +1 -0
- package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +1 -0
- package/src/stories/Molecules/Inputs/MultiSelect/MultiSelect.vue +1 -0
- package/src/stories/Molecules/Inputs/Toggle/Toggle.vue +1 -0
- package/src/stories/Molecules/Modals/AddDisplayModal/AddDisplayModal.vue +1 -0
- package/src/stories/Molecules/Modals/EditBoutModal/EditBoutModal.vue +1 -0
- package/src/stories/Molecules/Modals/EventWizardModal/EventWizardModal.vue +1 -0
- package/src/stories/Molecules/Reorder/ReorderableShell.vue +1 -0
- package/src/stories/Organisms/Cards/BoutCard/BoutCard.vue +3 -0
- package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardActive/BoutCardActive.vue +1 -0
- package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardInactive/BoutCardInactive.vue +1 -0
- package/src/stories/Organisms/Cards/FencerCard/FencerCard.vue +1 -0
- package/src/stories/Organisms/Cards/FencerPoolResultsCard/FencerPoolResultsCard.vue +1 -0
- package/src/stories/Organisms/Cards/ImportFencerCard/ImportFencerCard.vue +1 -0
- package/src/stories/Organisms/Cards/KioskCard/KioskCard.vue +30 -24
- package/src/stories/Organisms/Cards/PenaltyCard/PenaltyCard.vue +29 -39
- package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.vue +1 -0
- package/src/stories/Organisms/Cards/StaffCard/StaffCard.vue +1 -0
- package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.vue +1 -0
- package/src/stories/Organisms/Cards/TableauFencerCard/TableauFencerCard.vue +1 -0
- package/src/stories/Organisms/Cards/TournamentAdminCard/TournamentAdminCard.vue +17 -19
- package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.vue +1 -0
- package/src/stories/Organisms/ComplexInputs/ClubColorPicker/ClubColorPicker.vue +1 -0
- package/src/stories/Organisms/ComplexInputs/DatePicker/DatePicker.vue +2 -1
- package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.vue +1 -0
- package/src/stories/Organisms/ComplexInputs/FindOrAddPerson/FindOrAddPerson.vue +1 -0
- package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.vue +1 -0
- package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.vue +1 -0
- package/src/stories/Organisms/Containers/PoolResults/PoolResultsTable.vue +1 -0
- package/src/stories/Organisms/Containers/TableauColumn/TableauColumn.vue +1 -0
- package/src/stories/Organisms/Form/AddDisplay/AddDisplay.vue +1 -0
- package/src/stories/Organisms/Form/AddNewPerson/AddNewPerson.vue +1 -0
- package/src/stories/Organisms/Grids/GridContainer.vue +113 -141
- package/src/stories/Organisms/Headers/EventFinalResultsHeader/EventFinalResultsHeader.vue +1 -0
- package/src/stories/Organisms/Headers/PoolResultsHeader/PoolResultsHeader.vue +1 -0
- package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.vue +1 -0
- package/src/stories/Organisms/Headers/ToggleHeader/ToggleHeader.vue +1 -0
- package/src/stories/Organisms/Wizards/EditEventWizard/BasicEventInfo/BasicEventInfo.vue +1 -0
- package/src/stories/Organisms/Wizards/EditEventWizard/DirectEliminationPromotion/DirectEliminationPromotion.vue +21 -34
- package/src/stories/Organisms/Wizards/EditEventWizard/EditEventWizard.vue +77 -72
- package/src/stories/Organisms/Wizards/EditEventWizard/PoolConfiguration/PoolConfiguration.vue +1 -0
- package/src/stories/Templates/Assignment/Assignment.vue +56 -70
- package/src/stories/Templates/EventManagement/Bracket/Bracket.vue +1 -0
- package/src/stories/Templates/EventManagement/EditEventInfo/EditEventInfo.vue +1 -0
- package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.vue +26 -26
- package/src/stories/Templates/EventManagement/EventFinalResults/EventFinalResults.vue +1 -0
- package/src/stories/Templates/EventManagement/PoolLive/PoolLive.vue +0 -2
- package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.vue +2 -0
- package/src/stories/Templates/EventManagement/PoolResults/PoolResults.vue +1 -0
- package/src/stories/Templates/EventManagement/StaffList/StaffList.vue +1 -0
- package/src/stories/Templates/PersonManagement/Attendance/Attendance.vue +27 -33
- package/src/stories/Templates/TournamentManagement/TouranmentResultsImport/TournamentResultsImport.vue +0 -0
- package/src/stories/Templates/TournamentManagement/TournamentManagement.vue +1 -0
- package/src/stories/Templates/TournamentManagement/TournamentPageTwo/TouranmentPageTwo.vue +80 -4
- package/src/stories/Util/tabs.js +1 -0
- package/tailwind/tailwind.css +5 -6
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
<script>
|
|
32
32
|
export default {
|
|
33
33
|
name: 'ReorderableShell',
|
|
34
|
+
emits: ['reorder:dragend', 'reorder:dragenter', 'reorder:dragleave', 'reorder:dragover', 'reorder:dragstart', 'reorder:drop', 'reorder:tap'],
|
|
34
35
|
props: {
|
|
35
36
|
enabled: {type: Boolean, default: false},
|
|
36
37
|
dragId: {type: [String, Number], required: true},
|
|
@@ -32,6 +32,7 @@ const VariantMap = {
|
|
|
32
32
|
|
|
33
33
|
export default {
|
|
34
34
|
name: "BoutCard",
|
|
35
|
+
emits: ['action:assignBout', 'action:editBout', 'action:resumeBout', 'action:startBout', 'reorder:swap'],
|
|
35
36
|
components: { ReorderableShell, BoutCardWaiting, BoutCardActive, BoutCardInactive },
|
|
36
37
|
props: {
|
|
37
38
|
bout: { type: Object, required: true },
|
|
@@ -65,12 +66,14 @@ export default {
|
|
|
65
66
|
fencer1: {
|
|
66
67
|
portrait: f1?.Images?.[0]?.URL || missingPortrait,
|
|
67
68
|
name: f1?.DisplayName || 'Unknown Name',
|
|
69
|
+
emits: ['action:assignBout', 'action:editBout', 'action:resumeBout', 'action:startBout', 'reorder:swap'],
|
|
68
70
|
team: f1?.Club?.Name || 'Unknown Team',
|
|
69
71
|
colorDot: this.hostingClubColors?.Color1 || 'red',
|
|
70
72
|
},
|
|
71
73
|
fencer2: {
|
|
72
74
|
portrait: f2?.Images?.[0]?.URL || missingPortrait,
|
|
73
75
|
name: f2?.DisplayName || 'Unknown Name',
|
|
76
|
+
emits: ['action:assignBout', 'action:editBout', 'action:resumeBout', 'action:startBout', 'reorder:swap'],
|
|
74
77
|
team: f2?.Club?.Name || 'Unknown Team',
|
|
75
78
|
colorDot: this.hostingClubColors?.Color2 || 'blue',
|
|
76
79
|
},
|
|
@@ -92,6 +92,7 @@ import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
|
92
92
|
|
|
93
93
|
export default {
|
|
94
94
|
name: 'FencerCard',
|
|
95
|
+
emits: ['forward:toProfile', 'remove:fencer', 'request:weaver-sign', 'update:moveDown', 'update:moveUp', 'update:status', 'weaver:required'],
|
|
95
96
|
components: {BaseButton, BaseIcon, ButtonBar, BaseText},
|
|
96
97
|
props: {
|
|
97
98
|
person: {
|
|
@@ -109,11 +109,26 @@
|
|
|
109
109
|
<script>
|
|
110
110
|
import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
|
|
111
111
|
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
112
|
-
import DropDownMenu from "../../ComplexInputs/DropDown/DropDownMenu.vue";
|
|
113
|
-
import ButtonBar from "../../../Molecules/Buttons/ButtonBar/ButtonBar.vue";
|
|
114
|
-
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
import DropDownMenu from "../../ComplexInputs/DropDown/DropDownMenu.vue";
|
|
113
|
+
import ButtonBar from "../../../Molecules/Buttons/ButtonBar/ButtonBar.vue";
|
|
114
|
+
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
115
|
+
|
|
116
|
+
const connectedIconByType = {
|
|
117
|
+
ScoreBoard: 'fa-wifi',
|
|
118
|
+
FlightBoard: 'fa-signal-stream'
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
const disconnectedIconByType = {
|
|
122
|
+
ScoreBoard: 'fa-wifi-slash',
|
|
123
|
+
FlightBoard: 'fa-signal-stream-slash'
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
const connectedColorByType = {
|
|
127
|
+
ScoreBoard: 'acceptedBorder',
|
|
128
|
+
FlightBoard: 'toggleBackground'
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export default {
|
|
117
132
|
name: 'KioskCardPC',
|
|
118
133
|
components: { BaseIcon, BaseText, DropDownMenu, ButtonBar, BaseButton },
|
|
119
134
|
emits: ['update:kiosk', 'update:ringChange', 'update:staffChange', 'update:eventChange', 'update:selectedType', 'update:assignToMe', 'update:editKiosk', 'remove:kiosk'],
|
|
@@ -162,25 +177,16 @@ export default {
|
|
|
162
177
|
localSelectedEvent: { text: this.displayObject.Event?.EventName || 'Select Event', link: this.displayObject.Event?.EventId || '' }
|
|
163
178
|
};
|
|
164
179
|
},
|
|
165
|
-
computed: {
|
|
166
|
-
getIcon() {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
},
|
|
175
|
-
getIconColorByConnected() {
|
|
176
|
-
if (this.editableKiosk.Type === 'ScoreBoard') {
|
|
177
|
-
return this.editableKiosk.Connected ? 'acceptedBorder' : 'quaternary';
|
|
178
|
-
} else if (this.editableKiosk.Type === 'FlightBoard') {
|
|
179
|
-
return this.editableKiosk.Connected ? 'toggleBackground' : 'quaternary';
|
|
180
|
-
} else {
|
|
181
|
-
return this.editableKiosk.Connected ? 'lossRed' : 'quaternary';
|
|
182
|
-
}
|
|
183
|
-
},
|
|
180
|
+
computed: {
|
|
181
|
+
getIcon() {
|
|
182
|
+
const iconMap = this.editableKiosk.Connected ? connectedIconByType : disconnectedIconByType;
|
|
183
|
+
return iconMap[this.editableKiosk.Type] || (this.editableKiosk.Connected ? 'fa-wifi-exclamation' : 'fa-wifi-slash');
|
|
184
|
+
},
|
|
185
|
+
getIconColorByConnected() {
|
|
186
|
+
if (!this.editableKiosk.Connected) return 'quaternary';
|
|
187
|
+
|
|
188
|
+
return connectedColorByType[this.editableKiosk.Type] || 'lossRed';
|
|
189
|
+
},
|
|
184
190
|
typeButtons() {
|
|
185
191
|
return [
|
|
186
192
|
{
|
|
@@ -92,11 +92,27 @@
|
|
|
92
92
|
|
|
93
93
|
<script>
|
|
94
94
|
import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
|
|
95
|
-
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
96
|
-
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
97
|
-
import ConfirmModal from "../../../Molecules/Modals/ConfirmModal/ConfirmModal.vue";
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
96
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
97
|
+
import ConfirmModal from "../../../Molecules/Modals/ConfirmModal/ConfirmModal.vue";
|
|
98
|
+
|
|
99
|
+
const flagIcons = {
|
|
100
|
+
Yellow: 'fa-cards-blank',
|
|
101
|
+
Red: 'fa-cards-blank',
|
|
102
|
+
Black: 'fa-cards-blank',
|
|
103
|
+
Note: 'fa-user-md',
|
|
104
|
+
Medical: 'fa-truck-medical'
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
const flagColors = {
|
|
108
|
+
Yellow: 'gold',
|
|
109
|
+
Red: 'red',
|
|
110
|
+
Black: 'black',
|
|
111
|
+
Note: 'blue',
|
|
112
|
+
Medical: 'orange'
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export default {
|
|
100
116
|
name: "PenaltyCard",
|
|
101
117
|
components: {ConfirmModal, BaseIcon, BaseButton, BaseText},
|
|
102
118
|
emits: ["penalty:remove", "penalty:add", "penalty:update", "toggleFlag"],
|
|
@@ -316,39 +332,13 @@ export default {
|
|
|
316
332
|
cancelAction() {
|
|
317
333
|
this.blackCardToggle = false;
|
|
318
334
|
this.currentNote = "";
|
|
319
|
-
},
|
|
320
|
-
getFlagIcon(flag) {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
return "fa-cards-blank";
|
|
328
|
-
case "Note":
|
|
329
|
-
return "fa-user-md";
|
|
330
|
-
case "Medical":
|
|
331
|
-
return "fa-truck-medical";
|
|
332
|
-
default:
|
|
333
|
-
return "fa-circle";
|
|
334
|
-
}
|
|
335
|
-
},
|
|
336
|
-
getFlagColor(flag) {
|
|
337
|
-
switch (flag) {
|
|
338
|
-
case "Yellow":
|
|
339
|
-
return "gold";
|
|
340
|
-
case "Red":
|
|
341
|
-
return "red";
|
|
342
|
-
case "Black":
|
|
343
|
-
return "black";
|
|
344
|
-
case "Note":
|
|
345
|
-
return "blue";
|
|
346
|
-
case "Medical":
|
|
347
|
-
return "orange";
|
|
348
|
-
default:
|
|
349
|
-
return "gray";
|
|
350
|
-
}
|
|
351
|
-
},
|
|
352
|
-
},
|
|
335
|
+
},
|
|
336
|
+
getFlagIcon(flag) {
|
|
337
|
+
return flagIcons[flag] || 'fa-circle';
|
|
338
|
+
},
|
|
339
|
+
getFlagColor(flag) {
|
|
340
|
+
return flagColors[flag] || 'gray';
|
|
341
|
+
},
|
|
342
|
+
},
|
|
353
343
|
};
|
|
354
344
|
</script>
|
|
@@ -27,12 +27,19 @@
|
|
|
27
27
|
|
|
28
28
|
<script>
|
|
29
29
|
import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
|
|
30
|
-
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
31
|
-
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
32
|
-
import defaultTournamentImage from "../../../../assets/default-tournament.png";
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
31
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
32
|
+
import defaultTournamentImage from "../../../../assets/default-tournament.png";
|
|
33
|
+
|
|
34
|
+
const visibilityIcons = {
|
|
35
|
+
Open: 'fa-globe',
|
|
36
|
+
Private: 'fa-lock',
|
|
37
|
+
Club: 'fa-house'
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default {
|
|
35
41
|
name: 'TournamentAdminCard',
|
|
42
|
+
emits: ['delete', 'edit', 'listEvents'],
|
|
36
43
|
components: {BaseText, BaseButton, BaseIcon},
|
|
37
44
|
props: {
|
|
38
45
|
detail: {
|
|
@@ -63,20 +70,11 @@ export default {
|
|
|
63
70
|
},
|
|
64
71
|
getM2Icon(){
|
|
65
72
|
!!this.detail.HostedOnM2;
|
|
66
|
-
},
|
|
67
|
-
getIconName() {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
case 'Private':
|
|
72
|
-
return 'fa-lock';
|
|
73
|
-
case 'Club':
|
|
74
|
-
return 'fa-house';
|
|
75
|
-
default:
|
|
76
|
-
return 'fa-question-circle';
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
},
|
|
73
|
+
},
|
|
74
|
+
getIconName() {
|
|
75
|
+
return visibilityIcons[this.detail.Visibility] || 'fa-question-circle';
|
|
76
|
+
}
|
|
77
|
+
},
|
|
80
78
|
methods: {
|
|
81
79
|
deleteTournament() {
|
|
82
80
|
this.$emit('delete', this.detail.TournamentId);
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
</template>
|
|
14
14
|
|
|
15
15
|
<script>
|
|
16
|
-
import VueDatePicker from '@vuepic/vue-datepicker';
|
|
16
|
+
import { VueDatePicker } from '@vuepic/vue-datepicker';
|
|
17
17
|
import '@vuepic/vue-datepicker/dist/main.css';
|
|
18
18
|
|
|
19
19
|
export default {
|
|
20
|
+
emits: ['update:selectedDate'],
|
|
20
21
|
components: { VueDatePicker },
|
|
21
22
|
props: {
|
|
22
23
|
setDate: {
|
|
@@ -45,6 +45,7 @@ import AddNewPerson from "../../../Organisms/Form/AddNewPerson/AddNewPerson.vue"
|
|
|
45
45
|
|
|
46
46
|
export default {
|
|
47
47
|
name: 'FindOrAddPerson',
|
|
48
|
+
emits: ['new-person-submitted', 'person-selected'],
|
|
48
49
|
components: {AddNewPerson, DropDownMenu, BaseModal, BaseText, BaseButton, BaseInput },
|
|
49
50
|
props: {
|
|
50
51
|
persons: {
|
|
@@ -47,6 +47,7 @@ import FencerFinalResultCard from "../../Cards/FencerFinalResultCard/FencerFinal
|
|
|
47
47
|
|
|
48
48
|
export default {
|
|
49
49
|
name: "PoolResultsTable",
|
|
50
|
+
emits: ['update:handleDecreaseCount', 'update:handleIncreaseCount', 'update:moveFencerDESeedDown', 'update:moveFencerDESeedUp', 'update:withdraw'],
|
|
50
51
|
components: {
|
|
51
52
|
FencerFinalResultCard,
|
|
52
53
|
BaseText,
|
|
@@ -101,6 +101,7 @@ import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
|
|
|
101
101
|
|
|
102
102
|
export default {
|
|
103
103
|
name: 'AddDisplay',
|
|
104
|
+
emits: ['update:cancel', 'update:submit'],
|
|
104
105
|
components: { BaseIcon, BaseText, DropDownMenu, BaseButton },
|
|
105
106
|
props: {
|
|
106
107
|
iconBorderColor: {
|
|
@@ -87,6 +87,7 @@ import TitledInput from "../../../Molecules/CombinationInputs/TitledInput/Titled
|
|
|
87
87
|
|
|
88
88
|
export default {
|
|
89
89
|
name: "AddNewPerson",
|
|
90
|
+
emits: ['newPersonSubmitted'],
|
|
90
91
|
components: {TitledInput, DropDownMenu, BaseText, BaseButton, BaseInput },
|
|
91
92
|
props: {
|
|
92
93
|
fencingClubs: {
|