@memberjunction/ng-record-process-studio 5.43.0 → 5.44.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-process-studio.component.d.ts","sourceRoot":"","sources":["../../../src/lib/record-process-studio/record-process-studio.component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAgE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAA+B,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;;AAIzI,wDAAwD;AACxD,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,
|
|
1
|
+
{"version":3,"file":"record-process-studio.component.d.ts","sourceRoot":"","sources":["../../../src/lib/record-process-studio/record-process-studio.component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAgE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAA+B,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;;AAIzI,wDAAwD;AACxD,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAgGa,4BAA6B,SAAQ,oBAAqB,YAAW,MAAM;IACpF,OAAO,CAAC,GAAG,CAA6B;IAExC,qGAAqG;IAC5F,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAU;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,OAAO,UAAQ;IACf,MAAM,SAAM;IACZ,SAAS,EAAE,UAAU,EAAE,CAAM;IAC7B,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,GAAG,IAAI,CAAQ;IAElF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,IAAI,QAAQ,IAAI,UAAU,EAAE,CAI3B;IAEK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB7B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAE5B,GAAG,IAAI,IAAI;IACX,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IACzB,UAAU,IAAI,IAAI;IACZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,4FAA4F;IAC5F,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAmBxB,SAAS,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI;IAEzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;yCApE1B,4BAA4B;2CAA5B,4BAA4B;CAuExC"}
|
|
@@ -9,7 +9,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, inject }
|
|
|
9
9
|
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
10
10
|
import { RunView } from '@memberjunction/core';
|
|
11
11
|
import { EntityActionUXHostComponent } from '@memberjunction/ng-entity-action-ux';
|
|
12
|
-
import { MJButtonDirective } from '@memberjunction/ng-ui-components';
|
|
12
|
+
import { MJButtonDirective, MJEmptyStateComponent } from '@memberjunction/ng-ui-components';
|
|
13
13
|
import { RecordProcessEditorComponent } from '../record-process-editor/record-process-editor.component';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
@@ -21,16 +21,9 @@ function RecordProcessStudioComponent_Conditional_0_Conditional_11_Template(rf,
|
|
|
21
21
|
} }
|
|
22
22
|
function RecordProcessStudioComponent_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
23
23
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
24
|
-
i0.ɵɵelementStart(0, "
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
i0.ɵɵelementStart(2, "p");
|
|
27
|
-
i0.ɵɵtext(3, "No bulk operations yet.");
|
|
24
|
+
i0.ɵɵelementStart(0, "mj-empty-state", 14);
|
|
25
|
+
i0.ɵɵlistener("Action", function RecordProcessStudioComponent_Conditional_0_Conditional_12_Template_mj_empty_state_Action_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.New()); });
|
|
28
26
|
i0.ɵɵelementEnd();
|
|
29
|
-
i0.ɵɵelementStart(4, "button", 8);
|
|
30
|
-
i0.ɵɵlistener("click", function RecordProcessStudioComponent_Conditional_0_Conditional_12_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.New()); });
|
|
31
|
-
i0.ɵɵelement(5, "i", 9);
|
|
32
|
-
i0.ɵɵtext(6, " Create one");
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
27
|
} }
|
|
35
28
|
function RecordProcessStudioComponent_Conditional_0_Conditional_13_For_13_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
36
29
|
i0.ɵɵelementStart(0, "div", 20);
|
|
@@ -126,7 +119,7 @@ function RecordProcessStudioComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
126
119
|
i0.ɵɵelement(9, "i", 9);
|
|
127
120
|
i0.ɵɵtext(10, " New operation");
|
|
128
121
|
i0.ɵɵelementEnd()();
|
|
129
|
-
i0.ɵɵconditionalCreate(11, RecordProcessStudioComponent_Conditional_0_Conditional_11_Template, 3, 0, "div", 10)(12, RecordProcessStudioComponent_Conditional_0_Conditional_12_Template,
|
|
122
|
+
i0.ɵɵconditionalCreate(11, RecordProcessStudioComponent_Conditional_0_Conditional_11_Template, 3, 0, "div", 10)(12, RecordProcessStudioComponent_Conditional_0_Conditional_12_Template, 1, 0, "mj-empty-state", 11)(13, RecordProcessStudioComponent_Conditional_0_Conditional_13_Template, 14, 0, "div", 12);
|
|
130
123
|
} if (rf & 2) {
|
|
131
124
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
132
125
|
i0.ɵɵadvance(3);
|
|
@@ -228,18 +221,18 @@ export class RecordProcessStudioComponent extends BaseAngularComponent {
|
|
|
228
221
|
return workType === 'FieldRules' ? 'Field Rules' : workType;
|
|
229
222
|
}
|
|
230
223
|
static ɵfac = /*@__PURE__*/ (() => { let ɵRecordProcessStudioComponent_BaseFactory; return function RecordProcessStudioComponent_Factory(__ngFactoryType__) { return (ɵRecordProcessStudioComponent_BaseFactory || (ɵRecordProcessStudioComponent_BaseFactory = i0.ɵɵgetInheritedFactory(RecordProcessStudioComponent)))(__ngFactoryType__ || RecordProcessStudioComponent); }; })();
|
|
231
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RecordProcessStudioComponent, selectors: [["mj-record-process-studio"]], inputs: { EntityID: "EntityID" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [[3, "DriverClass", "Context"], [1, "rps-bar"], [1, "rps-search"], [1, "fa-solid", "fa-magnifying-glass"], ["placeholder", "Search bulk operations\u2026", 1, "mj-input", 3, "input", "value"], [1, "rps-spacer"], ["mjButton", "", "variant", "flat", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], ["mjButton", "", "variant", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "rps-msg"], [1, "rps-empty"], [1, "rps-table"], [1, "fa-solid", "fa-circle-notch", "fa-spin"], [
|
|
224
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RecordProcessStudioComponent, selectors: [["mj-record-process-studio"]], inputs: { EntityID: "EntityID" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [[3, "DriverClass", "Context"], [1, "rps-bar"], [1, "rps-search"], [1, "fa-solid", "fa-magnifying-glass"], ["placeholder", "Search bulk operations\u2026", 1, "mj-input", 3, "input", "value"], [1, "rps-spacer"], ["mjButton", "", "variant", "flat", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], ["mjButton", "", "variant", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "rps-msg"], ["Icon", "fa-solid fa-list-check", "Title", "No bulk operations yet", "ActionText", "Create one", "ActionIcon", "fa-solid fa-plus", 1, "rps-empty"], [1, "rps-table"], [1, "fa-solid", "fa-circle-notch", "fa-spin"], ["Icon", "fa-solid fa-list-check", "Title", "No bulk operations yet", "ActionText", "Create one", "ActionIcon", "fa-solid fa-plus", 1, "rps-empty", 3, "Action"], [1, "rps-tr", "rps-head"], [1, "ta-r"], [1, "rps-tr"], [1, "rps-tr", 3, "click"], [1, "rps-nm"], [1, "rps-sub"], [1, "pill", "purple"], [1, "pill"], [1, "ta-r", "rps-acts", 3, "click"], ["title", "Run", 1, "iconbtn", "run", 3, "click"], [1, "fa-solid", "fa-play"], ["title", "Edit", 1, "iconbtn", 3, "click"], [1, "fa-solid", "fa-pen"], [1, "rps-editbar"], [1, "fa-solid", "fa-arrow-left"], [3, "Saved", "Cancelled", "RecordProcessID", "DefaultEntityID", "Provider"], [3, "Completed", "Cancelled", "DriverClass", "Context"]], template: function RecordProcessStudioComponent_Template(rf, ctx) { if (rf & 1) {
|
|
232
225
|
i0.ɵɵconditionalCreate(0, RecordProcessStudioComponent_Conditional_0_Template, 14, 2)(1, RecordProcessStudioComponent_Conditional_1_Template, 7, 4);
|
|
233
226
|
i0.ɵɵconditionalCreate(2, RecordProcessStudioComponent_Conditional_2_Template, 1, 2, "mj-entity-action-ux-host", 0);
|
|
234
227
|
} if (rf & 2) {
|
|
235
228
|
i0.ɵɵconditional(ctx.Mode === "list" ? 0 : 1);
|
|
236
229
|
i0.ɵɵadvance(2);
|
|
237
230
|
i0.ɵɵconditional(ctx.RunDriver ? 2 : -1);
|
|
238
|
-
} }, dependencies: [RecordProcessEditorComponent, EntityActionUXHostComponent, MJButtonDirective], styles: ["[_nghost-%COMP%]{display:block;color:var(--mj-text-primary)}\n .rps-bar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-bottom:16px}\n .rps-search[_ngcontent-%COMP%]{position:relative;flex:0 0 360px;max-width:360px}\n .rps-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mj-text-muted);font-size:13px}\n .rps-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:34px}\n .rps-spacer[_ngcontent-%COMP%]{flex:1}\n .rps-bar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .rps-editbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:6px}\n .rps-msg[_ngcontent-%COMP%], .rps-empty[_ngcontent-%COMP%]{padding:40px;text-align:center;color:var(--mj-text-muted)}\n .rps-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:30px;display:block;margin-bottom:12px;color:var(--mj-text-disabled)}\n .rps-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 16px}\n .rps-table[_ngcontent-%COMP%]{border:1px solid var(--mj-border-subtle);border-radius:var(--mj-radius-md,10px);overflow:hidden}\n .rps-tr[_ngcontent-%COMP%]{display:grid;grid-template-columns:2.2fr 1.2fr 1fr .8fr 1fr;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--mj-border-subtle);cursor:pointer;font-size:13.5px}\n .rps-tr[_ngcontent-%COMP%]:last-child{border-bottom:none}\n .rps-tr[_ngcontent-%COMP%]:not(.rps-head):hover{background:var(--mj-bg-surface-hover)}\n .rps-head[_ngcontent-%COMP%]{background:var(--mj-bg-surface-sunken);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mj-text-muted);font-weight:700;cursor:default}\n .rps-nm[_ngcontent-%COMP%]{font-weight:600}\n .rps-sub[_ngcontent-%COMP%]{color:var(--mj-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}\n .ta-r[_ngcontent-%COMP%]{text-align:right;justify-self:end}\n .rps-acts[_ngcontent-%COMP%]{display:flex;gap:6px}\n .iconbtn[_ngcontent-%COMP%]{width:30px;height:30px;border-radius:7px;border:1px solid var(--mj-border-default);background:var(--mj-bg-surface-card);color:var(--mj-text-secondary);cursor:pointer;font-size:12.5px}\n .iconbtn[_ngcontent-%COMP%]:hover{background:var(--mj-bg-surface-hover);color:var(--mj-text-primary)}\n .iconbtn.run[_ngcontent-%COMP%]:hover{color:var(--mj-status-success-text);border-color:var(--mj-status-success)}\n .pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--mj-bg-surface-sunken);color:var(--mj-text-secondary)}\n .pill.purple[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--mj-brand-primary) 14%,transparent);color:var(--mj-brand-primary)}\n .pill.ok[_ngcontent-%COMP%]{background:var(--mj-status-success-bg);color:var(--mj-status-success-text)}\n .pill.warn[_ngcontent-%COMP%]{background:var(--mj-status-warning-bg);color:var(--mj-status-warning-text)}\n .pill.muted[_ngcontent-%COMP%]{background:var(--mj-bg-surface-sunken);color:var(--mj-text-muted)}\n .rps-editbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:14px;margin-bottom:18px}\n .rps-editbar[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:700}"], changeDetection: 0 });
|
|
231
|
+
} }, dependencies: [RecordProcessEditorComponent, EntityActionUXHostComponent, MJButtonDirective, MJEmptyStateComponent], styles: ["[_nghost-%COMP%]{display:block;color:var(--mj-text-primary)}\n .rps-bar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-bottom:16px}\n .rps-search[_ngcontent-%COMP%]{position:relative;flex:0 0 360px;max-width:360px}\n .rps-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mj-text-muted);font-size:13px}\n .rps-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:34px}\n .rps-spacer[_ngcontent-%COMP%]{flex:1}\n .rps-bar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .rps-editbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:6px}\n .rps-msg[_ngcontent-%COMP%], .rps-empty[_ngcontent-%COMP%]{padding:40px;text-align:center;color:var(--mj-text-muted)}\n .rps-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:30px;display:block;margin-bottom:12px;color:var(--mj-text-disabled)}\n .rps-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 16px}\n .rps-table[_ngcontent-%COMP%]{border:1px solid var(--mj-border-subtle);border-radius:var(--mj-radius-md,10px);overflow:hidden}\n .rps-tr[_ngcontent-%COMP%]{display:grid;grid-template-columns:2.2fr 1.2fr 1fr .8fr 1fr;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--mj-border-subtle);cursor:pointer;font-size:13.5px}\n .rps-tr[_ngcontent-%COMP%]:last-child{border-bottom:none}\n .rps-tr[_ngcontent-%COMP%]:not(.rps-head):hover{background:var(--mj-bg-surface-hover)}\n .rps-head[_ngcontent-%COMP%]{background:var(--mj-bg-surface-sunken);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mj-text-muted);font-weight:700;cursor:default}\n .rps-nm[_ngcontent-%COMP%]{font-weight:600}\n .rps-sub[_ngcontent-%COMP%]{color:var(--mj-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}\n .ta-r[_ngcontent-%COMP%]{text-align:right;justify-self:end}\n .rps-acts[_ngcontent-%COMP%]{display:flex;gap:6px}\n .iconbtn[_ngcontent-%COMP%]{width:30px;height:30px;border-radius:7px;border:1px solid var(--mj-border-default);background:var(--mj-bg-surface-card);color:var(--mj-text-secondary);cursor:pointer;font-size:12.5px}\n .iconbtn[_ngcontent-%COMP%]:hover{background:var(--mj-bg-surface-hover);color:var(--mj-text-primary)}\n .iconbtn.run[_ngcontent-%COMP%]:hover{color:var(--mj-status-success-text);border-color:var(--mj-status-success)}\n .pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--mj-bg-surface-sunken);color:var(--mj-text-secondary)}\n .pill.purple[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--mj-brand-primary) 14%,transparent);color:var(--mj-brand-primary)}\n .pill.ok[_ngcontent-%COMP%]{background:var(--mj-status-success-bg);color:var(--mj-status-success-text)}\n .pill.warn[_ngcontent-%COMP%]{background:var(--mj-status-warning-bg);color:var(--mj-status-warning-text)}\n .pill.muted[_ngcontent-%COMP%]{background:var(--mj-bg-surface-sunken);color:var(--mj-text-muted)}\n .rps-editbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:14px;margin-bottom:18px}\n .rps-editbar[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:700}"], changeDetection: 0 });
|
|
239
232
|
}
|
|
240
233
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RecordProcessStudioComponent, [{
|
|
241
234
|
type: Component,
|
|
242
|
-
args: [{ selector: 'mj-record-process-studio', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [RecordProcessEditorComponent, EntityActionUXHostComponent, MJButtonDirective], template: `
|
|
235
|
+
args: [{ selector: 'mj-record-process-studio', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [RecordProcessEditorComponent, EntityActionUXHostComponent, MJButtonDirective, MJEmptyStateComponent], template: `
|
|
243
236
|
@if (Mode === 'list') {
|
|
244
237
|
<div class="rps-bar">
|
|
245
238
|
<div class="rps-search"><i class="fa-solid fa-magnifying-glass"></i>
|
|
@@ -252,11 +245,12 @@ export class RecordProcessStudioComponent extends BaseAngularComponent {
|
|
|
252
245
|
@if (Loading) {
|
|
253
246
|
<div class="rps-msg"><i class="fa-solid fa-circle-notch fa-spin"></i> Loading…</div>
|
|
254
247
|
} @else if (Filtered.length === 0) {
|
|
255
|
-
<
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
248
|
+
<mj-empty-state class="rps-empty"
|
|
249
|
+
Icon="fa-solid fa-list-check"
|
|
250
|
+
Title="No bulk operations yet"
|
|
251
|
+
ActionText="Create one"
|
|
252
|
+
ActionIcon="fa-solid fa-plus"
|
|
253
|
+
(Action)="New()" />
|
|
260
254
|
} @else {
|
|
261
255
|
<div class="rps-table">
|
|
262
256
|
<div class="rps-tr rps-head">
|
|
@@ -300,5 +294,5 @@ export class RecordProcessStudioComponent extends BaseAngularComponent {
|
|
|
300
294
|
}], null, { EntityID: [{
|
|
301
295
|
type: Input
|
|
302
296
|
}] }); })();
|
|
303
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecordProcessStudioComponent, { className: "RecordProcessStudioComponent", filePath: "lib/record-process-studio/record-process-studio.component.ts", lineNumber:
|
|
297
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecordProcessStudioComponent, { className: "RecordProcessStudioComponent", filePath: "lib/record-process-studio/record-process-studio.component.ts", lineNumber: 126 }); })();
|
|
304
298
|
//# sourceMappingURL=record-process-studio.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-process-studio.component.js","sourceRoot":"","sources":["../../../src/lib/record-process-studio/record-process-studio.component.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview The Bulk Operations hub: lists the org's Record Processes, lets a user create / edit one\n * (via the embedded {@link RecordProcessEditorComponent}), and run any of them on demand (mounting the\n * same dry-run → confirm runner used from a grid). Generic + reusable — Explorer's Bulk Operations app\n * hosts it, but any MJ app can drop it in.\n * @module @memberjunction/ng-record-process-studio\n */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, inject } from '@angular/core';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { RunView } from '@memberjunction/core';\nimport { EntityActionUXHostComponent, type EntityActionUXContext, type EntityActionUXResult } from '@memberjunction/ng-entity-action-ux';\nimport { MJButtonDirective } from '@memberjunction/ng-ui-components';\nimport { RecordProcessEditorComponent } from '../record-process-editor/record-process-editor.component';\n\n/** A row of the process list (read-only projection). */\ninterface ProcessRow {\n ID: string;\n Name: string;\n Description?: string;\n Entity: string;\n EntityID: string;\n WorkType: string;\n Status: string;\n ScopeType: string;\n ScopeFilter?: string;\n ScopeViewID?: string;\n ScopeListID?: string;\n}\n\n@Component({\n selector: 'mj-record-process-studio',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RecordProcessEditorComponent, EntityActionUXHostComponent, MJButtonDirective],\n template: `\n @if (Mode === 'list') {\n <div class=\"rps-bar\">\n <div class=\"rps-search\"><i class=\"fa-solid fa-magnifying-glass\"></i>\n <input class=\"mj-input\" placeholder=\"Search bulk operations…\" [value]=\"Search\" (input)=\"onSearch($event)\"></div>\n <span class=\"rps-spacer\"></span>\n <button mjButton variant=\"flat\" (click)=\"reload()\"><i class=\"fa-solid fa-arrows-rotate\"></i> Refresh</button>\n <button mjButton variant=\"primary\" (click)=\"New()\"><i class=\"fa-solid fa-plus\"></i> New operation</button>\n </div>\n\n @if (Loading) {\n <div class=\"rps-msg\"><i class=\"fa-solid fa-circle-notch fa-spin\"></i> Loading…</div>\n } @else if (Filtered.length === 0) {\n <div class=\"rps-empty\">\n <i class=\"fa-solid fa-list-check\"></i>\n <p>No bulk operations yet.</p>\n <button mjButton variant=\"primary\" (click)=\"New()\"><i class=\"fa-solid fa-plus\"></i> Create one</button>\n </div>\n } @else {\n <div class=\"rps-table\">\n <div class=\"rps-tr rps-head\">\n <div>Operation</div><div>Entity</div><div>Type</div><div>Status</div><div class=\"ta-r\">Actions</div>\n </div>\n @for (p of Filtered; track p.ID) {\n <div class=\"rps-tr\" (click)=\"Edit(p)\">\n <div><div class=\"rps-nm\">{{ p.Name }}</div>@if (p.Description) {<div class=\"rps-sub\">{{ p.Description }}</div>}</div>\n <div>{{ p.Entity }}</div>\n <div><span class=\"pill purple\">{{ workLabel(p.WorkType) }}</span></div>\n <div><span class=\"pill\" [class.ok]=\"p.Status==='Active'\" [class.warn]=\"p.Status==='Draft'\" [class.muted]=\"p.Status==='Disabled'\">{{ p.Status }}</span></div>\n <div class=\"ta-r rps-acts\" (click)=\"$event.stopPropagation()\">\n <button class=\"iconbtn run\" title=\"Run\" (click)=\"Run(p)\"><i class=\"fa-solid fa-play\"></i></button>\n <button class=\"iconbtn\" title=\"Edit\" (click)=\"Edit(p)\"><i class=\"fa-solid fa-pen\"></i></button>\n </div>\n </div>\n }\n </div>\n }\n } @else {\n <div class=\"rps-editbar\">\n <button mjButton variant=\"flat\" (click)=\"backToList()\"><i class=\"fa-solid fa-arrow-left\"></i> Back</button>\n <h2>{{ EditingID ? 'Edit operation' : 'New operation' }}</h2>\n </div>\n <mj-record-process-editor\n [RecordProcessID]=\"EditingID\"\n [DefaultEntityID]=\"EntityID\"\n [Provider]=\"Provider\"\n (Saved)=\"onSaved()\"\n (Cancelled)=\"backToList()\">\n </mj-record-process-editor>\n }\n\n @if (RunDriver) {\n <mj-entity-action-ux-host\n [DriverClass]=\"RunDriver.DriverClass\" [Context]=\"RunDriver.Context\"\n (Completed)=\"onRunDone($event)\" (Cancelled)=\"RunDriver = null\">\n </mj-entity-action-ux-host>\n }\n `,\n styles: [`\n :host{display:block;color:var(--mj-text-primary)}\n .rps-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px}\n .rps-search{position:relative;flex:0 0 360px;max-width:360px}\n .rps-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mj-text-muted);font-size:13px}\n .rps-search input{padding-left:34px}\n .rps-spacer{flex:1}\n .rps-bar button i,.rps-editbar button i{margin-right:6px}\n .rps-msg,.rps-empty{padding:40px;text-align:center;color:var(--mj-text-muted)}\n .rps-empty i{font-size:30px;display:block;margin-bottom:12px;color:var(--mj-text-disabled)}\n .rps-empty p{margin:0 0 16px}\n .rps-table{border:1px solid var(--mj-border-subtle);border-radius:var(--mj-radius-md,10px);overflow:hidden}\n .rps-tr{display:grid;grid-template-columns:2.2fr 1.2fr 1fr .8fr 1fr;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--mj-border-subtle);cursor:pointer;font-size:13.5px}\n .rps-tr:last-child{border-bottom:none}\n .rps-tr:not(.rps-head):hover{background:var(--mj-bg-surface-hover)}\n .rps-head{background:var(--mj-bg-surface-sunken);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mj-text-muted);font-weight:700;cursor:default}\n .rps-nm{font-weight:600}\n .rps-sub{color:var(--mj-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}\n .ta-r{text-align:right;justify-self:end}\n .rps-acts{display:flex;gap:6px}\n .iconbtn{width:30px;height:30px;border-radius:7px;border:1px solid var(--mj-border-default);background:var(--mj-bg-surface-card);color:var(--mj-text-secondary);cursor:pointer;font-size:12.5px}\n .iconbtn:hover{background:var(--mj-bg-surface-hover);color:var(--mj-text-primary)}\n .iconbtn.run:hover{color:var(--mj-status-success-text);border-color:var(--mj-status-success)}\n .pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--mj-bg-surface-sunken);color:var(--mj-text-secondary)}\n .pill.purple{background:color-mix(in srgb,var(--mj-brand-primary) 14%,transparent);color:var(--mj-brand-primary)}\n .pill.ok{background:var(--mj-status-success-bg);color:var(--mj-status-success-text)}\n .pill.warn{background:var(--mj-status-warning-bg);color:var(--mj-status-warning-text)}\n .pill.muted{background:var(--mj-bg-surface-sunken);color:var(--mj-text-muted)}\n .rps-editbar{display:flex;align-items:center;gap:14px;margin-bottom:18px}\n .rps-editbar h2{margin:0;font-size:18px;font-weight:700}\n `],\n})\nexport class RecordProcessStudioComponent extends BaseAngularComponent implements OnInit {\n private cdr = inject(ChangeDetectorRef);\n\n /** Optional: restrict the hub to processes for one entity (e.g. when embedded on an entity page). */\n @Input() EntityID: string | null = null;\n\n public Mode: 'list' | 'edit' = 'list';\n public EditingID: string | null = null;\n public Loading = true;\n public Search = '';\n public Processes: ProcessRow[] = [];\n public RunDriver: { DriverClass: string; Context: EntityActionUXContext } | null = null;\n\n async ngOnInit(): Promise<void> {\n await this.reload();\n }\n\n get Filtered(): ProcessRow[] {\n const q = this.Search.trim().toLowerCase();\n if (!q) return this.Processes;\n return this.Processes.filter((p) => p.Name.toLowerCase().includes(q) || (p.Entity ?? '').toLowerCase().includes(q));\n }\n\n async reload(): Promise<void> {\n this.Loading = true; this.cdr.detectChanges();\n const rv = this.Provider ? RunView.FromMetadataProvider(this.Provider) : new RunView();\n const filter = this.EntityID ? `EntityID='${this.EntityID}'` : '';\n const result = await rv.RunView<ProcessRow>({\n EntityName: 'MJ: Record Processes',\n Fields: ['ID', 'Name', 'Description', 'Entity', 'EntityID', 'WorkType', 'Status', 'ScopeType', 'ScopeFilter', 'ScopeViewID', 'ScopeListID'],\n ExtraFilter: filter,\n OrderBy: 'Name',\n ResultType: 'simple',\n });\n this.Processes = result.Success ? (result.Results ?? []) : [];\n this.Loading = false;\n this.cdr.detectChanges();\n }\n\n onSearch(event: Event): void { this.Search = (event.target as HTMLInputElement).value; this.cdr.detectChanges(); }\n\n New(): void { this.EditingID = null; this.Mode = 'edit'; this.cdr.detectChanges(); }\n Edit(p: ProcessRow): void { this.EditingID = p.ID; this.Mode = 'edit'; this.cdr.detectChanges(); }\n backToList(): void { this.Mode = 'list'; this.EditingID = null; this.cdr.detectChanges(); }\n async onSaved(): Promise<void> { this.backToList(); await this.reload(); }\n\n /** Runs a process on demand against its default scope, via the dry-run → confirm runner. */\n Run(p: ProcessRow): void {\n const entity = this.ProviderToUse.EntityByID(p.EntityID);\n if (!entity) return;\n this.RunDriver = {\n DriverClass: 'RecordProcessRunnerUX',\n Context: {\n EntityInfo: entity,\n ScopeKind: (p.ScopeType?.toLowerCase() as EntityActionUXContext['ScopeKind']) || 'filter',\n Filter: p.ScopeFilter ?? undefined,\n ViewID: p.ScopeViewID ?? undefined,\n ListID: p.ScopeListID ?? undefined,\n Config: { RecordProcessID: p.ID },\n Provider: this.ProviderToUse,\n ActionLabel: p.Name,\n },\n };\n this.cdr.detectChanges();\n }\n\n onRunDone(_r: EntityActionUXResult): void { this.RunDriver = null; this.cdr.detectChanges(); }\n\n workLabel(workType: string): string {\n return workType === 'FieldRules' ? 'Field Rules' : workType;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"record-process-studio.component.js","sourceRoot":"","sources":["../../../src/lib/record-process-studio/record-process-studio.component.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview The Bulk Operations hub: lists the org's Record Processes, lets a user create / edit one\n * (via the embedded {@link RecordProcessEditorComponent}), and run any of them on demand (mounting the\n * same dry-run → confirm runner used from a grid). Generic + reusable — Explorer's Bulk Operations app\n * hosts it, but any MJ app can drop it in.\n * @module @memberjunction/ng-record-process-studio\n */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, inject } from '@angular/core';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { RunView } from '@memberjunction/core';\nimport { EntityActionUXHostComponent, type EntityActionUXContext, type EntityActionUXResult } from '@memberjunction/ng-entity-action-ux';\nimport { MJButtonDirective, MJEmptyStateComponent } from '@memberjunction/ng-ui-components';\nimport { RecordProcessEditorComponent } from '../record-process-editor/record-process-editor.component';\n\n/** A row of the process list (read-only projection). */\ninterface ProcessRow {\n ID: string;\n Name: string;\n Description?: string;\n Entity: string;\n EntityID: string;\n WorkType: string;\n Status: string;\n ScopeType: string;\n ScopeFilter?: string;\n ScopeViewID?: string;\n ScopeListID?: string;\n}\n\n@Component({\n selector: 'mj-record-process-studio',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RecordProcessEditorComponent, EntityActionUXHostComponent, MJButtonDirective, MJEmptyStateComponent],\n template: `\n @if (Mode === 'list') {\n <div class=\"rps-bar\">\n <div class=\"rps-search\"><i class=\"fa-solid fa-magnifying-glass\"></i>\n <input class=\"mj-input\" placeholder=\"Search bulk operations…\" [value]=\"Search\" (input)=\"onSearch($event)\"></div>\n <span class=\"rps-spacer\"></span>\n <button mjButton variant=\"flat\" (click)=\"reload()\"><i class=\"fa-solid fa-arrows-rotate\"></i> Refresh</button>\n <button mjButton variant=\"primary\" (click)=\"New()\"><i class=\"fa-solid fa-plus\"></i> New operation</button>\n </div>\n\n @if (Loading) {\n <div class=\"rps-msg\"><i class=\"fa-solid fa-circle-notch fa-spin\"></i> Loading…</div>\n } @else if (Filtered.length === 0) {\n <mj-empty-state class=\"rps-empty\"\n Icon=\"fa-solid fa-list-check\"\n Title=\"No bulk operations yet\"\n ActionText=\"Create one\"\n ActionIcon=\"fa-solid fa-plus\"\n (Action)=\"New()\" />\n } @else {\n <div class=\"rps-table\">\n <div class=\"rps-tr rps-head\">\n <div>Operation</div><div>Entity</div><div>Type</div><div>Status</div><div class=\"ta-r\">Actions</div>\n </div>\n @for (p of Filtered; track p.ID) {\n <div class=\"rps-tr\" (click)=\"Edit(p)\">\n <div><div class=\"rps-nm\">{{ p.Name }}</div>@if (p.Description) {<div class=\"rps-sub\">{{ p.Description }}</div>}</div>\n <div>{{ p.Entity }}</div>\n <div><span class=\"pill purple\">{{ workLabel(p.WorkType) }}</span></div>\n <div><span class=\"pill\" [class.ok]=\"p.Status==='Active'\" [class.warn]=\"p.Status==='Draft'\" [class.muted]=\"p.Status==='Disabled'\">{{ p.Status }}</span></div>\n <div class=\"ta-r rps-acts\" (click)=\"$event.stopPropagation()\">\n <button class=\"iconbtn run\" title=\"Run\" (click)=\"Run(p)\"><i class=\"fa-solid fa-play\"></i></button>\n <button class=\"iconbtn\" title=\"Edit\" (click)=\"Edit(p)\"><i class=\"fa-solid fa-pen\"></i></button>\n </div>\n </div>\n }\n </div>\n }\n } @else {\n <div class=\"rps-editbar\">\n <button mjButton variant=\"flat\" (click)=\"backToList()\"><i class=\"fa-solid fa-arrow-left\"></i> Back</button>\n <h2>{{ EditingID ? 'Edit operation' : 'New operation' }}</h2>\n </div>\n <mj-record-process-editor\n [RecordProcessID]=\"EditingID\"\n [DefaultEntityID]=\"EntityID\"\n [Provider]=\"Provider\"\n (Saved)=\"onSaved()\"\n (Cancelled)=\"backToList()\">\n </mj-record-process-editor>\n }\n\n @if (RunDriver) {\n <mj-entity-action-ux-host\n [DriverClass]=\"RunDriver.DriverClass\" [Context]=\"RunDriver.Context\"\n (Completed)=\"onRunDone($event)\" (Cancelled)=\"RunDriver = null\">\n </mj-entity-action-ux-host>\n }\n `,\n styles: [`\n :host{display:block;color:var(--mj-text-primary)}\n .rps-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px}\n .rps-search{position:relative;flex:0 0 360px;max-width:360px}\n .rps-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mj-text-muted);font-size:13px}\n .rps-search input{padding-left:34px}\n .rps-spacer{flex:1}\n .rps-bar button i,.rps-editbar button i{margin-right:6px}\n .rps-msg,.rps-empty{padding:40px;text-align:center;color:var(--mj-text-muted)}\n .rps-empty i{font-size:30px;display:block;margin-bottom:12px;color:var(--mj-text-disabled)}\n .rps-empty p{margin:0 0 16px}\n .rps-table{border:1px solid var(--mj-border-subtle);border-radius:var(--mj-radius-md,10px);overflow:hidden}\n .rps-tr{display:grid;grid-template-columns:2.2fr 1.2fr 1fr .8fr 1fr;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--mj-border-subtle);cursor:pointer;font-size:13.5px}\n .rps-tr:last-child{border-bottom:none}\n .rps-tr:not(.rps-head):hover{background:var(--mj-bg-surface-hover)}\n .rps-head{background:var(--mj-bg-surface-sunken);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mj-text-muted);font-weight:700;cursor:default}\n .rps-nm{font-weight:600}\n .rps-sub{color:var(--mj-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}\n .ta-r{text-align:right;justify-self:end}\n .rps-acts{display:flex;gap:6px}\n .iconbtn{width:30px;height:30px;border-radius:7px;border:1px solid var(--mj-border-default);background:var(--mj-bg-surface-card);color:var(--mj-text-secondary);cursor:pointer;font-size:12.5px}\n .iconbtn:hover{background:var(--mj-bg-surface-hover);color:var(--mj-text-primary)}\n .iconbtn.run:hover{color:var(--mj-status-success-text);border-color:var(--mj-status-success)}\n .pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--mj-bg-surface-sunken);color:var(--mj-text-secondary)}\n .pill.purple{background:color-mix(in srgb,var(--mj-brand-primary) 14%,transparent);color:var(--mj-brand-primary)}\n .pill.ok{background:var(--mj-status-success-bg);color:var(--mj-status-success-text)}\n .pill.warn{background:var(--mj-status-warning-bg);color:var(--mj-status-warning-text)}\n .pill.muted{background:var(--mj-bg-surface-sunken);color:var(--mj-text-muted)}\n .rps-editbar{display:flex;align-items:center;gap:14px;margin-bottom:18px}\n .rps-editbar h2{margin:0;font-size:18px;font-weight:700}\n `],\n})\nexport class RecordProcessStudioComponent extends BaseAngularComponent implements OnInit {\n private cdr = inject(ChangeDetectorRef);\n\n /** Optional: restrict the hub to processes for one entity (e.g. when embedded on an entity page). */\n @Input() EntityID: string | null = null;\n\n public Mode: 'list' | 'edit' = 'list';\n public EditingID: string | null = null;\n public Loading = true;\n public Search = '';\n public Processes: ProcessRow[] = [];\n public RunDriver: { DriverClass: string; Context: EntityActionUXContext } | null = null;\n\n async ngOnInit(): Promise<void> {\n await this.reload();\n }\n\n get Filtered(): ProcessRow[] {\n const q = this.Search.trim().toLowerCase();\n if (!q) return this.Processes;\n return this.Processes.filter((p) => p.Name.toLowerCase().includes(q) || (p.Entity ?? '').toLowerCase().includes(q));\n }\n\n async reload(): Promise<void> {\n this.Loading = true; this.cdr.detectChanges();\n const rv = this.Provider ? RunView.FromMetadataProvider(this.Provider) : new RunView();\n const filter = this.EntityID ? `EntityID='${this.EntityID}'` : '';\n const result = await rv.RunView<ProcessRow>({\n EntityName: 'MJ: Record Processes',\n Fields: ['ID', 'Name', 'Description', 'Entity', 'EntityID', 'WorkType', 'Status', 'ScopeType', 'ScopeFilter', 'ScopeViewID', 'ScopeListID'],\n ExtraFilter: filter,\n OrderBy: 'Name',\n ResultType: 'simple',\n });\n this.Processes = result.Success ? (result.Results ?? []) : [];\n this.Loading = false;\n this.cdr.detectChanges();\n }\n\n onSearch(event: Event): void { this.Search = (event.target as HTMLInputElement).value; this.cdr.detectChanges(); }\n\n New(): void { this.EditingID = null; this.Mode = 'edit'; this.cdr.detectChanges(); }\n Edit(p: ProcessRow): void { this.EditingID = p.ID; this.Mode = 'edit'; this.cdr.detectChanges(); }\n backToList(): void { this.Mode = 'list'; this.EditingID = null; this.cdr.detectChanges(); }\n async onSaved(): Promise<void> { this.backToList(); await this.reload(); }\n\n /** Runs a process on demand against its default scope, via the dry-run → confirm runner. */\n Run(p: ProcessRow): void {\n const entity = this.ProviderToUse.EntityByID(p.EntityID);\n if (!entity) return;\n this.RunDriver = {\n DriverClass: 'RecordProcessRunnerUX',\n Context: {\n EntityInfo: entity,\n ScopeKind: (p.ScopeType?.toLowerCase() as EntityActionUXContext['ScopeKind']) || 'filter',\n Filter: p.ScopeFilter ?? undefined,\n ViewID: p.ScopeViewID ?? undefined,\n ListID: p.ScopeListID ?? undefined,\n Config: { RecordProcessID: p.ID },\n Provider: this.ProviderToUse,\n ActionLabel: p.Name,\n },\n };\n this.cdr.detectChanges();\n }\n\n onRunDone(_r: EntityActionUXResult): void { this.RunDriver = null; this.cdr.detectChanges(); }\n\n workLabel(workType: string): string {\n return workType === 'FieldRules' ? 'Field Rules' : workType;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-record-process-studio",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.44.0",
|
|
4
4
|
"description": "MemberJunction: Bulk Operations studio — generic, reusable Angular UI for authoring, running, and auditing Record Processes (rules-driven bulk updates). Consumed by MJExplorer's Bulk Operations app or any MJ app.",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"rxjs": "^7.8.2"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@memberjunction/core": "5.
|
|
39
|
-
"@memberjunction/core-entities": "5.
|
|
40
|
-
"@memberjunction/global": "5.
|
|
41
|
-
"@memberjunction/graphql-dataprovider": "5.
|
|
42
|
-
"@memberjunction/ng-base-types": "5.
|
|
43
|
-
"@memberjunction/ng-entity-action-ux": "5.
|
|
44
|
-
"@memberjunction/ng-ui-components": "5.
|
|
38
|
+
"@memberjunction/core": "5.44.0",
|
|
39
|
+
"@memberjunction/core-entities": "5.44.0",
|
|
40
|
+
"@memberjunction/global": "5.44.0",
|
|
41
|
+
"@memberjunction/graphql-dataprovider": "5.44.0",
|
|
42
|
+
"@memberjunction/ng-base-types": "5.44.0",
|
|
43
|
+
"@memberjunction/ng-entity-action-ux": "5.44.0",
|
|
44
|
+
"@memberjunction/ng-ui-components": "5.44.0",
|
|
45
45
|
"tslib": "^2.8.1"
|
|
46
46
|
},
|
|
47
47
|
"sideEffects": false,
|