web-mojo 2.2.97 → 2.2.99
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/CHANGELOG.md +15 -0
- package/dist/admin.cjs.js +1 -1
- package/dist/admin.es.js +1 -1
- package/dist/auth.cjs.js +1 -1
- package/dist/auth.es.js +1 -1
- package/dist/charts.cjs.js +1 -1
- package/dist/charts.es.js +1 -1
- package/dist/chunks/{AssistantPanelView-BR17_qm2.js → AssistantPanelView-7LrbfDui.js} +2 -2
- package/dist/chunks/{AssistantPanelView-BR17_qm2.js.map → AssistantPanelView-7LrbfDui.js.map} +1 -1
- package/dist/chunks/{AssistantPanelView-DFcOLZn2.js → AssistantPanelView-BVy5oJ22.js} +2 -2
- package/dist/chunks/{AssistantPanelView-DFcOLZn2.js.map → AssistantPanelView-BVy5oJ22.js.map} +1 -1
- package/dist/chunks/ChatView-BB87MPeq.js +2 -0
- package/dist/chunks/ChatView-BB87MPeq.js.map +1 -0
- package/dist/chunks/ChatView-DiniUXTJ.js +2 -0
- package/dist/chunks/ChatView-DiniUXTJ.js.map +1 -0
- package/dist/chunks/{Collection-DXcf6bOu.js → Collection-C39Oy2q0.js} +2 -2
- package/dist/chunks/{Collection-DXcf6bOu.js.map → Collection-C39Oy2q0.js.map} +1 -1
- package/dist/chunks/{Collection-DwIvN0yq.js → Collection-CyK0u557.js} +2 -2
- package/dist/chunks/{Collection-DwIvN0yq.js.map → Collection-CyK0u557.js.map} +1 -1
- package/dist/chunks/{ContextMenu-BWDMrvKJ.js → ContextMenu-D-C7V6J6.js} +2 -2
- package/dist/chunks/{ContextMenu-BWDMrvKJ.js.map → ContextMenu-D-C7V6J6.js.map} +1 -1
- package/dist/chunks/{ContextMenu-oonPaMfx.js → ContextMenu-hjqR1pGW.js} +2 -2
- package/dist/chunks/{ContextMenu-oonPaMfx.js.map → ContextMenu-hjqR1pGW.js.map} +1 -1
- package/dist/chunks/{DataView-DdrFwbjE.js → DataView-6lhf855r.js} +2 -2
- package/dist/chunks/{DataView-DdrFwbjE.js.map → DataView-6lhf855r.js.map} +1 -1
- package/dist/chunks/{DataView-BqQhHIhZ.js → DataView-Bb83ww5U.js} +2 -2
- package/dist/chunks/{DataView-BqQhHIhZ.js.map → DataView-Bb83ww5U.js.map} +1 -1
- package/dist/chunks/{Dialog-BO06wfM8.js → Dialog-B0r9puaZ.js} +3 -3
- package/dist/chunks/Dialog-B0r9puaZ.js.map +1 -0
- package/dist/chunks/{Dialog-DVabZtKC.js → Dialog-GzCkpMad.js} +3 -3
- package/dist/chunks/Dialog-GzCkpMad.js.map +1 -0
- package/dist/chunks/{FormView-CW7sg6-U.js → FormView-DEROOklJ.js} +3 -3
- package/dist/chunks/{FormView-CW7sg6-U.js.map → FormView-DEROOklJ.js.map} +1 -1
- package/dist/chunks/{FormView-DbxACn7-.js → FormView-UmvPskWT.js} +3 -3
- package/dist/chunks/{FormView-DbxACn7-.js.map → FormView-UmvPskWT.js.map} +1 -1
- package/dist/chunks/{ListView-ZsMVvvUQ.js → ListView-D_hOtfWZ.js} +2 -2
- package/dist/chunks/{ListView-ZsMVvvUQ.js.map → ListView-D_hOtfWZ.js.map} +1 -1
- package/dist/chunks/{ListView-DLyS4Nfd.js → ListView-Jkke6pU1.js} +2 -2
- package/dist/chunks/{ListView-DLyS4Nfd.js.map → ListView-Jkke6pU1.js.map} +1 -1
- package/dist/chunks/{MetricsCountryMapView-197-WHEu.js → MetricsCountryMapView-UdvJWArx.js} +2 -2
- package/dist/chunks/{MetricsCountryMapView-197-WHEu.js.map → MetricsCountryMapView-UdvJWArx.js.map} +1 -1
- package/dist/chunks/{MetricsCountryMapView-BgLr-rjI.js → MetricsCountryMapView-jLWCL6Hm.js} +2 -2
- package/dist/chunks/{MetricsCountryMapView-BgLr-rjI.js.map → MetricsCountryMapView-jLWCL6Hm.js.map} +1 -1
- package/dist/chunks/{MetricsMiniChartWidget-BMF6wIF9.js → MetricsMiniChartWidget-CV-McxOl.js} +2 -2
- package/dist/chunks/{MetricsMiniChartWidget-BMF6wIF9.js.map → MetricsMiniChartWidget-CV-McxOl.js.map} +1 -1
- package/dist/chunks/{MetricsMiniChartWidget-DrIFgvOj.js → MetricsMiniChartWidget-DG0DeDuR.js} +2 -2
- package/dist/chunks/{MetricsMiniChartWidget-DrIFgvOj.js.map → MetricsMiniChartWidget-DG0DeDuR.js.map} +1 -1
- package/dist/chunks/{MiniPieChart-eTjaZQGx.js → MiniPieChart-B3sM4Bjv.js} +2 -2
- package/dist/chunks/{MiniPieChart-eTjaZQGx.js.map → MiniPieChart-B3sM4Bjv.js.map} +1 -1
- package/dist/chunks/{MiniPieChart-DOFUDyEj.js → MiniPieChart-DL5Rynvm.js} +2 -2
- package/dist/chunks/{MiniPieChart-DOFUDyEj.js.map → MiniPieChart-DL5Rynvm.js.map} +1 -1
- package/dist/chunks/{MiniSeriesChart-DPwiySbr.js → MiniSeriesChart-C4DPVbU_.js} +2 -2
- package/dist/chunks/{MiniSeriesChart-DPwiySbr.js.map → MiniSeriesChart-C4DPVbU_.js.map} +1 -1
- package/dist/chunks/{MiniSeriesChart-Cs8F8j0y.js → MiniSeriesChart-DdNMLwfh.js} +2 -2
- package/dist/chunks/{MiniSeriesChart-Cs8F8j0y.js.map → MiniSeriesChart-DdNMLwfh.js.map} +1 -1
- package/dist/chunks/{Modal-MSmE_82x.js → Modal-jWZGSSOo.js} +2 -2
- package/dist/chunks/{Modal-MSmE_82x.js.map → Modal-jWZGSSOo.js.map} +1 -1
- package/dist/chunks/{Modal-D_bVwX-V.js → Modal-xSaurlfZ.js} +2 -2
- package/dist/chunks/{Modal-D_bVwX-V.js.map → Modal-xSaurlfZ.js.map} +1 -1
- package/dist/chunks/{Passkeys-CZ_oTngY.js → Passkeys-BPV1gNkR.js} +2 -2
- package/dist/chunks/{Passkeys-CZ_oTngY.js.map → Passkeys-BPV1gNkR.js.map} +1 -1
- package/dist/chunks/{Passkeys-C6VT-snT.js → Passkeys-CIRjqi7n.js} +2 -2
- package/dist/chunks/{Passkeys-C6VT-snT.js.map → Passkeys-CIRjqi7n.js.map} +1 -1
- package/dist/chunks/{TokenManager-BUzSwY3u.js → TokenManager-CKgK0MIz.js} +2 -2
- package/dist/chunks/{TokenManager-BUzSwY3u.js.map → TokenManager-CKgK0MIz.js.map} +1 -1
- package/dist/chunks/{TokenManager-BzMDp2Ym.js → TokenManager-Cu0YmxAx.js} +2 -2
- package/dist/chunks/{TokenManager-BzMDp2Ym.js.map → TokenManager-Cu0YmxAx.js.map} +1 -1
- package/dist/chunks/{UserProfileView-NpL2wU6h.js → UserProfileView-BXT8COCF.js} +2 -2
- package/dist/chunks/{UserProfileView-NpL2wU6h.js.map → UserProfileView-BXT8COCF.js.map} +1 -1
- package/dist/chunks/{UserProfileView-CxrYFgMl.js → UserProfileView-Slj-9C__.js} +2 -2
- package/dist/chunks/{UserProfileView-CxrYFgMl.js.map → UserProfileView-Slj-9C__.js.map} +1 -1
- package/dist/chunks/{WebApp-DpuN7rZ3.js → WebApp-CXkNqtZX.js} +2 -2
- package/dist/chunks/{WebApp-DpuN7rZ3.js.map → WebApp-CXkNqtZX.js.map} +1 -1
- package/dist/chunks/{WebApp-CyeQb4cM.js → WebApp-m6YeJFWY.js} +2 -2
- package/dist/chunks/{WebApp-CyeQb4cM.js.map → WebApp-m6YeJFWY.js.map} +1 -1
- package/dist/chunks/{WebSocketClient-CPJGeiPN.js → WebSocketClient-BQAZr8C4.js} +2 -2
- package/dist/chunks/{WebSocketClient-CPJGeiPN.js.map → WebSocketClient-BQAZr8C4.js.map} +1 -1
- package/dist/chunks/{WebSocketClient-Cjmr5C_u.js → WebSocketClient-YR5d82h8.js} +2 -2
- package/dist/chunks/{WebSocketClient-Cjmr5C_u.js.map → WebSocketClient-YR5d82h8.js.map} +1 -1
- package/dist/chunks/admin-BsmX-4pc.js +2 -0
- package/dist/chunks/admin-BsmX-4pc.js.map +1 -0
- package/dist/chunks/admin-CzhyMUYh.js +2 -0
- package/dist/chunks/admin-CzhyMUYh.js.map +1 -0
- package/dist/chunks/{index-D3v4btI8.js → index-CSmG_P2r.js} +2 -2
- package/dist/chunks/{index-D3v4btI8.js.map → index-CSmG_P2r.js.map} +1 -1
- package/dist/chunks/{index-BPn9cZzq.js → index-uo77m1wt.js} +2 -2
- package/dist/chunks/{index-BPn9cZzq.js.map → index-uo77m1wt.js.map} +1 -1
- package/dist/chunks/{version-hgKnkQjn.js → version-C1YeA5NE.js} +2 -2
- package/dist/chunks/{version-hgKnkQjn.js.map → version-C1YeA5NE.js.map} +1 -1
- package/dist/chunks/{version-CT8Bg3nZ.js → version-CZlqPaoP.js} +2 -2
- package/dist/chunks/{version-CT8Bg3nZ.js.map → version-CZlqPaoP.js.map} +1 -1
- package/dist/css/web-mojo.css +1 -1
- package/dist/docit.cjs.js +1 -1
- package/dist/docit.es.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/lightbox.cjs.js +1 -1
- package/dist/lightbox.cjs.js.map +1 -1
- package/dist/lightbox.es.js +1 -1
- package/dist/lightbox.es.js.map +1 -1
- package/dist/map.cjs.js +1 -1
- package/dist/map.es.js +1 -1
- package/dist/timeline.cjs.js +1 -1
- package/dist/timeline.es.js +1 -1
- package/dist/user-profile.cjs.js +1 -1
- package/dist/user-profile.es.js +1 -1
- package/dist/web-mojo.lite.iife.js +109 -2
- package/dist/web-mojo.lite.iife.js.map +1 -1
- package/dist/web-mojo.lite.iife.min.js +98 -98
- package/dist/web-mojo.lite.iife.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/ChatView-DzdJkSRe.js +0 -2
- package/dist/chunks/ChatView-DzdJkSRe.js.map +0 -1
- package/dist/chunks/ChatView-E-Y3ZAn2.js +0 -2
- package/dist/chunks/ChatView-E-Y3ZAn2.js.map +0 -1
- package/dist/chunks/Dialog-BO06wfM8.js.map +0 -1
- package/dist/chunks/Dialog-DVabZtKC.js.map +0 -1
- package/dist/chunks/PDFViewer-Dv2OEqy0.js +0 -2
- package/dist/chunks/PDFViewer-Dv2OEqy0.js.map +0 -1
- package/dist/chunks/PDFViewer-b0l9yCQw.js +0 -2
- package/dist/chunks/PDFViewer-b0l9yCQw.js.map +0 -1
- package/dist/chunks/admin-B4J2Qfvt.js +0 -2
- package/dist/chunks/admin-B4J2Qfvt.js.map +0 -1
- package/dist/chunks/admin-CYy-fnPz.js +0 -2
- package/dist/chunks/admin-CYy-fnPz.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./UserProfileView-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./UserProfileView-BXT8COCF.js"),t=require("./Collection-CyK0u557.js"),i=require("./Passkeys-BPV1gNkR.js");class ActivityRow extends i.TableRow{get logMessage(){const e=this.model?.get("log");if(!e)return"";if("string"==typeof e)try{const t=JSON.parse(e);return t.message||t.type||e.substring(0,120)}catch{return e.length>120?e.substring(0,120)+"…":e}return"object"==typeof e?e.message||e.type||JSON.stringify(e).substring(0,120):String(e)}get levelText(){return this.model?.get("level")||"log"}get levelBadgeClass(){const e=this.model?.get("level");return"error"===e?"bg-danger":"warn"===e?"bg-warning text-dark":"info"===e?"bg-info":"bg-secondary"}get methodPath(){const e=this.model?.get("method")||"",t=this.model?.get("path")||"";return e||t?`${e} ${t}`.trim():""}}class ProfileActivitySection extends t.View{constructor(e={}){super({className:"profile-activity-section",template:'<div id="activity-table"></div>',...e})}async onInit(){await super.onInit(),this.tableView=new i.TableView({containerId:"activity-table",collection:new i.LogList({size:10}),defaultQuery:{uid:this.model.id,sort:"-created"},hideActivePillNames:["uid","sort"],itemClass:ActivityRow,columns:[{key:"level",label:"Level",sortable:!0,template:'<span class="badge {{levelBadgeClass}}">{{levelText}}</span>',filter:{type:"select",options:["info","warn","error"]}},{key:"log",label:"Message",template:"{{logMessage}}"},{key:"kind",label:"Kind",sortable:!0,visibility:"md"},{key:"path",label:"Path",visibility:"lg",template:"{{methodPath}}"},{key:"ip",label:"IP",visibility:"xl"},{key:"created|relative",label:"Time",sortable:!0}],searchable:!0,sortable:!0,filterable:!0,paginated:!0,showAdd:!1,showExport:!1,tableOptions:{striped:!1,hover:!0,size:"sm"},emptyMessage:"No activity logs available"}),this.addChild(this.tableView)}}exports.PasskeySetupView=e.PasskeySetupView,exports.ProfileApiKeysSection=e.ProfileApiKeysSection,exports.ProfileConnectedSection=e.ProfileConnectedSection,exports.ProfileDevicesSection=e.ProfileDevicesSection,exports.ProfileGroupsSection=e.ProfileGroupsSection,exports.ProfileNotificationsSection=e.ProfileNotificationsSection,exports.ProfileOverviewSection=e.ProfileOverviewSection,exports.ProfilePermissionsSection=e.ProfilePermissionsSection,exports.ProfilePersonalSection=e.ProfilePersonalSection,exports.ProfileSecurityEventsSection=e.ProfileSecurityEventsSection,exports.ProfileSecuritySection=e.ProfileSecuritySection,exports.ProfileSessionsSection=e.ProfileSessionsSection,exports.UserProfileView=e.UserProfileView,exports.ProfileActivitySection=ProfileActivitySection;
|
|
2
|
+
//# sourceMappingURL=index-CSmG_P2r.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-CSmG_P2r.js","sources":["../../src/extensions/user-profile/views/ProfileActivitySection.js"],"sourcesContent":["/**\n * ProfileActivitySection - Activity log tab\n *\n * Uses TableView + LogList to show user activity\n * with parsed log messages, level badges, kind, path, and time.\n * Includes pagination, search, and level filtering.\n */\nimport View from '@core/View.js';\nimport TableView from '@core/views/table/TableView.js';\nimport TableRow from '@core/views/table/TableRow.js';\nimport { LogList } from '@core/models/Log.js';\n\nclass ActivityRow extends TableRow {\n get logMessage() {\n const log = this.model?.get('log');\n if (!log) return '';\n if (typeof log === 'string') {\n try {\n const parsed = JSON.parse(log);\n return parsed.message || parsed.type || log.substring(0, 120);\n } catch {\n return log.length > 120 ? log.substring(0, 120) + '…' : log;\n }\n }\n if (typeof log === 'object') {\n return log.message || log.type || JSON.stringify(log).substring(0, 120);\n }\n return String(log);\n }\n\n get levelText() {\n return this.model?.get('level') || 'log';\n }\n\n get levelBadgeClass() {\n const level = this.model?.get('level');\n if (level === 'error') return 'bg-danger';\n if (level === 'warn') return 'bg-warning text-dark';\n if (level === 'info') return 'bg-info';\n return 'bg-secondary';\n }\n\n get methodPath() {\n const method = this.model?.get('method') || '';\n const path = this.model?.get('path') || '';\n if (!method && !path) return '';\n return `${method} ${path}`.trim();\n }\n}\n\nexport default class ProfileActivitySection extends View {\n constructor(options = {}) {\n super({\n className: 'profile-activity-section',\n template: `<div id=\"activity-table\"></div>`,\n ...options\n });\n }\n\n async onInit() {\n await super.onInit();\n this.tableView = new TableView({\n containerId: 'activity-table',\n collection: new LogList({ size: 10 }),\n defaultQuery: { uid: this.model.id, sort: '-created' },\n hideActivePillNames: ['uid', 'sort'],\n itemClass: ActivityRow,\n columns: [\n {\n key: 'level',\n label: 'Level',\n sortable: true,\n template: '<span class=\"badge {{levelBadgeClass}}\">{{levelText}}</span>',\n filter: { type: 'select', options: ['info', 'warn', 'error'] }\n },\n {\n key: 'log',\n label: 'Message',\n template: '{{logMessage}}'\n },\n { key: 'kind', label: 'Kind', sortable: true, visibility: 'md' },\n {\n key: 'path',\n label: 'Path',\n visibility: 'lg',\n template: '{{methodPath}}'\n },\n { key: 'ip', label: 'IP', visibility: 'xl' },\n { key: 'created|relative', label: 'Time', sortable: true }\n ],\n searchable: true,\n sortable: true,\n filterable: true,\n paginated: true,\n showAdd: false,\n showExport: false,\n tableOptions: {\n striped: false,\n hover: true,\n size: 'sm'\n },\n emptyMessage: 'No activity logs available'\n });\n this.addChild(this.tableView);\n }\n}\n"],"names":["ActivityRow","TableRow","logMessage","log","this","model","get","parsed","JSON","parse","message","type","substring","length","stringify","String","levelText","levelBadgeClass","level","methodPath","method","path","trim","ProfileActivitySection","View","constructor","options","super","className","template","onInit","tableView","TableView","containerId","collection","LogList","size","defaultQuery","uid","id","sort","hideActivePillNames","itemClass","columns","key","label","sortable","filter","visibility","searchable","filterable","paginated","showAdd","showExport","tableOptions","striped","hover","emptyMessage","addChild"],"mappings":"2MAYA,MAAMA,oBAAoBC,EAAAA,SACtB,cAAIC,GACA,MAAMC,EAAMC,KAAKC,OAAOC,IAAI,OAC5B,IAAKH,EAAK,MAAO,GACjB,GAAmB,iBAARA,EACP,IACI,MAAMI,EAASC,KAAKC,MAAMN,GAC1B,OAAOI,EAAOG,SAAWH,EAAOI,MAAQR,EAAIS,UAAU,EAAG,IAC7D,CAAA,MACI,OAAOT,EAAIU,OAAS,IAAMV,EAAIS,UAAU,EAAG,KAAO,IAAMT,CAC5D,CAEJ,MAAmB,iBAARA,EACAA,EAAIO,SAAWP,EAAIQ,MAAQH,KAAKM,UAAUX,GAAKS,UAAU,EAAG,KAEhEG,OAAOZ,EAClB,CAEA,aAAIa,GACA,OAAOZ,KAAKC,OAAOC,IAAI,UAAY,KACvC,CAEA,mBAAIW,GACA,MAAMC,EAAQd,KAAKC,OAAOC,IAAI,SAC9B,MAAc,UAAVY,EAA0B,YAChB,SAAVA,EAAyB,uBACf,SAAVA,EAAyB,UACtB,cACX,CAEA,cAAIC,GACA,MAAMC,EAAShB,KAAKC,OAAOC,IAAI,WAAa,GACtCe,EAAOjB,KAAKC,OAAOC,IAAI,SAAW,GACxC,OAAKc,GAAWC,EACT,GAAGD,KAAUC,IAAOC,OADE,EAEjC,EAGW,MAAMC,+BAA+BC,EAAAA,KAChD,WAAAC,CAAYC,EAAU,IAClBC,MAAM,CACFC,UAAW,2BACXC,SAAU,qCACPH,GAEX,CAEA,YAAMI,SACIH,MAAMG,SACZ1B,KAAK2B,UAAY,IAAIC,YAAU,CAC3BC,YAAa,iBACbC,WAAY,IAAIC,EAAAA,QAAQ,CAAEC,KAAM,KAChCC,aAAc,CAAEC,IAAKlC,KAAKC,MAAMkC,GAAIC,KAAM,YAC1CC,oBAAqB,CAAC,MAAO,QAC7BC,UAAW1C,YACX2C,QAAS,CACL,CACIC,IAAK,QACLC,MAAO,QACPC,UAAU,EACVjB,SAAU,+DACVkB,OAAQ,CAAEpC,KAAM,SAAUe,QAAS,CAAC,OAAQ,OAAQ,WAExD,CACIkB,IAAK,MACLC,MAAO,UACPhB,SAAU,kBAEd,CAAEe,IAAK,OAAQC,MAAO,OAAQC,UAAU,EAAME,WAAY,MAC1D,CACIJ,IAAK,OACLC,MAAO,OACPG,WAAY,KACZnB,SAAU,kBAEd,CAAEe,IAAK,KAAMC,MAAO,KAAMG,WAAY,MACtC,CAAEJ,IAAK,mBAAoBC,MAAO,OAAQC,UAAU,IAExDG,YAAY,EACZH,UAAU,EACVI,YAAY,EACZC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,aAAc,CACVC,SAAS,EACTC,OAAO,EACPpB,KAAM,MAEVqB,aAAc,+BAElBrD,KAAKsD,SAAStD,KAAK2B,UACvB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{U as e,P as t}from"./UserProfileView-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{U as e,P as t}from"./UserProfileView-Slj-9C__.js";import{a as i,b as s,c as l,d as o,e as a,f as r,g as n,h as c,i as d,j as g,k as f}from"./UserProfileView-Slj-9C__.js";import{V as m}from"./Collection-C39Oy2q0.js";import{T as y,f as p,c as b}from"./Passkeys-CIRjqi7n.js";class ActivityRow extends b{get logMessage(){const e=this.model?.get("log");if(!e)return"";if("string"==typeof e)try{const t=JSON.parse(e);return t.message||t.type||e.substring(0,120)}catch{return e.length>120?e.substring(0,120)+"…":e}return"object"==typeof e?e.message||e.type||JSON.stringify(e).substring(0,120):String(e)}get levelText(){return this.model?.get("level")||"log"}get levelBadgeClass(){const e=this.model?.get("level");return"error"===e?"bg-danger":"warn"===e?"bg-warning text-dark":"info"===e?"bg-info":"bg-secondary"}get methodPath(){const e=this.model?.get("method")||"",t=this.model?.get("path")||"";return e||t?`${e} ${t}`.trim():""}}class ProfileActivitySection extends m{constructor(e={}){super({className:"profile-activity-section",template:'<div id="activity-table"></div>',...e})}async onInit(){await super.onInit(),this.tableView=new y({containerId:"activity-table",collection:new p({size:10}),defaultQuery:{uid:this.model.id,sort:"-created"},hideActivePillNames:["uid","sort"],itemClass:ActivityRow,columns:[{key:"level",label:"Level",sortable:!0,template:'<span class="badge {{levelBadgeClass}}">{{levelText}}</span>',filter:{type:"select",options:["info","warn","error"]}},{key:"log",label:"Message",template:"{{logMessage}}"},{key:"kind",label:"Kind",sortable:!0,visibility:"md"},{key:"path",label:"Path",visibility:"lg",template:"{{methodPath}}"},{key:"ip",label:"IP",visibility:"xl"},{key:"created|relative",label:"Time",sortable:!0}],searchable:!0,sortable:!0,filterable:!0,paginated:!0,showAdd:!1,showExport:!1,tableOptions:{striped:!1,hover:!0,size:"sm"},emptyMessage:"No activity logs available"}),this.addChild(this.tableView)}}export{t as PasskeySetupView,ProfileActivitySection,i as ProfileApiKeysSection,s as ProfileConnectedSection,l as ProfileDevicesSection,o as ProfileGroupsSection,a as ProfileNotificationsSection,r as ProfileOverviewSection,n as ProfilePermissionsSection,c as ProfilePersonalSection,d as ProfileSecurityEventsSection,g as ProfileSecuritySection,f as ProfileSessionsSection,e as UserProfileView};
|
|
2
|
+
//# sourceMappingURL=index-uo77m1wt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-uo77m1wt.js","sources":["../../src/extensions/user-profile/views/ProfileActivitySection.js"],"sourcesContent":["/**\n * ProfileActivitySection - Activity log tab\n *\n * Uses TableView + LogList to show user activity\n * with parsed log messages, level badges, kind, path, and time.\n * Includes pagination, search, and level filtering.\n */\nimport View from '@core/View.js';\nimport TableView from '@core/views/table/TableView.js';\nimport TableRow from '@core/views/table/TableRow.js';\nimport { LogList } from '@core/models/Log.js';\n\nclass ActivityRow extends TableRow {\n get logMessage() {\n const log = this.model?.get('log');\n if (!log) return '';\n if (typeof log === 'string') {\n try {\n const parsed = JSON.parse(log);\n return parsed.message || parsed.type || log.substring(0, 120);\n } catch {\n return log.length > 120 ? log.substring(0, 120) + '…' : log;\n }\n }\n if (typeof log === 'object') {\n return log.message || log.type || JSON.stringify(log).substring(0, 120);\n }\n return String(log);\n }\n\n get levelText() {\n return this.model?.get('level') || 'log';\n }\n\n get levelBadgeClass() {\n const level = this.model?.get('level');\n if (level === 'error') return 'bg-danger';\n if (level === 'warn') return 'bg-warning text-dark';\n if (level === 'info') return 'bg-info';\n return 'bg-secondary';\n }\n\n get methodPath() {\n const method = this.model?.get('method') || '';\n const path = this.model?.get('path') || '';\n if (!method && !path) return '';\n return `${method} ${path}`.trim();\n }\n}\n\nexport default class ProfileActivitySection extends View {\n constructor(options = {}) {\n super({\n className: 'profile-activity-section',\n template: `<div id=\"activity-table\"></div>`,\n ...options\n });\n }\n\n async onInit() {\n await super.onInit();\n this.tableView = new TableView({\n containerId: 'activity-table',\n collection: new LogList({ size: 10 }),\n defaultQuery: { uid: this.model.id, sort: '-created' },\n hideActivePillNames: ['uid', 'sort'],\n itemClass: ActivityRow,\n columns: [\n {\n key: 'level',\n label: 'Level',\n sortable: true,\n template: '<span class=\"badge {{levelBadgeClass}}\">{{levelText}}</span>',\n filter: { type: 'select', options: ['info', 'warn', 'error'] }\n },\n {\n key: 'log',\n label: 'Message',\n template: '{{logMessage}}'\n },\n { key: 'kind', label: 'Kind', sortable: true, visibility: 'md' },\n {\n key: 'path',\n label: 'Path',\n visibility: 'lg',\n template: '{{methodPath}}'\n },\n { key: 'ip', label: 'IP', visibility: 'xl' },\n { key: 'created|relative', label: 'Time', sortable: true }\n ],\n searchable: true,\n sortable: true,\n filterable: true,\n paginated: true,\n showAdd: false,\n showExport: false,\n tableOptions: {\n striped: false,\n hover: true,\n size: 'sm'\n },\n emptyMessage: 'No activity logs available'\n });\n this.addChild(this.tableView);\n }\n}\n"],"names":["ActivityRow","TableRow","logMessage","log","this","model","get","parsed","JSON","parse","message","type","substring","length","stringify","String","levelText","levelBadgeClass","level","methodPath","method","path","trim","ProfileActivitySection","View","constructor","options","super","className","template","onInit","tableView","TableView","containerId","collection","LogList","size","defaultQuery","uid","id","sort","hideActivePillNames","itemClass","columns","key","label","sortable","filter","visibility","searchable","filterable","paginated","showAdd","showExport","tableOptions","striped","hover","emptyMessage","addChild"],"mappings":"uRAYA,MAAMA,oBAAoBC,EACtB,cAAIC,GACA,MAAMC,EAAMC,KAAKC,OAAOC,IAAI,OAC5B,IAAKH,EAAK,MAAO,GACjB,GAAmB,iBAARA,EACP,IACI,MAAMI,EAASC,KAAKC,MAAMN,GAC1B,OAAOI,EAAOG,SAAWH,EAAOI,MAAQR,EAAIS,UAAU,EAAG,IAC7D,CAAA,MACI,OAAOT,EAAIU,OAAS,IAAMV,EAAIS,UAAU,EAAG,KAAO,IAAMT,CAC5D,CAEJ,MAAmB,iBAARA,EACAA,EAAIO,SAAWP,EAAIQ,MAAQH,KAAKM,UAAUX,GAAKS,UAAU,EAAG,KAEhEG,OAAOZ,EAClB,CAEA,aAAIa,GACA,OAAOZ,KAAKC,OAAOC,IAAI,UAAY,KACvC,CAEA,mBAAIW,GACA,MAAMC,EAAQd,KAAKC,OAAOC,IAAI,SAC9B,MAAc,UAAVY,EAA0B,YAChB,SAAVA,EAAyB,uBACf,SAAVA,EAAyB,UACtB,cACX,CAEA,cAAIC,GACA,MAAMC,EAAShB,KAAKC,OAAOC,IAAI,WAAa,GACtCe,EAAOjB,KAAKC,OAAOC,IAAI,SAAW,GACxC,OAAKc,GAAWC,EACT,GAAGD,KAAUC,IAAOC,OADE,EAEjC,EAGW,MAAMC,+BAA+BC,EAChD,WAAAC,CAAYC,EAAU,IAClBC,MAAM,CACFC,UAAW,2BACXC,SAAU,qCACPH,GAEX,CAEA,YAAMI,SACIH,MAAMG,SACZ1B,KAAK2B,UAAY,IAAIC,EAAU,CAC3BC,YAAa,iBACbC,WAAY,IAAIC,EAAQ,CAAEC,KAAM,KAChCC,aAAc,CAAEC,IAAKlC,KAAKC,MAAMkC,GAAIC,KAAM,YAC1CC,oBAAqB,CAAC,MAAO,QAC7BC,UAAW1C,YACX2C,QAAS,CACL,CACIC,IAAK,QACLC,MAAO,QACPC,UAAU,EACVjB,SAAU,+DACVkB,OAAQ,CAAEpC,KAAM,SAAUe,QAAS,CAAC,OAAQ,OAAQ,WAExD,CACIkB,IAAK,MACLC,MAAO,UACPhB,SAAU,kBAEd,CAAEe,IAAK,OAAQC,MAAO,OAAQC,UAAU,EAAME,WAAY,MAC1D,CACIJ,IAAK,OACLC,MAAO,OACPG,WAAY,KACZnB,SAAU,kBAEd,CAAEe,IAAK,KAAMC,MAAO,KAAMG,WAAY,MACtC,CAAEJ,IAAK,mBAAoBC,MAAO,OAAQC,UAAU,IAExDG,YAAY,EACZH,UAAU,EACVI,YAAY,EACZC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,aAAc,CACVC,SAAS,EACTC,OAAO,EACPpB,KAAM,MAEVqB,aAAc,+BAElBrD,KAAKsD,SAAStD,KAAK2B,UACvB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const O="2.2.
|
|
2
|
-
//# sourceMappingURL=version-
|
|
1
|
+
"use strict";const O="2.2.99",o="2026-04-23T15:33:57.804Z",i={full:O,major:2,minor:2,revision:99,buildTime:o,toString(){return this.full},compare(O){const o=O=>O.split(".").map(Number),[i,r,t]=o(this.full),[e,n,s]=o(O);return i!==e?i-e:r!==n?r-n:t-s}};"undefined"!=typeof window&&(window.MOJO=window.MOJO||{},window.MOJO.VERSION=O,window.MOJO.VERSION_INFO=i,window.MOJO.version=O),exports.BUILD_TIME=o,exports.VERSION=O,exports.VERSION_INFO=i,exports.VERSION_MAJOR=2,exports.VERSION_MINOR=2,exports.VERSION_REVISION=99;
|
|
2
|
+
//# sourceMappingURL=version-C1YeA5NE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-C1YeA5NE.js","sources":["../../src/version.js"],"sourcesContent":["/**\n * MOJO Framework Version Information\n * Auto-generated on 2026-04-23T15:33:57.804Z\n */\n\nexport const VERSION = '2.2.99';\nexport const VERSION_MAJOR = 2;\nexport const VERSION_MINOR = 2;\nexport const VERSION_REVISION = 99;\nexport const BUILD_TIME = '2026-04-23T15:33:57.804Z';\n\n// Version object for easy access\nexport const VERSION_INFO = {\n full: VERSION,\n major: VERSION_MAJOR,\n minor: VERSION_MINOR,\n revision: VERSION_REVISION,\n buildTime: BUILD_TIME,\n toString() {\n return this.full;\n },\n compare(other) {\n const parseVer = (v) => v.split('.').map(Number);\n const [a1, a2, a3] = parseVer(this.full);\n const [b1, b2, b3] = parseVer(other);\n\n if (a1 !== b1) return a1 - b1;\n if (a2 !== b2) return a2 - b2;\n return a3 - b3;\n }\n};\n\n// Make version globally available if in browser\nif (typeof window !== 'undefined') {\n window.MOJO = window.MOJO || {};\n window.MOJO.VERSION = VERSION;\n window.MOJO.VERSION_INFO = VERSION_INFO;\n\n // Also add to MOJO.version for convenience\n window.MOJO.version = VERSION;\n}\n\nexport default VERSION_INFO;\n"],"names":["VERSION","BUILD_TIME","VERSION_INFO","full","major","minor","revision","buildTime","toString","this","compare","other","parseVer","v","split","map","Number","a1","a2","a3","b1","b2","b3","window","MOJO","version"],"mappings":"aAKY,MAACA,EAAU,SAIVC,EAAa,2BAGbC,EAAe,CACxBC,KAAMH,EACNI,MARyB,EASzBC,MARyB,EASzBC,SAR4B,GAS5BC,UAAWN,EACX,QAAAO,GACI,OAAOC,KAAKN,IAChB,EACA,OAAAO,CAAQC,GACJ,MAAMC,EAAYC,GAAMA,EAAEC,MAAM,KAAKC,IAAIC,SAClCC,EAAIC,EAAIC,GAAMP,EAASH,KAAKN,OAC5BiB,EAAIC,EAAIC,GAAMV,EAASD,GAE9B,OAAIM,IAAOG,EAAWH,EAAKG,EACvBF,IAAOG,EAAWH,EAAKG,EACpBF,EAAKG,CAChB,GAIkB,oBAAXC,SACPA,OAAOC,KAAOD,OAAOC,MAAQ,CAAA,EAC7BD,OAAOC,KAAKxB,QAAUA,EACtBuB,OAAOC,KAAKtB,aAAeA,EAG3BqB,OAAOC,KAAKC,QAAUzB,uFAjCG,wBACA,2BACG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const i="2.2.
|
|
2
|
-
//# sourceMappingURL=version-
|
|
1
|
+
const i="2.2.99",n=2,o=2,s=99,O="2026-04-23T15:33:57.804Z",r={full:i,major:2,minor:2,revision:99,buildTime:O,toString(){return this.full},compare(i){const n=i=>i.split(".").map(Number),[o,s,O]=n(this.full),[r,w,e]=n(i);return o!==r?o-r:s!==w?s-w:O-e}};"undefined"!=typeof window&&(window.MOJO=window.MOJO||{},window.MOJO.VERSION=i,window.MOJO.VERSION_INFO=r,window.MOJO.version=i);export{O as B,i as V,r as a,n as b,o as c,s as d};
|
|
2
|
+
//# sourceMappingURL=version-CZlqPaoP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-CZlqPaoP.js","sources":["../../src/version.js"],"sourcesContent":["/**\n * MOJO Framework Version Information\n * Auto-generated on 2026-04-23T15:33:57.804Z\n */\n\nexport const VERSION = '2.2.99';\nexport const VERSION_MAJOR = 2;\nexport const VERSION_MINOR = 2;\nexport const VERSION_REVISION = 99;\nexport const BUILD_TIME = '2026-04-23T15:33:57.804Z';\n\n// Version object for easy access\nexport const VERSION_INFO = {\n full: VERSION,\n major: VERSION_MAJOR,\n minor: VERSION_MINOR,\n revision: VERSION_REVISION,\n buildTime: BUILD_TIME,\n toString() {\n return this.full;\n },\n compare(other) {\n const parseVer = (v) => v.split('.').map(Number);\n const [a1, a2, a3] = parseVer(this.full);\n const [b1, b2, b3] = parseVer(other);\n\n if (a1 !== b1) return a1 - b1;\n if (a2 !== b2) return a2 - b2;\n return a3 - b3;\n }\n};\n\n// Make version globally available if in browser\nif (typeof window !== 'undefined') {\n window.MOJO = window.MOJO || {};\n window.MOJO.VERSION = VERSION;\n window.MOJO.VERSION_INFO = VERSION_INFO;\n\n // Also add to MOJO.version for convenience\n window.MOJO.version = VERSION;\n}\n\nexport default VERSION_INFO;\n"],"names":["VERSION","VERSION_MAJOR","VERSION_MINOR","VERSION_REVISION","BUILD_TIME","VERSION_INFO","full","major","minor","revision","buildTime","toString","this","compare","other","parseVer","v","split","map","Number","a1","a2","a3","b1","b2","b3","window","MOJO","version"],"mappings":"AAKY,MAACA,EAAU,SACVC,EAAgB,EAChBC,EAAgB,EAChBC,EAAmB,GACnBC,EAAa,2BAGbC,EAAe,CACxBC,KAAMN,EACNO,MARyB,EASzBC,MARyB,EASzBC,SAR4B,GAS5BC,UAAWN,EACX,QAAAO,GACI,OAAOC,KAAKN,IAChB,EACA,OAAAO,CAAQC,GACJ,MAAMC,EAAYC,GAAMA,EAAEC,MAAM,KAAKC,IAAIC,SAClCC,EAAIC,EAAIC,GAAMP,EAASH,KAAKN,OAC5BiB,EAAIC,EAAIC,GAAMV,EAASD,GAE9B,OAAIM,IAAOG,EAAWH,EAAKG,EACvBF,IAAOG,EAAWH,EAAKG,EACpBF,EAAKG,CAChB,GAIkB,oBAAXC,SACPA,OAAOC,KAAOD,OAAOC,MAAQ,CAAA,EAC7BD,OAAOC,KAAK3B,QAAUA,EACtB0B,OAAOC,KAAKtB,aAAeA,EAG3BqB,OAAOC,KAAKC,QAAU5B"}
|