web-mojo 2.1.295 → 2.1.338
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/admin.cjs.js +1 -1
- package/dist/admin.cjs.js.map +1 -1
- package/dist/admin.es.js +54 -53
- package/dist/admin.es.js.map +1 -1
- package/dist/auth.cjs.js +1 -1
- package/dist/auth.cjs.js.map +1 -1
- package/dist/auth.es.js +3 -3
- package/dist/auth.es.js.map +1 -1
- package/dist/charts.cjs.js +1 -1
- package/dist/charts.es.js +2 -2
- package/dist/chunks/{ContextMenu-DKKmjtgo.js → ContextMenu-BRqHEC2q.js} +106 -29
- package/dist/chunks/ContextMenu-BRqHEC2q.js.map +1 -0
- package/dist/chunks/ContextMenu-DoWfr0BY.js +3 -0
- package/dist/chunks/ContextMenu-DoWfr0BY.js.map +1 -0
- package/dist/chunks/{DataView-CX04UO6n.js → DataView-DgOTz7NS.js} +2 -2
- package/dist/chunks/{DataView-CX04UO6n.js.map → DataView-DgOTz7NS.js.map} +1 -1
- package/dist/chunks/{DataView-CjjREbqE.js → DataView-FYalUi83.js} +2 -2
- package/dist/chunks/{DataView-CjjREbqE.js.map → DataView-FYalUi83.js.map} +1 -1
- package/dist/chunks/{Dialog-Dvb1SU1y.js → Dialog-CpvYwnK7.js} +2 -2
- package/dist/chunks/{Dialog-Dvb1SU1y.js.map → Dialog-CpvYwnK7.js.map} +1 -1
- package/dist/chunks/{Dialog-C7XcgLt8.js → Dialog-D7HCQQMK.js} +5 -5
- package/dist/chunks/{Dialog-C7XcgLt8.js.map → Dialog-D7HCQQMK.js.map} +1 -1
- package/dist/chunks/{FilePreviewView-CB0yqQtV.js → FilePreviewView-BokAhylL.js} +13 -10
- package/dist/chunks/FilePreviewView-BokAhylL.js.map +1 -0
- package/dist/chunks/FilePreviewView-Ct4v1mkr.js +2 -0
- package/dist/chunks/FilePreviewView-Ct4v1mkr.js.map +1 -0
- package/dist/chunks/{FormView-DJxUvj0p.js → FormView-CWNpkr0M.js} +212 -67
- package/dist/chunks/FormView-CWNpkr0M.js.map +1 -0
- package/dist/chunks/FormView-WUi-NXkB.js +2 -0
- package/dist/chunks/FormView-WUi-NXkB.js.map +1 -0
- package/dist/chunks/{MetricsChart-DQUOkYQ9.js → MetricsChart-2JMgp_0p.js} +2 -2
- package/dist/chunks/{MetricsChart-DQUOkYQ9.js.map → MetricsChart-2JMgp_0p.js.map} +1 -1
- package/dist/chunks/{MetricsChart-CpfACPrE.js → MetricsChart-CgX9kX8T.js} +3 -3
- package/dist/chunks/{MetricsChart-CpfACPrE.js.map → MetricsChart-CgX9kX8T.js.map} +1 -1
- package/dist/chunks/{PDFViewer-BUOnvSfV.js → PDFViewer-BZSQSArl.js} +2 -2
- package/dist/chunks/{PDFViewer-BUOnvSfV.js.map → PDFViewer-BZSQSArl.js.map} +1 -1
- package/dist/chunks/{PDFViewer-I1qlINnm.js → PDFViewer-kZOAIH9e.js} +3 -3
- package/dist/chunks/{PDFViewer-I1qlINnm.js.map → PDFViewer-kZOAIH9e.js.map} +1 -1
- package/dist/chunks/{Page-ZtYiac8Q.js → Page-BnFeIkwG.js} +2 -2
- package/dist/chunks/{Page-ZtYiac8Q.js.map → Page-BnFeIkwG.js.map} +1 -1
- package/dist/chunks/{Page-h5bbwzKf.js → Page-CHwwfFau.js} +2 -2
- package/dist/chunks/{Page-h5bbwzKf.js.map → Page-CHwwfFau.js.map} +1 -1
- package/dist/chunks/{TopNav-DVX8V6fL.js → TopNav-BSelpZnA.js} +2 -2
- package/dist/chunks/{TopNav-DVX8V6fL.js.map → TopNav-BSelpZnA.js.map} +1 -1
- package/dist/chunks/{TopNav-mtuzmduR.js → TopNav-V_BlTDgB.js} +2 -2
- package/dist/chunks/{TopNav-mtuzmduR.js.map → TopNav-V_BlTDgB.js.map} +1 -1
- package/dist/chunks/{WebApp-BgZwmmBY.js → WebApp-CEW6rw8N.js} +12 -12
- package/dist/chunks/{WebApp-BgZwmmBY.js.map → WebApp-CEW6rw8N.js.map} +1 -1
- package/dist/chunks/{WebApp-C_DpNvNx.js → WebApp-CTalj3eA.js} +2 -2
- package/dist/chunks/{WebApp-C_DpNvNx.js.map → WebApp-CTalj3eA.js.map} +1 -1
- package/dist/core.css +114 -0
- package/dist/css/web-mojo.css +1 -1
- package/dist/docit.cjs.js +1 -1
- package/dist/docit.es.js +5 -5
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +11 -11
- package/dist/lightbox.cjs.js +1 -1
- package/dist/lightbox.es.js +4 -4
- package/package.json +1 -1
- package/dist/chunks/ContextMenu-BhyvSOLE.js +0 -3
- package/dist/chunks/ContextMenu-BhyvSOLE.js.map +0 -1
- package/dist/chunks/ContextMenu-DKKmjtgo.js.map +0 -1
- package/dist/chunks/FilePreviewView-CB0yqQtV.js.map +0 -1
- package/dist/chunks/FilePreviewView-DgVmlBjn.js +0 -2
- package/dist/chunks/FilePreviewView-DgVmlBjn.js.map +0 -1
- package/dist/chunks/FormView-CWFqrlKb.js +0 -2
- package/dist/chunks/FormView-CWFqrlKb.js.map +0 -1
- package/dist/chunks/FormView-DJxUvj0p.js.map +0 -1
package/dist/admin.es.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { P as Page } from "./chunks/Page-
|
|
2
|
-
import { V as View, h as MOJOUtils } from "./chunks/WebApp-
|
|
3
|
-
import { B, b, a, c, e, f, W } from "./chunks/WebApp-
|
|
4
|
-
import Dialog$1 from "./chunks/Dialog-
|
|
5
|
-
import { M as MetricsChart, P as PieChart } from "./chunks/MetricsChart-
|
|
6
|
-
import { b as TablePage, i as EmailDomainForms, h as EmailDomainList, E as EmailDomain, l as MailboxForms, k as MailboxList, j as Mailbox, p as EmailTemplate, d as TabView, r as EmailTemplateForms, q as EmailTemplateList, I as IncidentEvent, z as IncidentEventForms, y as IncidentEventList, u as FileManagerForms, t as FileManagerList, v as File, T as TableView, x as FileForms, w as FileList, am as GeoLocatedIP, an as GeoLocatedIPList, a7 as MemberList, a6 as LogList, ap as TicketList, B as IncidentList, V as IncidentStats, N as IncidentHistoryList, K as IncidentHistory, F as FilePreviewView, A as Incident, C as IncidentForms, W as Job, a0 as JobEventList, _ as JobLogList, Y as JobForms, X as JobList, a3 as JobRunnerList, a1 as JobsEngineStats, a4 as JobRunnerForms, a2 as JobRunner, a5 as Log, M as Member, a8 as MemberForms, a9 as MetricsPermission, ab as MetricsForms, aa as MetricsPermissionList, ak as PushConfigForms, ah as PushConfigList, aj as PushDeliveryList, ad as PushDeviceList, al as PushTemplateForms, af as PushTemplateList, R as RuleSet, U as RuleList, O as RuleSetList, g as S3BucketForms, f as S3BucketList, m as SentMessage, n as SentMessageList, ar as TicketNoteList, aq as TicketNote, ao as Ticket, as as TicketForms, at as TicketCategories } from "./chunks/FilePreviewView-
|
|
7
|
-
import DataView from "./chunks/DataView-
|
|
8
|
-
import { b as ContextMenu, C as Collection, a as Group, G as GroupList, c as GroupForms, g as UserDevice, j as UserDeviceLocationList, h as UserDeviceList, U as User, f as UserDataView, e as UserForms, d as UserList } from "./chunks/ContextMenu-
|
|
9
|
-
import { L as LightboxGallery, P as PDFViewer } from "./chunks/PDFViewer-
|
|
10
|
-
import { a as applyFileDropMixin } from "./chunks/FormView-
|
|
1
|
+
import { P as Page } from "./chunks/Page-CHwwfFau.js";
|
|
2
|
+
import { V as View, h as MOJOUtils } from "./chunks/WebApp-CEW6rw8N.js";
|
|
3
|
+
import { B, b, a, c, e, f, W } from "./chunks/WebApp-CEW6rw8N.js";
|
|
4
|
+
import Dialog$1 from "./chunks/Dialog-D7HCQQMK.js";
|
|
5
|
+
import { M as MetricsChart, P as PieChart } from "./chunks/MetricsChart-CgX9kX8T.js";
|
|
6
|
+
import { b as TablePage, i as EmailDomainForms, h as EmailDomainList, E as EmailDomain, l as MailboxForms, k as MailboxList, j as Mailbox, p as EmailTemplate, d as TabView, r as EmailTemplateForms, q as EmailTemplateList, I as IncidentEvent, z as IncidentEventForms, y as IncidentEventList, u as FileManagerForms, t as FileManagerList, v as File, T as TableView, x as FileForms, w as FileList, am as GeoLocatedIP, an as GeoLocatedIPList, a7 as MemberList, a6 as LogList, ap as TicketList, B as IncidentList, V as IncidentStats, N as IncidentHistoryList, K as IncidentHistory, F as FilePreviewView, A as Incident, C as IncidentForms, W as Job, a0 as JobEventList, _ as JobLogList, Y as JobForms, X as JobList, a3 as JobRunnerList, a1 as JobsEngineStats, a4 as JobRunnerForms, a2 as JobRunner, a5 as Log, M as Member, a8 as MemberForms, a9 as MetricsPermission, ab as MetricsForms, aa as MetricsPermissionList, ak as PushConfigForms, ah as PushConfigList, aj as PushDeliveryList, ad as PushDeviceList, al as PushTemplateForms, af as PushTemplateList, R as RuleSet, U as RuleList, O as RuleSetList, g as S3BucketForms, f as S3BucketList, m as SentMessage, n as SentMessageList, ar as TicketNoteList, aq as TicketNote, ao as Ticket, as as TicketForms, at as TicketCategories } from "./chunks/FilePreviewView-BokAhylL.js";
|
|
7
|
+
import DataView from "./chunks/DataView-DgOTz7NS.js";
|
|
8
|
+
import { b as ContextMenu, C as Collection, a as Group, G as GroupList, c as GroupForms, g as UserDevice, j as UserDeviceLocationList, h as UserDeviceList, U as User, f as UserDataView, e as UserForms, d as UserList } from "./chunks/ContextMenu-BRqHEC2q.js";
|
|
9
|
+
import { L as LightboxGallery, P as PDFViewer } from "./chunks/PDFViewer-kZOAIH9e.js";
|
|
10
|
+
import { a as applyFileDropMixin, F as FormView } from "./chunks/FormView-CWNpkr0M.js";
|
|
11
11
|
class AdminHeaderView extends View {
|
|
12
12
|
constructor(options = {}) {
|
|
13
13
|
super({
|
|
@@ -7385,46 +7385,59 @@ class UserView extends View {
|
|
|
7385
7385
|
this.template = `
|
|
7386
7386
|
<div class="user-view-container">
|
|
7387
7387
|
<!-- User Header -->
|
|
7388
|
-
<div
|
|
7389
|
-
<!-- Left Side: Primary Identity -->
|
|
7390
|
-
<div class="d-flex align-items-center gap-3">
|
|
7391
|
-
{{{model.avatar|avatar('md','rounded-circle')}}}
|
|
7392
|
-
<div>
|
|
7393
|
-
<h3 class="mb-0">{{model.display_name|default('Unnamed User')}}</h3>
|
|
7394
|
-
<a href="mailto:{{model.email}}" class="text-decoration-none text-body">{{model.email}}</a>
|
|
7395
|
-
{{#model.phone_number}}
|
|
7396
|
-
<div class="text-muted small mt-1">{{{model.phone_number|phone(false)}}}</div>
|
|
7397
|
-
{{/model.phone_number}}
|
|
7398
|
-
</div>
|
|
7399
|
-
</div>
|
|
7400
|
-
|
|
7401
|
-
<!-- Right Side: Status & Actions -->
|
|
7402
|
-
<div class="d-flex align-items-start gap-4">
|
|
7403
|
-
<div class="text-end">
|
|
7404
|
-
<div class="d-flex align-items-center gap-2">
|
|
7405
|
-
<i class="bi bi-circle-fill fs-8 {{model.is_active|boolean('text-success','text-secondary')}}"></i>
|
|
7406
|
-
<span>{{model.is_active|boolean('Active','Inactive')}}</span>
|
|
7407
|
-
</div>
|
|
7408
|
-
{{#model.last_activity}}
|
|
7409
|
-
<div class="text-muted small mt-1">Last active {{model.last_activity|relative}}</div>
|
|
7410
|
-
{{/model.last_activity}}
|
|
7411
|
-
</div>
|
|
7412
|
-
<div data-container="user-context-menu"></div>
|
|
7413
|
-
</div>
|
|
7414
|
-
</div>
|
|
7415
|
-
|
|
7388
|
+
<div data-container="user-header"></div>
|
|
7416
7389
|
<!-- Tab Container -->
|
|
7417
7390
|
<div data-container="user-tabs"></div>
|
|
7418
7391
|
</div>
|
|
7419
7392
|
`;
|
|
7420
7393
|
}
|
|
7421
7394
|
async onInit() {
|
|
7395
|
+
this.header = new View({
|
|
7396
|
+
containerId: "user-header",
|
|
7397
|
+
template: `
|
|
7398
|
+
<div class="d-flex justify-content-between align-items-start mb-4">
|
|
7399
|
+
<!-- Left Side: Primary Identity -->
|
|
7400
|
+
<div class="d-flex align-items-center gap-3">
|
|
7401
|
+
{{{model.avatar|avatar('md','rounded-circle')}}}
|
|
7402
|
+
<div>
|
|
7403
|
+
<h3 class="mb-0">{{model.display_name|default('Unnamed User')}}</h3>
|
|
7404
|
+
<a href="mailto:{{model.email}}" class="text-decoration-none text-body">{{model.email}}</a>
|
|
7405
|
+
{{#model.phone_number}}
|
|
7406
|
+
<div class="text-muted small mt-1">{{{model.phone_number|phone(false)}}}</div>
|
|
7407
|
+
{{/model.phone_number}}
|
|
7408
|
+
</div>
|
|
7409
|
+
</div>
|
|
7410
|
+
|
|
7411
|
+
<!-- Right Side: Status & Actions -->
|
|
7412
|
+
<div class="d-flex align-items-start gap-4">
|
|
7413
|
+
<div class="text-end">
|
|
7414
|
+
<div class="d-flex align-items-center gap-2">
|
|
7415
|
+
<i class="bi bi-circle-fill fs-8 {{model.is_active|boolean('text-success','text-secondary')}}"></i>
|
|
7416
|
+
<span>{{model.is_active|boolean('Active','Inactive')}}</span>
|
|
7417
|
+
</div>
|
|
7418
|
+
{{#model.last_activity}}
|
|
7419
|
+
<div class="text-muted small mt-1">Last active {{model.last_activity|relative}}</div>
|
|
7420
|
+
{{/model.last_activity}}
|
|
7421
|
+
</div>
|
|
7422
|
+
<div data-container="user-context-menu"></div>
|
|
7423
|
+
</div>
|
|
7424
|
+
</div>`
|
|
7425
|
+
});
|
|
7426
|
+
this.header.setModel(this.model);
|
|
7427
|
+
this.addChild(this.header);
|
|
7422
7428
|
this.profileView = new DataView({
|
|
7423
7429
|
model: this.model,
|
|
7424
7430
|
className: "p-3",
|
|
7425
7431
|
showEmptyValues: true,
|
|
7426
7432
|
fields: UserDataView.profile.fields
|
|
7427
7433
|
});
|
|
7434
|
+
this.permsView = new FormView({
|
|
7435
|
+
fields: User.PERMISSION_FIELDS,
|
|
7436
|
+
model: this.model,
|
|
7437
|
+
// Set model during construction
|
|
7438
|
+
autosaveModelField: true
|
|
7439
|
+
// Enable auto-save with status indicators
|
|
7440
|
+
});
|
|
7428
7441
|
const membersCollection = new MemberList({
|
|
7429
7442
|
params: { user: this.model.get("id"), size: 5 }
|
|
7430
7443
|
});
|
|
@@ -7659,6 +7672,7 @@ class UserView extends View {
|
|
|
7659
7672
|
this.tabView = new TabView({
|
|
7660
7673
|
tabs: {
|
|
7661
7674
|
"Profile": this.profileView,
|
|
7675
|
+
"Permissions": this.permsView,
|
|
7662
7676
|
"Groups": this.groupsView,
|
|
7663
7677
|
"Events": this.eventsView,
|
|
7664
7678
|
"Logs": this.logsView,
|
|
@@ -7729,21 +7743,6 @@ class UserView extends View {
|
|
|
7729
7743
|
const logId = element.getAttribute("data-id");
|
|
7730
7744
|
console.log("View log:", logId);
|
|
7731
7745
|
}
|
|
7732
|
-
// Public methods for external control
|
|
7733
|
-
async refreshData() {
|
|
7734
|
-
if (this.profileView) {
|
|
7735
|
-
await this.profileView.updateData(this.model.getData());
|
|
7736
|
-
}
|
|
7737
|
-
if (this.groupsView && this.groupsView.collection) {
|
|
7738
|
-
await this.groupsView.collection.refresh();
|
|
7739
|
-
}
|
|
7740
|
-
if (this.eventsView && this.eventsView.collection) {
|
|
7741
|
-
await this.eventsView.collection.refresh();
|
|
7742
|
-
}
|
|
7743
|
-
if (this.logsView && this.logsView.collection) {
|
|
7744
|
-
await this.logsView.collection.refresh();
|
|
7745
|
-
}
|
|
7746
|
-
}
|
|
7747
7746
|
async showTab(tabName) {
|
|
7748
7747
|
if (this.tabView) {
|
|
7749
7748
|
await this.tabView.showTab(tabName);
|
|
@@ -7752,6 +7751,8 @@ class UserView extends View {
|
|
|
7752
7751
|
getActiveTab() {
|
|
7753
7752
|
return this.tabView ? this.tabView.getActiveTab() : null;
|
|
7754
7753
|
}
|
|
7754
|
+
_onModelChange() {
|
|
7755
|
+
}
|
|
7755
7756
|
// Static factory method
|
|
7756
7757
|
static create(options = {}) {
|
|
7757
7758
|
return new UserView(options);
|