@memberjunction/ng-explorer-settings 2.50.0 → 2.52.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.
- package/README.md +89 -1
- package/dist/lib/application-management/application-management.component.d.ts +59 -0
- package/dist/lib/application-management/application-management.component.d.ts.map +1 -0
- package/dist/lib/application-management/application-management.component.js +540 -0
- package/dist/lib/application-management/application-management.component.js.map +1 -0
- package/dist/lib/entity-permissions/entity-permissions.component.d.ts +71 -0
- package/dist/lib/entity-permissions/entity-permissions.component.d.ts.map +1 -0
- package/dist/lib/entity-permissions/entity-permissions.component.js +667 -0
- package/dist/lib/entity-permissions/entity-permissions.component.js.map +1 -0
- package/dist/lib/module.d.ts +19 -23
- package/dist/lib/module.d.ts.map +1 -1
- package/dist/lib/module.js +13 -38
- package/dist/lib/module.js.map +1 -1
- package/dist/lib/role-management/role-management.component.d.ts +56 -0
- package/dist/lib/role-management/role-management.component.d.ts.map +1 -0
- package/dist/lib/role-management/role-management.component.js +464 -0
- package/dist/lib/role-management/role-management.component.js.map +1 -0
- package/dist/lib/settings/settings.component.d.ts +42 -51
- package/dist/lib/settings/settings.component.d.ts.map +1 -1
- package/dist/lib/settings/settings.component.js +432 -198
- package/dist/lib/settings/settings.component.js.map +1 -1
- package/dist/lib/shared/components/settings-card/settings-card.component.d.ts +27 -0
- package/dist/lib/shared/components/settings-card/settings-card.component.d.ts.map +1 -0
- package/dist/lib/shared/components/settings-card/settings-card.component.js +167 -0
- package/dist/lib/shared/components/settings-card/settings-card.component.js.map +1 -0
- package/dist/lib/shared/settings-card.component.d.ts +11 -0
- package/dist/lib/shared/settings-card.component.d.ts.map +1 -0
- package/dist/lib/shared/settings-card.component.js +73 -0
- package/dist/lib/shared/settings-card.component.js.map +1 -0
- package/dist/lib/shared/shared-settings.module.d.ts +9 -0
- package/dist/lib/shared/shared-settings.module.d.ts.map +1 -0
- package/dist/lib/shared/shared-settings.module.js +25 -0
- package/dist/lib/shared/shared-settings.module.js.map +1 -0
- package/dist/lib/sql-logging/sql-logging.component.d.ts +176 -0
- package/dist/lib/sql-logging/sql-logging.component.d.ts.map +1 -0
- package/dist/lib/sql-logging/sql-logging.component.js +946 -0
- package/dist/lib/sql-logging/sql-logging.component.js.map +1 -0
- package/dist/lib/user-management/user-management.component.d.ts +65 -0
- package/dist/lib/user-management/user-management.component.d.ts.map +1 -0
- package/dist/lib/user-management/user-management.component.js +643 -0
- package/dist/lib/user-management/user-management.component.js.map +1 -0
- package/dist/public-api.d.ts +1 -5
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -5
- package/dist/public-api.js.map +1 -1
- package/package.json +13 -13
- package/dist/lib/application-entities-grid/application-entities-grid.component.d.ts +0 -50
- package/dist/lib/application-entities-grid/application-entities-grid.component.d.ts.map +0 -1
- package/dist/lib/application-entities-grid/application-entities-grid.component.js +0 -342
- package/dist/lib/application-entities-grid/application-entities-grid.component.js.map +0 -1
- package/dist/lib/single-application/single-application.component.d.ts +0 -22
- package/dist/lib/single-application/single-application.component.d.ts.map +0 -1
- package/dist/lib/single-application/single-application.component.js +0 -130
- package/dist/lib/single-application/single-application.component.js.map +0 -1
- package/dist/lib/single-role/single-role.component.d.ts +0 -36
- package/dist/lib/single-role/single-role.component.d.ts.map +0 -1
- package/dist/lib/single-role/single-role.component.js +0 -188
- package/dist/lib/single-role/single-role.component.js.map +0 -1
- package/dist/lib/single-user/single-user.component.d.ts +0 -24
- package/dist/lib/single-user/single-user.component.d.ts.map +0 -1
- package/dist/lib/single-user/single-user.component.js +0 -176
- package/dist/lib/single-user/single-user.component.js.map +0 -1
- package/dist/lib/user-roles-grid/user-roles-grid.component.d.ts +0 -42
- package/dist/lib/user-roles-grid/user-roles-grid.component.d.ts.map +0 -1
- package/dist/lib/user-roles-grid/user-roles-grid.component.js +0 -326
- package/dist/lib/user-roles-grid/user-roles-grid.component.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.component.js","sourceRoot":"","sources":["../../../src/lib/settings/settings.component.ts","../../../src/lib/settings/settings.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"settings.component.js","sourceRoot":"","sources":["../../../src/lib/settings/settings.component.ts","../../../src/lib/settings/settings.component.html"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* A reusable settings card component providing consistent styling and layout
|
|
5
|
+
* across all settings sections. Follows the modern AI dashboard design patterns.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SettingsCardComponent {
|
|
8
|
+
/** Card title displayed in the header */
|
|
9
|
+
title?: string;
|
|
10
|
+
/** Card subtitle displayed below the title */
|
|
11
|
+
subtitle?: string;
|
|
12
|
+
/** Whether to use floating card style (higher elevation) */
|
|
13
|
+
floating: boolean;
|
|
14
|
+
/** Card size variant */
|
|
15
|
+
size: 'sm' | 'md' | 'lg';
|
|
16
|
+
/** Whether to remove padding from content area */
|
|
17
|
+
noPadding: boolean;
|
|
18
|
+
/** Template for custom header content */
|
|
19
|
+
headerTemplate?: TemplateRef<any>;
|
|
20
|
+
/** Template for header action buttons */
|
|
21
|
+
actionTemplate?: TemplateRef<any>;
|
|
22
|
+
/** Template for footer content */
|
|
23
|
+
footerTemplate?: TemplateRef<any>;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsCardComponent, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SettingsCardComponent, "mj-settings-card", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "floating": { "alias": "floating"; "required": false; }; "size": { "alias": "size"; "required": false; }; "noPadding": { "alias": "noPadding"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "actionTemplate": { "alias": "actionTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=settings-card.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-card.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shared/components/settings-card/settings-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAC;;AAG9D;;;GAGG;AACH,qBAuCa,qBAAqB;IAChC,yCAAyC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,8CAA8C;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,4DAA4D;IACnD,QAAQ,UAAS;IAE1B,wBAAwB;IACf,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEzC,kDAAkD;IACzC,SAAS,UAAS;IAE3B,yCAAyC;IAChC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAE3C,yCAAyC;IAChC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAE3C,kCAAkC;IACzB,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;yCAvBhC,qBAAqB;2CAArB,qBAAqB;CAwBjC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
const _c0 = ["*"];
|
|
6
|
+
function SettingsCardComponent_Conditional_1_Conditional_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
i0.ɵɵelementContainer(0);
|
|
8
|
+
} }
|
|
9
|
+
function SettingsCardComponent_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵtemplate(0, SettingsCardComponent_Conditional_1_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 4);
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
13
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.headerTemplate);
|
|
14
|
+
} }
|
|
15
|
+
function SettingsCardComponent_Conditional_1_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵelementStart(0, "p", 7);
|
|
17
|
+
i0.ɵɵtext(1);
|
|
18
|
+
i0.ɵɵelementEnd();
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
21
|
+
i0.ɵɵadvance();
|
|
22
|
+
i0.ɵɵtextInterpolate(ctx_r0.subtitle);
|
|
23
|
+
} }
|
|
24
|
+
function SettingsCardComponent_Conditional_1_Conditional_2_Conditional_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelementContainer(0);
|
|
26
|
+
} }
|
|
27
|
+
function SettingsCardComponent_Conditional_1_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
29
|
+
i0.ɵɵtemplate(1, SettingsCardComponent_Conditional_1_Conditional_2_Conditional_4_ng_container_1_Template, 1, 0, "ng-container", 4);
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} if (rf & 2) {
|
|
32
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
33
|
+
i0.ɵɵadvance();
|
|
34
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.actionTemplate);
|
|
35
|
+
} }
|
|
36
|
+
function SettingsCardComponent_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "h3", 6);
|
|
38
|
+
i0.ɵɵtext(2);
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵtemplate(3, SettingsCardComponent_Conditional_1_Conditional_2_Conditional_3_Template, 2, 1, "p", 7);
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
i0.ɵɵtemplate(4, SettingsCardComponent_Conditional_1_Conditional_2_Conditional_4_Template, 2, 1, "div", 8);
|
|
43
|
+
} if (rf & 2) {
|
|
44
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
45
|
+
i0.ɵɵadvance(2);
|
|
46
|
+
i0.ɵɵtextInterpolate(ctx_r0.title);
|
|
47
|
+
i0.ɵɵadvance();
|
|
48
|
+
i0.ɵɵconditional(ctx_r0.subtitle ? 3 : -1);
|
|
49
|
+
i0.ɵɵadvance();
|
|
50
|
+
i0.ɵɵconditional(ctx_r0.actionTemplate ? 4 : -1);
|
|
51
|
+
} }
|
|
52
|
+
function SettingsCardComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
54
|
+
i0.ɵɵtemplate(1, SettingsCardComponent_Conditional_1_Conditional_1_Template, 1, 1, "ng-container")(2, SettingsCardComponent_Conditional_1_Conditional_2_Template, 5, 3);
|
|
55
|
+
i0.ɵɵelementEnd();
|
|
56
|
+
} if (rf & 2) {
|
|
57
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
58
|
+
i0.ɵɵadvance();
|
|
59
|
+
i0.ɵɵconditional(ctx_r0.headerTemplate ? 1 : 2);
|
|
60
|
+
} }
|
|
61
|
+
function SettingsCardComponent_Conditional_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
+
i0.ɵɵelementContainer(0);
|
|
63
|
+
} }
|
|
64
|
+
function SettingsCardComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
66
|
+
i0.ɵɵtemplate(1, SettingsCardComponent_Conditional_4_ng_container_1_Template, 1, 0, "ng-container", 4);
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
} if (rf & 2) {
|
|
69
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
70
|
+
i0.ɵɵadvance();
|
|
71
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.footerTemplate);
|
|
72
|
+
} }
|
|
73
|
+
/**
|
|
74
|
+
* A reusable settings card component providing consistent styling and layout
|
|
75
|
+
* across all settings sections. Follows the modern AI dashboard design patterns.
|
|
76
|
+
*/
|
|
77
|
+
export class SettingsCardComponent {
|
|
78
|
+
/** Card title displayed in the header */
|
|
79
|
+
title;
|
|
80
|
+
/** Card subtitle displayed below the title */
|
|
81
|
+
subtitle;
|
|
82
|
+
/** Whether to use floating card style (higher elevation) */
|
|
83
|
+
floating = false;
|
|
84
|
+
/** Card size variant */
|
|
85
|
+
size = 'md';
|
|
86
|
+
/** Whether to remove padding from content area */
|
|
87
|
+
noPadding = false;
|
|
88
|
+
/** Template for custom header content */
|
|
89
|
+
headerTemplate;
|
|
90
|
+
/** Template for header action buttons */
|
|
91
|
+
actionTemplate;
|
|
92
|
+
/** Template for footer content */
|
|
93
|
+
footerTemplate;
|
|
94
|
+
static ɵfac = function SettingsCardComponent_Factory(t) { return new (t || SettingsCardComponent)(); };
|
|
95
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SettingsCardComponent, selectors: [["mj-settings-card"]], inputs: { title: "title", subtitle: "subtitle", floating: "floating", size: "size", noPadding: "noPadding", headerTemplate: "headerTemplate", actionTemplate: "actionTemplate", footerTemplate: "footerTemplate" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 5, vars: 10, consts: [[1, "settings-card"], [1, "card-header"], [1, "card-content"], [1, "card-footer"], [4, "ngTemplateOutlet"], [1, "header-content"], [1, "card-title"], [1, "card-subtitle"], [1, "header-actions"]], template: function SettingsCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
i0.ɵɵprojectionDef();
|
|
97
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
98
|
+
i0.ɵɵtemplate(1, SettingsCardComponent_Conditional_1_Template, 3, 1, "div", 1);
|
|
99
|
+
i0.ɵɵelementStart(2, "div", 2);
|
|
100
|
+
i0.ɵɵprojection(3);
|
|
101
|
+
i0.ɵɵelementEnd();
|
|
102
|
+
i0.ɵɵtemplate(4, SettingsCardComponent_Conditional_4_Template, 2, 1, "div", 3);
|
|
103
|
+
i0.ɵɵelementEnd();
|
|
104
|
+
} if (rf & 2) {
|
|
105
|
+
i0.ɵɵclassProp("settings-card-floating", ctx.floating)("settings-card-sm", ctx.size === "sm")("settings-card-lg", ctx.size === "lg");
|
|
106
|
+
i0.ɵɵadvance();
|
|
107
|
+
i0.ɵɵconditional(ctx.title || ctx.headerTemplate ? 1 : -1);
|
|
108
|
+
i0.ɵɵadvance();
|
|
109
|
+
i0.ɵɵclassProp("no-padding", ctx.noPadding);
|
|
110
|
+
i0.ɵɵadvance(2);
|
|
111
|
+
i0.ɵɵconditional(ctx.footerTemplate ? 4 : -1);
|
|
112
|
+
} }, dependencies: [CommonModule, i1.NgTemplateOutlet], styles: ["//[_ngcontent-%COMP%] =====================================================\n//[_ngcontent-%COMP%] Settings[_ngcontent-%COMP%] Card[_ngcontent-%COMP%] Component[_ngcontent-%COMP%] -[_ngcontent-%COMP%] Reusable[_ngcontent-%COMP%] card[_ngcontent-%COMP%] layout\n//[_ngcontent-%COMP%] =====================================================\n\n@import[_ngcontent-%COMP%] '../../styles/shared-settings'[_ngcontent-%COMP%];\n\n[_nghost-%COMP%] {\n display: block;\n width: 100%;\n}\n\n.settings-card[_ngcontent-%COMP%] {\n @include card-elevated;\n display: flex;\n flex-direction: column;\n height: 100%;\n \n &.settings-card-floating {\n @include card-floating;\n }\n \n &.settings-card-sm {\n @include card-content-sm;\n }\n \n &.settings-card-lg {\n @include card-content-lg;\n }\n}\n\n.card-header[_ngcontent-%COMP%] {\n @include section-header;\n flex-shrink: 0;\n padding: $space-lg $space-lg $space-md $space-lg;\n margin: 0;\n \n .header-content {\n flex: 1;\n \n .card-title {\n margin: 0;\n font-size: $font-size-lg;\n font-weight: $font-weight-semibold;\n color: $text-primary;\n line-height: $line-height-tight;\n }\n \n .card-subtitle {\n margin: $space-xs 0 0 0;\n font-size: $font-size-sm;\n color: $text-secondary;\n line-height: $line-height-normal;\n }\n }\n \n .header-actions {\n flex-shrink: 0;\n display: flex;\n gap: $space-sm;\n align-items: flex-start;\n }\n}\n\n.card-content[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n padding: 0 $space-lg $space-lg $space-lg;\n \n &.no-padding {\n padding: 0;\n }\n}\n\n.card-footer[_ngcontent-%COMP%] {\n flex-shrink: 0;\n padding: $space-md $space-lg $space-lg $space-lg;\n border-top: 1px solid $border-light;\n background: $background-light;\n border-radius: 0 0 $radius-lg $radius-lg;\n}\n\n//[_ngcontent-%COMP%] Size[_ngcontent-%COMP%] variants\n.settings-card-sm[_ngcontent-%COMP%] {\n .card-header {\n padding: $space-md $space-md $space-sm $space-md;\n \n .card-title {\n font-size: $font-size-md;\n }\n \n .card-subtitle {\n font-size: $font-size-xs;\n }\n }\n \n .card-content {\n padding: 0 $space-md $space-md $space-md;\n \n &.no-padding {\n padding: 0;\n }\n }\n \n .card-footer {\n padding: $space-sm $space-md $space-md $space-md;\n }\n}\n\n.settings-card-lg[_ngcontent-%COMP%] {\n .card-header {\n padding: $space-xl $space-xl $space-lg $space-xl;\n \n .card-title {\n font-size: $font-size-xl;\n }\n }\n \n .card-content {\n padding: 0 $space-xl $space-xl $space-xl;\n \n &.no-padding {\n padding: 0;\n }\n }\n \n .card-footer {\n padding: $space-lg $space-xl $space-xl $space-xl;\n }\n}"] });
|
|
113
|
+
}
|
|
114
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SettingsCardComponent, [{
|
|
115
|
+
type: Component,
|
|
116
|
+
args: [{ selector: 'mj-settings-card', standalone: true, imports: [CommonModule], template: `
|
|
117
|
+
<div class="settings-card" [class.settings-card-floating]="floating" [class.settings-card-sm]="size === 'sm'" [class.settings-card-lg]="size === 'lg'">
|
|
118
|
+
@if (title || headerTemplate) {
|
|
119
|
+
<div class="card-header">
|
|
120
|
+
@if (headerTemplate) {
|
|
121
|
+
<ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
|
|
122
|
+
} @else {
|
|
123
|
+
<div class="header-content">
|
|
124
|
+
<h3 class="card-title">{{ title }}</h3>
|
|
125
|
+
@if (subtitle) {
|
|
126
|
+
<p class="card-subtitle">{{ subtitle }}</p>
|
|
127
|
+
}
|
|
128
|
+
</div>
|
|
129
|
+
@if (actionTemplate) {
|
|
130
|
+
<div class="header-actions">
|
|
131
|
+
<ng-container *ngTemplateOutlet="actionTemplate"></ng-container>
|
|
132
|
+
</div>
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
</div>
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
<div class="card-content" [class.no-padding]="noPadding">
|
|
139
|
+
<ng-content></ng-content>
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
@if (footerTemplate) {
|
|
143
|
+
<div class="card-footer">
|
|
144
|
+
<ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
|
|
145
|
+
</div>
|
|
146
|
+
}
|
|
147
|
+
</div>
|
|
148
|
+
`, styles: ["// =====================================================\n// Settings Card Component - Reusable card layout\n// =====================================================\n\n@import '../../styles/shared-settings';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.settings-card {\n @include card-elevated;\n display: flex;\n flex-direction: column;\n height: 100%;\n \n &.settings-card-floating {\n @include card-floating;\n }\n \n &.settings-card-sm {\n @include card-content-sm;\n }\n \n &.settings-card-lg {\n @include card-content-lg;\n }\n}\n\n.card-header {\n @include section-header;\n flex-shrink: 0;\n padding: $space-lg $space-lg $space-md $space-lg;\n margin: 0;\n \n .header-content {\n flex: 1;\n \n .card-title {\n margin: 0;\n font-size: $font-size-lg;\n font-weight: $font-weight-semibold;\n color: $text-primary;\n line-height: $line-height-tight;\n }\n \n .card-subtitle {\n margin: $space-xs 0 0 0;\n font-size: $font-size-sm;\n color: $text-secondary;\n line-height: $line-height-normal;\n }\n }\n \n .header-actions {\n flex-shrink: 0;\n display: flex;\n gap: $space-sm;\n align-items: flex-start;\n }\n}\n\n.card-content {\n flex: 1;\n min-height: 0;\n padding: 0 $space-lg $space-lg $space-lg;\n \n &.no-padding {\n padding: 0;\n }\n}\n\n.card-footer {\n flex-shrink: 0;\n padding: $space-md $space-lg $space-lg $space-lg;\n border-top: 1px solid $border-light;\n background: $background-light;\n border-radius: 0 0 $radius-lg $radius-lg;\n}\n\n// Size variants\n.settings-card-sm {\n .card-header {\n padding: $space-md $space-md $space-sm $space-md;\n \n .card-title {\n font-size: $font-size-md;\n }\n \n .card-subtitle {\n font-size: $font-size-xs;\n }\n }\n \n .card-content {\n padding: 0 $space-md $space-md $space-md;\n \n &.no-padding {\n padding: 0;\n }\n }\n \n .card-footer {\n padding: $space-sm $space-md $space-md $space-md;\n }\n}\n\n.settings-card-lg {\n .card-header {\n padding: $space-xl $space-xl $space-lg $space-xl;\n \n .card-title {\n font-size: $font-size-xl;\n }\n }\n \n .card-content {\n padding: 0 $space-xl $space-xl $space-xl;\n \n &.no-padding {\n padding: 0;\n }\n }\n \n .card-footer {\n padding: $space-lg $space-xl $space-xl $space-xl;\n }\n}"] }]
|
|
149
|
+
}], null, { title: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], subtitle: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], floating: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], size: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], noPadding: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], headerTemplate: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], actionTemplate: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], footerTemplate: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}] }); })();
|
|
166
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SettingsCardComponent, { className: "SettingsCardComponent", filePath: "src/lib/shared/components/settings-card/settings-card.component.ts", lineNumber: 47 }); })();
|
|
167
|
+
//# sourceMappingURL=settings-card.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-card.component.js","sourceRoot":"","sources":["../../../../../src/lib/shared/components/settings-card/settings-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAe,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;;;IAenC,wBAAgE;;;IAAhE,oHAAiD;;;IAAlC,wDAAgC;;;IAK3C,4BAAyB;IAAA,YAAc;IAAA,iBAAI;;;IAAlB,cAAc;IAAd,qCAAc;;;IAKvC,wBAAgE;;;IADlE,8BAA4B;IAC1B,kIAAiD;IACnD,iBAAM;;;IADW,cAAgC;IAAhC,wDAAgC;;;IAPjD,AADF,8BAA4B,YACH;IAAA,YAAW;IAAA,iBAAK;IACvC,wGAAgB;IAGlB,iBAAM;IACN,0GAAsB;;;IALG,eAAW;IAAX,kCAAW;IAClC,cAEC;IAFD,0CAEC;IAEH,cAIC;IAJD,gDAIC;;;IAdL,8BAAyB;IAGrB,AAFF,kGAAsB,qEAEb;IAaX,iBAAM;;;IAfJ,cAcC;IAdD,+CAcC;;;IAUD,wBAAgE;;;IADlE,8BAAyB;IACvB,sGAAiD;IACnD,iBAAM;;;IADW,cAAgC;IAAhC,wDAAgC;;AApCzD;;;GAGG;AAwCH,MAAM,OAAO,qBAAqB;IAChC,yCAAyC;IAChC,KAAK,CAAU;IAExB,8CAA8C;IACrC,QAAQ,CAAU;IAE3B,4DAA4D;IACnD,QAAQ,GAAG,KAAK,CAAC;IAE1B,wBAAwB;IACf,IAAI,GAAuB,IAAI,CAAC;IAEzC,kDAAkD;IACzC,SAAS,GAAG,KAAK,CAAC;IAE3B,yCAAyC;IAChC,cAAc,CAAoB;IAE3C,yCAAyC;IAChC,cAAc,CAAoB;IAE3C,kCAAkC;IACzB,cAAc,CAAoB;+EAvBhC,qBAAqB;6DAArB,qBAAqB;;YAlC9B,8BAAuJ;YACrJ,8EAA+B;YAoB/B,8BAAyD;YACvD,kBAAyB;YAC3B,iBAAM;YAEN,8EAAsB;YAKxB,iBAAM;;YA9BwG,AAAzC,AAA1C,sDAAyC,uCAAyC,uCAAyC;YACpJ,cAkBC;YAlBD,0DAkBC;YAEyB,cAA8B;YAA9B,2CAA8B;YAIxD,eAIC;YAJD,6CAIC;4BA/BK,YAAY;;iFAoCX,qBAAqB;cAvCjC,SAAS;2BACE,kBAAkB,cAChB,IAAI,WACP,CAAC,YAAY,CAAC,YACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCT;gBAKQ,KAAK;kBAAb,KAAK;YAGG,QAAQ;kBAAhB,KAAK;YAGG,QAAQ;kBAAhB,KAAK;YAGG,IAAI;kBAAZ,KAAK;YAGG,SAAS;kBAAjB,KAAK;YAGG,cAAc;kBAAtB,KAAK;YAGG,cAAc;kBAAtB,KAAK;YAGG,cAAc;kBAAtB,KAAK;;kFAvBK,qBAAqB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SettingsCardComponent {
|
|
4
|
+
title: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
expanded: boolean;
|
|
7
|
+
toggle: EventEmitter<void>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsCardComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SettingsCardComponent, "mj-settings-card", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; }, { "toggle": "toggle"; }, never, ["*"], false, never>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=settings-card.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-card.component.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/settings-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;;AAEvE,qBAuHa,qBAAqB;IACvB,KAAK,SAAM;IACX,IAAI,SAAM;IACV,QAAQ,UAAS;IAChB,MAAM,qBAA4B;yCAJjC,qBAAqB;2CAArB,qBAAqB;CAKjC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = ["*"];
|
|
4
|
+
function SettingsCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
+
i0.ɵɵelementStart(0, "div", 6);
|
|
6
|
+
i0.ɵɵprojection(1);
|
|
7
|
+
i0.ɵɵelementEnd();
|
|
8
|
+
} }
|
|
9
|
+
export class SettingsCardComponent {
|
|
10
|
+
title = '';
|
|
11
|
+
icon = '';
|
|
12
|
+
expanded = false;
|
|
13
|
+
toggle = new EventEmitter();
|
|
14
|
+
static ɵfac = function SettingsCardComponent_Factory(t) { return new (t || SettingsCardComponent)(); };
|
|
15
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SettingsCardComponent, selectors: [["mj-settings-card"]], inputs: { title: "title", icon: "icon", expanded: "expanded" }, outputs: { toggle: "toggle" }, ngContentSelectors: _c0, decls: 9, vars: 7, consts: [[1, "settings-card"], [1, "card-header", 3, "click"], [1, "card-icon"], [1, "card-title"], [1, "expand-button"], [1, "fa-solid", "fa-chevron-down"], [1, "card-content"]], template: function SettingsCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵprojectionDef();
|
|
17
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
18
|
+
i0.ɵɵlistener("click", function SettingsCardComponent_Template_div_click_1_listener() { return ctx.toggle.emit(); });
|
|
19
|
+
i0.ɵɵelementStart(2, "div", 2);
|
|
20
|
+
i0.ɵɵelement(3, "i");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
i0.ɵɵelementStart(4, "h3", 3);
|
|
23
|
+
i0.ɵɵtext(5);
|
|
24
|
+
i0.ɵɵelementEnd();
|
|
25
|
+
i0.ɵɵelementStart(6, "button", 4);
|
|
26
|
+
i0.ɵɵelement(7, "i", 5);
|
|
27
|
+
i0.ɵɵelementEnd()();
|
|
28
|
+
i0.ɵɵtemplate(8, SettingsCardComponent_Conditional_8_Template, 2, 0, "div", 6);
|
|
29
|
+
i0.ɵɵelementEnd();
|
|
30
|
+
} if (rf & 2) {
|
|
31
|
+
i0.ɵɵclassProp("expanded", ctx.expanded);
|
|
32
|
+
i0.ɵɵadvance(3);
|
|
33
|
+
i0.ɵɵclassMap(ctx.icon);
|
|
34
|
+
i0.ɵɵadvance(2);
|
|
35
|
+
i0.ɵɵtextInterpolate(ctx.title);
|
|
36
|
+
i0.ɵɵadvance();
|
|
37
|
+
i0.ɵɵattribute("aria-expanded", ctx.expanded);
|
|
38
|
+
i0.ɵɵadvance(2);
|
|
39
|
+
i0.ɵɵconditional(ctx.expanded ? 8 : -1);
|
|
40
|
+
} }, styles: [".settings-card[_ngcontent-%COMP%] {\n background: #ffffff;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n transition: all 0.3s ease;\n overflow: hidden;\n }\n\n .settings-card[_ngcontent-%COMP%]:hover {\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n }\n\n .card-header[_ngcontent-%COMP%] {\n padding: 1.25rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.2s;\n }\n\n .card-header[_ngcontent-%COMP%]:hover {\n background-color: #f8f9fa;\n }\n\n .card-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #e3f2fd;\n color: #2196f3;\n font-size: 1.25rem;\n flex-shrink: 0;\n }\n\n .card-title[_ngcontent-%COMP%] {\n flex: 1;\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: #1f2937;\n }\n\n .expand-button[_ngcontent-%COMP%] {\n background: none;\n border: none;\n padding: 0.5rem;\n cursor: pointer;\n color: #6b7280;\n transition: transform 0.3s ease;\n }\n\n .expand-button[_ngcontent-%COMP%]:hover {\n color: #374151;\n }\n\n .expanded[_ngcontent-%COMP%] .expand-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n transform: rotate(180deg);\n }\n\n .card-content[_ngcontent-%COMP%] {\n padding: 0 1.25rem 1.25rem;\n animation: _ngcontent-%COMP%_slideDown 0.3s ease-out;\n }\n\n @keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @media (max-width: 768px) {\n .card-header[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n \n .card-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n font-size: 1.125rem;\n }\n \n .card-title[_ngcontent-%COMP%] {\n font-size: 1rem;\n }\n }"] });
|
|
41
|
+
}
|
|
42
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SettingsCardComponent, [{
|
|
43
|
+
type: Component,
|
|
44
|
+
args: [{ selector: 'mj-settings-card', template: `
|
|
45
|
+
<div class="settings-card" [class.expanded]="expanded">
|
|
46
|
+
<div class="card-header" (click)="toggle.emit()">
|
|
47
|
+
<div class="card-icon">
|
|
48
|
+
<i [class]="icon"></i>
|
|
49
|
+
</div>
|
|
50
|
+
<h3 class="card-title">{{ title }}</h3>
|
|
51
|
+
<button class="expand-button" [attr.aria-expanded]="expanded">
|
|
52
|
+
<i class="fa-solid fa-chevron-down"></i>
|
|
53
|
+
</button>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
@if (expanded) {
|
|
57
|
+
<div class="card-content">
|
|
58
|
+
<ng-content></ng-content>
|
|
59
|
+
</div>
|
|
60
|
+
}
|
|
61
|
+
</div>
|
|
62
|
+
`, styles: ["\n .settings-card {\n background: #ffffff;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n transition: all 0.3s ease;\n overflow: hidden;\n }\n\n .settings-card:hover {\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n }\n\n .card-header {\n padding: 1.25rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.2s;\n }\n\n .card-header:hover {\n background-color: #f8f9fa;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #e3f2fd;\n color: #2196f3;\n font-size: 1.25rem;\n flex-shrink: 0;\n }\n\n .card-title {\n flex: 1;\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: #1f2937;\n }\n\n .expand-button {\n background: none;\n border: none;\n padding: 0.5rem;\n cursor: pointer;\n color: #6b7280;\n transition: transform 0.3s ease;\n }\n\n .expand-button:hover {\n color: #374151;\n }\n\n .expanded .expand-button i {\n transform: rotate(180deg);\n }\n\n .card-content {\n padding: 0 1.25rem 1.25rem;\n animation: slideDown 0.3s ease-out;\n }\n\n @keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @media (max-width: 768px) {\n .card-header {\n padding: 1rem;\n }\n \n .card-icon {\n width: 36px;\n height: 36px;\n font-size: 1.125rem;\n }\n \n .card-title {\n font-size: 1rem;\n }\n }\n "] }]
|
|
63
|
+
}], null, { title: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], icon: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], expanded: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], toggle: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}] }); })();
|
|
72
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SettingsCardComponent, { className: "SettingsCardComponent", filePath: "src/lib/shared/settings-card.component.ts", lineNumber: 122 }); })();
|
|
73
|
+
//# sourceMappingURL=settings-card.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-card.component.js","sourceRoot":"","sources":["../../../src/lib/shared/settings-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;IAiB/D,8BAA0B;IACxB,kBAAyB;IAC3B,iBAAM;;AAsGd,MAAM,OAAO,qBAAqB;IACvB,KAAK,GAAG,EAAE,CAAC;IACX,IAAI,GAAG,EAAE,CAAC;IACV,QAAQ,GAAG,KAAK,CAAC;IAChB,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;+EAJjC,qBAAqB;6DAArB,qBAAqB;;YAnH5B,AADF,8BAAuD,aACJ;YAAxB,+FAAS,iBAAa,IAAC;YAC9C,8BAAuB;YACrB,oBAAsB;YACxB,iBAAM;YACN,6BAAuB;YAAA,YAAW;YAAA,iBAAK;YACvC,iCAA8D;YAC5D,uBAAwC;YAE5C,AADE,iBAAS,EACL;YAEN,8EAAgB;YAKlB,iBAAM;;YAhBqB,wCAA2B;YAG7C,eAAc;YAAd,uBAAc;YAEI,eAAW;YAAX,+BAAW;YACJ,cAA+B;;YAK/D,eAIC;YAJD,uCAIC;;;iFAqGM,qBAAqB;cAvHjC,SAAS;2BACE,kBAAkB,YAClB;;;;;;;;;;;;;;;;;;GAkBT;gBAoGQ,KAAK;kBAAb,KAAK;YACG,IAAI;kBAAZ,KAAK;YACG,QAAQ;kBAAhB,KAAK;YACI,MAAM;kBAAf,MAAM;;kFAJI,qBAAqB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./settings-card.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
export declare class SharedSettingsModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SharedSettingsModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedSettingsModule, [typeof i1.SettingsCardComponent], [typeof i2.CommonModule], [typeof i1.SettingsCardComponent]>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SharedSettingsModule>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=shared-settings.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-settings.module.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/shared-settings.module.ts"],"names":[],"mappings":";;;AAIA,qBAWa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAI"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SettingsCardComponent } from './settings-card.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SharedSettingsModule {
|
|
6
|
+
static ɵfac = function SharedSettingsModule_Factory(t) { return new (t || SharedSettingsModule)(); };
|
|
7
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SharedSettingsModule });
|
|
8
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
|
|
9
|
+
}
|
|
10
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SharedSettingsModule, [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [
|
|
14
|
+
SettingsCardComponent
|
|
15
|
+
],
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule
|
|
18
|
+
],
|
|
19
|
+
exports: [
|
|
20
|
+
SettingsCardComponent
|
|
21
|
+
]
|
|
22
|
+
}]
|
|
23
|
+
}], null, null); })();
|
|
24
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SharedSettingsModule, { declarations: [SettingsCardComponent], imports: [CommonModule], exports: [SettingsCardComponent] }); })();
|
|
25
|
+
//# sourceMappingURL=shared-settings.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-settings.module.js","sourceRoot":"","sources":["../../../src/lib/shared/shared-settings.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAalE,MAAM,OAAO,oBAAoB;8EAApB,oBAAoB;4DAApB,oBAAoB;gEAN7B,YAAY;;iFAMH,oBAAoB;cAXhC,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,qBAAqB;iBACtB;gBACD,OAAO,EAAE;oBACP,YAAY;iBACb;gBACD,OAAO,EAAE;oBACP,qBAAqB;iBACtB;aACF;;wFACY,oBAAoB,mBAT7B,qBAAqB,aAGrB,YAAY,aAGZ,qBAAqB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { SharedService } from '@memberjunction/ng-shared';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Angular component for managing SQL logging sessions in MemberJunction.
|
|
6
|
+
*
|
|
7
|
+
* This component provides a user interface for:
|
|
8
|
+
* - Viewing SQL logging configuration and status
|
|
9
|
+
* - Starting and stopping SQL logging sessions
|
|
10
|
+
* - Managing session options (filtering, formatting, etc.)
|
|
11
|
+
* - Real-time monitoring of active sessions
|
|
12
|
+
*
|
|
13
|
+
* **Security**: Only users with 'Owner' type can access SQL logging features.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```html
|
|
17
|
+
* <mj-sql-logging></mj-sql-logging>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @requires Owner-level user privileges
|
|
21
|
+
* @requires SQL logging enabled in server configuration
|
|
22
|
+
*/
|
|
23
|
+
export declare class SqlLoggingComponent implements OnInit, OnDestroy {
|
|
24
|
+
private sharedService;
|
|
25
|
+
private destroy$;
|
|
26
|
+
/** Whether the component is currently performing an async operation */
|
|
27
|
+
loading: boolean;
|
|
28
|
+
/** Current error message to display to the user, if any */
|
|
29
|
+
error: string | null;
|
|
30
|
+
/** Whether the current user has Owner privileges to access SQL logging */
|
|
31
|
+
isOwner: boolean;
|
|
32
|
+
/** Whether SQL logging is enabled in the server configuration */
|
|
33
|
+
configEnabled: boolean;
|
|
34
|
+
/** Current SQL logging configuration from the server */
|
|
35
|
+
sqlLoggingConfig: any;
|
|
36
|
+
/** List of currently active SQL logging sessions */
|
|
37
|
+
activeSessions: any[];
|
|
38
|
+
/** Currently selected session for viewing logs */
|
|
39
|
+
selectedSession: any;
|
|
40
|
+
/** Content of the currently viewed log file */
|
|
41
|
+
logContent: string;
|
|
42
|
+
/** Whether to automatically refresh session data */
|
|
43
|
+
autoRefresh: boolean;
|
|
44
|
+
/** Interval in milliseconds for auto-refresh functionality */
|
|
45
|
+
refreshInterval: number;
|
|
46
|
+
/** Whether the start session dialog is currently visible */
|
|
47
|
+
showStartSessionDialog: boolean;
|
|
48
|
+
/** Options for creating a new SQL logging session */
|
|
49
|
+
newSessionOptions: {
|
|
50
|
+
/** Custom filename for the log file */
|
|
51
|
+
fileName: string;
|
|
52
|
+
/** Whether to filter SQL statements to current user only */
|
|
53
|
+
filterToCurrentUser: boolean;
|
|
54
|
+
/** Whether to format output as migration file */
|
|
55
|
+
formatAsMigration: boolean;
|
|
56
|
+
/** Types of SQL statements to capture */
|
|
57
|
+
statementTypes: "both" | "queries" | "mutations";
|
|
58
|
+
/** Whether to format SQL with proper indentation */
|
|
59
|
+
prettyPrint: boolean;
|
|
60
|
+
/** Human-readable name for the session */
|
|
61
|
+
sessionName: string;
|
|
62
|
+
};
|
|
63
|
+
/** Available options for SQL statement type filtering */
|
|
64
|
+
statementTypeOptions: {
|
|
65
|
+
text: string;
|
|
66
|
+
value: string;
|
|
67
|
+
}[];
|
|
68
|
+
constructor(sharedService: SharedService);
|
|
69
|
+
/**
|
|
70
|
+
* Component initialization.
|
|
71
|
+
* Checks user permissions and loads initial data if authorized.
|
|
72
|
+
*/
|
|
73
|
+
ngOnInit(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Component cleanup.
|
|
76
|
+
* Stops auto-refresh and cleans up subscriptions.
|
|
77
|
+
*/
|
|
78
|
+
ngOnDestroy(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Starts the auto-refresh timer for session data.
|
|
81
|
+
* Only refreshes when autoRefresh is enabled and user is Owner.
|
|
82
|
+
*
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
private startAutoRefresh;
|
|
86
|
+
/**
|
|
87
|
+
* Checks if the current user has Owner privileges required for SQL logging.
|
|
88
|
+
* Updates the isOwner flag and handles error states.
|
|
89
|
+
*
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
private checkUserPermissions;
|
|
93
|
+
/**
|
|
94
|
+
* Opens the dialog for creating a new SQL logging session.
|
|
95
|
+
* Sets default values for session name and filename.
|
|
96
|
+
*/
|
|
97
|
+
openStartSessionDialog(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Creates and starts a new SQL logging session with the configured options.
|
|
100
|
+
* Shows success/error notifications and refreshes the sessions list.
|
|
101
|
+
*/
|
|
102
|
+
startNewSession(): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Stops a specific SQL logging session.
|
|
105
|
+
*
|
|
106
|
+
* @param session - The session object to stop
|
|
107
|
+
* @param event - Optional event to stop propagation
|
|
108
|
+
*/
|
|
109
|
+
stopSession(session: any, event?: Event): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Stops all currently active SQL logging sessions.
|
|
112
|
+
* Prompts for confirmation before proceeding.
|
|
113
|
+
*/
|
|
114
|
+
stopAllSessions(): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Selects a session for viewing and loads its log content.
|
|
117
|
+
*
|
|
118
|
+
* @param session - The session to select
|
|
119
|
+
*/
|
|
120
|
+
selectSession(session: any): void;
|
|
121
|
+
/**
|
|
122
|
+
* Loads the log file content for a specific session using real-time GraphQL query.
|
|
123
|
+
* Reads actual SQL statements from the log file on the server.
|
|
124
|
+
*
|
|
125
|
+
* @param session - The session whose log to load
|
|
126
|
+
*/
|
|
127
|
+
loadSessionLog(session: any): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Loads the SQL logging configuration from the server.
|
|
130
|
+
* Updates component state with current settings and capabilities.
|
|
131
|
+
*
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
loadSqlLoggingConfig(): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Loads the list of currently active SQL logging sessions.
|
|
137
|
+
* Updates the activeSessions array and handles session selection state.
|
|
138
|
+
*
|
|
139
|
+
* @private
|
|
140
|
+
*/
|
|
141
|
+
loadActiveSessions(): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Calculates and formats the duration of a logging session.
|
|
144
|
+
*
|
|
145
|
+
* @param startTime - ISO string of when the session started
|
|
146
|
+
* @returns Formatted duration string (e.g., "2h 30m", "45m 23s", "12s")
|
|
147
|
+
*/
|
|
148
|
+
getSessionDuration(startTime: string): string;
|
|
149
|
+
/**
|
|
150
|
+
* Refreshes user data and re-checks permissions.
|
|
151
|
+
* Useful when user privileges have been updated.
|
|
152
|
+
*/
|
|
153
|
+
refreshUserPermissions(): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Extracts the filename from a full file path for security purposes.
|
|
156
|
+
* Only shows the filename, not the full server path.
|
|
157
|
+
*
|
|
158
|
+
* @param filePath - Full file path from server
|
|
159
|
+
* @returns Just the filename portion
|
|
160
|
+
*/
|
|
161
|
+
getFileName(filePath: string): string;
|
|
162
|
+
/**
|
|
163
|
+
* Calculates the total number of SQL statements across all active sessions.
|
|
164
|
+
*
|
|
165
|
+
* @returns Total statement count
|
|
166
|
+
*/
|
|
167
|
+
getTotalStatementCount(): number;
|
|
168
|
+
/**
|
|
169
|
+
* Debug method to test contextUser flow for SQL filtering.
|
|
170
|
+
* This shows how the new architecture handles user context without storing email in provider.
|
|
171
|
+
*/
|
|
172
|
+
debugUserEmail(): Promise<void>;
|
|
173
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SqlLoggingComponent, never>;
|
|
174
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SqlLoggingComponent, "mj-sql-logging", never, {}, {}, never, never, true, never>;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=sql-logging.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-logging.component.d.ts","sourceRoot":"","sources":["../../../src/lib/sql-logging/sql-logging.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;;AAM1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAYa,mBAAoB,YAAW,MAAM,EAAE,SAAS;IA2D/C,OAAO,CAAC,aAAa;IA1DjC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,uEAAuE;IACvE,OAAO,UAAS;IAEhB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B,0EAA0E;IAC1E,OAAO,UAAS;IAEhB,iEAAiE;IACjE,aAAa,UAAS;IAEtB,wDAAwD;IACxD,gBAAgB,EAAE,GAAG,CAAQ;IAE7B,oDAAoD;IACpD,cAAc,EAAE,GAAG,EAAE,CAAM;IAE3B,kDAAkD;IAClD,eAAe,EAAE,GAAG,CAAQ;IAE5B,+CAA+C;IAC/C,UAAU,SAAM;IAEhB,oDAAoD;IACpD,WAAW,UAAS;IAEpB,8DAA8D;IAC9D,eAAe,SAAQ;IAEvB,4DAA4D;IAC5D,sBAAsB,UAAS;IAE/B,qDAAqD;IACrD,iBAAiB;QACf,uCAAuC;;QAEvC,4DAA4D;;QAE5D,iDAAiD;;QAEjD,yCAAyC;;QAEzC,oDAAoD;;QAEpD,0CAA0C;;MAE1C;IAEF,yDAAyD;IACzD,oBAAoB;;;QAIlB;gBAEkB,aAAa,EAAE,aAAa;IAEhD;;;OAGG;IACG,QAAQ;IASd;;;OAGG;IACH,WAAW;IAKX;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;OAKG;YACW,oBAAoB;IAsClC;;;OAGG;IACH,sBAAsB;IAQtB;;;OAGG;IACG,eAAe;IAsErB;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK;IAkD7C;;;OAGG;IACG,eAAe;IA2CrB;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,GAAG;IAK1B;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,GAAG;IA+CjC;;;;;OAKG;IACG,oBAAoB;IAqD1B;;;;;OAKG;IACG,kBAAkB;IAqDxB;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAkB7C;;;OAGG;IACG,sBAAsB;IAsB5B;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKrC;;;;OAIG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;OAGG;IACG,cAAc;yCA/kBT,mBAAmB;2CAAnB,mBAAmB;CA2mB/B"}
|