@memberjunction/ng-user-routines 0.0.0 → 5.45.1
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/dist/lib/my-routines-list.component.d.ts +119 -0
- package/dist/lib/my-routines-list.component.d.ts.map +1 -0
- package/dist/lib/my-routines-list.component.js +574 -0
- package/dist/lib/my-routines-list.component.js.map +1 -0
- package/dist/lib/new-routine.component.d.ts +182 -0
- package/dist/lib/new-routine.component.d.ts.map +1 -0
- package/dist/lib/new-routine.component.js +1070 -0
- package/dist/lib/new-routine.component.js.map +1 -0
- package/dist/lib/routine-history.component.d.ts +65 -0
- package/dist/lib/routine-history.component.d.ts.map +1 -0
- package/dist/lib/routine-history.component.js +290 -0
- package/dist/lib/routine-history.component.js.map +1 -0
- package/dist/lib/routine-target-catalog.d.ts +48 -0
- package/dist/lib/routine-target-catalog.d.ts.map +1 -0
- package/dist/lib/routine-target-catalog.js +59 -0
- package/dist/lib/routine-target-catalog.js.map +1 -0
- package/dist/lib/routine-ui-helpers.d.ts +49 -0
- package/dist/lib/routine-ui-helpers.d.ts.map +1 -0
- package/dist/lib/routine-ui-helpers.js +174 -0
- package/dist/lib/routine-ui-helpers.js.map +1 -0
- package/dist/lib/user-routines-command-center.component.d.ts +88 -0
- package/dist/lib/user-routines-command-center.component.d.ts.map +1 -0
- package/dist/lib/user-routines-command-center.component.js +372 -0
- package/dist/lib/user-routines-command-center.component.js.map +1 -0
- package/dist/lib/user-routines-events.d.ts +88 -0
- package/dist/lib/user-routines-events.d.ts.map +1 -0
- package/dist/lib/user-routines-events.js +97 -0
- package/dist/lib/user-routines-events.js.map +1 -0
- package/dist/lib/user-routines-slide-in.component.d.ts +57 -0
- package/dist/lib/user-routines-slide-in.component.d.ts.map +1 -0
- package/dist/lib/user-routines-slide-in.component.js +170 -0
- package/dist/lib/user-routines-slide-in.component.js.map +1 -0
- package/dist/lib/user-routines.module.d.ts +37 -0
- package/dist/lib/user-routines.module.d.ts.map +1 -0
- package/dist/lib/user-routines.module.js +113 -0
- package/dist/lib/user-routines.module.js.map +1 -0
- package/dist/public-api.d.ts +10 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +19 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +49 -7
- package/README.md +0 -45
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-routines-events.js","sourceRoot":"","sources":["../../src/lib/user-routines-events.ts"],"names":[],"mappings":"AAUA,8CAA8C;AAC9C,MAAM,OAAO,oBAAoB;IAC7B,oGAAoG;IAC3F,OAAO,CAAsB;IAEtC,2CAA2C;IAClC,SAAS,CAAO;IAEzB,YAAY,OAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACJ;AAED,iDAAiD;AACjD,MAAM,OAAO,8BAA+B,SAAQ,oBAAoB;IACpE,2CAA2C;IAC3C,MAAM,GAAY,KAAK,CAAC;IAExB,gEAAgE;IAChE,YAAY,CAAU;CACzB;AAED,2EAA2E;AAC3E,MAAM,OAAO,6BAA8B,SAAQ,8BAA8B;CAAG;AAEpF,qEAAqE;AACrE,MAAM,OAAO,4BAA6B,SAAQ,oBAAoB;CAAG;AAEzE,iFAAiF;AACjF,MAAM,OAAO,4BAA6B,SAAQ,8BAA8B;IAC5E,qEAAqE;IAC5D,SAAS,CAAgC;IAElD,YAAY,OAA4B,EAAE,SAAwC;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED,4DAA4D;AAC5D,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACjE,sCAAsC;IAC7B,SAAS,CAAgC;IAElD,YAAY,OAA4B,EAAE,SAAwC;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED,kFAAkF;AAClF,MAAM,OAAO,4BAA6B,SAAQ,8BAA8B;CAAG;AAEnF,oDAAoD;AACpD,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;CAAG;AAExE,2EAA2E;AAC3E,MAAM,OAAO,6BAA8B,SAAQ,8BAA8B;CAAG;AAEpF,0CAA0C;AAC1C,MAAM,OAAO,4BAA6B,SAAQ,oBAAoB;CAAG;AAEzE,gFAAgF;AAChF,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;CAAG;AAErE;;;;GAIG;AACH;;;;GAIG;AACH,MAAM,OAAO,2BAA2B;IACpC,gCAAgC;IACvB,cAAc,CAAS;IAEhC,+CAA+C;IACtC,OAAO,CAAsB;IAEtC,2CAA2C;IAClC,SAAS,CAAO;IAEzB,YAAY,cAAsB,EAAE,OAA4B;QAC5D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACJ;AAED,MAAM,OAAO,4BAA4B;IACrC,mEAAmE;IAC1D,UAAU,CAAS;IAE5B,wCAAwC;IAC/B,QAAQ,CAAS;IAE1B,kDAAkD;IACzC,OAAO,CAA6B;IAE7C,2CAA2C;IAClC,SAAS,CAAO;IAEzB,YAAY,UAAkB,EAAE,QAAgB,EAAE,UAAsC,IAAI;QACxF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACJ","sourcesContent":["/**\n * User Routines Event System.\n *\n * Follows the Before/After cancelable event idiom used across MJ generic packages\n * (ng-trees / entity-data-grid / ng-conversations): `Before*` events expose a\n * mutable `Cancel` flag the consumer can set synchronously to veto the operation;\n * `After*` events are informational.\n */\nimport type { MJUserRoutineEntity } from '@memberjunction/core-entities';\n\n/** Base class for all User Routine events. */\nexport class UserRoutineEventArgs {\n /** The routine involved in the event. For BeforeRoutineCreated this is the not-yet-saved entity. */\n readonly Routine: MJUserRoutineEntity;\n\n /** Timestamp when the event was raised. */\n readonly Timestamp: Date;\n\n constructor(routine: MJUserRoutineEntity) {\n this.Routine = routine;\n this.Timestamp = new Date();\n }\n}\n\n/** Base class for cancelable (Before) events. */\nexport class CancelableUserRoutineEventArgs extends UserRoutineEventArgs {\n /** Set to true to cancel the operation. */\n Cancel: boolean = false;\n\n /** Optional reason for cancellation (for logging/debugging). */\n CancelReason?: string;\n}\n\n/** Raised before a NEW routine is saved for the first time. Cancelable. */\nexport class BeforeRoutineCreatedEventArgs extends CancelableUserRoutineEventArgs {}\n\n/** Raised after a new routine (and its recipients) was persisted. */\nexport class AfterRoutineCreatedEventArgs extends UserRoutineEventArgs {}\n\n/** Raised before a routine's Status is toggled (pause OR resume). Cancelable. */\nexport class BeforeRoutinePausedEventArgs extends CancelableUserRoutineEventArgs {\n /** The status the routine will move to if the operation proceeds. */\n readonly NewStatus: MJUserRoutineEntity['Status'];\n\n constructor(routine: MJUserRoutineEntity, newStatus: MJUserRoutineEntity['Status']) {\n super(routine);\n this.NewStatus = newStatus;\n }\n}\n\n/** Raised after a routine's Status toggle was persisted. */\nexport class AfterRoutinePausedEventArgs extends UserRoutineEventArgs {\n /** The status the routine now has. */\n readonly NewStatus: MJUserRoutineEntity['Status'];\n\n constructor(routine: MJUserRoutineEntity, newStatus: MJUserRoutineEntity['Status']) {\n super(routine);\n this.NewStatus = newStatus;\n }\n}\n\n/** Raised before a routine is queued to run now (NextRunAt = now). Cancelable. */\nexport class BeforeRoutineRunNowEventArgs extends CancelableUserRoutineEventArgs {}\n\n/** Raised after a routine was queued to run now. */\nexport class AfterRoutineRunNowEventArgs extends UserRoutineEventArgs {}\n\n/** Raised before a routine (and its recipients) is deleted. Cancelable. */\nexport class BeforeRoutineDeletedEventArgs extends CancelableUserRoutineEventArgs {}\n\n/** Raised after a routine was deleted. */\nexport class AfterRoutineDeletedEventArgs extends UserRoutineEventArgs {}\n\n/** Informational: the user selected a routine (opened its history / detail). */\nexport class RoutineSelectedEventArgs extends UserRoutineEventArgs {}\n\n/**\n * Informational: the user asked to open the execution record linked to a run\n * (Agent Run / Prompt Run / Action Execution Log). The host owns navigation —\n * Generic components never touch the Router.\n */\n/**\n * Raised when the user opens a routine's dedicated conversation (the Application-scoped\n * thread the dispatcher appends each Agent run to). The host decides how to present it —\n * the conversations surface selects it in chat; other hosts may navigate.\n */\nexport class ConversationOpenedEventArgs {\n /** The conversation to open. */\n readonly ConversationID: string;\n\n /** The routine the conversation belongs to. */\n readonly Routine: MJUserRoutineEntity;\n\n /** Timestamp when the event was raised. */\n readonly Timestamp: Date;\n\n constructor(conversationId: string, routine: MJUserRoutineEntity) {\n this.ConversationID = conversationId;\n this.Routine = routine;\n this.Timestamp = new Date();\n }\n}\n\nexport class HistoryRecordOpenedEventArgs {\n /** Entity name of the linked record (e.g. 'MJ: AI Agent Runs'). */\n readonly EntityName: string;\n\n /** Primary key of the linked record. */\n readonly RecordID: string;\n\n /** The routine the run belongs to, when known. */\n readonly Routine: MJUserRoutineEntity | null;\n\n /** Timestamp when the event was raised. */\n readonly Timestamp: Date;\n\n constructor(entityName: string, recordId: string, routine: MJUserRoutineEntity | null = null) {\n this.EntityName = entityName;\n this.RecordID = recordId;\n this.Routine = routine;\n this.Timestamp = new Date();\n }\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
3
|
+
import { ConversationOpenedEventArgs, AfterRoutineCreatedEventArgs, AfterRoutineDeletedEventArgs, AfterRoutinePausedEventArgs, AfterRoutineRunNowEventArgs, BeforeRoutineCreatedEventArgs, BeforeRoutineDeletedEventArgs, BeforeRoutinePausedEventArgs, BeforeRoutineRunNowEventArgs, HistoryRecordOpenedEventArgs, RoutineSelectedEventArgs } from './user-routines-events';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Slide-in wrapper for the User Routines command center — the standard right-edge
|
|
7
|
+
* panel (via `mj-slide-panel` from `@memberjunction/ng-ui-components`) hosting the
|
|
8
|
+
* full command center (list / new / history). Used by ng-conversations' sidebar
|
|
9
|
+
* routines section and any other host that wants the drop-in overlay experience.
|
|
10
|
+
*
|
|
11
|
+
* Two-way bind `[(Visible)]`; all command-center events bubble unchanged.
|
|
12
|
+
*/
|
|
13
|
+
export declare class UserRoutinesSlideInComponent extends BaseAngularComponent {
|
|
14
|
+
private cdr;
|
|
15
|
+
private commandCenter?;
|
|
16
|
+
private _visible;
|
|
17
|
+
/** Whether the slide-in is open. Two-way bindable: `[(Visible)]`. */
|
|
18
|
+
set Visible(value: boolean);
|
|
19
|
+
get Visible(): boolean;
|
|
20
|
+
/** Initial panel width in pixels. */
|
|
21
|
+
WidthPx: number;
|
|
22
|
+
/**
|
|
23
|
+
* When set, the command center opens directly on this routine's history each time
|
|
24
|
+
* the slide-in becomes visible with the value set.
|
|
25
|
+
*/
|
|
26
|
+
InitialRoutineID: string | null;
|
|
27
|
+
/** When true, the command center opens directly on the New Routine editor. */
|
|
28
|
+
StartInNewRoutine: boolean;
|
|
29
|
+
VisibleChange: EventEmitter<boolean>;
|
|
30
|
+
/** The panel was closed (X, backdrop, or Escape). */
|
|
31
|
+
Closed: EventEmitter<void>;
|
|
32
|
+
BeforeRoutineCreated: EventEmitter<BeforeRoutineCreatedEventArgs>;
|
|
33
|
+
AfterRoutineCreated: EventEmitter<AfterRoutineCreatedEventArgs>;
|
|
34
|
+
BeforeRoutinePaused: EventEmitter<BeforeRoutinePausedEventArgs>;
|
|
35
|
+
AfterRoutinePaused: EventEmitter<AfterRoutinePausedEventArgs>;
|
|
36
|
+
BeforeRoutineRunNow: EventEmitter<BeforeRoutineRunNowEventArgs>;
|
|
37
|
+
AfterRoutineRunNow: EventEmitter<AfterRoutineRunNowEventArgs>;
|
|
38
|
+
BeforeRoutineDeleted: EventEmitter<BeforeRoutineDeletedEventArgs>;
|
|
39
|
+
AfterRoutineDeleted: EventEmitter<AfterRoutineDeletedEventArgs>;
|
|
40
|
+
RoutineSelected: EventEmitter<RoutineSelectedEventArgs>;
|
|
41
|
+
HistoryRecordOpened: EventEmitter<HistoryRecordOpenedEventArgs>;
|
|
42
|
+
/** Re-emitted — the routine's dedicated conversation was requested. */
|
|
43
|
+
ConversationOpened: EventEmitter<ConversationOpenedEventArgs>;
|
|
44
|
+
/** Opens the slide-in (optionally straight onto a routine's history or the editor). */
|
|
45
|
+
Open(options?: {
|
|
46
|
+
RoutineID?: string;
|
|
47
|
+
NewRoutine?: boolean;
|
|
48
|
+
}): void;
|
|
49
|
+
/** Closes the slide-in. */
|
|
50
|
+
Close(): void;
|
|
51
|
+
OnPanelClosed(): void;
|
|
52
|
+
/** Applies InitialRoutineID / StartInNewRoutine once the command center is mounted. */
|
|
53
|
+
applyInitialView(): void;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserRoutinesSlideInComponent, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserRoutinesSlideInComponent, "mj-user-routines-slide-in", never, { "Visible": { "alias": "Visible"; "required": false; }; "WidthPx": { "alias": "WidthPx"; "required": false; }; "InitialRoutineID": { "alias": "InitialRoutineID"; "required": false; }; "StartInNewRoutine": { "alias": "StartInNewRoutine"; "required": false; }; }, { "VisibleChange": "VisibleChange"; "Closed": "Closed"; "BeforeRoutineCreated": "BeforeRoutineCreated"; "AfterRoutineCreated": "AfterRoutineCreated"; "BeforeRoutinePaused": "BeforeRoutinePaused"; "AfterRoutinePaused": "AfterRoutinePaused"; "BeforeRoutineRunNow": "BeforeRoutineRunNow"; "AfterRoutineRunNow": "AfterRoutineRunNow"; "BeforeRoutineDeleted": "BeforeRoutineDeleted"; "AfterRoutineDeleted": "AfterRoutineDeleted"; "RoutineSelected": "RoutineSelected"; "HistoryRecordOpened": "HistoryRecordOpened"; "ConversationOpened": "ConversationOpened"; }, never, never, false, never>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=user-routines-slide-in.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-routines-slide-in.component.d.ts","sourceRoot":"","sources":["../../src/lib/user-routines-slide-in.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,YAAY,EAAoC,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,wBAAwB,EAC3B,MAAM,wBAAwB,CAAC;;AAGhC;;;;;;;GAOG;AACH,qBAMa,4BAA6B,SAAQ,oBAAoB;IAClE,OAAO,CAAC,GAAG,CAA6B;IAEZ,OAAO,CAAC,aAAa,CAAC,CAAqC;IAKvF,OAAO,CAAC,QAAQ,CAAS;IACzB,qEAAqE;IACrE,IACW,OAAO,CAAC,KAAK,EAAE,OAAO,EAWhC;IACD,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,qCAAqC;IAC5B,OAAO,SAAO;IAEvB;;;OAGG;IACM,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhD,8EAA8E;IACrE,iBAAiB,UAAS;IAKzB,aAAa,wBAA+B;IACtD,qDAAqD;IAC3C,MAAM,qBAA4B;IAGlC,oBAAoB,8CAAqD;IACzE,mBAAmB,6CAAoD;IACvE,mBAAmB,6CAAoD;IACvE,kBAAkB,4CAAmD;IACrE,mBAAmB,6CAAoD;IACvE,kBAAkB,4CAAmD;IACrE,oBAAoB,8CAAqD;IACzE,mBAAmB,6CAAoD;IACvE,eAAe,yCAAgD;IAC/D,mBAAmB,6CAAoD;IACjF,uEAAuE;IAC7D,kBAAkB,4CAAmD;IAE/E,uFAAuF;IAChF,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAUzE,2BAA2B;IACpB,KAAK,IAAI,IAAI;IASb,aAAa,IAAI,IAAI;IAI5B,uFAAuF;IAChF,gBAAgB,IAAI,IAAI;yCAtFtB,4BAA4B;2CAA5B,4BAA4B;CAiGxC"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';
|
|
2
|
+
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@memberjunction/ng-ui-components";
|
|
5
|
+
import * as i2 from "./user-routines-command-center.component";
|
|
6
|
+
const _c0 = ["commandCenter"];
|
|
7
|
+
function UserRoutinesSlideInComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
9
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "mj-user-routines-command-center", 3, 0);
|
|
10
|
+
i0.ɵɵlistener("CloseRequested", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_CloseRequested_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Close()); })("BeforeRoutineCreated", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_BeforeRoutineCreated_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.BeforeRoutineCreated.emit($event)); })("AfterRoutineCreated", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_AfterRoutineCreated_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.AfterRoutineCreated.emit($event)); })("BeforeRoutinePaused", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_BeforeRoutinePaused_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.BeforeRoutinePaused.emit($event)); })("AfterRoutinePaused", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_AfterRoutinePaused_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.AfterRoutinePaused.emit($event)); })("BeforeRoutineRunNow", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_BeforeRoutineRunNow_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.BeforeRoutineRunNow.emit($event)); })("AfterRoutineRunNow", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_AfterRoutineRunNow_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.AfterRoutineRunNow.emit($event)); })("BeforeRoutineDeleted", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_BeforeRoutineDeleted_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.BeforeRoutineDeleted.emit($event)); })("AfterRoutineDeleted", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_AfterRoutineDeleted_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.AfterRoutineDeleted.emit($event)); })("RoutineSelected", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_RoutineSelected_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.RoutineSelected.emit($event)); })("HistoryRecordOpened", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_HistoryRecordOpened_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.HistoryRecordOpened.emit($event)); })("ConversationOpened", function UserRoutinesSlideInComponent_Conditional_1_Template_mj_user_routines_command_center_ConversationOpened_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ConversationOpened.emit($event)); });
|
|
11
|
+
i0.ɵɵelementEnd()();
|
|
12
|
+
} if (rf & 2) {
|
|
13
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
14
|
+
i0.ɵɵadvance();
|
|
15
|
+
i0.ɵɵproperty("Provider", ctx_r1.Provider)("ShowHeader", true)("ShowClose", true);
|
|
16
|
+
} }
|
|
17
|
+
/**
|
|
18
|
+
* Slide-in wrapper for the User Routines command center — the standard right-edge
|
|
19
|
+
* panel (via `mj-slide-panel` from `@memberjunction/ng-ui-components`) hosting the
|
|
20
|
+
* full command center (list / new / history). Used by ng-conversations' sidebar
|
|
21
|
+
* routines section and any other host that wants the drop-in overlay experience.
|
|
22
|
+
*
|
|
23
|
+
* Two-way bind `[(Visible)]`; all command-center events bubble unchanged.
|
|
24
|
+
*/
|
|
25
|
+
export class UserRoutinesSlideInComponent extends BaseAngularComponent {
|
|
26
|
+
cdr = inject(ChangeDetectorRef);
|
|
27
|
+
commandCenter;
|
|
28
|
+
// ---------------------------------------------------------------
|
|
29
|
+
// Inputs
|
|
30
|
+
// ---------------------------------------------------------------
|
|
31
|
+
_visible = false;
|
|
32
|
+
/** Whether the slide-in is open. Two-way bindable: `[(Visible)]`. */
|
|
33
|
+
set Visible(value) {
|
|
34
|
+
if (value !== this._visible) {
|
|
35
|
+
this._visible = value;
|
|
36
|
+
this.cdr.markForCheck();
|
|
37
|
+
if (value) {
|
|
38
|
+
// Declarative open ([(Visible)] binding) must honor InitialRoutineID /
|
|
39
|
+
// StartInNewRoutine exactly like the imperative Open() path. The command
|
|
40
|
+
// center mounts via @if — apply the initial view next tick.
|
|
41
|
+
Promise.resolve().then(() => this.applyInitialView());
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get Visible() {
|
|
46
|
+
return this._visible;
|
|
47
|
+
}
|
|
48
|
+
/** Initial panel width in pixels. */
|
|
49
|
+
WidthPx = 720;
|
|
50
|
+
/**
|
|
51
|
+
* When set, the command center opens directly on this routine's history each time
|
|
52
|
+
* the slide-in becomes visible with the value set.
|
|
53
|
+
*/
|
|
54
|
+
InitialRoutineID = null;
|
|
55
|
+
/** When true, the command center opens directly on the New Routine editor. */
|
|
56
|
+
StartInNewRoutine = false;
|
|
57
|
+
// ---------------------------------------------------------------
|
|
58
|
+
// Outputs
|
|
59
|
+
// ---------------------------------------------------------------
|
|
60
|
+
VisibleChange = new EventEmitter();
|
|
61
|
+
/** The panel was closed (X, backdrop, or Escape). */
|
|
62
|
+
Closed = new EventEmitter();
|
|
63
|
+
// Bubbled command-center events
|
|
64
|
+
BeforeRoutineCreated = new EventEmitter();
|
|
65
|
+
AfterRoutineCreated = new EventEmitter();
|
|
66
|
+
BeforeRoutinePaused = new EventEmitter();
|
|
67
|
+
AfterRoutinePaused = new EventEmitter();
|
|
68
|
+
BeforeRoutineRunNow = new EventEmitter();
|
|
69
|
+
AfterRoutineRunNow = new EventEmitter();
|
|
70
|
+
BeforeRoutineDeleted = new EventEmitter();
|
|
71
|
+
AfterRoutineDeleted = new EventEmitter();
|
|
72
|
+
RoutineSelected = new EventEmitter();
|
|
73
|
+
HistoryRecordOpened = new EventEmitter();
|
|
74
|
+
/** Re-emitted — the routine's dedicated conversation was requested. */
|
|
75
|
+
ConversationOpened = new EventEmitter();
|
|
76
|
+
/** Opens the slide-in (optionally straight onto a routine's history or the editor). */
|
|
77
|
+
Open(options) {
|
|
78
|
+
this.InitialRoutineID = options?.RoutineID ?? null;
|
|
79
|
+
this.StartInNewRoutine = options?.NewRoutine ?? false;
|
|
80
|
+
this._visible = true;
|
|
81
|
+
this.VisibleChange.emit(true);
|
|
82
|
+
this.cdr.markForCheck();
|
|
83
|
+
// The command center mounts via @if — apply the initial view next tick
|
|
84
|
+
Promise.resolve().then(() => this.applyInitialView());
|
|
85
|
+
}
|
|
86
|
+
/** Closes the slide-in. */
|
|
87
|
+
Close() {
|
|
88
|
+
if (this._visible) {
|
|
89
|
+
this._visible = false;
|
|
90
|
+
this.VisibleChange.emit(false);
|
|
91
|
+
this.Closed.emit();
|
|
92
|
+
this.cdr.markForCheck();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
OnPanelClosed() {
|
|
96
|
+
this.Close();
|
|
97
|
+
}
|
|
98
|
+
/** Applies InitialRoutineID / StartInNewRoutine once the command center is mounted. */
|
|
99
|
+
applyInitialView() {
|
|
100
|
+
const cc = this.commandCenter;
|
|
101
|
+
if (!cc) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (this.StartInNewRoutine) {
|
|
105
|
+
cc.ShowNewRoutine();
|
|
106
|
+
}
|
|
107
|
+
else if (this.InitialRoutineID) {
|
|
108
|
+
cc.ShowHistory(this.InitialRoutineID);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵUserRoutinesSlideInComponent_BaseFactory; return function UserRoutinesSlideInComponent_Factory(__ngFactoryType__) { return (ɵUserRoutinesSlideInComponent_BaseFactory || (ɵUserRoutinesSlideInComponent_BaseFactory = i0.ɵɵgetInheritedFactory(UserRoutinesSlideInComponent)))(__ngFactoryType__ || UserRoutinesSlideInComponent); }; })();
|
|
112
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserRoutinesSlideInComponent, selectors: [["mj-user-routines-slide-in"]], viewQuery: function UserRoutinesSlideInComponent_Query(rf, ctx) { if (rf & 1) {
|
|
113
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
114
|
+
} if (rf & 2) {
|
|
115
|
+
let _t;
|
|
116
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.commandCenter = _t.first);
|
|
117
|
+
} }, inputs: { Visible: "Visible", WidthPx: "WidthPx", InitialRoutineID: "InitialRoutineID", StartInNewRoutine: "StartInNewRoutine" }, outputs: { VisibleChange: "VisibleChange", Closed: "Closed", BeforeRoutineCreated: "BeforeRoutineCreated", AfterRoutineCreated: "AfterRoutineCreated", BeforeRoutinePaused: "BeforeRoutinePaused", AfterRoutinePaused: "AfterRoutinePaused", BeforeRoutineRunNow: "BeforeRoutineRunNow", AfterRoutineRunNow: "AfterRoutineRunNow", BeforeRoutineDeleted: "BeforeRoutineDeleted", AfterRoutineDeleted: "AfterRoutineDeleted", RoutineSelected: "RoutineSelected", HistoryRecordOpened: "HistoryRecordOpened", ConversationOpened: "ConversationOpened" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 4, consts: [["commandCenter", ""], ["Mode", "slide", "Title", "", 3, "Closed", "Visible", "WidthPx", "MinWidthPx"], [1, "ur-slidein"], [3, "CloseRequested", "BeforeRoutineCreated", "AfterRoutineCreated", "BeforeRoutinePaused", "AfterRoutinePaused", "BeforeRoutineRunNow", "AfterRoutineRunNow", "BeforeRoutineDeleted", "AfterRoutineDeleted", "RoutineSelected", "HistoryRecordOpened", "ConversationOpened", "Provider", "ShowHeader", "ShowClose"]], template: function UserRoutinesSlideInComponent_Template(rf, ctx) { if (rf & 1) {
|
|
118
|
+
i0.ɵɵelementStart(0, "mj-slide-panel", 1);
|
|
119
|
+
i0.ɵɵlistener("Closed", function UserRoutinesSlideInComponent_Template_mj_slide_panel_Closed_0_listener() { return ctx.OnPanelClosed(); });
|
|
120
|
+
i0.ɵɵconditionalCreate(1, UserRoutinesSlideInComponent_Conditional_1_Template, 3, 3, "div", 2);
|
|
121
|
+
i0.ɵɵelementEnd();
|
|
122
|
+
} if (rf & 2) {
|
|
123
|
+
i0.ɵɵproperty("Visible", ctx.Visible)("WidthPx", ctx.WidthPx)("MinWidthPx", 480);
|
|
124
|
+
i0.ɵɵadvance();
|
|
125
|
+
i0.ɵɵconditional(ctx.Visible ? 1 : -1);
|
|
126
|
+
} }, dependencies: [i1.MjSlidePanelComponent, i2.UserRoutinesCommandCenterComponent], styles: [".ur-slidein[_ngcontent-%COMP%] {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n}\n\n.ur-slidein[_ngcontent-%COMP%] > mj-user-routines-command-center[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n min-height: 0;\n}"] });
|
|
127
|
+
}
|
|
128
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserRoutinesSlideInComponent, [{
|
|
129
|
+
type: Component,
|
|
130
|
+
args: [{ standalone: false, selector: 'mj-user-routines-slide-in', template: "<mj-slide-panel Mode=\"slide\" Title=\"\" [Visible]=\"Visible\" [WidthPx]=\"WidthPx\" [MinWidthPx]=\"480\"\n (Closed)=\"OnPanelClosed()\">\n @if (Visible) {\n <div class=\"ur-slidein\">\n <mj-user-routines-command-center #commandCenter\n [Provider]=\"Provider\"\n [ShowHeader]=\"true\"\n [ShowClose]=\"true\"\n (CloseRequested)=\"Close()\"\n (BeforeRoutineCreated)=\"BeforeRoutineCreated.emit($event)\"\n (AfterRoutineCreated)=\"AfterRoutineCreated.emit($event)\"\n (BeforeRoutinePaused)=\"BeforeRoutinePaused.emit($event)\"\n (AfterRoutinePaused)=\"AfterRoutinePaused.emit($event)\"\n (BeforeRoutineRunNow)=\"BeforeRoutineRunNow.emit($event)\"\n (AfterRoutineRunNow)=\"AfterRoutineRunNow.emit($event)\"\n (BeforeRoutineDeleted)=\"BeforeRoutineDeleted.emit($event)\"\n (AfterRoutineDeleted)=\"AfterRoutineDeleted.emit($event)\"\n (RoutineSelected)=\"RoutineSelected.emit($event)\"\n (HistoryRecordOpened)=\"HistoryRecordOpened.emit($event)\"\n (ConversationOpened)=\"ConversationOpened.emit($event)\">\n </mj-user-routines-command-center>\n </div>\n }\n</mj-slide-panel>\n", styles: [".ur-slidein {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n}\n\n.ur-slidein > mj-user-routines-command-center {\n flex: 1 1 auto;\n min-height: 0;\n}\n"] }]
|
|
131
|
+
}], null, { commandCenter: [{
|
|
132
|
+
type: ViewChild,
|
|
133
|
+
args: ['commandCenter']
|
|
134
|
+
}], Visible: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], WidthPx: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], InitialRoutineID: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], StartInNewRoutine: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], VisibleChange: [{
|
|
143
|
+
type: Output
|
|
144
|
+
}], Closed: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}], BeforeRoutineCreated: [{
|
|
147
|
+
type: Output
|
|
148
|
+
}], AfterRoutineCreated: [{
|
|
149
|
+
type: Output
|
|
150
|
+
}], BeforeRoutinePaused: [{
|
|
151
|
+
type: Output
|
|
152
|
+
}], AfterRoutinePaused: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}], BeforeRoutineRunNow: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}], AfterRoutineRunNow: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}], BeforeRoutineDeleted: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}], AfterRoutineDeleted: [{
|
|
161
|
+
type: Output
|
|
162
|
+
}], RoutineSelected: [{
|
|
163
|
+
type: Output
|
|
164
|
+
}], HistoryRecordOpened: [{
|
|
165
|
+
type: Output
|
|
166
|
+
}], ConversationOpened: [{
|
|
167
|
+
type: Output
|
|
168
|
+
}] }); })();
|
|
169
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserRoutinesSlideInComponent, { className: "UserRoutinesSlideInComponent", filePath: "src/lib/user-routines-slide-in.component.ts", lineNumber: 31 }); })();
|
|
170
|
+
//# sourceMappingURL=user-routines-slide-in.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-routines-slide-in.component.js","sourceRoot":"","sources":["../../src/lib/user-routines-slide-in.component.ts","../../src/lib/user-routines-slide-in.component.html"],"names":[],"mappings":"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","sourcesContent":["import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { ConversationOpenedEventArgs,\n AfterRoutineCreatedEventArgs,\n AfterRoutineDeletedEventArgs,\n AfterRoutinePausedEventArgs,\n AfterRoutineRunNowEventArgs,\n BeforeRoutineCreatedEventArgs,\n BeforeRoutineDeletedEventArgs,\n BeforeRoutinePausedEventArgs,\n BeforeRoutineRunNowEventArgs,\n HistoryRecordOpenedEventArgs,\n RoutineSelectedEventArgs,\n} from './user-routines-events';\nimport { UserRoutinesCommandCenterComponent } from './user-routines-command-center.component';\n\n/**\n * Slide-in wrapper for the User Routines command center — the standard right-edge\n * panel (via `mj-slide-panel` from `@memberjunction/ng-ui-components`) hosting the\n * full command center (list / new / history). Used by ng-conversations' sidebar\n * routines section and any other host that wants the drop-in overlay experience.\n *\n * Two-way bind `[(Visible)]`; all command-center events bubble unchanged.\n */\n@Component({\n standalone: false,\n selector: 'mj-user-routines-slide-in',\n templateUrl: './user-routines-slide-in.component.html',\n styleUrls: ['./user-routines-slide-in.component.css'],\n})\nexport class UserRoutinesSlideInComponent extends BaseAngularComponent {\n private cdr = inject(ChangeDetectorRef);\n\n @ViewChild('commandCenter') private commandCenter?: UserRoutinesCommandCenterComponent;\n\n // ---------------------------------------------------------------\n // Inputs\n // ---------------------------------------------------------------\n private _visible = false;\n /** Whether the slide-in is open. Two-way bindable: `[(Visible)]`. */\n @Input()\n public set Visible(value: boolean) {\n if (value !== this._visible) {\n this._visible = value;\n this.cdr.markForCheck();\n if (value) {\n // Declarative open ([(Visible)] binding) must honor InitialRoutineID /\n // StartInNewRoutine exactly like the imperative Open() path. The command\n // center mounts via @if — apply the initial view next tick.\n Promise.resolve().then(() => this.applyInitialView());\n }\n }\n }\n public get Visible(): boolean {\n return this._visible;\n }\n\n /** Initial panel width in pixels. */\n @Input() WidthPx = 720;\n\n /**\n * When set, the command center opens directly on this routine's history each time\n * the slide-in becomes visible with the value set.\n */\n @Input() InitialRoutineID: string | null = null;\n\n /** When true, the command center opens directly on the New Routine editor. */\n @Input() StartInNewRoutine = false;\n\n // ---------------------------------------------------------------\n // Outputs\n // ---------------------------------------------------------------\n @Output() VisibleChange = new EventEmitter<boolean>();\n /** The panel was closed (X, backdrop, or Escape). */\n @Output() Closed = new EventEmitter<void>();\n\n // Bubbled command-center events\n @Output() BeforeRoutineCreated = new EventEmitter<BeforeRoutineCreatedEventArgs>();\n @Output() AfterRoutineCreated = new EventEmitter<AfterRoutineCreatedEventArgs>();\n @Output() BeforeRoutinePaused = new EventEmitter<BeforeRoutinePausedEventArgs>();\n @Output() AfterRoutinePaused = new EventEmitter<AfterRoutinePausedEventArgs>();\n @Output() BeforeRoutineRunNow = new EventEmitter<BeforeRoutineRunNowEventArgs>();\n @Output() AfterRoutineRunNow = new EventEmitter<AfterRoutineRunNowEventArgs>();\n @Output() BeforeRoutineDeleted = new EventEmitter<BeforeRoutineDeletedEventArgs>();\n @Output() AfterRoutineDeleted = new EventEmitter<AfterRoutineDeletedEventArgs>();\n @Output() RoutineSelected = new EventEmitter<RoutineSelectedEventArgs>();\n @Output() HistoryRecordOpened = new EventEmitter<HistoryRecordOpenedEventArgs>();\n /** Re-emitted — the routine's dedicated conversation was requested. */\n @Output() ConversationOpened = new EventEmitter<ConversationOpenedEventArgs>();\n\n /** Opens the slide-in (optionally straight onto a routine's history or the editor). */\n public Open(options?: { RoutineID?: string; NewRoutine?: boolean }): void {\n this.InitialRoutineID = options?.RoutineID ?? null;\n this.StartInNewRoutine = options?.NewRoutine ?? false;\n this._visible = true;\n this.VisibleChange.emit(true);\n this.cdr.markForCheck();\n // The command center mounts via @if — apply the initial view next tick\n Promise.resolve().then(() => this.applyInitialView());\n }\n\n /** Closes the slide-in. */\n public Close(): void {\n if (this._visible) {\n this._visible = false;\n this.VisibleChange.emit(false);\n this.Closed.emit();\n this.cdr.markForCheck();\n }\n }\n\n public OnPanelClosed(): void {\n this.Close();\n }\n\n /** Applies InitialRoutineID / StartInNewRoutine once the command center is mounted. */\n public applyInitialView(): void {\n const cc = this.commandCenter;\n if (!cc) {\n return;\n }\n if (this.StartInNewRoutine) {\n cc.ShowNewRoutine();\n } else if (this.InitialRoutineID) {\n cc.ShowHistory(this.InitialRoutineID);\n }\n }\n}\n","<mj-slide-panel Mode=\"slide\" Title=\"\" [Visible]=\"Visible\" [WidthPx]=\"WidthPx\" [MinWidthPx]=\"480\"\n (Closed)=\"OnPanelClosed()\">\n @if (Visible) {\n <div class=\"ur-slidein\">\n <mj-user-routines-command-center #commandCenter\n [Provider]=\"Provider\"\n [ShowHeader]=\"true\"\n [ShowClose]=\"true\"\n (CloseRequested)=\"Close()\"\n (BeforeRoutineCreated)=\"BeforeRoutineCreated.emit($event)\"\n (AfterRoutineCreated)=\"AfterRoutineCreated.emit($event)\"\n (BeforeRoutinePaused)=\"BeforeRoutinePaused.emit($event)\"\n (AfterRoutinePaused)=\"AfterRoutinePaused.emit($event)\"\n (BeforeRoutineRunNow)=\"BeforeRoutineRunNow.emit($event)\"\n (AfterRoutineRunNow)=\"AfterRoutineRunNow.emit($event)\"\n (BeforeRoutineDeleted)=\"BeforeRoutineDeleted.emit($event)\"\n (AfterRoutineDeleted)=\"AfterRoutineDeleted.emit($event)\"\n (RoutineSelected)=\"RoutineSelected.emit($event)\"\n (HistoryRecordOpened)=\"HistoryRecordOpened.emit($event)\"\n (ConversationOpened)=\"ConversationOpened.emit($event)\">\n </mj-user-routines-command-center>\n </div>\n }\n</mj-slide-panel>\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./my-routines-list.component";
|
|
3
|
+
import * as i2 from "./new-routine.component";
|
|
4
|
+
import * as i3 from "./routine-history.component";
|
|
5
|
+
import * as i4 from "./user-routines-command-center.component";
|
|
6
|
+
import * as i5 from "./user-routines-slide-in.component";
|
|
7
|
+
import * as i6 from "@angular/common";
|
|
8
|
+
import * as i7 from "@angular/forms";
|
|
9
|
+
import * as i8 from "@memberjunction/ng-ui-components";
|
|
10
|
+
import * as i9 from "@memberjunction/ng-shared-generic";
|
|
11
|
+
import * as i10 from "@memberjunction/ng-code-editor";
|
|
12
|
+
import * as i11 from "@memberjunction/ng-trees";
|
|
13
|
+
import * as i12 from "@memberjunction/ng-composer";
|
|
14
|
+
/**
|
|
15
|
+
* Module providing the reusable User Routines UI components.
|
|
16
|
+
*
|
|
17
|
+
* Components:
|
|
18
|
+
* - `<mj-user-routines-command-center>` — Composite surface (list / new / history) most hosts embed
|
|
19
|
+
* - `<mj-user-routines-slide-in>` — The command center in the standard right-edge slide-in panel
|
|
20
|
+
* - `<mj-my-routines-list>` — Card list of the current user's routines with quick actions
|
|
21
|
+
* - `<mj-new-routine>` — Create/edit form (agent tree picker, schedule, notifications, recipients)
|
|
22
|
+
* - `<mj-user-routine-history>` — Run history for one routine with links to execution records
|
|
23
|
+
*
|
|
24
|
+
* Usage:
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { UserRoutinesModule } from '@memberjunction/ng-user-routines';
|
|
27
|
+
*
|
|
28
|
+
* @NgModule({ imports: [UserRoutinesModule] })
|
|
29
|
+
* export class MyModule {}
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class UserRoutinesModule {
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserRoutinesModule, never>;
|
|
34
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<UserRoutinesModule, [typeof i1.MyRoutinesListComponent, typeof i2.NewRoutineComponent, typeof i3.RoutineHistoryComponent, typeof i4.UserRoutinesCommandCenterComponent, typeof i5.UserRoutinesSlideInComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i8.MJAlertComponent, typeof i8.MJButtonDirective, typeof i8.MJComboboxComponent, typeof i8.MJDropdownComponent, typeof i8.MJEmptyStateComponent, typeof i8.MJNumericInputComponent, typeof i8.MJPageSearchComponent, typeof i8.MJRefreshButtonComponent, typeof i8.MJSwitchComponent, typeof i8.MjSlidePanelComponent, typeof i9.SharedGenericModule, typeof i10.CodeEditorModule, typeof i11.NgTreesModule, typeof i12.ComposerModule], [typeof i1.MyRoutinesListComponent, typeof i2.NewRoutineComponent, typeof i3.RoutineHistoryComponent, typeof i4.UserRoutinesCommandCenterComponent, typeof i5.UserRoutinesSlideInComponent]>;
|
|
35
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<UserRoutinesModule>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=user-routines.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-routines.module.d.ts","sourceRoot":"","sources":["../../src/lib/user-routines.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA2BA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAkCa,kBAAkB;yCAAlB,kBAAkB;0CAAlB,kBAAkB;0CAAlB,kBAAkB;CAAG"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MJAlertComponent, MJButtonDirective, MJComboboxComponent, MJDropdownComponent, MJEmptyStateComponent, MJNumericInputComponent, MJPageSearchComponent, MJRefreshButtonComponent, MJSwitchComponent, MjSlidePanelComponent, } from '@memberjunction/ng-ui-components';
|
|
5
|
+
import { SharedGenericModule } from '@memberjunction/ng-shared-generic';
|
|
6
|
+
import { CodeEditorModule } from '@memberjunction/ng-code-editor';
|
|
7
|
+
import { NgTreesModule } from '@memberjunction/ng-trees';
|
|
8
|
+
import { ComposerModule } from '@memberjunction/ng-composer';
|
|
9
|
+
import { MyRoutinesListComponent } from './my-routines-list.component';
|
|
10
|
+
import { NewRoutineComponent } from './new-routine.component';
|
|
11
|
+
import { RoutineHistoryComponent } from './routine-history.component';
|
|
12
|
+
import { UserRoutinesCommandCenterComponent } from './user-routines-command-center.component';
|
|
13
|
+
import { UserRoutinesSlideInComponent } from './user-routines-slide-in.component';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
/**
|
|
16
|
+
* Module providing the reusable User Routines UI components.
|
|
17
|
+
*
|
|
18
|
+
* Components:
|
|
19
|
+
* - `<mj-user-routines-command-center>` — Composite surface (list / new / history) most hosts embed
|
|
20
|
+
* - `<mj-user-routines-slide-in>` — The command center in the standard right-edge slide-in panel
|
|
21
|
+
* - `<mj-my-routines-list>` — Card list of the current user's routines with quick actions
|
|
22
|
+
* - `<mj-new-routine>` — Create/edit form (agent tree picker, schedule, notifications, recipients)
|
|
23
|
+
* - `<mj-user-routine-history>` — Run history for one routine with links to execution records
|
|
24
|
+
*
|
|
25
|
+
* Usage:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { UserRoutinesModule } from '@memberjunction/ng-user-routines';
|
|
28
|
+
*
|
|
29
|
+
* @NgModule({ imports: [UserRoutinesModule] })
|
|
30
|
+
* export class MyModule {}
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class UserRoutinesModule {
|
|
34
|
+
static ɵfac = function UserRoutinesModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserRoutinesModule)(); };
|
|
35
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: UserRoutinesModule });
|
|
36
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
37
|
+
FormsModule,
|
|
38
|
+
MJAlertComponent,
|
|
39
|
+
MJComboboxComponent,
|
|
40
|
+
MJDropdownComponent,
|
|
41
|
+
MJEmptyStateComponent,
|
|
42
|
+
MJNumericInputComponent,
|
|
43
|
+
MJPageSearchComponent,
|
|
44
|
+
MJRefreshButtonComponent,
|
|
45
|
+
MJSwitchComponent,
|
|
46
|
+
MjSlidePanelComponent,
|
|
47
|
+
SharedGenericModule,
|
|
48
|
+
CodeEditorModule,
|
|
49
|
+
NgTreesModule,
|
|
50
|
+
ComposerModule] });
|
|
51
|
+
}
|
|
52
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserRoutinesModule, [{
|
|
53
|
+
type: NgModule,
|
|
54
|
+
args: [{
|
|
55
|
+
declarations: [
|
|
56
|
+
MyRoutinesListComponent,
|
|
57
|
+
NewRoutineComponent,
|
|
58
|
+
RoutineHistoryComponent,
|
|
59
|
+
UserRoutinesCommandCenterComponent,
|
|
60
|
+
UserRoutinesSlideInComponent,
|
|
61
|
+
],
|
|
62
|
+
imports: [
|
|
63
|
+
CommonModule,
|
|
64
|
+
FormsModule,
|
|
65
|
+
MJAlertComponent,
|
|
66
|
+
MJButtonDirective,
|
|
67
|
+
MJComboboxComponent,
|
|
68
|
+
MJDropdownComponent,
|
|
69
|
+
MJEmptyStateComponent,
|
|
70
|
+
MJNumericInputComponent,
|
|
71
|
+
MJPageSearchComponent,
|
|
72
|
+
MJRefreshButtonComponent,
|
|
73
|
+
MJSwitchComponent,
|
|
74
|
+
MjSlidePanelComponent,
|
|
75
|
+
SharedGenericModule,
|
|
76
|
+
CodeEditorModule,
|
|
77
|
+
NgTreesModule,
|
|
78
|
+
ComposerModule,
|
|
79
|
+
],
|
|
80
|
+
exports: [
|
|
81
|
+
MyRoutinesListComponent,
|
|
82
|
+
NewRoutineComponent,
|
|
83
|
+
RoutineHistoryComponent,
|
|
84
|
+
UserRoutinesCommandCenterComponent,
|
|
85
|
+
UserRoutinesSlideInComponent,
|
|
86
|
+
],
|
|
87
|
+
}]
|
|
88
|
+
}], null, null); })();
|
|
89
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(UserRoutinesModule, { declarations: [MyRoutinesListComponent,
|
|
90
|
+
NewRoutineComponent,
|
|
91
|
+
RoutineHistoryComponent,
|
|
92
|
+
UserRoutinesCommandCenterComponent,
|
|
93
|
+
UserRoutinesSlideInComponent], imports: [CommonModule,
|
|
94
|
+
FormsModule,
|
|
95
|
+
MJAlertComponent,
|
|
96
|
+
MJButtonDirective,
|
|
97
|
+
MJComboboxComponent,
|
|
98
|
+
MJDropdownComponent,
|
|
99
|
+
MJEmptyStateComponent,
|
|
100
|
+
MJNumericInputComponent,
|
|
101
|
+
MJPageSearchComponent,
|
|
102
|
+
MJRefreshButtonComponent,
|
|
103
|
+
MJSwitchComponent,
|
|
104
|
+
MjSlidePanelComponent,
|
|
105
|
+
SharedGenericModule,
|
|
106
|
+
CodeEditorModule,
|
|
107
|
+
NgTreesModule,
|
|
108
|
+
ComposerModule], exports: [MyRoutinesListComponent,
|
|
109
|
+
NewRoutineComponent,
|
|
110
|
+
RoutineHistoryComponent,
|
|
111
|
+
UserRoutinesCommandCenterComponent,
|
|
112
|
+
UserRoutinesSlideInComponent] }); })();
|
|
113
|
+
//# sourceMappingURL=user-routines.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-routines.module.js","sourceRoot":"","sources":["../../src/lib/user-routines.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;;AAElF;;;;;;;;;;;;;;;;;GAiBG;AAmCH,MAAM,OAAO,kBAAkB;4GAAlB,kBAAkB;4DAAlB,kBAAkB;gEAzBvB,YAAY;YACZ,WAAW;YACX,gBAAgB;YAEhB,mBAAmB;YACnB,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;YACvB,qBAAqB;YACrB,wBAAwB;YACxB,iBAAiB;YACjB,qBAAqB;YACrB,mBAAmB;YACnB,gBAAgB;YAChB,aAAa;YACb,cAAc;;iFAUT,kBAAkB;cAlC9B,QAAQ;eAAC;gBACN,YAAY,EAAE;oBACV,uBAAuB;oBACvB,mBAAmB;oBACnB,uBAAuB;oBACvB,kCAAkC;oBAClC,4BAA4B;iBAC/B;gBACD,OAAO,EAAE;oBACL,YAAY;oBACZ,WAAW;oBACX,gBAAgB;oBAChB,iBAAiB;oBACjB,mBAAmB;oBACnB,mBAAmB;oBACnB,qBAAqB;oBACrB,uBAAuB;oBACvB,qBAAqB;oBACrB,wBAAwB;oBACxB,iBAAiB;oBACjB,qBAAqB;oBACrB,mBAAmB;oBACnB,gBAAgB;oBAChB,aAAa;oBACb,cAAc;iBACjB;gBACD,OAAO,EAAE;oBACL,uBAAuB;oBACvB,mBAAmB;oBACnB,uBAAuB;oBACvB,kCAAkC;oBAClC,4BAA4B;iBAC/B;aACJ;;wFACY,kBAAkB,mBAhCvB,uBAAuB;QACvB,mBAAmB;QACnB,uBAAuB;QACvB,kCAAkC;QAClC,4BAA4B,aAG5B,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,mBAAmB;QACnB,qBAAqB;QACrB,uBAAuB;QACvB,qBAAqB;QACrB,wBAAwB;QACxB,iBAAiB;QACjB,qBAAqB;QACrB,mBAAmB;QACnB,gBAAgB;QAChB,aAAa;QACb,cAAc,aAGd,uBAAuB;QACvB,mBAAmB;QACnB,uBAAuB;QACvB,kCAAkC;QAClC,4BAA4B","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport {\n MJAlertComponent,\n MJButtonDirective,\n MJComboboxComponent,\n MJDropdownComponent,\n MJEmptyStateComponent,\n MJNumericInputComponent,\n MJPageSearchComponent,\n MJRefreshButtonComponent,\n MJSwitchComponent,\n MjSlidePanelComponent,\n} from '@memberjunction/ng-ui-components';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\nimport { NgTreesModule } from '@memberjunction/ng-trees';\nimport { ComposerModule } from '@memberjunction/ng-composer';\n\nimport { MyRoutinesListComponent } from './my-routines-list.component';\nimport { NewRoutineComponent } from './new-routine.component';\nimport { RoutineHistoryComponent } from './routine-history.component';\nimport { UserRoutinesCommandCenterComponent } from './user-routines-command-center.component';\nimport { UserRoutinesSlideInComponent } from './user-routines-slide-in.component';\n\n/**\n * Module providing the reusable User Routines UI components.\n *\n * Components:\n * - `<mj-user-routines-command-center>` — Composite surface (list / new / history) most hosts embed\n * - `<mj-user-routines-slide-in>` — The command center in the standard right-edge slide-in panel\n * - `<mj-my-routines-list>` — Card list of the current user's routines with quick actions\n * - `<mj-new-routine>` — Create/edit form (agent tree picker, schedule, notifications, recipients)\n * - `<mj-user-routine-history>` — Run history for one routine with links to execution records\n *\n * Usage:\n * ```typescript\n * import { UserRoutinesModule } from '@memberjunction/ng-user-routines';\n *\n * @NgModule({ imports: [UserRoutinesModule] })\n * export class MyModule {}\n * ```\n */\n@NgModule({\n declarations: [\n MyRoutinesListComponent,\n NewRoutineComponent,\n RoutineHistoryComponent,\n UserRoutinesCommandCenterComponent,\n UserRoutinesSlideInComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n MJAlertComponent,\n MJButtonDirective,\n MJComboboxComponent,\n MJDropdownComponent,\n MJEmptyStateComponent,\n MJNumericInputComponent,\n MJPageSearchComponent,\n MJRefreshButtonComponent,\n MJSwitchComponent,\n MjSlidePanelComponent,\n SharedGenericModule,\n CodeEditorModule,\n NgTreesModule,\n ComposerModule,\n ],\n exports: [\n MyRoutinesListComponent,\n NewRoutineComponent,\n RoutineHistoryComponent,\n UserRoutinesCommandCenterComponent,\n UserRoutinesSlideInComponent,\n ],\n})\nexport class UserRoutinesModule {}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './lib/user-routines.module';
|
|
2
|
+
export * from './lib/user-routines-command-center.component';
|
|
3
|
+
export * from './lib/user-routines-slide-in.component';
|
|
4
|
+
export * from './lib/my-routines-list.component';
|
|
5
|
+
export * from './lib/new-routine.component';
|
|
6
|
+
export * from './lib/routine-history.component';
|
|
7
|
+
export * from './lib/user-routines-events';
|
|
8
|
+
export * from './lib/routine-ui-helpers';
|
|
9
|
+
export * from './lib/routine-target-catalog';
|
|
10
|
+
//# sourceMappingURL=public-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAKA,cAAc,4BAA4B,CAAC;AAG3C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,4BAA4B,CAAC;AAK3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of @memberjunction/ng-user-routines
|
|
3
|
+
*/
|
|
4
|
+
// Module
|
|
5
|
+
export * from './lib/user-routines.module';
|
|
6
|
+
// Components
|
|
7
|
+
export * from './lib/user-routines-command-center.component';
|
|
8
|
+
export * from './lib/user-routines-slide-in.component';
|
|
9
|
+
export * from './lib/my-routines-list.component';
|
|
10
|
+
export * from './lib/new-routine.component';
|
|
11
|
+
export * from './lib/routine-history.component';
|
|
12
|
+
// Event model (Before/After cancelable pairs + informational events)
|
|
13
|
+
export * from './lib/user-routines-events';
|
|
14
|
+
// Pure helpers (cron presets / descriptions, display + serialization utils, target catalog)
|
|
15
|
+
// NOTE: the pure cron helpers (BuildCronExpression, ParseCronExpression, ...)
|
|
16
|
+
// moved to @memberjunction/global — import them from there.
|
|
17
|
+
export * from './lib/routine-ui-helpers';
|
|
18
|
+
export * from './lib/routine-target-catalog';
|
|
19
|
+
//# sourceMappingURL=public-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,cAAc,4BAA4B,CAAC;AAE3C,aAAa;AACb,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAEhD,qEAAqE;AACrE,cAAc,4BAA4B,CAAC;AAE3C,4FAA4F;AAC5F,8EAA8E;AAC9E,4DAA4D;AAC5D,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC","sourcesContent":["/*\n * Public API Surface of @memberjunction/ng-user-routines\n */\n\n// Module\nexport * from './lib/user-routines.module';\n\n// Components\nexport * from './lib/user-routines-command-center.component';\nexport * from './lib/user-routines-slide-in.component';\nexport * from './lib/my-routines-list.component';\nexport * from './lib/new-routine.component';\nexport * from './lib/routine-history.component';\n\n// Event model (Before/After cancelable pairs + informational events)\nexport * from './lib/user-routines-events';\n\n// Pure helpers (cron presets / descriptions, display + serialization utils, target catalog)\n// NOTE: the pure cron helpers (BuildCronExpression, ParseCronExpression, ...)\n// moved to @memberjunction/global — import them from there.\nexport * from './lib/routine-ui-helpers';\nexport * from './lib/routine-target-catalog';\n"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-user-routines",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
]
|
|
3
|
+
"version": "5.45.1",
|
|
4
|
+
"description": "MemberJunction: Reusable Angular components for User Routines — list, editor, and run history for cron-scheduled Agent / Action / Prompt routines",
|
|
5
|
+
"main": "./dist/public-api.js",
|
|
6
|
+
"typings": "./dist/public-api.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"/dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"test": "vitest run",
|
|
12
|
+
"build": "ngc",
|
|
13
|
+
"test:watch": "vitest"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [],
|
|
16
|
+
"author": "",
|
|
17
|
+
"license": "ISC",
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@angular/compiler": "21.1.3",
|
|
20
|
+
"@angular/compiler-cli": "21.1.3",
|
|
21
|
+
"vitest": "^4.0.18"
|
|
22
|
+
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"@angular/common": "21.1.3",
|
|
25
|
+
"@angular/core": "21.1.3",
|
|
26
|
+
"@angular/platform-browser": "21.1.3"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@angular/animations": "21.1.3",
|
|
30
|
+
"@angular/forms": "21.1.3",
|
|
31
|
+
"@memberjunction/actions-base": "5.45.1",
|
|
32
|
+
"@memberjunction/ai-engine-base": "5.45.1",
|
|
33
|
+
"@memberjunction/core": "5.45.1",
|
|
34
|
+
"@memberjunction/core-entities": "5.45.1",
|
|
35
|
+
"@memberjunction/global": "5.45.1",
|
|
36
|
+
"@memberjunction/ng-base-types": "5.45.1",
|
|
37
|
+
"@memberjunction/ng-code-editor": "5.45.1",
|
|
38
|
+
"@memberjunction/ng-composer": "5.45.1",
|
|
39
|
+
"@memberjunction/ng-container-directives": "5.45.1",
|
|
40
|
+
"@memberjunction/ng-notifications": "5.45.1",
|
|
41
|
+
"@memberjunction/ng-shared-generic": "5.45.1",
|
|
42
|
+
"@memberjunction/ng-trees": "5.45.1",
|
|
43
|
+
"@memberjunction/ng-ui-components": "5.45.1",
|
|
44
|
+
"rxjs": "^7.8.2",
|
|
45
|
+
"tslib": "^2.8.1"
|
|
46
|
+
},
|
|
47
|
+
"sideEffects": false,
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "https://github.com/MemberJunction/MJ"
|
|
51
|
+
}
|
|
10
52
|
}
|
package/README.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# @memberjunction/ng-user-routines
|
|
2
|
-
|
|
3
|
-
## ⚠️ IMPORTANT NOTICE ⚠️
|
|
4
|
-
|
|
5
|
-
**This package is created solely for the purpose of setting up OIDC (OpenID Connect) trusted publishing with npm.**
|
|
6
|
-
|
|
7
|
-
This is **NOT** a functional package and contains **NO** code or functionality beyond the OIDC setup configuration.
|
|
8
|
-
|
|
9
|
-
## Purpose
|
|
10
|
-
|
|
11
|
-
This package exists to:
|
|
12
|
-
1. Configure OIDC trusted publishing for the package name `@memberjunction/ng-user-routines`
|
|
13
|
-
2. Enable secure, token-less publishing from CI/CD workflows
|
|
14
|
-
3. Establish provenance for packages published under this name
|
|
15
|
-
|
|
16
|
-
## What is OIDC Trusted Publishing?
|
|
17
|
-
|
|
18
|
-
OIDC trusted publishing allows package maintainers to publish packages directly from their CI/CD workflows without needing to manage npm access tokens. Instead, it uses OpenID Connect to establish trust between the CI/CD provider (like GitHub Actions) and npm.
|
|
19
|
-
|
|
20
|
-
## Setup Instructions
|
|
21
|
-
|
|
22
|
-
To properly configure OIDC trusted publishing for this package:
|
|
23
|
-
|
|
24
|
-
1. Go to [npmjs.com](https://www.npmjs.com/) and navigate to your package settings
|
|
25
|
-
2. Configure the trusted publisher (e.g., GitHub Actions)
|
|
26
|
-
3. Specify the repository and workflow that should be allowed to publish
|
|
27
|
-
4. Use the configured workflow to publish your actual package
|
|
28
|
-
|
|
29
|
-
## DO NOT USE THIS PACKAGE
|
|
30
|
-
|
|
31
|
-
This package is a placeholder for OIDC configuration only. It:
|
|
32
|
-
- Contains no executable code
|
|
33
|
-
- Provides no functionality
|
|
34
|
-
- Should not be installed as a dependency
|
|
35
|
-
- Exists only for administrative purposes
|
|
36
|
-
|
|
37
|
-
## More Information
|
|
38
|
-
|
|
39
|
-
For more details about npm's trusted publishing feature, see:
|
|
40
|
-
- [npm Trusted Publishing Documentation](https://docs.npmjs.com/generating-provenance-statements)
|
|
41
|
-
- [GitHub Actions OIDC Documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
**Maintained for OIDC setup purposes only**
|