diff --git a/lwr.config.json b/lwr.config.json index 013bf44..610f346 100644 --- a/lwr.config.json +++ b/lwr.config.json @@ -2,7 +2,7 @@ "lwc": { "modules": [{ "dir": "$rootDir/src/modules" }] }, "routes": [ { - "id": "example", + "id": "home", "path": "/", "layoutTemplate": "$layoutsDir/index.html", "rootComponent": "my/app", diff --git a/src/modules/main/logFileProcessor/logFileProcessor.html b/src/modules/main/logFileProcessor/logFileProcessor.html index db7c888..3d4d9e5 100644 --- a/src/modules/main/logFileProcessor/logFileProcessor.html +++ b/src/modules/main/logFileProcessor/logFileProcessor.html @@ -6,7 +6,7 @@ >
diff --git a/src/modules/main/logFileProcessor/logFileProcessor.js b/src/modules/main/logFileProcessor/logFileProcessor.js index 54c81bf..b8631d4 100644 --- a/src/modules/main/logFileProcessor/logFileProcessor.js +++ b/src/modules/main/logFileProcessor/logFileProcessor.js @@ -6,7 +6,7 @@ import { expThrownRegex } from 'parser/utilVariables'; -import { publish } from 'services/pubsub'; +import { publish, subscribe } from 'services/pubsub'; // import { publish, MessageContext } from 'lightning/messageService'; // import STATE from '@salesforce/messageChannel/App_Service__c'; @@ -97,6 +97,18 @@ export default class LogFileProcessor extends LightningElement { get acceptedFormats() { return ['.log', '.txt']; } + + connectedCallback() { + subscribe('logtext', (data) => { + if (Array.isArray(data) && data.length > 0) { + this.fileData = data; + this.processLogData(); + } else if (data.length === 0) { + this.fileData = []; + this.processLogData(); + } + }); + } handleFileUpload(event) { var reader = new FileReader(); console.log('[fileUploader.js] Processing Uploaded file...'); @@ -119,6 +131,7 @@ export default class LogFileProcessor extends LightningElement { reader.readAsText(rawFile); } processLogData() { + this.resetVars(); let isSoql = false; let isDml = false; this.fileData.forEach((line, idx) => { @@ -518,4 +531,20 @@ export default class LogFileProcessor extends LightningElement { this.errors.push(errObj); // console.log('Error Object: ', errObj); } + + resetVars() { + this.result = []; + this.errors = []; + this.isCurUnitCU = true; + this.codeUnitsStack = []; + this.methodUnitsStack = []; + this.stdExpCount = 0; + this.codeUnitsCount = 0; + this.methodUnitsCount = 0; + this.soqlCount = 0; + this.dmlCount = 0; + this.eventsPicklistValues = new Set(); + this.execAnonyCount = 0; + this.fileDataPartial = []; + } } diff --git a/src/modules/main/logViewer/logViewer.html b/src/modules/main/logViewer/logViewer.html index f059cba..b76cad2 100644 --- a/src/modules/main/logViewer/logViewer.html +++ b/src/modules/main/logViewer/logViewer.html @@ -655,8 +655,7 @@

  • Total Lines @@ -670,8 +669,7 @@

  • Total CodeUnits @@ -685,8 +683,7 @@

  • Total MethodUnits @@ -700,9 +697,9 @@

  • - SQOL + SOQL Queries
  • DML Operations diff --git a/src/modules/my/appContent/appContent.css b/src/modules/my/appContent/appContent.css index fe3002d..2bc669f 100644 --- a/src/modules/my/appContent/appContent.css +++ b/src/modules/my/appContent/appContent.css @@ -10,6 +10,10 @@ width: var(--fullWidth); } +.slds-template_default { + padding: 0.5rem; +} + .oneCenterStage { overflow: visible; background-color: transparent; diff --git a/src/modules/my/appContent/appContent.html b/src/modules/my/appContent/appContent.html index d15a44d..033b1e2 100644 --- a/src/modules/my/appContent/appContent.html +++ b/src/modules/my/appContent/appContent.html @@ -2,13 +2,13 @@
    -
    - - -
    -
    - -
    + + + + + + +
    diff --git a/src/modules/my/appContent/appContent.js b/src/modules/my/appContent/appContent.js index eb3d27c..13ad2bc 100644 --- a/src/modules/my/appContent/appContent.js +++ b/src/modules/my/appContent/appContent.js @@ -10,7 +10,7 @@ import { subscribe } from 'services/pubsub'; export default class AppContent extends LightningElement { // @wire(MessageContext) // messageContext; - activeApp = 'Home'; + activeApp; appChannelSub = null; connectedCallback() { if (!this.appChannelSub) { diff --git a/src/modules/my/appHome/appHome.html b/src/modules/my/appHome/appHome.html new file mode 100644 index 0000000..3add34b --- /dev/null +++ b/src/modules/my/appHome/appHome.html @@ -0,0 +1,12 @@ + diff --git a/src/modules/my/appHome/appHome.js b/src/modules/my/appHome/appHome.js new file mode 100644 index 0000000..d24dea7 --- /dev/null +++ b/src/modules/my/appHome/appHome.js @@ -0,0 +1,18 @@ +import { LightningElement } from 'lwc'; +import { subscribe } from 'services/pubsub'; + +export default class AppHome extends LightningElement { + activeApp = 'Home'; + appChannelSub = null; + connectedCallback() { + if (!this.appChannelSub) { + this.appChannelSub = subscribe('appChannel', (data) => { + this.activeApp = data.activeApp; + console.log('activeApp: ', this.activeApp); + }); + } + } + get isHome() { + return this.activeApp === 'Home' ? '' : 'slds-hide'; + } +} diff --git a/src/modules/my/appLogViewer/appLogViewer.html b/src/modules/my/appLogViewer/appLogViewer.html new file mode 100644 index 0000000..9ef7c7f --- /dev/null +++ b/src/modules/my/appLogViewer/appLogViewer.html @@ -0,0 +1,5 @@ + diff --git a/src/modules/my/appLogViewer/appLogViewer.js b/src/modules/my/appLogViewer/appLogViewer.js new file mode 100644 index 0000000..891ba7e --- /dev/null +++ b/src/modules/my/appLogViewer/appLogViewer.js @@ -0,0 +1,17 @@ +import { LightningElement } from 'lwc'; +import { subscribe } from 'services/pubsub'; +export default class AppLogViewer extends LightningElement { + activeApp; + appChannelSub = null; + connectedCallback() { + if (!this.appChannelSub) { + this.appChannelSub = subscribe('appChannel', (data) => { + this.activeApp = data.activeApp; + // console.log('activeApp: ', this.activeApp); + }); + } + } + get isLogViewer() { + return this.activeApp === 'Log Viewer' ? '' : 'slds-hide'; + } +} diff --git a/src/modules/my/appNavigation/appNavigation.css b/src/modules/my/appNavigation/appNavigation.css index 6cf2f81..5f97235 100644 --- a/src/modules/my/appNavigation/appNavigation.css +++ b/src/modules/my/appNavigation/appNavigation.css @@ -1,7 +1,9 @@ .nav-item { color: rgb(24, 24, 24); } - +img { + width: 37px; +} a { text-decoration: none !important; } diff --git a/src/modules/my/appNavigation/appNavigation.html b/src/modules/my/appNavigation/appNavigation.html index 90c3a2b..75932c3 100644 --- a/src/modules/my/appNavigation/appNavigation.html +++ b/src/modules/my/appNavigation/appNavigation.html @@ -62,6 +62,5 @@
  • - diff --git a/src/modules/ui/pasteLog/pasteLog.css b/src/modules/ui/pasteLog/pasteLog.css new file mode 100644 index 0000000..5394c26 --- /dev/null +++ b/src/modules/ui/pasteLog/pasteLog.css @@ -0,0 +1,11 @@ +:host { + --slds-c-textarea-sizing-min-height: 16rem; +} + +.btn-container { + justify-content: end; +} + +.clear-btn { + color: #747474; +} diff --git a/src/modules/ui/pasteLog/pasteLog.html b/src/modules/ui/pasteLog/pasteLog.html new file mode 100644 index 0000000..9cdf580 --- /dev/null +++ b/src/modules/ui/pasteLog/pasteLog.html @@ -0,0 +1,77 @@ + diff --git a/src/modules/ui/pasteLog/pasteLog.js b/src/modules/ui/pasteLog/pasteLog.js new file mode 100644 index 0000000..dec6f6c --- /dev/null +++ b/src/modules/ui/pasteLog/pasteLog.js @@ -0,0 +1,25 @@ +import { LightningElement } from 'lwc'; + +import { publish, subscribe } from 'services/pubsub'; + +export default class PasteLog extends LightningElement { + logText; + + handleLogChange(event) { + // console.log('event', event.target.value); + this.logText = event.target.value; + } + clearLog() { + this.logText = ''; + this.template.querySelector('textarea').value = ''; + publish('logtext', []); + } + + analyzeLog() { + if (this.logText !== null && this.logText !== '') { + const logData = this.logText.split(/\r\n|\n/); + console.log('paste data length: ', logData.length); + publish('logtext', logData); + } + } +} diff --git a/src/modules/ui/utilityPanel/utilityPanel.css b/src/modules/ui/utilityPanel/utilityPanel.css index f8fad13..d970d85 100644 --- a/src/modules/ui/utilityPanel/utilityPanel.css +++ b/src/modules/ui/utilityPanel/utilityPanel.css @@ -3,8 +3,8 @@ } .utility-panel { width: auto; - left: 0.75rem; - right: 0.75rem; + left: 0.5rem; + right: 0.5rem; bottom: 2.5rem; } diff --git a/src/modules/ui/utilityPanel/utilityPanel.html b/src/modules/ui/utilityPanel/utilityPanel.html index c7ba256..4c2c218 100644 --- a/src/modules/ui/utilityPanel/utilityPanel.html +++ b/src/modules/ui/utilityPanel/utilityPanel.html @@ -1,340 +1,358 @@ + + +
  • - + diff --git a/src/modules/ui/utilityPanel/utilityPanel.js b/src/modules/ui/utilityPanel/utilityPanel.js index ca8b510..f7057e5 100644 --- a/src/modules/ui/utilityPanel/utilityPanel.js +++ b/src/modules/ui/utilityPanel/utilityPanel.js @@ -1,10 +1,24 @@ import { api, LightningElement, track } from 'lwc'; import { parseResultToTree } from 'parser/callTree'; +import { subscribe } from 'services/pubsub'; export default class UtilityPanel extends LightningElement { @api panelToggle = false; isLoaded = false; + appChannelSub = null; + activeApp = 'Log Viewer'; + get isLogViewer() { + return this.activeApp === 'Log Viewer'; + } + connectedCallback() { + if (!this.appChannelSub) { + this.appChannelSub = subscribe('appChannel', (data) => { + this.activeApp = data.activeApp; + // console.log('activeApp: ', this.activeApp); + }); + } + } renderedCallback() { if (this.isLoaded === false) { this.isLoaded = true;