@memberjunction/ng-dashboards 2.47.0 → 2.49.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 +105 -2
- package/dist/AI/ai-dashboard.component.d.ts +2 -0
- package/dist/AI/ai-dashboard.component.d.ts.map +1 -1
- package/dist/AI/ai-dashboard.component.js +66 -43
- package/dist/AI/ai-dashboard.component.js.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +45 -58
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.d.ts +6 -1
- package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +368 -366
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +83 -85
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
- package/dist/AI/components/charts/performance-heatmap.component.d.ts +66 -0
- package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -0
- package/dist/AI/components/charts/performance-heatmap.component.js +428 -0
- package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -0
- package/dist/AI/components/charts/time-series-chart.component.d.ts +66 -0
- package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -0
- package/dist/AI/components/charts/time-series-chart.component.js +547 -0
- package/dist/AI/components/charts/time-series-chart.component.js.map +1 -0
- package/dist/AI/components/execution-monitoring.component.d.ts +157 -5
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +2032 -20
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +211 -237
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +208 -226
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +97 -99
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +381 -424
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js +173 -191
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +85 -87
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +86 -99
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.d.ts +25 -0
- package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -0
- package/dist/AI/components/widgets/kpi-card.component.js +163 -0
- package/dist/AI/components/widgets/kpi-card.component.js.map +1 -0
- package/dist/AI/components/widgets/live-execution-widget.component.d.ts +25 -0
- package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -0
- package/dist/AI/components/widgets/live-execution-widget.component.js +298 -0
- package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -0
- package/dist/AI/index.d.ts +7 -0
- package/dist/AI/index.d.ts.map +1 -0
- package/dist/AI/index.js +9 -0
- package/dist/AI/index.js.map +1 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts +109 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -0
- package/dist/AI/services/ai-instrumentation.service.js +490 -0
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -0
- package/dist/Actions/actions-management-dashboard.component.js +40 -41
- package/dist/Actions/actions-management-dashboard.component.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +117 -134
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +274 -296
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js +12 -14
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.js +12 -14
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +12 -14
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +238 -256
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/executions-list-view.component.js +12 -14
- package/dist/Actions/components/executions-list-view.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +12 -14
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +12 -14
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/EntityAdmin/components/entity-details.component.js +105 -107
- package/dist/EntityAdmin/components/entity-details.component.js.map +1 -1
- package/dist/EntityAdmin/components/entity-filter-panel.component.js +100 -102
- package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -1
- package/dist/EntityAdmin/components/erd-composite.component.js +84 -100
- package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -1
- package/dist/EntityAdmin/components/erd-diagram.component.js +50 -50
- package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +45 -49
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/generic/base-dashboard.js +28 -40
- package/dist/generic/base-dashboard.js.map +1 -1
- package/dist/module.d.ts +16 -12
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +36 -15
- package/dist/module.js.map +1 -1
- package/package.json +6 -6
|
@@ -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;;;;;;;;;;;;;;;;;ICmBpC,+CAIwD;IAAtD,AADA,AADA,AADA,gQAAoB,iCAA0B,KAAC,mPACxB,8BAAuB,KAAC,yPACrB,iCAA0B,KAAC,yPAC3B,iCAA0B,KAAC;IACvD,iBAAsB;;;;IAItB,mDAEwD;IAAtD,AADA,oQAAoB,iCAA0B,KAAC,6PACrB,iCAA0B,KAAC;IACvD,iBAA0B;;;;IAI1B,gDACkD;IAAhD,iQAAoB,iCAA0B,KAAC;IACjD,iBAAuB;;;;IAIvB,8CACkD;IAAhD,+PAAoB,iCAA0B,KAAC;IACjD,iBAAqB;;;;IAIrB,iDACkD;IAAhD,kQAAoB,iCAA0B,KAAC;IACjD,iBAAwB;;;;IAIxB,mDACkD;IAAhD,oQAAoB,iCAA0B,KAAC;IACjD,iBAA0B;;;IAH5B,AANA,AANA,AANA,AAPA,AATA,wHAAgC,+GASC,4GAOA,0GAML,6GAMI,+GAMA;;;IAlChC,0DAOC;IAED,cAKC;IALD,2DAKC;IAED,cAIC;IAJD,2DAIC;IAED,cAIC;IAJD,sDAIC;IAED,cAIC;IAJD,0DAIC;IAED,cAIC;IAJD,0DAIC;;;;IAeG,gDACkD;IAAhD,iQAAoB,iCAA0B,KAAC;IACjD,iBAAuB;;;;IAIvB,mDACkD;IAAhD,qQAAoB,iCAA0B,KAAC;IACjD,iBAA0B;;;;IAI1B,mDACkD;IAAhD,qQAAoB,iCAA0B,KAAC;IACjD,iBAA0B;;;;IAxB1B,AADF,AADF,8BAAgC,cACD,iBAKL;IADpB,wMAAS,yBAAkB,KAAC;IAE5B,YACF;IACF,AADE,iBAAS,EACL;IAcN,AANA,AANA,yHAAkC,+GAMG,+GAMA;IAKvC,iBAAM;;;IAzBA,eAAuB;IACvB,AADA,qCAAuB,oBACJ;IAGnB,cACF;IADE,oEACF;IAGF,cAIC;IAJD,4DAIC;IAED,cAIC;IAJD,+DAIC;IAED,cAIC;IAJD,+DAIC;;;IAOP,8BAA6B;IAC3B,mCAAgF;IAClF,iBAAM;;IADoC,cAAwB;IAAxB,sCAAwB;;ADrE/D,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,aAAa;
|
|
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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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Component, Output, EventEmitter } from '@angular/core';
|
|
11
2
|
import { RunView, LogError } from '@memberjunction/core';
|
|
12
3
|
import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
|
|
@@ -130,32 +121,31 @@ function ActionsListViewComponent_Conditional_19_Template(rf, ctx) { if (rf & 1)
|
|
|
130
121
|
i0.ɵɵproperty("themeColor", "primary");
|
|
131
122
|
} }
|
|
132
123
|
export class ActionsListViewComponent {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
124
|
+
openEntityRecord = new EventEmitter();
|
|
125
|
+
isLoading = true;
|
|
126
|
+
actions = [];
|
|
127
|
+
filteredActions = [];
|
|
128
|
+
categories = new Map();
|
|
129
|
+
searchTerm$ = new BehaviorSubject('');
|
|
130
|
+
selectedStatus$ = new BehaviorSubject('all');
|
|
131
|
+
selectedType$ = new BehaviorSubject('all');
|
|
132
|
+
selectedCategory$ = new BehaviorSubject('all');
|
|
133
|
+
statusOptions = [
|
|
134
|
+
{ text: 'All Statuses', value: 'all' },
|
|
135
|
+
{ text: 'Active', value: 'Active' },
|
|
136
|
+
{ text: 'Pending', value: 'Pending' },
|
|
137
|
+
{ text: 'Disabled', value: 'Disabled' }
|
|
138
|
+
];
|
|
139
|
+
typeOptions = [
|
|
140
|
+
{ text: 'All Types', value: 'all' },
|
|
141
|
+
{ text: 'AI Generated', value: 'Generated' },
|
|
142
|
+
{ text: 'Custom', value: 'Custom' }
|
|
143
|
+
];
|
|
144
|
+
categoryOptions = [
|
|
145
|
+
{ text: 'All Categories', value: 'all' }
|
|
146
|
+
];
|
|
147
|
+
destroy$ = new Subject();
|
|
148
|
+
constructor() { }
|
|
159
149
|
ngOnInit() {
|
|
160
150
|
this.setupFilters();
|
|
161
151
|
this.loadData();
|
|
@@ -174,64 +164,58 @@ export class ActionsListViewComponent {
|
|
|
174
164
|
this.applyFilters();
|
|
175
165
|
});
|
|
176
166
|
}
|
|
177
|
-
loadData() {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
});
|
|
167
|
+
async loadData() {
|
|
168
|
+
try {
|
|
169
|
+
this.isLoading = true;
|
|
170
|
+
const [actions, categories] = await Promise.all([
|
|
171
|
+
this.loadActions(),
|
|
172
|
+
this.loadCategories()
|
|
173
|
+
]);
|
|
174
|
+
this.actions = actions;
|
|
175
|
+
this.populateCategoriesMap(categories);
|
|
176
|
+
this.buildCategoryOptions(categories);
|
|
177
|
+
this.applyFilters();
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
LogError('Failed to load actions list data', undefined, error);
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
this.isLoading = false;
|
|
184
|
+
}
|
|
197
185
|
}
|
|
198
|
-
loadActions() {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
MaxRows: 1000
|
|
208
|
-
});
|
|
209
|
-
if (result && result.Success && result.Results) {
|
|
210
|
-
return result.Results;
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
throw new Error('Failed to load actions');
|
|
214
|
-
}
|
|
186
|
+
async loadActions() {
|
|
187
|
+
const rv = new RunView();
|
|
188
|
+
const result = await rv.RunView({
|
|
189
|
+
EntityName: 'Actions',
|
|
190
|
+
ExtraFilter: '',
|
|
191
|
+
OrderBy: 'Name',
|
|
192
|
+
UserSearchString: '',
|
|
193
|
+
IgnoreMaxRows: false,
|
|
194
|
+
MaxRows: 1000
|
|
215
195
|
});
|
|
196
|
+
if (result && result.Success && result.Results) {
|
|
197
|
+
return result.Results;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
throw new Error('Failed to load actions');
|
|
201
|
+
}
|
|
216
202
|
}
|
|
217
|
-
loadCategories() {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
MaxRows: 1000
|
|
227
|
-
});
|
|
228
|
-
if (result && result.Success && result.Results) {
|
|
229
|
-
return result.Results;
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
throw new Error('Failed to load action categories');
|
|
233
|
-
}
|
|
203
|
+
async loadCategories() {
|
|
204
|
+
const rv = new RunView();
|
|
205
|
+
const result = await rv.RunView({
|
|
206
|
+
EntityName: 'Action Categories',
|
|
207
|
+
ExtraFilter: '',
|
|
208
|
+
OrderBy: 'Name',
|
|
209
|
+
UserSearchString: '',
|
|
210
|
+
IgnoreMaxRows: false,
|
|
211
|
+
MaxRows: 1000
|
|
234
212
|
});
|
|
213
|
+
if (result && result.Success && result.Results) {
|
|
214
|
+
return result.Results;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
throw new Error('Failed to load action categories');
|
|
218
|
+
}
|
|
235
219
|
}
|
|
236
220
|
populateCategoriesMap(categories) {
|
|
237
221
|
this.categories.clear();
|
|
@@ -292,10 +276,9 @@ export class ActionsListViewComponent {
|
|
|
292
276
|
});
|
|
293
277
|
}
|
|
294
278
|
getCategoryName(categoryId) {
|
|
295
|
-
var _a;
|
|
296
279
|
if (!categoryId)
|
|
297
280
|
return 'No Category';
|
|
298
|
-
return
|
|
281
|
+
return this.categories.get(categoryId)?.Name || 'Unknown Category';
|
|
299
282
|
}
|
|
300
283
|
getStatusColor(status) {
|
|
301
284
|
switch (status) {
|
|
@@ -312,50 +295,50 @@ export class ActionsListViewComponent {
|
|
|
312
295
|
default: return 'fa-solid fa-cog';
|
|
313
296
|
}
|
|
314
297
|
}
|
|
298
|
+
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: [["mjFillContainer", "", 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
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h2");
|
|
301
|
+
i0.ɵɵelement(4, "i", 3);
|
|
302
|
+
i0.ɵɵtext(5, " Actions");
|
|
303
|
+
i0.ɵɵelementEnd();
|
|
304
|
+
i0.ɵɵelementStart(6, "div", 4);
|
|
305
|
+
i0.ɵɵtext(7);
|
|
306
|
+
i0.ɵɵelementEnd()();
|
|
307
|
+
i0.ɵɵelementStart(8, "div", 5)(9, "div", 6)(10, "kendo-textbox", 7);
|
|
308
|
+
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_textbox_valueChange_10_listener($event) { return ctx.onSearchChange($event); });
|
|
309
|
+
i0.ɵɵtemplate(11, ActionsListViewComponent_ng_template_11_Template, 1, 0, "ng-template", 8);
|
|
310
|
+
i0.ɵɵelementEnd()();
|
|
311
|
+
i0.ɵɵelementStart(12, "div", 9)(13, "kendo-dropdownlist", 10);
|
|
312
|
+
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_13_listener($event) { return ctx.onStatusFilterChange($event); });
|
|
313
|
+
i0.ɵɵelementEnd();
|
|
314
|
+
i0.ɵɵelementStart(14, "kendo-dropdownlist", 10);
|
|
315
|
+
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_14_listener($event) { return ctx.onTypeFilterChange($event); });
|
|
316
|
+
i0.ɵɵelementEnd();
|
|
317
|
+
i0.ɵɵelementStart(15, "kendo-dropdownlist", 10);
|
|
318
|
+
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_15_listener($event) { return ctx.onCategoryFilterChange($event); });
|
|
319
|
+
i0.ɵɵelementEnd()()()();
|
|
320
|
+
i0.ɵɵelementStart(16, "div", 11);
|
|
321
|
+
i0.ɵɵtemplate(17, ActionsListViewComponent_Conditional_17_Template, 2, 0)(18, ActionsListViewComponent_Conditional_18_Template, 6, 0, "div", 12);
|
|
322
|
+
i0.ɵɵelementEnd();
|
|
323
|
+
i0.ɵɵtemplate(19, ActionsListViewComponent_Conditional_19_Template, 2, 1, "div", 13);
|
|
324
|
+
i0.ɵɵelementEnd();
|
|
325
|
+
} if (rf & 2) {
|
|
326
|
+
i0.ɵɵadvance(7);
|
|
327
|
+
i0.ɵɵtextInterpolate2("", ctx.filteredActions.length, " of ", ctx.actions.length, " actions");
|
|
328
|
+
i0.ɵɵadvance(3);
|
|
329
|
+
i0.ɵɵproperty("value", ctx.searchTerm$.value);
|
|
330
|
+
i0.ɵɵadvance(3);
|
|
331
|
+
i0.ɵɵproperty("data", ctx.statusOptions)("value", ctx.selectedStatus$.value);
|
|
332
|
+
i0.ɵɵadvance();
|
|
333
|
+
i0.ɵɵproperty("data", ctx.typeOptions)("value", ctx.selectedType$.value);
|
|
334
|
+
i0.ɵɵadvance();
|
|
335
|
+
i0.ɵɵproperty("data", ctx.categoryOptions)("value", ctx.selectedCategory$.value);
|
|
336
|
+
i0.ɵɵadvance(2);
|
|
337
|
+
i0.ɵɵconditional(ctx.filteredActions.length > 0 ? 17 : !ctx.isLoading ? 18 : -1);
|
|
338
|
+
i0.ɵɵadvance(2);
|
|
339
|
+
i0.ɵɵconditional(ctx.isLoading ? 19 : -1);
|
|
340
|
+
} }, dependencies: [i1.LoaderComponent, i2.DropDownListComponent, i3.TextBoxComponent, i3.TextBoxPrefixTemplateDirective, i4.FillContainer, i5.ButtonComponent, i5.ChipComponent, i6.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}"] });
|
|
315
341
|
}
|
|
316
|
-
ActionsListViewComponent.ɵfac = function ActionsListViewComponent_Factory(t) { return new (t || ActionsListViewComponent)(); };
|
|
317
|
-
ActionsListViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsListViewComponent, selectors: [["mj-actions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 20, vars: 11, consts: [["mjFillContainer", "", 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) {
|
|
318
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h2");
|
|
319
|
-
i0.ɵɵelement(4, "i", 3);
|
|
320
|
-
i0.ɵɵtext(5, " Actions");
|
|
321
|
-
i0.ɵɵelementEnd();
|
|
322
|
-
i0.ɵɵelementStart(6, "div", 4);
|
|
323
|
-
i0.ɵɵtext(7);
|
|
324
|
-
i0.ɵɵelementEnd()();
|
|
325
|
-
i0.ɵɵelementStart(8, "div", 5)(9, "div", 6)(10, "kendo-textbox", 7);
|
|
326
|
-
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_textbox_valueChange_10_listener($event) { return ctx.onSearchChange($event); });
|
|
327
|
-
i0.ɵɵtemplate(11, ActionsListViewComponent_ng_template_11_Template, 1, 0, "ng-template", 8);
|
|
328
|
-
i0.ɵɵelementEnd()();
|
|
329
|
-
i0.ɵɵelementStart(12, "div", 9)(13, "kendo-dropdownlist", 10);
|
|
330
|
-
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_13_listener($event) { return ctx.onStatusFilterChange($event); });
|
|
331
|
-
i0.ɵɵelementEnd();
|
|
332
|
-
i0.ɵɵelementStart(14, "kendo-dropdownlist", 10);
|
|
333
|
-
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_14_listener($event) { return ctx.onTypeFilterChange($event); });
|
|
334
|
-
i0.ɵɵelementEnd();
|
|
335
|
-
i0.ɵɵelementStart(15, "kendo-dropdownlist", 10);
|
|
336
|
-
i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_15_listener($event) { return ctx.onCategoryFilterChange($event); });
|
|
337
|
-
i0.ɵɵelementEnd()()()();
|
|
338
|
-
i0.ɵɵelementStart(16, "div", 11);
|
|
339
|
-
i0.ɵɵtemplate(17, ActionsListViewComponent_Conditional_17_Template, 2, 0)(18, ActionsListViewComponent_Conditional_18_Template, 6, 0, "div", 12);
|
|
340
|
-
i0.ɵɵelementEnd();
|
|
341
|
-
i0.ɵɵtemplate(19, ActionsListViewComponent_Conditional_19_Template, 2, 1, "div", 13);
|
|
342
|
-
i0.ɵɵelementEnd();
|
|
343
|
-
} if (rf & 2) {
|
|
344
|
-
i0.ɵɵadvance(7);
|
|
345
|
-
i0.ɵɵtextInterpolate2("", ctx.filteredActions.length, " of ", ctx.actions.length, " actions");
|
|
346
|
-
i0.ɵɵadvance(3);
|
|
347
|
-
i0.ɵɵproperty("value", ctx.searchTerm$.value);
|
|
348
|
-
i0.ɵɵadvance(3);
|
|
349
|
-
i0.ɵɵproperty("data", ctx.statusOptions)("value", ctx.selectedStatus$.value);
|
|
350
|
-
i0.ɵɵadvance();
|
|
351
|
-
i0.ɵɵproperty("data", ctx.typeOptions)("value", ctx.selectedType$.value);
|
|
352
|
-
i0.ɵɵadvance();
|
|
353
|
-
i0.ɵɵproperty("data", ctx.categoryOptions)("value", ctx.selectedCategory$.value);
|
|
354
|
-
i0.ɵɵadvance(2);
|
|
355
|
-
i0.ɵɵconditional(ctx.filteredActions.length > 0 ? 17 : !ctx.isLoading ? 18 : -1);
|
|
356
|
-
i0.ɵɵadvance(2);
|
|
357
|
-
i0.ɵɵconditional(ctx.isLoading ? 19 : -1);
|
|
358
|
-
} }, dependencies: [i1.LoaderComponent, i2.DropDownListComponent, i3.TextBoxComponent, i3.TextBoxPrefixTemplateDirective, i4.FillContainer, i5.ButtonComponent, i5.ChipComponent, i6.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}"] });
|
|
359
342
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsListViewComponent, [{
|
|
360
343
|
type: Component,
|
|
361
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}"] }]
|
|
@@ -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":"
|
|
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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"}
|