@dcrackel/hematournamentui 1.0.697 → 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.
Files changed (70) hide show
  1. package/AGENTS.md +85 -0
  2. package/README.md +22 -6
  3. package/dist/HemaTournamentUI-lib.es.js +43127 -44314
  4. package/dist/HemaTournamentUI-lib.umd.js +34 -38
  5. package/dist/hematournamentui-tailwind.css +3724 -0
  6. package/dist/hematournamentui.css +2 -9
  7. package/package.json +48 -43
  8. package/src/stories/Atoms/Input/BaseInput.vue +21 -18
  9. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.vue +1 -0
  10. package/src/stories/Atoms/Tag/BaseTag.vue +17 -31
  11. package/src/stories/Atoms/Text/BaseText.vue +67 -144
  12. package/src/stories/Molecules/Boxes/BoutBoxes/PassesBox/PassesBox.vue +1 -0
  13. package/src/stories/Molecules/Boxes/BoutBoxes/TimerBox/TimerBox.vue +1 -0
  14. package/src/stories/Molecules/Boxes/CounterBox/CounterBox.vue +1 -0
  15. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.vue +1 -0
  16. package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.vue +1 -0
  17. package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +1 -0
  18. package/src/stories/Molecules/Inputs/MultiSelect/MultiSelect.vue +1 -0
  19. package/src/stories/Molecules/Inputs/Toggle/Toggle.vue +1 -0
  20. package/src/stories/Molecules/Modals/AddDisplayModal/AddDisplayModal.vue +1 -0
  21. package/src/stories/Molecules/Modals/EditBoutModal/EditBoutModal.vue +1 -0
  22. package/src/stories/Molecules/Modals/EventWizardModal/EventWizardModal.vue +1 -0
  23. package/src/stories/Molecules/Reorder/ReorderableShell.vue +1 -0
  24. package/src/stories/Organisms/Cards/BoutCard/BoutCard.vue +3 -0
  25. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardActive/BoutCardActive.vue +1 -0
  26. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardInactive/BoutCardInactive.vue +1 -0
  27. package/src/stories/Organisms/Cards/FencerCard/FencerCard.vue +1 -0
  28. package/src/stories/Organisms/Cards/FencerPoolResultsCard/FencerPoolResultsCard.vue +1 -0
  29. package/src/stories/Organisms/Cards/ImportFencerCard/ImportFencerCard.vue +1 -0
  30. package/src/stories/Organisms/Cards/KioskCard/KioskCard.vue +30 -24
  31. package/src/stories/Organisms/Cards/PenaltyCard/PenaltyCard.vue +29 -39
  32. package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.vue +1 -0
  33. package/src/stories/Organisms/Cards/StaffCard/StaffCard.vue +1 -0
  34. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.vue +1 -0
  35. package/src/stories/Organisms/Cards/TableauFencerCard/TableauFencerCard.vue +1 -0
  36. package/src/stories/Organisms/Cards/TournamentAdminCard/TournamentAdminCard.vue +17 -19
  37. package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.vue +1 -0
  38. package/src/stories/Organisms/ComplexInputs/ClubColorPicker/ClubColorPicker.vue +1 -0
  39. package/src/stories/Organisms/ComplexInputs/DatePicker/DatePicker.vue +2 -1
  40. package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.vue +1 -0
  41. package/src/stories/Organisms/ComplexInputs/FindOrAddPerson/FindOrAddPerson.vue +1 -0
  42. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.vue +1 -0
  43. package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.vue +1 -0
  44. package/src/stories/Organisms/Containers/PoolResults/PoolResultsTable.vue +1 -0
  45. package/src/stories/Organisms/Containers/TableauColumn/TableauColumn.vue +1 -0
  46. package/src/stories/Organisms/Form/AddDisplay/AddDisplay.vue +1 -0
  47. package/src/stories/Organisms/Form/AddNewPerson/AddNewPerson.vue +1 -0
  48. package/src/stories/Organisms/Grids/GridContainer.vue +113 -141
  49. package/src/stories/Organisms/Headers/EventFinalResultsHeader/EventFinalResultsHeader.vue +1 -0
  50. package/src/stories/Organisms/Headers/PoolResultsHeader/PoolResultsHeader.vue +1 -0
  51. package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.vue +1 -0
  52. package/src/stories/Organisms/Headers/ToggleHeader/ToggleHeader.vue +1 -0
  53. package/src/stories/Organisms/Wizards/EditEventWizard/BasicEventInfo/BasicEventInfo.vue +1 -0
  54. package/src/stories/Organisms/Wizards/EditEventWizard/DirectEliminationPromotion/DirectEliminationPromotion.vue +21 -34
  55. package/src/stories/Organisms/Wizards/EditEventWizard/EditEventWizard.vue +77 -72
  56. package/src/stories/Organisms/Wizards/EditEventWizard/PoolConfiguration/PoolConfiguration.vue +1 -0
  57. package/src/stories/Templates/Assignment/Assignment.vue +56 -70
  58. package/src/stories/Templates/EventManagement/Bracket/Bracket.vue +1 -0
  59. package/src/stories/Templates/EventManagement/EditEventInfo/EditEventInfo.vue +1 -0
  60. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.vue +26 -26
  61. package/src/stories/Templates/EventManagement/EventFinalResults/EventFinalResults.vue +1 -0
  62. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.vue +2 -0
  63. package/src/stories/Templates/EventManagement/PoolResults/PoolResults.vue +1 -0
  64. package/src/stories/Templates/EventManagement/StaffList/StaffList.vue +1 -0
  65. package/src/stories/Templates/PersonManagement/Attendance/Attendance.vue +27 -33
  66. package/src/stories/Templates/TournamentManagement/TouranmentResultsImport/TournamentResultsImport.vue +0 -0
  67. package/src/stories/Templates/TournamentManagement/TournamentManagement.vue +1 -0
  68. package/src/stories/Templates/TournamentManagement/TournamentPageTwo/TouranmentPageTwo.vue +80 -4
  69. package/src/stories/Util/tabs.js +1 -0
  70. package/tailwind/tailwind.css +5 -6
@@ -20,6 +20,7 @@ import BaseText from "../../../Atoms/Text/BaseText.vue";
20
20
 
21
21
  export default {
22
22
  name: 'TitledInput',
23
+ emits: ['update:value'],
23
24
  components: {BaseIcon, BaseInput, BaseText},
24
25
  props: {
25
26
  title: {
@@ -16,6 +16,7 @@ import DropDownMenu from "../../../Organisms/ComplexInputs/DropDown/DropDownMenu
16
16
 
17
17
  export default {
18
18
  name: 'FilterAndSortBar',
19
+ emits: ['filterbar', 'sort'],
19
20
  components: {
20
21
  DropDownMenu,
21
22
  BaseInput
@@ -22,6 +22,7 @@ import BaseText from "../../../Atoms/Text/BaseText.vue";
22
22
 
23
23
  export default {
24
24
  name: 'FilterUpcomingPast',
25
+ emits: ['addNew', 'timeFrame'],
25
26
  components: {
26
27
  BaseText,
27
28
  BaseButton,
@@ -21,6 +21,7 @@ import BaseText from "../../../Atoms/Text/BaseText.vue";
21
21
 
22
22
  export default {
23
23
  name: "MultiSelect",
24
+ emits: ['update:selectedTags'],
24
25
  components: {BaseText, BaseButton},
25
26
  props: {
26
27
  label: {
@@ -18,6 +18,7 @@ import BaseText from "../../../Atoms/Text/BaseText.vue";
18
18
 
19
19
  export default {
20
20
  name: 'Toggle',
21
+ emits: ['update:checked'],
21
22
  components: {BaseText},
22
23
  props: {
23
24
  checked: {
@@ -25,6 +25,7 @@ import AddDisplay from "../../../Organisms/Form/AddDisplay/AddDisplay.vue";
25
25
 
26
26
  export default {
27
27
  name: "AddDisplayModal",
28
+ emits: ['close:closeModal', 'submit:kiosk'],
28
29
  components: {AddDisplay, BaseIcon, DirectorCard},
29
30
  props: {
30
31
  show: {
@@ -26,6 +26,7 @@ import EditBout from "../../../Organisms/Cards/EditBout/EditBout.vue";
26
26
 
27
27
  export default {
28
28
  name: "EditBoutModal",
29
+ emits: ['submit:bout', 'update:closeModal'],
29
30
  components: { BaseIcon, EditBout },
30
31
  props: {
31
32
  show: {
@@ -26,6 +26,7 @@ import EditEventWizard from "../../../Organisms/Wizards/EditEventWizard/EditEven
26
26
 
27
27
  export default {
28
28
  name: "EventWizardModal",
29
+ emits: ['update:closeModal', 'update:submit'],
29
30
  components: {EditEventWizard, BaseIcon },
30
31
  props: {
31
32
  show: {
@@ -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
  },
@@ -82,6 +82,7 @@ import missingPortrait from "../../../../../../assets/portrait1.png";
82
82
 
83
83
  export default {
84
84
  name: "BoutCardActive",
85
+ emits: ['resume'],
85
86
  components: { BaseButton, BaseText },
86
87
  props: {
87
88
  card: { type: Object, required: true },
@@ -148,6 +148,7 @@ const defaultCard = {
148
148
 
149
149
  export default {
150
150
  name: "BoutCardInactive",
151
+ emits: ['assign', 'edit', 'reorder:tap', 'start'],
151
152
  components: {BaseIcon, BaseButton, BaseText },
152
153
  props: {
153
154
  card: { type: Object, required: true },
@@ -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: {
@@ -56,6 +56,7 @@ import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
56
56
 
57
57
  export default {
58
58
  name: 'FencerPoolResultsCard',
59
+ emits: ['remove:person', 'update:moveDown', 'update:moveUp'],
59
60
  components: { BaseIcon, BaseText },
60
61
  props: {
61
62
  person: {
@@ -41,6 +41,7 @@ import BaseButton from '../../../Molecules/Buttons/BaseButton/BaseButton.vue';
41
41
 
42
42
  export default {
43
43
  name: 'ImportFencerCard',
44
+ emits: ['match:selected', 'person:add-new'],
44
45
  components: { BaseIcon, BaseText, BaseButton },
45
46
  props: {
46
47
  fencerData: {
@@ -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
- export default {
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
- if (this.editableKiosk.Type === 'ScoreBoard') {
168
- return this.editableKiosk.Connected ? 'fa-wifi' : 'fa-wifi-slash';
169
- } else if (this.editableKiosk.Type === 'FlightBoard') {
170
- return this.editableKiosk.Connected ? 'fa-signal-stream' : 'fa-signal-stream-slash';
171
- } else {
172
- return this.editableKiosk.Connected ? 'fa-wifi-exclamation' : 'fa-wifi-slash';
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
- export default {
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
- switch (flag) {
322
- case "Yellow":
323
- return "fa-cards-blank";
324
- case "Red":
325
- return "fa-cards-blank";
326
- case "Black":
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>
@@ -94,6 +94,7 @@ export default {
94
94
  event.dataTransfer.setData('text/plain', JSON.stringify({
95
95
  fromPosition: this.poolPosition,
96
96
  name: this.name,
97
+ emits: ['swap-fencers', 'update:click'],
97
98
  club: this.club,
98
99
  seed: this.seed
99
100
  }));
@@ -39,6 +39,7 @@ import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
39
39
 
40
40
  export default {
41
41
  name: 'StaffCard',
42
+ emits: ['remove:staff', 'update:assignment'],
42
43
  components: {BaseIcon, ButtonBar, BaseText },
43
44
  props: {
44
45
  staff: {
@@ -53,6 +53,7 @@ import { spacingConfig } from './SpacingConfig';
53
53
 
54
54
  export default {
55
55
  name: 'TableauBoutCard',
56
+ emits: ['action:directingBout', 'action:editBout'],
56
57
  components: { BaseText, TableauFencerCard },
57
58
  props: {
58
59
  bout: {
@@ -34,6 +34,7 @@ import BaseText from "../../../Atoms/Text/BaseText.vue";
34
34
 
35
35
  export default {
36
36
  name: 'TableauFencerCard',
37
+ emits: ['action:highLight'],
37
38
  components: { BaseText },
38
39
  props: {
39
40
  fencer: {
@@ -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
- export default {
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
- switch (this.detail.Visibility) {
69
- case 'Open':
70
- return 'fa-globe';
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);
@@ -15,6 +15,7 @@
15
15
  import VueGoogleAutocomplete from "vue-google-autocomplete";
16
16
 
17
17
  export default {
18
+ emits: ['add-new-address', 'update:address'],
18
19
  components: { VueGoogleAutocomplete },
19
20
  props: {
20
21
  invalid: {
@@ -23,6 +23,7 @@ import DropDownMenu from "../../../Organisms/ComplexInputs/DropDown/DropDownMenu
23
23
 
24
24
  export default {
25
25
  name: "ClubColorPicker",
26
+ emits: ['update:value'],
26
27
  components: { BaseText, DropDownMenu },
27
28
  props: {
28
29
  club: {
@@ -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: {
@@ -21,6 +21,7 @@ import BaseInput from "../../../Atoms/Input/BaseInput.vue";
21
21
 
22
22
  export default {
23
23
  name: 'DropDownMenu',
24
+ emits: ['update:selectedItem'],
24
25
  components: { BaseInput, BaseText },
25
26
  props: {
26
27
  label: {
@@ -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: {
@@ -48,6 +48,7 @@ import BaseModal from "../../../Molecules/Modals/BaseModal/BaseModal.vue";
48
48
 
49
49
  export default {
50
50
  name: 'FindPerson',
51
+ emits: ['add-new-person', 'person-selected'],
51
52
  components: {BaseModal, BaseText, BaseButton, BaseInput},
52
53
  props: {
53
54
  persons: {
@@ -33,6 +33,7 @@ import loading from '../../../../assets/loading-spinner.gif'
33
33
 
34
34
  export default {
35
35
  name: 'GenericImageCropper',
36
+ emits: ['update:url'],
36
37
  props: {
37
38
  urlToImage: {
38
39
  type: String,
@@ -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,
@@ -26,6 +26,7 @@ import TableauLines from "../TableauLines/TableauLines.vue";
26
26
 
27
27
  export default {
28
28
  name: 'TableauColumn',
29
+ emits: ['action:directingBout', 'action:editBout'],
29
30
  components: { TableauLines, BaseText, TableauBoutCard },
30
31
  props: {
31
32
  bouts: {
@@ -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: {