@dcrackel/hematournamentui 1.0.75 → 1.0.77

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 (20) hide show
  1. package/dist/HemaTouranmentUI-lib.es.js +5444 -5155
  2. package/dist/HemaTouranmentUI-lib.umd.js +28 -28
  3. package/package.json +1 -1
  4. package/src/index.js +2 -1
  5. package/src/mocks/eventPersonGetInitialPoolAssignments.js +377 -0
  6. package/src/mocks/eventPersonGetPoolAssignmentEvent.js +20 -0
  7. package/src/mocks/eventpersonGetEventById.js +44 -0
  8. package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.vue +1 -1
  9. package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.vue +31 -26
  10. package/src/stories/Organisms/Cards/TournamentCard/TournamentCard.stories.js +74 -23
  11. package/src/stories/Organisms/Containers/Pool/Pool.vue +32 -16
  12. package/src/stories/Organisms/Headers/AttendanceSummary/AttendanceSummary.stories.js +69 -0
  13. package/src/stories/Organisms/{Containers/PoolSummary/PoolSummary.vue → Headers/AttendanceSummary/AttendanceSummary.vue} +2 -16
  14. package/src/stories/Organisms/{Containers → Headers}/PoolSummary/PoolSummary.stories.js +1 -1
  15. package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.vue +54 -0
  16. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.stories.js +1 -1
  17. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.vue +4 -4
  18. package/src/stories/Templates/EventManagement/ListEvents/ListEvents.stories.js +1 -1
  19. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.stories.js +31 -0
  20. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.vue +75 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dcrackel/hematournamentui",
3
3
  "private": false,
4
- "version": "1.0.75",
4
+ "version": "1.0.77",
5
5
  "type": "module",
6
6
  "main": "dist/HemaTouranmentUI-lib.umd.js",
7
7
  "module": "dist/HemaTouranmentUI-lib.es.js",
package/src/index.js CHANGED
@@ -24,4 +24,5 @@ export { default as AddTournamentPageOne } from './stories/Templates/TournamentM
24
24
  export { default as AddTournamentPageTwo } from './stories/Templates/TournamentManagement/AddTournament/PageTwo/AddTournamentPageTwo.vue';
25
25
  export { default as AdminLeftMenu } from './stories/Templates/Menus/Admin/AdminLeftMenu.vue';
26
26
  export { default as ListEvents } from './stories/Templates/EventManagement/ListEvents/ListEvents.vue';
27
- export { default as EventAttendance } from './stories/Templates/EventManagement/EventAttendance/EventAttendance.vue';
27
+ export { default as EventAttendance } from './stories/Templates/EventManagement/EventAttendance/EventAttendance.vue';
28
+ export { default as PoolManagement } from './stories/Templates/EventManagement/PoolManagement/PoolManagement.vue';
@@ -0,0 +1,377 @@
1
+ const eventPersonGetInitialPoolAssignments =
2
+ [
3
+ {
4
+ "PoolId": 67,
5
+ "Name": "Pool 1",
6
+ "RingName": "Ring 1",
7
+ "PoolType": "STANDARD",
8
+ "EventId": 5,
9
+ "PersonId": 23,
10
+ "Status": "preview",
11
+ "Updated": "2024-06-06T15:27:45.000Z",
12
+ "Person": {
13
+ "DisplayName": "Lucas Garcia"
14
+ },
15
+ "participants": [
16
+ {
17
+ "Id": 103,
18
+ "EventId": 5,
19
+ "PersonId": 10,
20
+ "Seed": 1,
21
+ "PoolPosition": 1,
22
+ "Status": "Absent",
23
+ "Person": {
24
+ "PersonId": 10,
25
+ "DisplayName": "Melissa Jones",
26
+ "Pronouns": "She/Her",
27
+ "FirstName": "Melissa",
28
+ "LastName": "Jones",
29
+ "Birthday": "1993-10-14",
30
+ "ClubId": 4,
31
+ "ShowData": true,
32
+ "Club": {
33
+ "ClubId": 4,
34
+ "Name": "Guardians of the Guard",
35
+ "ShortName": "GotG",
36
+ "Description": "Guardians of the Guard",
37
+ "AddressId": 1,
38
+ "SocialMedia": [
39
+ {
40
+ "Type": "Web",
41
+ "Link": "https://meyersquared.com/images/Club9.png",
42
+ "Label": null
43
+ }
44
+ ]
45
+ }
46
+ }
47
+ },
48
+ {
49
+ "Id": 105,
50
+ "EventId": 5,
51
+ "PersonId": 22,
52
+ "Seed": 6,
53
+ "PoolPosition": 6,
54
+ "Status": "Absent",
55
+ "Person": {
56
+ "PersonId": 22,
57
+ "DisplayName": "Bob Smith",
58
+ "Pronouns": "He/Him",
59
+ "FirstName": "Bob",
60
+ "LastName": "Smith",
61
+ "Birthday": "2024-06-06",
62
+ "ClubId": 6,
63
+ "ShowData": true,
64
+ "Club": {
65
+ "ClubId": 6,
66
+ "Name": "SwordPlay Society",
67
+ "ShortName": "SS",
68
+ "Description": "SwordPlay Society",
69
+ "AddressId": 1,
70
+ "SocialMedia": [
71
+ {
72
+ "Type": "Web",
73
+ "Link": "https://meyersquared.com/images/Club1.jpg",
74
+ "Label": null
75
+ }
76
+ ]
77
+ }
78
+ }
79
+ },
80
+ {
81
+ "Id": 108,
82
+ "EventId": 5,
83
+ "PersonId": 5,
84
+ "Seed": 7,
85
+ "PoolPosition": 7,
86
+ "Status": "Absent",
87
+ "Person": {
88
+ "PersonId": 5,
89
+ "DisplayName": "Darlene Acevedo",
90
+ "Pronouns": "He/Him",
91
+ "FirstName": "Darlene",
92
+ "LastName": "Acevedo",
93
+ "Birthday": "1992-08-11",
94
+ "ClubId": 9,
95
+ "ShowData": true,
96
+ "Club": {
97
+ "ClubId": 9,
98
+ "Name": "Cats Cutlass Club of Canton",
99
+ "ShortName": "CCCoC",
100
+ "Description": null,
101
+ "AddressId": null,
102
+ "SocialMedia": [
103
+ {
104
+ "Type": "Web",
105
+ "Link": "https://meyersquared.com/images/Club12.png",
106
+ "Label": null
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ }
112
+ ],
113
+ "poolStrength": 14,
114
+ "poolStrengthInd": -4
115
+ },
116
+ {
117
+ "PoolId": 68,
118
+ "Name": "Pool 2",
119
+ "RingName": "Ring 2",
120
+ "PoolType": "STANDARD",
121
+ "EventId": 5,
122
+ "PersonId": 24,
123
+ "Status": "preview",
124
+ "Updated": "2024-06-06T16:43:25.000Z",
125
+ "Person": {
126
+ "DisplayName": "Mia Rodriguez"
127
+ },
128
+ "participants": [
129
+ {
130
+ "Id": 106,
131
+ "EventId": 5,
132
+ "PersonId": 4,
133
+ "Seed": 2,
134
+ "PoolPosition": 2,
135
+ "Status": "Absent",
136
+ "Person": {
137
+ "PersonId": 4,
138
+ "DisplayName": "Kim Bullock",
139
+ "Pronouns": "He/Him",
140
+ "FirstName": "Kim",
141
+ "LastName": "Bullock",
142
+ "Birthday": "1963-07-09",
143
+ "ClubId": 1,
144
+ "ShowData": true,
145
+ "Club": {
146
+ "ClubId": 1,
147
+ "Name": "Acme Fencing Club",
148
+ "ShortName": "ACME",
149
+ "Description": "Acme Fencing Club",
150
+ "AddressId": 1,
151
+ "SocialMedia": [
152
+ {
153
+ "Type": "Web",
154
+ "Link": "https://meyersquared.com/images/Club6.png",
155
+ "Label": null
156
+ }
157
+ ]
158
+ }
159
+ }
160
+ },
161
+ {
162
+ "Id": 102,
163
+ "EventId": 5,
164
+ "PersonId": 14,
165
+ "Seed": 5,
166
+ "PoolPosition": 5,
167
+ "Status": "Absent",
168
+ "Person": {
169
+ "PersonId": 14,
170
+ "DisplayName": "Jordan Allen",
171
+ "Pronouns": "They/Them",
172
+ "FirstName": "Jordan",
173
+ "LastName": "Allen",
174
+ "Birthday": "1995-08-12",
175
+ "ClubId": 5,
176
+ "ShowData": true,
177
+ "Club": {
178
+ "ClubId": 5,
179
+ "Name": "Fechtastic Fighters",
180
+ "ShortName": "FF",
181
+ "Description": "Fechtastic Fighters",
182
+ "AddressId": 1,
183
+ "SocialMedia": [
184
+ {
185
+ "Type": "Web",
186
+ "Link": "https://meyersquared.com/images/Club10.png",
187
+ "Label": null
188
+ }
189
+ ]
190
+ }
191
+ }
192
+ },
193
+ {
194
+ "Id": 109,
195
+ "EventId": 5,
196
+ "PersonId": 6,
197
+ "Seed": 8,
198
+ "PoolPosition": 8,
199
+ "Status": "Absent",
200
+ "Person": {
201
+ "PersonId": 6,
202
+ "DisplayName": "Courtney Medina",
203
+ "Pronouns": "They/Them",
204
+ "FirstName": "Courtney",
205
+ "LastName": "Medina",
206
+ "Birthday": "1983-09-25",
207
+ "ClubId": 3,
208
+ "ShowData": true,
209
+ "Club": {
210
+ "ClubId": 3,
211
+ "Name": "Sword & Blade of Callie",
212
+ "ShortName": "SBoC",
213
+ "Description": "adsasdf",
214
+ "AddressId": 1,
215
+ "SocialMedia": [
216
+ {
217
+ "Type": "Web",
218
+ "Link": "https://meyersquared.com/images/Club8.png",
219
+ "Label": null
220
+ }
221
+ ]
222
+ }
223
+ }
224
+ }
225
+ ],
226
+ "poolStrength": 15,
227
+ "poolStrengthInd": -3
228
+ },
229
+ {
230
+ "PoolId": 69,
231
+ "Name": "Pool 3",
232
+ "RingName": "Ring 3",
233
+ "PoolType": "STANDARD",
234
+ "EventId": 5,
235
+ "PersonId": 25,
236
+ "Status": "preview",
237
+ "Updated": "2024-06-06T16:44:53.000Z",
238
+ "Person": {
239
+ "DisplayName": "Isabella Hernandez"
240
+ },
241
+ "participants": [
242
+ {
243
+ "Id": 107,
244
+ "EventId": 5,
245
+ "PersonId": 2,
246
+ "Seed": 3,
247
+ "PoolPosition": 3,
248
+ "Status": "Absent",
249
+ "Person": {
250
+ "PersonId": 2,
251
+ "DisplayName": "Kyle Edwards",
252
+ "Pronouns": "They/Them",
253
+ "FirstName": "Kyle",
254
+ "LastName": "Edwards",
255
+ "Birthday": null,
256
+ "ClubId": 6,
257
+ "ShowData": true,
258
+ "Club": {
259
+ "ClubId": 6,
260
+ "Name": "SwordPlay Society",
261
+ "ShortName": "SS",
262
+ "Description": "SwordPlay Society",
263
+ "AddressId": 1,
264
+ "SocialMedia": [
265
+ {
266
+ "Type": "Web",
267
+ "Link": "https://meyersquared.com/images/Club1.jpg",
268
+ "Label": null
269
+ }
270
+ ]
271
+ }
272
+ }
273
+ },
274
+ {
275
+ "Id": 97,
276
+ "EventId": 5,
277
+ "PersonId": 1,
278
+ "Seed": 4,
279
+ "PoolPosition": 4,
280
+ "Status": "Absent",
281
+ "Person": {
282
+ "PersonId": 1,
283
+ "DisplayName": "Dave Smith",
284
+ "Pronouns": null,
285
+ "FirstName": "Dave",
286
+ "LastName": "Smith",
287
+ "Birthday": null,
288
+ "ClubId": 4,
289
+ "ShowData": true,
290
+ "Club": {
291
+ "ClubId": 4,
292
+ "Name": "Guardians of the Guard",
293
+ "ShortName": "GotG",
294
+ "Description": "Guardians of the Guard",
295
+ "AddressId": 1,
296
+ "SocialMedia": [
297
+ {
298
+ "Type": "Web",
299
+ "Link": "https://meyersquared.com/images/Club9.png",
300
+ "Label": null
301
+ }
302
+ ]
303
+ }
304
+ }
305
+ },
306
+ {
307
+ "Id": 110,
308
+ "EventId": 5,
309
+ "PersonId": 7,
310
+ "Seed": 9,
311
+ "PoolPosition": 9,
312
+ "Status": "Absent",
313
+ "Person": {
314
+ "PersonId": 7,
315
+ "DisplayName": "Emily Carlson",
316
+ "Pronouns": "He/Him",
317
+ "FirstName": "Emily",
318
+ "LastName": "Carlson",
319
+ "Birthday": "1997-06-13",
320
+ "ClubId": 4,
321
+ "ShowData": true,
322
+ "Club": {
323
+ "ClubId": 4,
324
+ "Name": "Guardians of the Guard",
325
+ "ShortName": "GotG",
326
+ "Description": "Guardians of the Guard",
327
+ "AddressId": 1,
328
+ "SocialMedia": [
329
+ {
330
+ "Type": "Web",
331
+ "Link": "https://meyersquared.com/images/Club9.png",
332
+ "Label": null
333
+ }
334
+ ]
335
+ }
336
+ }
337
+ },
338
+ {
339
+ "Id": 111,
340
+ "EventId": 5,
341
+ "PersonId": 8,
342
+ "Seed": 10,
343
+ "PoolPosition": 10,
344
+ "Status": "Absent",
345
+ "Person": {
346
+ "PersonId": 8,
347
+ "DisplayName": "Julie Riddle",
348
+ "Pronouns": "He/Him",
349
+ "FirstName": "Julie",
350
+ "LastName": "Riddle",
351
+ "Birthday": "1984-07-18",
352
+ "ClubId": 2,
353
+ "ShowData": true,
354
+ "Club": {
355
+ "ClubId": 2,
356
+ "Name": "Historical Fencing Of Anywhere",
357
+ "ShortName": "HFoA",
358
+ "Description": "is",
359
+ "AddressId": 1,
360
+ "SocialMedia": [
361
+ {
362
+ "Type": "Web",
363
+ "Link": "https://meyersquared.com/images/Club7.png",
364
+ "Label": null
365
+ }
366
+ ]
367
+ }
368
+ }
369
+ }
370
+ ],
371
+ "poolStrength": 26,
372
+ "poolStrengthInd": 8
373
+ }
374
+ ];
375
+
376
+
377
+ export default eventPersonGetInitialPoolAssignments;
@@ -0,0 +1,20 @@
1
+ const eventPersonGetPoolAssignmentEvent =
2
+ {
3
+ "EventId": 5,
4
+ "TournamentId": 4,
5
+ "EventName": "Feline Longsword",
6
+ "RuleSummary": "pools -> DE -> 3rd Place",
7
+ "Date": "2024-05-22",
8
+ "StartTime": "17:25:31",
9
+ "NumberOfRings": 3,
10
+ "NumberOfPools": 3,
11
+ "PoolSize": 4,
12
+ "Flights": 1,
13
+ "WeaponId": 1,
14
+ "Status": "Upcoming",
15
+ "Present": 0,
16
+ "Absent": 10,
17
+ "Removed": 0
18
+ }
19
+
20
+ export default eventPersonGetPoolAssignmentEvent;
@@ -0,0 +1,44 @@
1
+ const eventPersonGetEventById = [
2
+ {
3
+ "Id": 97,
4
+ "EventId": 5,
5
+ "PersonId": 1,
6
+ "Seed": 3,
7
+ "PoolPosition": null,
8
+ "Status": "Absent"
9
+ },
10
+ {
11
+ "Id": 102,
12
+ "EventId": 5,
13
+ "PersonId": 14,
14
+ "Seed": 4,
15
+ "PoolPosition": null,
16
+ "Status": "Absent"
17
+ },
18
+ {
19
+ "Id": 103,
20
+ "EventId": 5,
21
+ "PersonId": 10,
22
+ "Seed": 1,
23
+ "PoolPosition": null,
24
+ "Status": "Absent"
25
+ },
26
+ {
27
+ "Id": 105,
28
+ "EventId": 5,
29
+ "PersonId": 22,
30
+ "Seed": 5,
31
+ "PoolPosition": null,
32
+ "Status": "Absent"
33
+ },
34
+ {
35
+ "Id": 106,
36
+ "EventId": 5,
37
+ "PersonId": 4,
38
+ "Seed": 2,
39
+ "PoolPosition": null,
40
+ "Status": "Absent"
41
+ }
42
+ ]
43
+
44
+ export default eventPersonGetEventById;
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <section :class="['w-20 h-14 rounded-xl m-1', boxColor]">
2
+ <section :class="['w-20 h-14 rounded-xl m-1 shadow border border-1-dropdownSelect', boxColor]">
3
3
  <div class="flex flex-col justify-between h-14 py-2 pl-1">
4
4
  <p class="flex flex-row justify-center w-full pb-1">
5
5
  <BaseText :text="statusCount" size="sm" color="quinary" weight="bold" />
@@ -1,7 +1,12 @@
1
1
  <template>
2
- <div class="flex items-center p-2 bg-poolSetup shadow rounded-lg">
3
- <div class="text-center w-10">
4
- <BaseText :text="position" />
2
+ <div class="flex items-center p-2 bg-poolSetup shadow rounded-lg hover:bg-dropdownSelect"
3
+ draggable="true"
4
+ @dragstart="onDragStart"
5
+ @dragover.prevent
6
+ @dragenter.prevent
7
+ @drop="onDrop">
8
+ <div class="text-center mr-2">
9
+ <BaseText :text="poolPosition" size="md" />
5
10
  </div>
6
11
  <div class="w-8 h-8 rounded-md overflow-hidden">
7
12
  <div v-if="!portrait" class="w-14 h-14 bg-dropdownSelect flex items-center justify-center">
@@ -18,35 +23,35 @@
18
23
  </template>
19
24
 
20
25
  <script>
21
- import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
22
26
  import BaseText from "../../../Atoms/Text/BaseText.vue";
27
+ import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
23
28
 
24
29
  export default {
25
- name: 'PoolFencerCard',
26
- components: {BaseText, BaseIcon},
30
+ components: {BaseIcon, BaseText},
27
31
  props: {
28
- position: {
29
- type: Number,
30
- required: true
31
- },
32
- portrait: {
33
- type: String,
34
- required: true
35
- },
36
- name: {
37
- type: String,
38
- required: true
32
+ position: Number,
33
+ poolPosition: Number,
34
+ name: String,
35
+ club: String,
36
+ seed: Number,
37
+ portrait: String
38
+ },
39
+ methods: {
40
+ onDragStart(event) {
41
+ console.log(event)
42
+ event.dataTransfer.setData('text/plain', JSON.stringify({
43
+ fromPosition: this.poolPosition,
44
+ name: this.name,
45
+ club: this.club,
46
+ seed: this.seed
47
+ }));
39
48
  },
40
- club: {
41
- type: String,
42
- required: true
49
+ onDrop(event) {
50
+ const droppedData = JSON.parse(event.dataTransfer.getData('text/plain'));
51
+ droppedData.toPosition = this.poolPosition;
52
+
53
+ this.$emit('swap-fencers', { droppedData });
43
54
  }
44
55
  }
45
56
  }
46
57
  </script>
47
-
48
- <style scoped>
49
- .cursor-grab {
50
- cursor: grab;
51
- }
52
- </style>
@@ -4,35 +4,86 @@ export default {
4
4
  title: 'Organisms/Cards/TournamentCard',
5
5
  component: TournamentCard,
6
6
  tags: ['autodocs'],
7
+ args: {
8
+ detail: {
9
+ tournamentId: 1,
10
+ Name: 'Spring Open 2024',
11
+ StartDate: '2024-05-01',
12
+ EndDate: '2024-05-02',
13
+ Description: 'A prestigious HEMA tournament held in the spring.',
14
+ ClubId: 1,
15
+ AddressId: 1,
16
+ 'Club.Name': 'HEMA Club',
17
+ Address: [{
18
+ Name: 'Tournament Venue',
19
+ Address1: '123 Fencing St.',
20
+ City: 'Springfield',
21
+ State: 'IL',
22
+ Zip: '62704',
23
+ Coordinates: '39.7817,-89.6501'
24
+ }],
25
+ SocialMedia: [],
26
+ images: [{
27
+ URL: 'https://www.adelaideswordacademy.com/uploads/1/0/7/0/10705704/published/longsword-k-fix.jpg?1609768554',
28
+ }],
29
+ tags: ['HEMA', 'Tournament', 'Spring'],
30
+ },
31
+ },
7
32
  argTypes: {
33
+ detail: { control: 'object' },
34
+ },
35
+ };
36
+
37
+ export const Default = {
38
+ args: {
8
39
  detail: {
9
- control: {
10
- type: 'object',
11
- defaultValue: {
12
- artwork: '',
13
- tags: ['tag1', 'tag2'],
14
- name: 'Tournament Name',
15
- description: 'Tournament Description',
16
- date: '2023-09-20',
17
- closes: '2023-09-21',
18
- location: 'Tournament Location - City, State'
19
- }
20
- }
21
- }
40
+ tournamentId: 1,
41
+ Name: 'Spring Open 2024',
42
+ StartDate: '2024-05-01',
43
+ EndDate: '2024-05-02',
44
+ Description: 'A prestigious HEMA tournament held in the spring.',
45
+ ClubId: 1,
46
+ AddressId: 1,
47
+ 'Club.Name': 'HEMA Club',
48
+ Address: [{
49
+ Name: 'Tournament Venue',
50
+ Address1: '123 Fencing St.',
51
+ City: 'Springfield',
52
+ State: 'IL',
53
+ Zip: '62704',
54
+ Coordinates: '39.7817,-89.6501'
55
+ }],
56
+ SocialMedia: [],
57
+ images: [{
58
+ URL: 'https://www.adelaideswordacademy.com/uploads/1/0/7/0/10705704/published/longsword-k-fix.jpg?1609768554',
59
+ }],
60
+ tags: ['HEMA', 'Tournament', 'Spring'],
61
+ },
22
62
  }
23
63
  };
24
64
 
25
- export const Default = {
65
+ export const WithoutImage = {
26
66
  args: {
27
67
  detail: {
28
- tournamentId: '1234',
29
- artwork: '',
30
- tags: ['tag1', 'tag2'],
31
- name: 'Tournament Name',
32
- description: 'Tournament Description',
33
- date: '2023-09-20',
34
- closes: '2023-09-21',
35
- location: 'Tournament Location - City, State'
36
- }
68
+ tournamentId: 2,
69
+ Name: 'Summer Duel 2024',
70
+ StartDate: '2024-07-15',
71
+ EndDate: '2024-07-16',
72
+ Description: 'A summer HEMA duel competition.',
73
+ ClubId: 2,
74
+ AddressId: 2,
75
+ 'Club.Name': 'Summer Club',
76
+ Address: [{
77
+ Name: 'Summer Venue',
78
+ Address1: '456 Duel Ave.',
79
+ City: 'Summerfield',
80
+ State: 'TX',
81
+ Zip: '75001',
82
+ Coordinates: '32.7767,-96.7970'
83
+ }],
84
+ SocialMedia: [],
85
+ images: [],
86
+ tags: ['HEMA', 'Duel', 'Summer'],
87
+ },
37
88
  }
38
89
  };