@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.
@@ -60,6 +60,7 @@ export declare class MemberLevelBadgeComponent {
60
60
  meetingDateLabel: string;
61
61
  timeTimezoneLabel: string;
62
62
  meetingsLabel: string;
63
+ noMeetingsMessage: string;
63
64
  openForAttendanceTemplate: string;
64
65
  meetingListToggle: {
65
66
  showLabel: string;
@@ -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; /** The identifier that triggered the navigation (event/meeting/group id), when applicable. */
122
+ meetingListToggle: string;
122
123
  };
123
124
  paginator: {
124
125
  rangeTemplate: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/dashboard",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
@@ -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;