@memberjunction/ng-dashboards 2.52.0 → 2.54.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/dist/AI/ai-dashboard.component.js +17 -19
- package/dist/AI/ai-dashboard.component.js.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +4 -6
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +3 -5
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/models/model-management-v2.component.js +3 -5
- package/dist/AI/components/models/model-management-v2.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.js +68 -66
- package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +4 -6
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/Actions/actions-management-dashboard.component.js +14 -15
- package/dist/Actions/actions-management-dashboard.component.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +5 -6
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +6 -7
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.js +3 -4
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +3 -4
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +5 -6
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/executions-list-view.component.js +3 -4
- package/dist/Actions/components/executions-list-view.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +3 -4
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +3 -4
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/EntityAdmin/components/erd-composite.component.js +6 -7
- package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +4 -6
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/package.json +7 -7
|
@@ -2,8 +2,7 @@ import { Component, Output, EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { RunView, LogError, LogStatus } from '@memberjunction/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@progress/kendo-angular-layout";
|
|
5
|
-
import * as i2 from "
|
|
6
|
-
import * as i3 from "./system-config-filter-panel.component";
|
|
5
|
+
import * as i2 from "./system-config-filter-panel.component";
|
|
7
6
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
8
7
|
function SystemConfigurationComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
9
8
|
i0.ɵɵtext(0, " Hide Filters ");
|
|
@@ -240,7 +239,7 @@ export class SystemConfigurationComponent {
|
|
|
240
239
|
return 'fa-solid fa-cogs';
|
|
241
240
|
}
|
|
242
241
|
static ɵfac = function SystemConfigurationComponent_Factory(t) { return new (t || SystemConfigurationComponent)(); };
|
|
243
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SystemConfigurationComponent, selectors: [["app-system-configuration"]], outputs: { openEntityRecord: "openEntityRecord", stateChange: "stateChange" }, decls: 25, vars:
|
|
242
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SystemConfigurationComponent, selectors: [["app-system-configuration"]], outputs: { openEntityRecord: "openEntityRecord", stateChange: "stateChange" }, decls: 25, vars: 15, consts: [[1, "system-configuration-container"], [1, "dashboard-header"], [1, "header-info"], ["type", "button", "title", "Toggle Filters", 1, "filter-toggle-btn", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "config-count"], [1, "header-controls"], ["type", "button", "title", "Refresh", 1, "control-btn", 3, "click"], [1, "fa-solid", "fa-refresh"], ["type", "button", "title", "Create New Configuration", 1, "control-btn"], [1, "fa-solid", "fa-plus"], [1, "main-content"], ["orientation", "horizontal", 1, "main-splitter", 3, "layoutChange"], [3, "size", "collapsible", "resizable", "scrollable", "hidden"], [3, "filtersChange", "filterChange", "resetFilters", "closePanel", "configurations", "filteredConfigurations", "filters"], [3, "resizable", "scrollable"], [1, "configurations-content"], [1, "loading-container"], [1, "error-container"], [1, "loading-content"], [1, "loading-spinner"], [1, "spinner-ring"], [1, "loading-text"], [1, "error-message"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "empty-state"], [1, "configurations-grid"], [1, "fa-solid", "fa-cogs"], [1, "config-card"], [1, "card-header"], [1, "config-info"], [1, "config-icon"], [1, "config-details"], [1, "config-name"], [1, "config-meta"], [1, "default-badge"], [1, "card-body"], [1, "config-description"], [1, "config-description", "text-muted"], [1, "card-actions", 3, "click"], ["type", "button", 1, "action-btn"], [1, "fa-solid", "fa-eye"], ["type", "button", 1, "action-btn", "action-btn-primary"], [1, "fa-solid", "fa-edit"], ["type", "button", 1, "action-btn", "action-btn-warning"], ["type", "button", 1, "action-btn", "action-btn-danger"], [1, "fa-solid", "fa-trash"], [1, "fa-solid", "fa-star"]], template: function SystemConfigurationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
244
243
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "button", 3);
|
|
245
244
|
i0.ɵɵlistener("click", function SystemConfigurationComponent_Template_button_click_3_listener() { return ctx.toggleFilterPanel(); });
|
|
246
245
|
i0.ɵɵelement(4, "i", 4);
|
|
@@ -267,7 +266,6 @@ export class SystemConfigurationComponent {
|
|
|
267
266
|
i0.ɵɵtemplate(22, SystemConfigurationComponent_Conditional_22_Template, 8, 0, "div", 17)(23, SystemConfigurationComponent_Conditional_23_Template, 4, 1, "div", 18)(24, SystemConfigurationComponent_Conditional_24_Template, 2, 1);
|
|
268
267
|
i0.ɵɵelementEnd()()()()();
|
|
269
268
|
} if (rf & 2) {
|
|
270
|
-
i0.ɵɵproperty("rightMargin", 8)("bottomMargin", 8);
|
|
271
269
|
i0.ɵɵadvance(5);
|
|
272
270
|
i0.ɵɵconditional(ctx.filterPanelVisible ? 5 : 6);
|
|
273
271
|
i0.ɵɵadvance(3);
|
|
@@ -284,11 +282,11 @@ export class SystemConfigurationComponent {
|
|
|
284
282
|
i0.ɵɵconditional(ctx.error ? 23 : -1);
|
|
285
283
|
i0.ɵɵadvance();
|
|
286
284
|
i0.ɵɵconditional(!ctx.isLoading && !ctx.error ? 24 : -1);
|
|
287
|
-
} }, dependencies: [i1.SplitterComponent, i1.SplitterPaneComponent, i2.
|
|
285
|
+
} }, dependencies: [i1.SplitterComponent, i1.SplitterPaneComponent, i2.SystemConfigFilterPanelComponent], styles: ["@use \"../../../../../../dist/packages/Angular/Explorer/explorer-core/src/generic/generic-browse-list.component\";\n\n.config-content[_ngcontent-%COMP%] {\n padding: 20px;\n height: 100%;\n overflow-y: auto;\n}\n\n.config-cards-container[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 20px;\n margin-top: 20px;\n}\n\n.config-card[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 20px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: box-shadow 0.2s ease;\n position: relative;\n\n &:hover {\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n }\n}\n\n.config-card-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 12px;\n gap: 10px;\n}\n\n.config-name[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 16px;\n color: #333;\n margin: 0;\n flex: 1;\n}\n\n.config-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.default-badge[_ngcontent-%COMP%] {\n background: #007bff;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n text-transform: uppercase;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n text-transform: uppercase;\n\n &.active {\n background: #d4edda;\n color: #155724;\n border: 1px solid #c3e6cb;\n }\n\n &.inactive {\n background: #f8d7da;\n color: #721c24;\n border: 1px solid #f5c6cb;\n }\n\n &.deprecated {\n background: #fff3cd;\n color: #856404;\n border: 1px solid #ffeaa7;\n }\n\n &.preview {\n background: #e2e3e5;\n color: #383d41;\n border: 1px solid #d6d8db;\n }\n}\n\n.config-description[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n line-height: 1.5;\n margin: 0;\n margin-bottom: 16px;\n}\n\n.config-meta[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n color: #888;\n border-top: 1px solid #f0f0f0;\n padding-top: 12px;\n}\n\n.config-id[_ngcontent-%COMP%] {\n font-family: monospace;\n background: #f8f9fa;\n padding: 2px 6px;\n border-radius: 3px;\n}\n\n.main-splitter[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n \n .k-pane {\n overflow: hidden;\n }\n}\n\n.no-configs-message[_ngcontent-%COMP%] {\n text-align: center;\n color: #666;\n font-style: italic;\n margin-top: 50px;\n font-size: 16px;\n}\n\n.loading-message[_ngcontent-%COMP%] {\n text-align: center;\n color: #666;\n margin-top: 50px;\n font-size: 16px;\n}"] });
|
|
288
286
|
}
|
|
289
287
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SystemConfigurationComponent, [{
|
|
290
288
|
type: Component,
|
|
291
|
-
args: [{ selector: 'app-system-configuration', template: "<div class=\"system-configuration-container\"
|
|
289
|
+
args: [{ selector: 'app-system-configuration', template: "<div class=\"system-configuration-container\">\n <!-- Header -->\n <div class=\"dashboard-header\">\n <div class=\"header-info\">\n <button \n type=\"button\" \n class=\"filter-toggle-btn\"\n (click)=\"toggleFilterPanel()\"\n title=\"Toggle Filters\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (filterPanelVisible) {\n Hide Filters\n } @else {\n Show Filters\n }\n </button>\n <span class=\"config-count\">{{ filteredConfigurations.length }} configurations</span>\n </div>\n \n <div class=\"header-controls\">\n <button \n type=\"button\" \n class=\"control-btn\"\n (click)=\"loadData()\"\n title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n Refresh\n </button>\n <button \n type=\"button\" \n class=\"control-btn\"\n title=\"Create New Configuration\">\n <i class=\"fa-solid fa-plus\"></i>\n New Configuration\n </button>\n </div>\n </div>\n\n <!-- Main Content with Splitter -->\n <div class=\"main-content\">\n <kendo-splitter \n class=\"main-splitter\"\n orientation=\"horizontal\"\n (layoutChange)=\"onMainSplitterChange($event)\"\n >\n \n <!-- Filter Panel (Left) -->\n <kendo-splitter-pane \n [size]=\"filterPanelVisible ? '320px' : '0px'\"\n [collapsible]=\"false\"\n [resizable]=\"filterPanelVisible\"\n [scrollable]=\"false\"\n [hidden]=\"!filterPanelVisible\">\n <mj-system-config-filter-panel\n [configurations]=\"configurations\"\n [filteredConfigurations]=\"filteredConfigurations\"\n [filters]=\"currentFilters\"\n (filtersChange)=\"onFiltersChange($event)\"\n (filterChange)=\"onFilterChange()\"\n (resetFilters)=\"onResetFilters()\"\n (closePanel)=\"toggleFilterPanel()\">\n </mj-system-config-filter-panel>\n </kendo-splitter-pane>\n \n <!-- Configurations List Panel -->\n <kendo-splitter-pane \n [resizable]=\"true\"\n [scrollable]=\"false\">\n <div class=\"configurations-content\">\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <div class=\"loading-content\">\n <div class=\"loading-spinner\">\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n </div>\n <div class=\"loading-text\">Loading configurations...</div>\n </div>\n </div>\n }\n\n <!-- Error State -->\n @if (error) {\n <div class=\"error-container\">\n <p class=\"error-message\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ error }}\n </p>\n </div>\n }\n\n <!-- Configurations List -->\n @if (!isLoading && !error) {\n @if (filteredConfigurations.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-cogs\"></i>\n <h3>No configurations found</h3>\n <p>No AI configurations match your current filters. Try adjusting your search criteria or create a new configuration.</p>\n </div>\n } @else {\n <div class=\"configurations-grid\">\n @for (config of filteredConfigurations; track config.ID) {\n <div class=\"config-card\">\n <!-- Card Header -->\n <div class=\"card-header\">\n <div class=\"config-info\">\n <div class=\"config-icon\">\n <i [class]=\"getConfigIcon()\"></i>\n </div>\n <div class=\"config-details\">\n <h4 class=\"config-name\">{{ config.Name }}</h4>\n <div class=\"config-meta\">\n @if (config.IsDefault) {\n <span class=\"default-badge\">\n <i class=\"fa-solid fa-star\"></i>\n Default\n </span>\n }\n </div>\n </div>\n </div>\n \n <div class=\"status-badge status-{{ config.Status.toLowerCase() }}\">\n {{ config.Status }}\n </div>\n </div>\n\n <!-- Card Body -->\n <div class=\"card-body\">\n @if (config.Description) {\n <p class=\"config-description\">{{ config.Description }}</p>\n } @else {\n <p class=\"config-description text-muted\">No description provided</p>\n }\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\" (click)=\"$event.stopPropagation()\">\n <button \n type=\"button\" \n class=\"action-btn\">\n <i class=\"fa-solid fa-eye\"></i>\n View\n </button>\n \n <button \n type=\"button\" \n class=\"action-btn action-btn-primary\">\n <i class=\"fa-solid fa-edit\"></i>\n Configure\n </button>\n \n @if (!config.IsDefault) {\n <button \n type=\"button\" \n class=\"action-btn action-btn-warning\">\n <i class=\"fa-solid fa-star\"></i>\n Set Default\n </button>\n }\n \n <button \n type=\"button\" \n class=\"action-btn action-btn-danger\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n</div>", styles: ["@use \"../../../../../../dist/packages/Angular/Explorer/explorer-core/src/generic/generic-browse-list.component\";\n\n.config-content {\n padding: 20px;\n height: 100%;\n overflow-y: auto;\n}\n\n.config-cards-container {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 20px;\n margin-top: 20px;\n}\n\n.config-card {\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 20px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: box-shadow 0.2s ease;\n position: relative;\n\n &:hover {\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n }\n}\n\n.config-card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 12px;\n gap: 10px;\n}\n\n.config-name {\n font-weight: 600;\n font-size: 16px;\n color: #333;\n margin: 0;\n flex: 1;\n}\n\n.config-badges {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.default-badge {\n background: #007bff;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n text-transform: uppercase;\n}\n\n.status-badge {\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n text-transform: uppercase;\n\n &.active {\n background: #d4edda;\n color: #155724;\n border: 1px solid #c3e6cb;\n }\n\n &.inactive {\n background: #f8d7da;\n color: #721c24;\n border: 1px solid #f5c6cb;\n }\n\n &.deprecated {\n background: #fff3cd;\n color: #856404;\n border: 1px solid #ffeaa7;\n }\n\n &.preview {\n background: #e2e3e5;\n color: #383d41;\n border: 1px solid #d6d8db;\n }\n}\n\n.config-description {\n color: #666;\n font-size: 14px;\n line-height: 1.5;\n margin: 0;\n margin-bottom: 16px;\n}\n\n.config-meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n color: #888;\n border-top: 1px solid #f0f0f0;\n padding-top: 12px;\n}\n\n.config-id {\n font-family: monospace;\n background: #f8f9fa;\n padding: 2px 6px;\n border-radius: 3px;\n}\n\n.main-splitter {\n height: 100%;\n width: 100%;\n \n .k-pane {\n overflow: hidden;\n }\n}\n\n.no-configs-message {\n text-align: center;\n color: #666;\n font-style: italic;\n margin-top: 50px;\n font-size: 16px;\n}\n\n.loading-message {\n text-align: center;\n color: #666;\n margin-top: 50px;\n font-size: 16px;\n}"] }]
|
|
292
290
|
}], null, { openEntityRecord: [{
|
|
293
291
|
type: Output
|
|
294
292
|
}], stateChange: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-configuration.component.js","sourceRoot":"","sources":["../../../../src/AI/components/system/system-configuration.component.ts","../../../../src/AI/components/system/system-configuration.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAU,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,EAAY,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC
|
|
1
|
+
{"version":3,"file":"system-configuration.component.js","sourceRoot":"","sources":["../../../../src/AI/components/system/system-configuration.component.ts","../../../../src/AI/components/system/system-configuration.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAU,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,EAAY,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;;;;;;ICUpE,8BACF;;;IACE,8BACF;;;IA2DQ,AADF,AADF,+BAA+B,cACA,cACE;IAG3B,AADA,AADA,0BAAgC,cACA,cACA;IAClC,iBAAM;IACN,+BAA0B;IAAA,yCAAyB;IAEvD,AADE,AADqD,iBAAM,EACrD,EACF;;;IAMJ,AADF,+BAA6B,YACF;IACvB,wBAAgD;IAChD,YACF;IACF,AADE,iBAAI,EACA;;;IAFF,eACF;IADE,6CACF;;;IAOA,+BAAyB;IACvB,wBAAgC;IAChC,0BAAI;IAAA,uCAAuB;IAAA,iBAAK;IAChC,yBAAG;IAAA,kIAAkH;IACvH,AADuH,iBAAI,EACrH;;;IAeU,gCAA4B;IAC1B,wBAAgC;IAChC,yBACF;IAAA,iBAAO;;;IAcb,6BAA8B;IAAA,YAAwB;IAAA,iBAAI;;;IAA5B,cAAwB;IAAxB,2CAAwB;;;IAEtD,6BAAyC;IAAA,uCAAuB;IAAA,iBAAI;;;IAqBpE,kCAEwC;IACtC,wBAAgC;IAChC,6BACF;IAAA,iBAAS;;;;IApDT,AADF,AADF,AAFF,+BAAyB,cAEE,cACE,cACE;IACvB,oBAAiC;IACnC,iBAAM;IAEJ,AADF,+BAA4B,aACF;IAAA,YAAiB;IAAA,iBAAK;IAC9C,+BAAyB;IACvB,0HAAwB;IAQ9B,AADE,AADE,iBAAM,EACF,EACF;IAEN,4BAAmE;IACjE,aACF;IACF,AADE,iBAAM,EACF;IAGN,gCAAuB;IAGnB,AAFF,yHAA0B,4GAEjB;IAGX,iBAAM;IAGN,gCAA6D;IAAnC,sLAAS,wBAAwB,KAAC;IAC1D,mCAEqB;IACnB,yBAA+B;IAC/B,uBACF;IAAA,iBAAS;IAET,mCAEwC;IACtC,yBAAgC;IAChC,4BACF;IAAA,iBAAS;IAET,8HAAyB;IASzB,mCAEuC;IACrC,yBAAiC;IACjC,yBACF;IAEJ,AADE,AADE,iBAAS,EACL,EACF;;;;IA7DK,eAAyB;IAAzB,qCAAyB;IAGJ,eAAiB;IAAjB,oCAAiB;IAEvC,eAKC;IALD,8CAKC;IAKF,cAA6D;IAA7D,qFAA6D;IAChE,cACF;IADE,iDACF;IAKA,eAIC;IAJD,iDAIC;IAmBD,eAOC;IAPD,gDAOC;;;IA3DT,+BAAiC;IAC/B,+HAoEC;IACH,iBAAM;;;IArEJ,cAoEC;IApED,4CAoEC;;;IAtEH,AANF,qGAA2C,wFAMlC;;;IANT,oEA8EC;;AD9Jb,MAAM,OAAO,4BAA4B;IAC7B,gBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;IAC9E,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;IAEzC,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,GAAkB,IAAI,CAAC;IAC5B,kBAAkB,GAAG,IAAI,CAAC;IAE1B,cAAc,GAA4B,EAAE,CAAC;IAC7C,sBAAsB,GAA4B,EAAE,CAAC;IAErD,cAAc,GAAuB;QAC1C,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;gBAC9B,UAAU,EAAE,uBAAuB;gBACnC,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE,EAAE;gBACpB,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAkC,CAAC;gBAChE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,SAAS,CAAC,uCAAuC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,qDAAqD,CAAC;YACnE,QAAQ,CAAC,iCAAiC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,oBAAoB,CAAC,KAAU;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,eAAe,CAAC,OAA2B;QAChD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,cAAc,GAAG;YACpB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAExC,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAChE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAClC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9C,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrF,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,KAAK,MAAM,CAAC;YAC3D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;IACzC,CAAC;IAEO,eAAe;QACrB,MAAM,KAAK,GAAG;YACZ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;IACrD,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAChC,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;YACjC,KAAK,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC;YAChC,KAAK,YAAY,CAAC,CAAC,OAAO,OAAO,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;sFAhIU,4BAA4B;6DAA5B,4BAA4B;YCXnC,AADF,AADF,AAFF,8BAA4C,aAEZ,aACH,gBAKE;YADvB,yGAAS,uBAAmB,IAAC;YAE7B,uBAAkC;YAGhC,AAFF,2EAA0B,8DAEjB;YAGX,iBAAS;YACT,+BAA2B;YAAA,YAAkD;YAC/E,AAD+E,iBAAO,EAChF;YAGJ,AADF,8BAA6B,iBAKT;YADhB,0GAAS,cAAU,IAAC;YAEpB,wBAAmC;YACnC,0BACF;YAAA,iBAAS;YACT,kCAGmC;YACjC,yBAAgC;YAChC,oCACF;YAEJ,AADE,AADE,iBAAS,EACL,EACF;YAIJ,AADF,gCAA0B,0BAKrB;YADD,sIAAgB,gCAA4B,IAAC;YAU3C,AANF,gDAKiC,yCAQM;YAAnC,AADA,AADA,AADA,uJAAiB,2BAAuB,IAAC,kIACzB,oBAAgB,IAAC,kIACjB,oBAAgB,IAAC,8HACnB,uBAAmB,IAAC;YAEtC,AADE,iBAAgC,EACZ;YAMpB,AAHF,gDAEuB,eACe;YA0BlC,AAVA,AAdA,wFAAiB,2EAcJ,gEAUe;YAqFtC,AADE,AADE,AADE,AADE,iBAAM,EACc,EACP,EACb,EACF;;YAzKE,eAIC;YAJD,gDAIC;YAEwB,eAAkD;YAAlD,+EAAkD;YAgC3E,gBAA6C;YAI7C,AADA,AADA,AADA,AADA,+DAA6C,sBACxB,qCACW,qBACZ,mCACU;YAE5B,cAAiC;YAEjC,AADA,AADA,mDAAiC,sDACgB,+BACvB;YAU5B,cAAkB;YAClB,AADA,gCAAkB,qBACE;YAGlB,eAWC;YAXD,yCAWC;YAGD,cAOC;YAPD,qCAOC;YAGD,cAgFC;YAhFD,wDAgFC;;;iFD/JE,4BAA4B;cALxC,SAAS;2BACE,0BAA0B;gBAK1B,gBAAgB;kBAAzB,MAAM;YACG,WAAW;kBAApB,MAAM;;kFAFI,4BAA4B"}
|
|
@@ -12,18 +12,17 @@ import { Subject } from 'rxjs';
|
|
|
12
12
|
import { debounceTime } from 'rxjs/operators';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@progress/kendo-angular-indicators";
|
|
15
|
-
import * as i2 from "@
|
|
16
|
-
import * as i3 from "@progress/kendo-angular-
|
|
17
|
-
import * as i4 from "
|
|
18
|
-
import * as i5 from "./components/
|
|
19
|
-
import * as i6 from "./components/
|
|
20
|
-
import * as i7 from "./components/
|
|
21
|
-
import * as i8 from "./components/
|
|
22
|
-
import * as i9 from "./components/
|
|
23
|
-
import * as i10 from "./components/
|
|
24
|
-
import * as i11 from "./components/
|
|
25
|
-
import * as i12 from "./components/
|
|
26
|
-
import * as i13 from "./components/categories-list-view.component";
|
|
15
|
+
import * as i2 from "@progress/kendo-angular-navigation";
|
|
16
|
+
import * as i3 from "@progress/kendo-angular-buttons";
|
|
17
|
+
import * as i4 from "./components/actions-overview.component";
|
|
18
|
+
import * as i5 from "./components/execution-monitoring.component";
|
|
19
|
+
import * as i6 from "./components/scheduled-actions.component";
|
|
20
|
+
import * as i7 from "./components/code-management.component";
|
|
21
|
+
import * as i8 from "./components/entity-integration.component";
|
|
22
|
+
import * as i9 from "./components/security-permissions.component";
|
|
23
|
+
import * as i10 from "./components/actions-list-view.component";
|
|
24
|
+
import * as i11 from "./components/executions-list-view.component";
|
|
25
|
+
import * as i12 from "./components/categories-list-view.component";
|
|
27
26
|
function ActionsManagementDashboardComponent_Conditional_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
28
27
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
29
28
|
i0.ɵɵelementStart(0, "mj-actions-overview", 10);
|
|
@@ -241,7 +240,7 @@ let ActionsManagementDashboardComponent = class ActionsManagementDashboardCompon
|
|
|
241
240
|
this.showSubView('categories-list');
|
|
242
241
|
}
|
|
243
242
|
static ɵfac = function ActionsManagementDashboardComponent_Factory(t) { return new (t || ActionsManagementDashboardComponent)(); };
|
|
244
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsManagementDashboardComponent, selectors: [["mj-actions-management-dashboard"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 3, consts: [[
|
|
243
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsManagementDashboardComponent, selectors: [["mj-actions-management-dashboard"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 3, consts: [[1, "actions-management-dashboard"], [1, "dashboard-header"], [1, "dashboard-title"], [1, "fa-solid", "fa-cogs"], [1, "dashboard-subtitle"], [1, "dashboard-content"], [1, "actions-navigation", 3, "itemClick", "items"], [1, "tab-content"], [1, "sub-view-container"], [1, "loading-overlay"], [3, "openEntityRecord", "showActionsListView", "showExecutionsListView", "showCategoriesListView"], [3, "openEntityRecord", "showExecutionsListView"], [3, "openEntityRecord"], [1, "sub-view-header"], ["kendoButton", "", 1, "back-button", 3, "click", "icon", "fillMode"], ["type", "converging-spinner", 3, "themeColor"]], template: function ActionsManagementDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
245
244
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h2", 2);
|
|
246
245
|
i0.ɵɵelement(3, "i", 3);
|
|
247
246
|
i0.ɵɵtext(4, " Actions Management ");
|
|
@@ -264,7 +263,7 @@ let ActionsManagementDashboardComponent = class ActionsManagementDashboardCompon
|
|
|
264
263
|
i0.ɵɵconditional(ctx.subView === null ? 10 : 11);
|
|
265
264
|
i0.ɵɵadvance(2);
|
|
266
265
|
i0.ɵɵconditional(ctx.isLoading ? 12 : -1);
|
|
267
|
-
} }, dependencies: [i1.LoaderComponent, i2.
|
|
266
|
+
} }, dependencies: [i1.LoaderComponent, i2.BottomNavigationComponent, i3.ButtonComponent, i4.ActionsOverviewComponent, i5.ExecutionMonitoringComponent, i6.ScheduledActionsComponent, i7.CodeManagementComponent, i8.EntityIntegrationComponent, i9.SecurityPermissionsComponent, i10.ActionsListViewComponent, i11.ExecutionsListViewComponent, i12.CategoriesListViewComponent], styles: [".actions-management-dashboard[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 1rem;\n background-color: var(--kendo-color-surface);\n\n .dashboard-header {\n margin-bottom: 1.5rem;\n \n .dashboard-title {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n margin: 0 0 0.5rem 0;\n font-size: 1.75rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n \n i {\n color: var(--kendo-color-primary);\n }\n }\n \n .dashboard-subtitle {\n color: var(--kendo-color-subtle);\n font-size: 1rem;\n margin-left: 2.25rem;\n }\n }\n\n .dashboard-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n\n .actions-navigation {\n margin-bottom: 1rem;\n border-radius: 0.5rem;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n }\n\n .tab-content {\n flex: 1;\n min-height: 0;\n background: var(--kendo-color-app-surface);\n border-radius: 0.5rem;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n\n .sub-view-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .sub-view-header {\n padding: 1rem 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n\n .back-button {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: var(--kendo-color-primary);\n font-weight: 600;\n\n &:hover {\n color: var(--kendo-color-primary-darker);\n }\n }\n }\n\n mj-actions-list-view,\n mj-executions-list-view,\n mj-categories-list-view {\n flex: 1;\n min-height: 0;\n }\n }\n }\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n}\n\n// Navigation styling\n[_nghost-%COMP%] {\n .k-bottom-nav {\n background-color: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n \n .k-bottom-nav-item {\n transition: all 0.2s ease;\n position: relative;\n color: var(--kendo-color-on-surface);\n padding: 0.75rem 1rem;\n \n // Add more visible text and icon\n .k-bottom-nav-item-icon {\n font-size: 1.5rem;\n margin-bottom: 0.5rem;\n \n i {\n color: var(--kendo-color-subtle);\n }\n }\n \n .k-bottom-nav-item-text {\n font-size: 0.9rem;\n font-weight: 600;\n color: var(--kendo-color-on-surface);\n }\n \n &:hover {\n background-color: var(--kendo-color-base-hover);\n transform: translateY(-2px);\n \n .k-bottom-nav-item-icon i {\n color: var(--kendo-color-primary);\n }\n }\n \n &.k-state-selected {\n background-color: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n \n .k-bottom-nav-item-icon i {\n color: var(--kendo-color-primary);\n }\n \n .k-bottom-nav-item-text {\n color: var(--kendo-color-primary);\n font-weight: 700;\n }\n \n // Add bottom indicator for selected state\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 10%;\n right: 10%;\n height: 4px;\n background-color: var(--kendo-color-primary);\n border-radius: 4px 4px 0 0;\n animation: _ngcontent-%COMP%_slideIn 0.2s ease;\n }\n }\n }\n }\n}\n\n@keyframes _ngcontent-%COMP%_slideIn {\n from {\n transform: scaleX(0);\n }\n to {\n transform: scaleX(1);\n }\n}\n\n//[_ngcontent-%COMP%] Responsive[_ngcontent-%COMP%] design\n@media[_ngcontent-%COMP%] (max-width[_ngcontent-%COMP%]: 768px)[_ngcontent-%COMP%] {\n .actions-management-dashboard {\n padding: 0.5rem;\n \n .dashboard-header {\n margin-bottom: 1rem;\n \n .dashboard-title {\n font-size: 1.5rem;\n }\n \n .dashboard-subtitle {\n font-size: 0.9rem;\n }\n }\n }\n}"] });
|
|
268
267
|
};
|
|
269
268
|
ActionsManagementDashboardComponent = __decorate([
|
|
270
269
|
RegisterClass(BaseDashboard, 'ActionsManagement')
|
|
@@ -272,7 +271,7 @@ ActionsManagementDashboardComponent = __decorate([
|
|
|
272
271
|
export { ActionsManagementDashboardComponent };
|
|
273
272
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsManagementDashboardComponent, [{
|
|
274
273
|
type: Component,
|
|
275
|
-
args: [{ selector: 'mj-actions-management-dashboard', template: "<div class=\"actions-management-dashboard\"
|
|
274
|
+
args: [{ selector: 'mj-actions-management-dashboard', template: "<div class=\"actions-management-dashboard\" >\n <div class=\"dashboard-header\">\n <h2 class=\"dashboard-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Actions Management\n </h2>\n <div class=\"dashboard-subtitle\">\n Manage actions, execution monitoring, and integrations\n </div>\n </div>\n\n <div class=\"dashboard-content\">\n <!-- Bottom Navigation -->\n <kendo-bottomnavigation\n [items]=\"navigationConfig\"\n (itemClick)=\"onNavigationChange($event)\"\n class=\"actions-navigation\">\n </kendo-bottomnavigation>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n @if (subView === null) {\n <!-- Main tab content when no sub-view is active -->\n @if (activeTab === 'overview') {\n <mj-actions-overview\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (showActionsListView)=\"onShowActionsListView()\"\n (showExecutionsListView)=\"onShowExecutionsListView()\"\n (showCategoriesListView)=\"onShowCategoriesListView()\">\n </mj-actions-overview>\n }\n \n @if (activeTab === 'execution') {\n <mj-execution-monitoring\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (showExecutionsListView)=\"onShowExecutionsListView()\">\n </mj-execution-monitoring>\n }\n \n @if (activeTab === 'scheduled') {\n <mj-scheduled-actions\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-scheduled-actions>\n }\n \n @if (activeTab === 'code') {\n <mj-code-management\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-code-management>\n }\n \n @if (activeTab === 'entities') {\n <mj-entity-integration\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-entity-integration>\n }\n \n @if (activeTab === 'security') {\n <mj-security-permissions\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-security-permissions>\n }\n } @else {\n <!-- Sub-view content -->\n <div class=\"sub-view-container\">\n <div class=\"sub-view-header\">\n <button kendoButton \n [icon]=\"'chevron-left'\" \n [fillMode]=\"'flat'\"\n (click)=\"onBackToOverview()\"\n class=\"back-button\">\n Back to {{ getCurrentTabLabel() }}\n </button>\n </div>\n \n @if (subView === 'actions-list') {\n <mj-actions-list-view\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-actions-list-view>\n }\n \n @if (subView === 'executions-list') {\n <mj-executions-list-view\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-executions-list-view>\n }\n \n @if (subView === 'categories-list') {\n <mj-categories-list-view\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-categories-list-view>\n }\n </div>\n }\n </div>\n </div>\n\n @if (isLoading) {\n <div class=\"loading-overlay\">\n <kendo-loader type=\"converging-spinner\" [themeColor]=\"'primary'\"></kendo-loader>\n </div>\n }\n</div>", styles: [".actions-management-dashboard {\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 1rem;\n background-color: var(--kendo-color-surface);\n\n .dashboard-header {\n margin-bottom: 1.5rem;\n \n .dashboard-title {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n margin: 0 0 0.5rem 0;\n font-size: 1.75rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n \n i {\n color: var(--kendo-color-primary);\n }\n }\n \n .dashboard-subtitle {\n color: var(--kendo-color-subtle);\n font-size: 1rem;\n margin-left: 2.25rem;\n }\n }\n\n .dashboard-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n\n .actions-navigation {\n margin-bottom: 1rem;\n border-radius: 0.5rem;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n }\n\n .tab-content {\n flex: 1;\n min-height: 0;\n background: var(--kendo-color-app-surface);\n border-radius: 0.5rem;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n\n .sub-view-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .sub-view-header {\n padding: 1rem 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n\n .back-button {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: var(--kendo-color-primary);\n font-weight: 600;\n\n &:hover {\n color: var(--kendo-color-primary-darker);\n }\n }\n }\n\n mj-actions-list-view,\n mj-executions-list-view,\n mj-categories-list-view {\n flex: 1;\n min-height: 0;\n }\n }\n }\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n}\n\n// Navigation styling\n:host ::ng-deep {\n .k-bottom-nav {\n background-color: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n \n .k-bottom-nav-item {\n transition: all 0.2s ease;\n position: relative;\n color: var(--kendo-color-on-surface);\n padding: 0.75rem 1rem;\n \n // Add more visible text and icon\n .k-bottom-nav-item-icon {\n font-size: 1.5rem;\n margin-bottom: 0.5rem;\n \n i {\n color: var(--kendo-color-subtle);\n }\n }\n \n .k-bottom-nav-item-text {\n font-size: 0.9rem;\n font-weight: 600;\n color: var(--kendo-color-on-surface);\n }\n \n &:hover {\n background-color: var(--kendo-color-base-hover);\n transform: translateY(-2px);\n \n .k-bottom-nav-item-icon i {\n color: var(--kendo-color-primary);\n }\n }\n \n &.k-state-selected {\n background-color: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n \n .k-bottom-nav-item-icon i {\n color: var(--kendo-color-primary);\n }\n \n .k-bottom-nav-item-text {\n color: var(--kendo-color-primary);\n font-weight: 700;\n }\n \n // Add bottom indicator for selected state\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 10%;\n right: 10%;\n height: 4px;\n background-color: var(--kendo-color-primary);\n border-radius: 4px 4px 0 0;\n animation: slideIn 0.2s ease;\n }\n }\n }\n }\n}\n\n@keyframes slideIn {\n from {\n transform: scaleX(0);\n }\n to {\n transform: scaleX(1);\n }\n}\n\n// Responsive design\n@media (max-width: 768px) {\n .actions-management-dashboard {\n padding: 0.5rem;\n \n .dashboard-header {\n margin-bottom: 1rem;\n \n .dashboard-title {\n font-size: 1.5rem;\n }\n \n .dashboard-subtitle {\n font-size: 0.9rem;\n }\n }\n }\n}"] }]
|
|
276
275
|
}], () => [], null); })();
|
|
277
276
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionsManagementDashboardComponent, { className: "ActionsManagementDashboardComponent", filePath: "src/Actions/actions-management-dashboard.component.ts", lineNumber: 31 }); })();
|
|
278
277
|
export function LoadActionsManagementDashboard() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions-management-dashboard.component.js","sourceRoot":"","sources":["../../src/Actions/actions-management-dashboard.component.ts","../../src/Actions/actions-management-dashboard.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"actions-management-dashboard.component.js","sourceRoot":"","sources":["../../src/Actions/actions-management-dashboard.component.ts","../../src/Actions/actions-management-dashboard.component.html"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,8 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
import * as i1 from "@progress/kendo-angular-indicators";
|
|
7
7
|
import * as i2 from "@progress/kendo-angular-dropdowns";
|
|
8
8
|
import * as i3 from "@progress/kendo-angular-inputs";
|
|
9
|
-
import * as i4 from "@
|
|
10
|
-
import * as i5 from "@
|
|
11
|
-
import * as i6 from "@angular/common";
|
|
9
|
+
import * as i4 from "@progress/kendo-angular-buttons";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
12
11
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
13
12
|
function ActionsListViewComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
14
13
|
i0.ɵɵelement(0, "i", 14);
|
|
@@ -296,7 +295,7 @@ export class ActionsListViewComponent {
|
|
|
296
295
|
}
|
|
297
296
|
}
|
|
298
297
|
static ɵfac = function ActionsListViewComponent_Factory(t) { return new (t || ActionsListViewComponent)(); };
|
|
299
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsListViewComponent, selectors: [["mj-actions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 20, vars: 11, consts: [[
|
|
298
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsListViewComponent, selectors: [["mj-actions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 20, vars: 11, consts: [[1, "actions-list-view"], [1, "list-header"], [1, "header-title"], [1, "fa-solid", "fa-cogs"], [1, "results-count"], [1, "filters-row"], [1, "search-container"], ["placeholder", "Search actions...", 3, "valueChange", "value"], ["kendoTextBoxPrefixTemplate", ""], [1, "filter-group"], ["textField", "text", "valueField", "value", 3, "valueChange", "data", "value"], [1, "actions-list"], [1, "empty-state"], [1, "loading-overlay"], [1, "fa-solid", "fa-search"], [1, "action-card"], [1, "action-card", 3, "click"], [1, "action-icon"], [1, "action-main"], [1, "action-header"], [1, "action-name"], [1, "action-badges"], [3, "themeColor", "size"], ["themeColor", "info", 3, "size"], [1, "action-description"], [1, "action-details"], [1, "detail-item"], [1, "fa-solid", "fa-folder"], [1, "action-actions"], ["kendoButton", "", 3, "click", "fillMode", "icon"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-check-circle"], ["type", "converging-spinner", 3, "themeColor"]], template: function ActionsListViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
300
299
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h2");
|
|
301
300
|
i0.ɵɵelement(4, "i", 3);
|
|
302
301
|
i0.ɵɵtext(5, " Actions");
|
|
@@ -337,11 +336,11 @@ export class ActionsListViewComponent {
|
|
|
337
336
|
i0.ɵɵconditional(ctx.filteredActions.length > 0 ? 17 : !ctx.isLoading ? 18 : -1);
|
|
338
337
|
i0.ɵɵadvance(2);
|
|
339
338
|
i0.ɵɵconditional(ctx.isLoading ? 19 : -1);
|
|
340
|
-
} }, dependencies: [i1.LoaderComponent, i2.DropDownListComponent, i3.TextBoxComponent, i3.TextBoxPrefixTemplateDirective, i4.
|
|
339
|
+
} }, dependencies: [i1.LoaderComponent, i2.DropDownListComponent, i3.TextBoxComponent, i3.TextBoxPrefixTemplateDirective, i4.ButtonComponent, i4.ChipComponent, i5.DatePipe], styles: [".actions-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--kendo-color-app-surface);\n\n .list-header {\n padding: 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n\n .header-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n h2 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n i {\n color: var(--kendo-color-primary);\n }\n }\n\n .results-count {\n font-size: 0.875rem;\n color: var(--kendo-color-subtle);\n font-weight: 600;\n }\n }\n\n .filters-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n\n .search-container {\n flex: 1;\n min-width: 200px;\n\n kendo-textbox {\n width: 100%;\n }\n }\n\n .filter-group {\n display: flex;\n gap: 0.75rem;\n \n kendo-dropdownlist {\n min-width: 140px;\n }\n }\n }\n }\n\n .actions-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n\n .action-card {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background: var(--kendo-color-base-hover);\n border-color: var(--kendo-color-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n }\n\n .action-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: var(--kendo-color-primary-subtle);\n flex-shrink: 0;\n\n i {\n color: var(--kendo-color-primary);\n font-size: 1.25rem;\n }\n }\n\n .action-main {\n flex: 1;\n\n .action-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n\n .action-name {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n }\n\n .action-badges {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n\n kendo-chip {\n &:has(i) {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n }\n }\n }\n\n .action-description {\n color: var(--kendo-color-subtle);\n line-height: 1.5;\n margin-bottom: 1rem;\n }\n\n .action-details {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n\n .detail-item {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--kendo-color-subtle);\n\n i {\n color: var(--kendo-color-primary);\n width: 0.75rem;\n }\n }\n }\n }\n\n .action-actions {\n flex-shrink: 0;\n\n button {\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n }\n\n &:hover .action-actions button {\n opacity: 1;\n }\n }\n\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--kendo-color-subtle);\n\n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n}\n\n//[_ngcontent-%COMP%] Responsive[_ngcontent-%COMP%] design\n@media[_ngcontent-%COMP%] (max-width[_ngcontent-%COMP%]: 768px)[_ngcontent-%COMP%] {\n .actions-list-view {\n .list-header {\n padding: 1rem;\n\n .header-title {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n\n .filters-row {\n flex-direction: column;\n align-items: stretch;\n\n .search-container,\n .filter-group {\n min-width: unset;\n }\n\n .filter-group {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n }\n }\n\n .actions-list {\n padding: 1rem;\n\n .action-card {\n padding: 1rem;\n\n .action-main .action-header {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n\n .action-badges {\n align-self: flex-start;\n }\n }\n\n .action-main .action-details {\n gap: 1rem;\n }\n }\n }\n }\n}"] });
|
|
341
340
|
}
|
|
342
341
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsListViewComponent, [{
|
|
343
342
|
type: Component,
|
|
344
|
-
args: [{ selector: 'mj-actions-list-view', template: "<div class=\"actions-list-view\" mjFillContainer>\n <!-- Header with filters -->\n <div class=\"list-header\">\n <div class=\"header-title\">\n <h2><i class=\"fa-solid fa-cogs\"></i> Actions</h2>\n <div class=\"results-count\">{{ filteredActions.length }} of {{ actions.length }} actions</div>\n </div>\n \n <div class=\"filters-row\">\n <div class=\"search-container\">\n <kendo-textbox \n placeholder=\"Search actions...\" \n [value]=\"searchTerm$.value\"\n (valueChange)=\"onSearchChange($event)\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fa-solid fa-search\"></i>\n </ng-template>\n </kendo-textbox>\n </div>\n \n <div class=\"filter-group\">\n <kendo-dropdownlist \n [data]=\"statusOptions\"\n textField=\"text\"\n valueField=\"value\"\n [value]=\"selectedStatus$.value\"\n (valueChange)=\"onStatusFilterChange($event)\">\n </kendo-dropdownlist>\n \n <kendo-dropdownlist \n [data]=\"typeOptions\"\n textField=\"text\"\n valueField=\"value\"\n [value]=\"selectedType$.value\"\n (valueChange)=\"onTypeFilterChange($event)\">\n </kendo-dropdownlist>\n \n <kendo-dropdownlist \n [data]=\"categoryOptions\"\n textField=\"text\"\n valueField=\"value\"\n [value]=\"selectedCategory$.value\"\n (valueChange)=\"onCategoryFilterChange($event)\">\n </kendo-dropdownlist>\n </div>\n </div>\n </div>\n\n <!-- Actions List -->\n <div class=\"actions-list\">\n @if (filteredActions.length > 0) {\n @for (action of filteredActions; track action.ID) {\n <div class=\"action-card\" (click)=\"openAction(action)\">\n <div class=\"action-icon\">\n <i [class]=\"getTypeIcon(action.Type)\"></i>\n </div>\n \n <div class=\"action-main\">\n <div class=\"action-header\">\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n <div class=\"action-badges\">\n <kendo-chip \n [themeColor]=\"getStatusColor(action.Status)\"\n [size]=\"'small'\">\n {{ action.Status }}\n </kendo-chip>\n @if (action.Type === 'Generated') {\n <kendo-chip \n themeColor=\"info\"\n [size]=\"'small'\">\n <i class=\"fa-solid fa-robot\"></i> AI Generated\n </kendo-chip>\n }\n </div>\n </div>\n \n <div class=\"action-description\">\n {{ action.Description || 'No description available' }}\n </div>\n \n <div class=\"action-details\">\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ getCategoryName(action.CategoryID) }}</span>\n </div>\n @if (action.__mj_UpdatedAt) {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-clock\"></i>\n <span>Updated {{ action.__mj_UpdatedAt | date:'MMM d, yyyy' }}</span>\n </div>\n }\n @if (action.CodeApprovalStatus && action.Type === 'Generated') {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ action.CodeApprovalStatus }}</span>\n </div>\n }\n </div>\n </div>\n \n <div class=\"action-actions\">\n <button kendoButton \n [fillMode]=\"'flat'\" \n [icon]=\"'more-vertical'\"\n (click)=\"$event.stopPropagation()\">\n </button>\n </div>\n </div>\n }\n } @else if (!isLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search\"></i>\n <h3>No actions found</h3>\n <p>Try adjusting your search or filter criteria</p>\n </div>\n }\n </div>\n\n @if (isLoading) {\n <div class=\"loading-overlay\">\n <kendo-loader type=\"converging-spinner\" [themeColor]=\"'primary'\"></kendo-loader>\n </div>\n }\n</div>", styles: [".actions-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--kendo-color-app-surface);\n\n .list-header {\n padding: 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n\n .header-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n h2 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n i {\n color: var(--kendo-color-primary);\n }\n }\n\n .results-count {\n font-size: 0.875rem;\n color: var(--kendo-color-subtle);\n font-weight: 600;\n }\n }\n\n .filters-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n\n .search-container {\n flex: 1;\n min-width: 200px;\n\n kendo-textbox {\n width: 100%;\n }\n }\n\n .filter-group {\n display: flex;\n gap: 0.75rem;\n \n kendo-dropdownlist {\n min-width: 140px;\n }\n }\n }\n }\n\n .actions-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n\n .action-card {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background: var(--kendo-color-base-hover);\n border-color: var(--kendo-color-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n }\n\n .action-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: var(--kendo-color-primary-subtle);\n flex-shrink: 0;\n\n i {\n color: var(--kendo-color-primary);\n font-size: 1.25rem;\n }\n }\n\n .action-main {\n flex: 1;\n\n .action-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n\n .action-name {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n }\n\n .action-badges {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n\n kendo-chip {\n &:has(i) {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n }\n }\n }\n\n .action-description {\n color: var(--kendo-color-subtle);\n line-height: 1.5;\n margin-bottom: 1rem;\n }\n\n .action-details {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n\n .detail-item {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--kendo-color-subtle);\n\n i {\n color: var(--kendo-color-primary);\n width: 0.75rem;\n }\n }\n }\n }\n\n .action-actions {\n flex-shrink: 0;\n\n button {\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n }\n\n &:hover .action-actions button {\n opacity: 1;\n }\n }\n\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--kendo-color-subtle);\n\n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n}\n\n// Responsive design\n@media (max-width: 768px) {\n .actions-list-view {\n .list-header {\n padding: 1rem;\n\n .header-title {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n\n .filters-row {\n flex-direction: column;\n align-items: stretch;\n\n .search-container,\n .filter-group {\n min-width: unset;\n }\n\n .filter-group {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n }\n }\n\n .actions-list {\n padding: 1rem;\n\n .action-card {\n padding: 1rem;\n\n .action-main .action-header {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n\n .action-badges {\n align-self: flex-start;\n }\n }\n\n .action-main .action-details {\n gap: 1rem;\n }\n }\n }\n }\n}"] }]
|
|
343
|
+
args: [{ selector: 'mj-actions-list-view', template: "<div class=\"actions-list-view\" >\n <!-- Header with filters -->\n <div class=\"list-header\">\n <div class=\"header-title\">\n <h2><i class=\"fa-solid fa-cogs\"></i> Actions</h2>\n <div class=\"results-count\">{{ filteredActions.length }} of {{ actions.length }} actions</div>\n </div>\n \n <div class=\"filters-row\">\n <div class=\"search-container\">\n <kendo-textbox \n placeholder=\"Search actions...\" \n [value]=\"searchTerm$.value\"\n (valueChange)=\"onSearchChange($event)\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fa-solid fa-search\"></i>\n </ng-template>\n </kendo-textbox>\n </div>\n \n <div class=\"filter-group\">\n <kendo-dropdownlist \n [data]=\"statusOptions\"\n textField=\"text\"\n valueField=\"value\"\n [value]=\"selectedStatus$.value\"\n (valueChange)=\"onStatusFilterChange($event)\">\n </kendo-dropdownlist>\n \n <kendo-dropdownlist \n [data]=\"typeOptions\"\n textField=\"text\"\n valueField=\"value\"\n [value]=\"selectedType$.value\"\n (valueChange)=\"onTypeFilterChange($event)\">\n </kendo-dropdownlist>\n \n <kendo-dropdownlist \n [data]=\"categoryOptions\"\n textField=\"text\"\n valueField=\"value\"\n [value]=\"selectedCategory$.value\"\n (valueChange)=\"onCategoryFilterChange($event)\">\n </kendo-dropdownlist>\n </div>\n </div>\n </div>\n\n <!-- Actions List -->\n <div class=\"actions-list\">\n @if (filteredActions.length > 0) {\n @for (action of filteredActions; track action.ID) {\n <div class=\"action-card\" (click)=\"openAction(action)\">\n <div class=\"action-icon\">\n <i [class]=\"getTypeIcon(action.Type)\"></i>\n </div>\n \n <div class=\"action-main\">\n <div class=\"action-header\">\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n <div class=\"action-badges\">\n <kendo-chip \n [themeColor]=\"getStatusColor(action.Status)\"\n [size]=\"'small'\">\n {{ action.Status }}\n </kendo-chip>\n @if (action.Type === 'Generated') {\n <kendo-chip \n themeColor=\"info\"\n [size]=\"'small'\">\n <i class=\"fa-solid fa-robot\"></i> AI Generated\n </kendo-chip>\n }\n </div>\n </div>\n \n <div class=\"action-description\">\n {{ action.Description || 'No description available' }}\n </div>\n \n <div class=\"action-details\">\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ getCategoryName(action.CategoryID) }}</span>\n </div>\n @if (action.__mj_UpdatedAt) {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-clock\"></i>\n <span>Updated {{ action.__mj_UpdatedAt | date:'MMM d, yyyy' }}</span>\n </div>\n }\n @if (action.CodeApprovalStatus && action.Type === 'Generated') {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ action.CodeApprovalStatus }}</span>\n </div>\n }\n </div>\n </div>\n \n <div class=\"action-actions\">\n <button kendoButton \n [fillMode]=\"'flat'\" \n [icon]=\"'more-vertical'\"\n (click)=\"$event.stopPropagation()\">\n </button>\n </div>\n </div>\n }\n } @else if (!isLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search\"></i>\n <h3>No actions found</h3>\n <p>Try adjusting your search or filter criteria</p>\n </div>\n }\n </div>\n\n @if (isLoading) {\n <div class=\"loading-overlay\">\n <kendo-loader type=\"converging-spinner\" [themeColor]=\"'primary'\"></kendo-loader>\n </div>\n }\n</div>", styles: [".actions-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--kendo-color-app-surface);\n\n .list-header {\n padding: 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n\n .header-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n h2 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n i {\n color: var(--kendo-color-primary);\n }\n }\n\n .results-count {\n font-size: 0.875rem;\n color: var(--kendo-color-subtle);\n font-weight: 600;\n }\n }\n\n .filters-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n\n .search-container {\n flex: 1;\n min-width: 200px;\n\n kendo-textbox {\n width: 100%;\n }\n }\n\n .filter-group {\n display: flex;\n gap: 0.75rem;\n \n kendo-dropdownlist {\n min-width: 140px;\n }\n }\n }\n }\n\n .actions-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n\n .action-card {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background: var(--kendo-color-base-hover);\n border-color: var(--kendo-color-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n }\n\n .action-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: var(--kendo-color-primary-subtle);\n flex-shrink: 0;\n\n i {\n color: var(--kendo-color-primary);\n font-size: 1.25rem;\n }\n }\n\n .action-main {\n flex: 1;\n\n .action-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n\n .action-name {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n }\n\n .action-badges {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n\n kendo-chip {\n &:has(i) {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n }\n }\n }\n\n .action-description {\n color: var(--kendo-color-subtle);\n line-height: 1.5;\n margin-bottom: 1rem;\n }\n\n .action-details {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n\n .detail-item {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--kendo-color-subtle);\n\n i {\n color: var(--kendo-color-primary);\n width: 0.75rem;\n }\n }\n }\n }\n\n .action-actions {\n flex-shrink: 0;\n\n button {\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n }\n\n &:hover .action-actions button {\n opacity: 1;\n }\n }\n\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--kendo-color-subtle);\n\n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n}\n\n// Responsive design\n@media (max-width: 768px) {\n .actions-list-view {\n .list-header {\n padding: 1rem;\n\n .header-title {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n\n .filters-row {\n flex-direction: column;\n align-items: stretch;\n\n .search-container,\n .filter-group {\n min-width: unset;\n }\n\n .filter-group {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n }\n }\n\n .actions-list {\n padding: 1rem;\n\n .action-card {\n padding: 1rem;\n\n .action-main .action-header {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n\n .action-badges {\n align-self: flex-start;\n }\n }\n\n .action-main .action-details {\n gap: 1rem;\n }\n }\n }\n }\n}"] }]
|
|
345
344
|
}], () => [], { openEntityRecord: [{
|
|
346
345
|
type: Output
|
|
347
346
|
}] }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions-list-view.component.js","sourceRoot":"","sources":["../../../src/Actions/components/actions-list-view.component.ts","../../../src/Actions/components/actions-list-view.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"actions-list-view.component.js","sourceRoot":"","sources":["../../../src/Actions/components/actions-list-view.component.ts","../../../src/Actions/components/actions-list-view.component.html"],"names":[],"mappings":"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"}
|