web-mojo 2.2.17 → 2.2.19

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.
Files changed (33) hide show
  1. package/dist/admin.cjs.js +1 -1
  2. package/dist/admin.cjs.js.map +1 -1
  3. package/dist/admin.es.js +169 -16
  4. package/dist/admin.es.js.map +1 -1
  5. package/dist/auth.cjs.js +1 -1
  6. package/dist/auth.es.js +1 -1
  7. package/dist/charts.cjs.js +1 -1
  8. package/dist/charts.es.js +1 -1
  9. package/dist/chunks/{ChatView-BkNdhS7Y.js → ChatView-BJbSvaqi.js} +2 -2
  10. package/dist/chunks/{ChatView-BkNdhS7Y.js.map → ChatView-BJbSvaqi.js.map} +1 -1
  11. package/dist/chunks/{ChatView-E17fCJ1j.js → ChatView-BdRd1iSt.js} +19 -4
  12. package/dist/chunks/{ChatView-E17fCJ1j.js.map → ChatView-BdRd1iSt.js.map} +1 -1
  13. package/dist/chunks/{Collection-zmb3xHhH.js → Collection-sSP1JF8d.js} +2 -2
  14. package/dist/chunks/{Collection-zmb3xHhH.js.map → Collection-sSP1JF8d.js.map} +1 -1
  15. package/dist/chunks/{ContextMenu-DPjJuxpq.js → ContextMenu-C9qnhdFg.js} +2 -2
  16. package/dist/chunks/{ContextMenu-DPjJuxpq.js.map → ContextMenu-C9qnhdFg.js.map} +1 -1
  17. package/dist/chunks/{ListView-BBZw7GUS.js → ListView-0fx1T87y.js} +2 -2
  18. package/dist/chunks/{ListView-BBZw7GUS.js.map → ListView-0fx1T87y.js.map} +1 -1
  19. package/dist/chunks/{TokenManager-D1R8RZaL.js → TokenManager-BPJHPKPk.js} +3 -3
  20. package/dist/chunks/{TokenManager-D1R8RZaL.js.map → TokenManager-BPJHPKPk.js.map} +1 -1
  21. package/dist/chunks/{version-AvfnTsnK.js → version-C5dmlv97.js} +2 -2
  22. package/dist/chunks/{version-AvfnTsnK.js.map → version-C5dmlv97.js.map} +1 -1
  23. package/dist/chunks/{version-BrSBoryP.js → version-OWYBowgn.js} +4 -4
  24. package/dist/chunks/{version-BrSBoryP.js.map → version-OWYBowgn.js.map} +1 -1
  25. package/dist/docit.cjs.js +1 -1
  26. package/dist/docit.es.js +4 -4
  27. package/dist/index.cjs.js +1 -1
  28. package/dist/index.es.js +8 -8
  29. package/dist/lightbox.cjs.js +1 -1
  30. package/dist/lightbox.es.js +1 -1
  31. package/dist/map.es.js +1 -1
  32. package/dist/timeline.es.js +2 -2
  33. package/package.json +1 -1
package/dist/admin.es.js CHANGED
@@ -1,16 +1,16 @@
1
- import { P as Page, U as User, e as UserDataView, g as UserDeviceList, i as UserDeviceLocationList, C as ContextMenu, d as UserForms, c as UserList, a as Group, G as GroupList, b as GroupForms, f as UserDevice } from "./chunks/ContextMenu-DPjJuxpq.js";
1
+ import { P as Page, U as User, e as UserDataView, g as UserDeviceList, i as UserDeviceLocationList, C as ContextMenu, d as UserForms, c as UserList, a as Group, G as GroupList, b as GroupForms, f as UserDevice } from "./chunks/ContextMenu-C9qnhdFg.js";
2
2
  import { V as View, M as MOJOUtils, r as rest } from "./chunks/Rest-0oRgqNjX.js";
3
3
  import "./chunks/WebSocketClient-D53hpvM8.js";
4
4
  import { D as Dialog$1 } from "./chunks/Dialog-BGsJJdvU.js";
5
5
  import { W } from "./chunks/Dialog-BGsJJdvU.js";
6
6
  import { M as MetricsChart, c as MetricsMiniChartWidget, P as PieChart } from "./chunks/MetricsMiniChartWidget-DfW7iH5B.js";
7
- import { aj as MemberList, T as TableView, B as IncidentEventList, ap as PushDeviceList, ai as LogList, c as TabView, b as TablePage, M as Member, ak as MemberForms, ay as GeoLocatedIP, az as GeoLocatedIPList, aB as TicketList, J as IncidentList, a0 as IncidentStats, V as IncidentHistoryList, U as IncidentHistory, H as Incident, C as ChatView, K as IncidentForms, I as IncidentEvent, G as IncidentEventForms, aD as TicketNoteList, aC as TicketNote, aA as Ticket, aE as TicketForms, aF as TicketCategories, W as RuleSet, a2 as MatchByOptions, a1 as BundleByOptions, _ as RuleList, X as RuleSetList, k as EmailDomainForms, j as EmailDomainList, E as EmailDomain, n as MailboxForms, m as MailboxList, l as Mailbox, s as EmailTemplate, u as EmailTemplateForms, t as EmailTemplateList, o as SentMessage, q as SentMessageList, av as PushDeliveryList, aw as PushConfigForms, at as PushConfigList, ax as PushTemplateForms, ar as PushTemplateList, a6 as Job, ac as JobEventList, aa as JobLogList, a8 as JobForms, ad as JobsEngineStats, a7 as JobList, af as JobRunnerList, ag as JobRunnerForms, ae as JobRunner, ah as Log, al as MetricsPermission, an as MetricsForms, am as MetricsPermissionList, x as FileManagerForms, w as FileManagerList, y as File, A as FileForms, z as FileList, i as S3BucketForms, h as S3BucketList } from "./chunks/ChatView-E17fCJ1j.js";
7
+ import { aj as MemberList, T as TableView, B as IncidentEventList, ap as PushDeviceList, ai as LogList, c as TabView, b as TablePage, M as Member, ak as MemberForms, ay as GeoLocatedIP, az as GeoLocatedIPList, aB as TicketList, J as IncidentList, a0 as IncidentStats, V as IncidentHistoryList, U as IncidentHistory, H as Incident, C as ChatView, K as IncidentForms, I as IncidentEvent, G as IncidentEventForms, aD as TicketNoteList, aC as TicketNote, aA as Ticket, aE as TicketForms, aF as TicketCategories, W as RuleSet, a2 as MatchByOptions, a1 as BundleByOptions, _ as RuleList, X as RuleSetList, k as EmailDomainForms, j as EmailDomainList, E as EmailDomain, n as MailboxForms, m as MailboxList, l as Mailbox, s as EmailTemplate, u as EmailTemplateForms, t as EmailTemplateList, o as SentMessage, q as SentMessageList, av as PushDeliveryList, aw as PushConfigForms, at as PushConfigList, ax as PushTemplateForms, ar as PushTemplateList, a6 as Job, ac as JobEventList, aa as JobLogList, a8 as JobForms, ad as JobsEngineStats, a7 as JobList, af as JobRunnerList, ag as JobRunnerForms, ae as JobRunner, ah as Log, al as MetricsPermission, an as MetricsForms, am as MetricsPermissionList, x as FileManagerForms, w as FileManagerList, y as File, A as FileForms, z as FileList, i as S3BucketForms, h as S3BucketList } from "./chunks/ChatView-BdRd1iSt.js";
8
8
  import DataView from "./chunks/DataView-BpXdthN2.js";
9
9
  import { F as FormView, a as applyFileDropMixin } from "./chunks/FormView-D_VTD2EY.js";
10
10
  import { MapView } from "./map.es.js";
11
- import { M as Model, C as Collection } from "./chunks/Collection-zmb3xHhH.js";
11
+ import { M as Model, C as Collection } from "./chunks/Collection-sSP1JF8d.js";
12
12
  import { L as LightboxGallery, P as PDFViewer } from "./chunks/PDFViewer-C9hCxlyT.js";
13
- import { B, a, V, b, c, d } from "./chunks/version-BrSBoryP.js";
13
+ import { B, a, V, b, c, d } from "./chunks/version-OWYBowgn.js";
14
14
  class AdminHeaderView extends View {
15
15
  constructor(options = {}) {
16
16
  super({
@@ -4087,6 +4087,66 @@ class EventTablePage extends TablePage {
4087
4087
  key: "category__not",
4088
4088
  label: "Not Category",
4089
4089
  filter: { type: "text" }
4090
+ },
4091
+ {
4092
+ key: "metadata__http_url__icontains",
4093
+ label: "URL Contains",
4094
+ filter: { type: "text" }
4095
+ },
4096
+ {
4097
+ key: "metadata__http_path__icontains",
4098
+ label: "Path Contains",
4099
+ filter: { type: "text" }
4100
+ },
4101
+ {
4102
+ key: "metadata__http_query_string__icontains",
4103
+ label: "Query String Contains",
4104
+ filter: { type: "text" }
4105
+ },
4106
+ {
4107
+ key: "metadata__rule_id",
4108
+ label: "Rule ID",
4109
+ filter: { type: "text" }
4110
+ },
4111
+ {
4112
+ key: "metadata__country_code",
4113
+ label: "Country",
4114
+ filter: { type: "text" }
4115
+ },
4116
+ {
4117
+ key: "metadata__region",
4118
+ label: "Region",
4119
+ filter: { type: "text" }
4120
+ },
4121
+ {
4122
+ key: "metadata__city__icontains",
4123
+ label: "City",
4124
+ filter: { type: "text" }
4125
+ },
4126
+ {
4127
+ key: "metadata__http_status",
4128
+ label: "HTTP Status",
4129
+ filter: { type: "text" }
4130
+ },
4131
+ {
4132
+ key: "model_name",
4133
+ label: "Model Name",
4134
+ filter: { type: "text" }
4135
+ },
4136
+ {
4137
+ key: "model_id",
4138
+ label: "Model ID",
4139
+ filter: { type: "text" }
4140
+ },
4141
+ {
4142
+ key: "metadata__user_email",
4143
+ label: "User Email",
4144
+ filter: { type: "text" }
4145
+ },
4146
+ {
4147
+ key: "metadata__http_user_agent__icontains",
4148
+ label: "User Agent Contains",
4149
+ filter: { type: "text" }
4090
4150
  }
4091
4151
  ],
4092
4152
  // Table features
@@ -4362,6 +4422,10 @@ class TicketTablePage extends TablePage {
4362
4422
  viewDialogOptions: {
4363
4423
  header: false
4364
4424
  },
4425
+ defaultQuery: {
4426
+ sort: "-priority",
4427
+ status: "open"
4428
+ },
4365
4429
  // Column definitions
4366
4430
  columns: [
4367
4431
  { key: "id", label: "ID", width: "70px", sortable: true, class: "text-muted" },
@@ -6647,8 +6711,8 @@ class JobsAdminPage extends Page {
6647
6711
  <i class="bi bi-arrow-clockwise"></i> Refresh
6648
6712
  </button>
6649
6713
  <button type="button" class="btn btn-outline-primary btn-sm"
6650
- data-action="export-data" title="Export Data">
6651
- <i class="bi bi-download"></i> Export
6714
+ data-action="view-all-jobs" title="View All Jobs">
6715
+ <i class="bi bi-table"></i> View All
6652
6716
  </button>
6653
6717
  <div class="dropdown">
6654
6718
  <button class="btn btn-outline-secondary btn-sm dropdown-toggle"
@@ -6748,12 +6812,9 @@ class JobsAdminPage extends Page {
6748
6812
  </div>
6749
6813
  </div>
6750
6814
 
6751
- <div class="card shadow-sm mb-5">
6815
+ <div class="card shadow-sm mb-5">
6752
6816
  <div class="card-header d-flex justify-content-between align-items-center">
6753
6817
  <h5 class="mb-0"><i class="bi bi-tools me-2"></i>Operations</h5>
6754
- <button class="btn btn-outline-secondary btn-sm" data-action="view-all-jobs">
6755
- <i class="bi bi-table"></i> View All Jobs
6756
- </button>
6757
6818
  </div>
6758
6819
  <div class="card-body">
6759
6820
  <div class="d-flex flex-wrap gap-2">
@@ -7394,12 +7455,104 @@ class JobsAdminPage extends Page {
7394
7455
  });
7395
7456
  }
7396
7457
  async onActionViewAllJobs() {
7397
- const router = this.getApp()?.router;
7398
- if (router) {
7399
- router.navigateTo("/admin/jobs/table");
7400
- } else {
7401
- this.getApp()?.toast?.info("Router unavailable.");
7402
- }
7458
+ const jobList = new JobList({
7459
+ params: {
7460
+ sort: "-created",
7461
+ size: 25
7462
+ }
7463
+ });
7464
+ const view = new TableView({
7465
+ collection: jobList,
7466
+ fetchOnMount: true,
7467
+ columns: [
7468
+ {
7469
+ key: "id",
7470
+ label: "Job",
7471
+ template: `
7472
+ <div class="fw-semibold font-monospace">{{model.id}}</div>
7473
+ <div class="text-muted small">{{model.func|default('Unknown')}}</div>
7474
+ `
7475
+ },
7476
+ {
7477
+ key: "channel",
7478
+ label: "Channel",
7479
+ formatter: "badge"
7480
+ },
7481
+ {
7482
+ key: "status",
7483
+ label: "Status",
7484
+ formatter: (value, context) => {
7485
+ const job = context.row;
7486
+ const badgeClass = job.getStatusBadgeClass ? job.getStatusBadgeClass() : "bg-secondary";
7487
+ const icon = job.getStatusIcon ? job.getStatusIcon() : "bi-question";
7488
+ return `<span class="badge ${badgeClass}"><i class="${icon} me-1"></i>${value?.toUpperCase() || "UNKNOWN"}</span>`;
7489
+ }
7490
+ },
7491
+ {
7492
+ key: "created",
7493
+ label: "Created",
7494
+ formatter: "datetime"
7495
+ },
7496
+ {
7497
+ key: "finished_at",
7498
+ label: "Finished",
7499
+ formatter: "datetime"
7500
+ },
7501
+ {
7502
+ key: "duration_ms",
7503
+ label: "Duration",
7504
+ formatter: "duration"
7505
+ }
7506
+ ],
7507
+ filters: [
7508
+ {
7509
+ key: "func__icontains",
7510
+ label: "Function",
7511
+ type: "text"
7512
+ },
7513
+ {
7514
+ key: "status",
7515
+ label: "Status",
7516
+ type: "select",
7517
+ options: [
7518
+ { label: "Pending", value: "pending" },
7519
+ { label: "Running", value: "running" },
7520
+ { label: "Completed", value: "completed" },
7521
+ { label: "Failed", value: "failed" },
7522
+ { label: "Canceled", value: "canceled" },
7523
+ { label: "Expired", value: "expired" }
7524
+ ]
7525
+ },
7526
+ {
7527
+ key: "channel",
7528
+ label: "Channel",
7529
+ type: "text"
7530
+ }
7531
+ ],
7532
+ itemView: JobDetailsView,
7533
+ viewDialogOptions: {
7534
+ title: "Job Details",
7535
+ size: "xl",
7536
+ scrollable: true
7537
+ },
7538
+ searchable: true,
7539
+ filterable: true,
7540
+ paginated: true,
7541
+ tableOptions: {
7542
+ striped: true,
7543
+ hover: true,
7544
+ responsive: true
7545
+ }
7546
+ });
7547
+ await this.getApp().showDialog({
7548
+ title: '<i class="bi bi-table me-2"></i>All Jobs',
7549
+ body: view,
7550
+ size: "xl",
7551
+ scrollable: true,
7552
+ buttons: [
7553
+ { text: "Close", class: "btn-secondary", dismiss: true }
7554
+ ]
7555
+ });
7403
7556
  }
7404
7557
  }
7405
7558
  class TaskDetailsView extends View {