@ieeesa-npm/dashboard 0.0.5 → 0.0.6
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/esm2022/lib/assets/constants.json +1 -0
- package/esm2022/lib/components/event-group-card/event-group-card.component.mjs +3 -3
- package/esm2022/lib/components/upcoming-meetings-events/upcoming-meetings-events.component.mjs +3 -3
- package/esm2022/lib/components/your-groups/your-groups.component.mjs +3 -3
- package/fesm2022/ieeesa-npm-dashboard.mjs +7 -6
- package/fesm2022/ieeesa-npm-dashboard.mjs.map +1 -1
- package/lib/components/member-level-badge/member-level-badge.component.d.ts +1 -0
- package/lib/dashboard.component.d.ts +2 -1
- package/package.json +1 -1
- package/esm2022/lib/utils/attendance-action.util.mjs +0 -53
- package/lib/utils/attendance-action.util.d.ts +0 -38
|
@@ -108,6 +108,7 @@ export declare class DashboardComponent implements OnInit, OnDestroy {
|
|
|
108
108
|
* with the triggering identifier so the host can route accordingly (Req 11.1).
|
|
109
109
|
*/
|
|
110
110
|
meetingsLabel: string;
|
|
111
|
+
noMeetingsMessage: string;
|
|
111
112
|
openForAttendanceTemplate: string;
|
|
112
113
|
meetingListToggle: {
|
|
113
114
|
showLabel: string;
|
|
@@ -118,7 +119,7 @@ export declare class DashboardComponent implements OnInit, OnDestroy {
|
|
|
118
119
|
ariaLabel: {
|
|
119
120
|
view: string;
|
|
120
121
|
viewEvent: string;
|
|
121
|
-
meetingListToggle: string;
|
|
122
|
+
meetingListToggle: string;
|
|
122
123
|
};
|
|
123
124
|
paginator: {
|
|
124
125
|
rangeTemplate: string;
|
package/package.json
CHANGED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure helpers for the per-meeting attendance action state machine. No Angular /
|
|
3
|
-
* service dependencies so they are trivially testable (property-tested as
|
|
4
|
-
* Property 1) and reusable by `MeetingAttendanceRowComponent`.
|
|
5
|
-
*
|
|
6
|
-
* The handler is the single source of truth for what a meeting row's action
|
|
7
|
-
* button should emit when activated. The displayed `AttendanceState` only
|
|
8
|
-
* advances on a successful resolution (handled by the service reducers), so this
|
|
9
|
-
* function is a pure mapping from the current inputs to the action to emit.
|
|
10
|
-
*/
|
|
11
|
-
import { AttendanceState } from '../models/attendance-state.model';
|
|
12
|
-
/* eslint-disable no-unused-vars */
|
|
13
|
-
/**
|
|
14
|
-
* The action a meeting row's action button should emit when activated.
|
|
15
|
-
* `NONE` means the activation is non-actionable (empty id or in-flight) and the
|
|
16
|
-
* row must emit no `logAttendance` / `leaveMeeting` / navigation event.
|
|
17
|
-
*/
|
|
18
|
-
export var AttendanceAction;
|
|
19
|
-
(function (AttendanceAction) {
|
|
20
|
-
AttendanceAction["LOG_ATTENDANCE"] = "LOG_ATTENDANCE";
|
|
21
|
-
AttendanceAction["LEAVE_MEETING"] = "LEAVE_MEETING";
|
|
22
|
-
AttendanceAction["NONE"] = "NONE";
|
|
23
|
-
})(AttendanceAction || (AttendanceAction = {}));
|
|
24
|
-
/* eslint-enable no-unused-vars */
|
|
25
|
-
/**
|
|
26
|
-
* Resolves the attendance action to emit for a meeting row, following the
|
|
27
|
-
* attendance action state machine (see design: Attendance Action State Machine).
|
|
28
|
-
*
|
|
29
|
-
* Behavior:
|
|
30
|
-
* - Returns `NONE` when `meetingId` is empty or undefined (non-actionable row).
|
|
31
|
-
* - Returns `NONE` while the row is in-flight (re-entrancy guard — no further
|
|
32
|
-
* event is emitted until the current action resolves).
|
|
33
|
-
* - Returns `LEAVE_MEETING` when the state is `CURRENTLY_ATTENDING`.
|
|
34
|
-
* - Returns `LOG_ATTENDANCE` when the state is `NOT_ATTENDING` or undefined.
|
|
35
|
-
*
|
|
36
|
-
* @param {AttendanceState | undefined} attendanceState The row's current attendance state.
|
|
37
|
-
* @param {boolean} isInFlight Whether an attendance action for this row is awaiting resolution.
|
|
38
|
-
* @param {string | undefined} meetingId The row's meeting identifier.
|
|
39
|
-
* @return {AttendanceAction} The action to emit, or `NONE` when non-actionable.
|
|
40
|
-
*/
|
|
41
|
-
export function resolveAttendanceAction(attendanceState, isInFlight, meetingId) {
|
|
42
|
-
if (!meetingId) {
|
|
43
|
-
return AttendanceAction.NONE;
|
|
44
|
-
}
|
|
45
|
-
if (isInFlight) {
|
|
46
|
-
return AttendanceAction.NONE;
|
|
47
|
-
}
|
|
48
|
-
if (attendanceState === AttendanceState.CURRENTLY_ATTENDING) {
|
|
49
|
-
return AttendanceAction.LEAVE_MEETING;
|
|
50
|
-
}
|
|
51
|
-
return AttendanceAction.LOG_ATTENDANCE;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZW5kYW5jZS1hY3Rpb24udXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC9zcmMvbGliL3V0aWxzL2F0dGVuZGFuY2UtYWN0aW9uLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztHQVNHO0FBQ0gsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRW5FLG1DQUFtQztBQUNuQzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixxREFBaUMsQ0FBQTtJQUNqQyxtREFBK0IsQ0FBQTtJQUMvQixpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0I7QUFDRCxrQ0FBa0M7QUFFbEM7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxlQUE0QyxFQUM1QyxVQUFtQixFQUNuQixTQUE2QjtJQUU3QixJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7S0FDOUI7SUFFRCxJQUFJLFVBQVUsRUFBRTtRQUNkLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0tBQzlCO0lBRUQsSUFBSSxlQUFlLEtBQUssZUFBZSxDQUFDLG1CQUFtQixFQUFFO1FBQzNELE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0tBQ3ZDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBQdXJlIGhlbHBlcnMgZm9yIHRoZSBwZXItbWVldGluZyBhdHRlbmRhbmNlIGFjdGlvbiBzdGF0ZSBtYWNoaW5lLiBObyBBbmd1bGFyIC9cclxuICogc2VydmljZSBkZXBlbmRlbmNpZXMgc28gdGhleSBhcmUgdHJpdmlhbGx5IHRlc3RhYmxlIChwcm9wZXJ0eS10ZXN0ZWQgYXNcclxuICogUHJvcGVydHkgMSkgYW5kIHJldXNhYmxlIGJ5IGBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudGAuXHJcbiAqXHJcbiAqIFRoZSBoYW5kbGVyIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB3aGF0IGEgbWVldGluZyByb3cncyBhY3Rpb25cclxuICogYnV0dG9uIHNob3VsZCBlbWl0IHdoZW4gYWN0aXZhdGVkLiBUaGUgZGlzcGxheWVkIGBBdHRlbmRhbmNlU3RhdGVgIG9ubHlcclxuICogYWR2YW5jZXMgb24gYSBzdWNjZXNzZnVsIHJlc29sdXRpb24gKGhhbmRsZWQgYnkgdGhlIHNlcnZpY2UgcmVkdWNlcnMpLCBzbyB0aGlzXHJcbiAqIGZ1bmN0aW9uIGlzIGEgcHVyZSBtYXBwaW5nIGZyb20gdGhlIGN1cnJlbnQgaW5wdXRzIHRvIHRoZSBhY3Rpb24gdG8gZW1pdC5cclxuICovXHJcbmltcG9ydCB7IEF0dGVuZGFuY2VTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9hdHRlbmRhbmNlLXN0YXRlLm1vZGVsJztcclxuXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXHJcbi8qKlxyXG4gKiBUaGUgYWN0aW9uIGEgbWVldGluZyByb3cncyBhY3Rpb24gYnV0dG9uIHNob3VsZCBlbWl0IHdoZW4gYWN0aXZhdGVkLlxyXG4gKiBgTk9ORWAgbWVhbnMgdGhlIGFjdGl2YXRpb24gaXMgbm9uLWFjdGlvbmFibGUgKGVtcHR5IGlkIG9yIGluLWZsaWdodCkgYW5kIHRoZVxyXG4gKiByb3cgbXVzdCBlbWl0IG5vIGBsb2dBdHRlbmRhbmNlYCAvIGBsZWF2ZU1lZXRpbmdgIC8gbmF2aWdhdGlvbiBldmVudC5cclxuICovXHJcbmV4cG9ydCBlbnVtIEF0dGVuZGFuY2VBY3Rpb24ge1xyXG4gIExPR19BVFRFTkRBTkNFID0gJ0xPR19BVFRFTkRBTkNFJyxcclxuICBMRUFWRV9NRUVUSU5HID0gJ0xFQVZFX01FRVRJTkcnLFxyXG4gIE5PTkUgPSAnTk9ORScsXHJcbn1cclxuLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtdmFycyAqL1xyXG5cclxuLyoqXHJcbiAqIFJlc29sdmVzIHRoZSBhdHRlbmRhbmNlIGFjdGlvbiB0byBlbWl0IGZvciBhIG1lZXRpbmcgcm93LCBmb2xsb3dpbmcgdGhlXHJcbiAqIGF0dGVuZGFuY2UgYWN0aW9uIHN0YXRlIG1hY2hpbmUgKHNlZSBkZXNpZ246IEF0dGVuZGFuY2UgQWN0aW9uIFN0YXRlIE1hY2hpbmUpLlxyXG4gKlxyXG4gKiBCZWhhdmlvcjpcclxuICogLSBSZXR1cm5zIGBOT05FYCB3aGVuIGBtZWV0aW5nSWRgIGlzIGVtcHR5IG9yIHVuZGVmaW5lZCAobm9uLWFjdGlvbmFibGUgcm93KS5cclxuICogLSBSZXR1cm5zIGBOT05FYCB3aGlsZSB0aGUgcm93IGlzIGluLWZsaWdodCAocmUtZW50cmFuY3kgZ3VhcmQg4oCUIG5vIGZ1cnRoZXJcclxuICogICBldmVudCBpcyBlbWl0dGVkIHVudGlsIHRoZSBjdXJyZW50IGFjdGlvbiByZXNvbHZlcykuXHJcbiAqIC0gUmV0dXJucyBgTEVBVkVfTUVFVElOR2Agd2hlbiB0aGUgc3RhdGUgaXMgYENVUlJFTlRMWV9BVFRFTkRJTkdgLlxyXG4gKiAtIFJldHVybnMgYExPR19BVFRFTkRBTkNFYCB3aGVuIHRoZSBzdGF0ZSBpcyBgTk9UX0FUVEVORElOR2Agb3IgdW5kZWZpbmVkLlxyXG4gKlxyXG4gKiBAcGFyYW0ge0F0dGVuZGFuY2VTdGF0ZSB8IHVuZGVmaW5lZH0gYXR0ZW5kYW5jZVN0YXRlIFRoZSByb3cncyBjdXJyZW50IGF0dGVuZGFuY2Ugc3RhdGUuXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNJbkZsaWdodCBXaGV0aGVyIGFuIGF0dGVuZGFuY2UgYWN0aW9uIGZvciB0aGlzIHJvdyBpcyBhd2FpdGluZyByZXNvbHV0aW9uLlxyXG4gKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gbWVldGluZ0lkIFRoZSByb3cncyBtZWV0aW5nIGlkZW50aWZpZXIuXHJcbiAqIEByZXR1cm4ge0F0dGVuZGFuY2VBY3Rpb259IFRoZSBhY3Rpb24gdG8gZW1pdCwgb3IgYE5PTkVgIHdoZW4gbm9uLWFjdGlvbmFibGUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUF0dGVuZGFuY2VBY3Rpb24oXHJcbiAgYXR0ZW5kYW5jZVN0YXRlOiBBdHRlbmRhbmNlU3RhdGUgfCB1bmRlZmluZWQsXHJcbiAgaXNJbkZsaWdodDogYm9vbGVhbixcclxuICBtZWV0aW5nSWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4pOiBBdHRlbmRhbmNlQWN0aW9uIHtcclxuICBpZiAoIW1lZXRpbmdJZCkge1xyXG4gICAgcmV0dXJuIEF0dGVuZGFuY2VBY3Rpb24uTk9ORTtcclxuICB9XHJcblxyXG4gIGlmIChpc0luRmxpZ2h0KSB7XHJcbiAgICByZXR1cm4gQXR0ZW5kYW5jZUFjdGlvbi5OT05FO1xyXG4gIH1cclxuXHJcbiAgaWYgKGF0dGVuZGFuY2VTdGF0ZSA9PT0gQXR0ZW5kYW5jZVN0YXRlLkNVUlJFTlRMWV9BVFRFTkRJTkcpIHtcclxuICAgIHJldHVybiBBdHRlbmRhbmNlQWN0aW9uLkxFQVZFX01FRVRJTkc7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gQXR0ZW5kYW5jZUFjdGlvbi5MT0dfQVRURU5EQU5DRTtcclxufVxyXG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure helpers for the per-meeting attendance action state machine. No Angular /
|
|
3
|
-
* service dependencies so they are trivially testable (property-tested as
|
|
4
|
-
* Property 1) and reusable by `MeetingAttendanceRowComponent`.
|
|
5
|
-
*
|
|
6
|
-
* The handler is the single source of truth for what a meeting row's action
|
|
7
|
-
* button should emit when activated. The displayed `AttendanceState` only
|
|
8
|
-
* advances on a successful resolution (handled by the service reducers), so this
|
|
9
|
-
* function is a pure mapping from the current inputs to the action to emit.
|
|
10
|
-
*/
|
|
11
|
-
import { AttendanceState } from '../models/attendance-state.model';
|
|
12
|
-
/**
|
|
13
|
-
* The action a meeting row's action button should emit when activated.
|
|
14
|
-
* `NONE` means the activation is non-actionable (empty id or in-flight) and the
|
|
15
|
-
* row must emit no `logAttendance` / `leaveMeeting` / navigation event.
|
|
16
|
-
*/
|
|
17
|
-
export declare enum AttendanceAction {
|
|
18
|
-
LOG_ATTENDANCE = "LOG_ATTENDANCE",
|
|
19
|
-
LEAVE_MEETING = "LEAVE_MEETING",
|
|
20
|
-
NONE = "NONE"
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Resolves the attendance action to emit for a meeting row, following the
|
|
24
|
-
* attendance action state machine (see design: Attendance Action State Machine).
|
|
25
|
-
*
|
|
26
|
-
* Behavior:
|
|
27
|
-
* - Returns `NONE` when `meetingId` is empty or undefined (non-actionable row).
|
|
28
|
-
* - Returns `NONE` while the row is in-flight (re-entrancy guard — no further
|
|
29
|
-
* event is emitted until the current action resolves).
|
|
30
|
-
* - Returns `LEAVE_MEETING` when the state is `CURRENTLY_ATTENDING`.
|
|
31
|
-
* - Returns `LOG_ATTENDANCE` when the state is `NOT_ATTENDING` or undefined.
|
|
32
|
-
*
|
|
33
|
-
* @param {AttendanceState | undefined} attendanceState The row's current attendance state.
|
|
34
|
-
* @param {boolean} isInFlight Whether an attendance action for this row is awaiting resolution.
|
|
35
|
-
* @param {string | undefined} meetingId The row's meeting identifier.
|
|
36
|
-
* @return {AttendanceAction} The action to emit, or `NONE` when non-actionable.
|
|
37
|
-
*/
|
|
38
|
-
export declare function resolveAttendanceAction(attendanceState: AttendanceState | undefined, isInFlight: boolean, meetingId: string | undefined): AttendanceAction;
|