├── example
└── main
│ └── default
│ ├── aura
│ └── JsonViewApp
│ │ ├── JsonViewApp.css
│ │ ├── JsonViewAppHelper.js
│ │ ├── JsonViewAppRenderer.js
│ │ ├── JsonViewAppController.js
│ │ ├── JsonViewApp.app
│ │ ├── JsonViewApp.auradoc
│ │ ├── JsonViewApp.app-meta.xml
│ │ └── JsonViewApp.svg
│ ├── objects
│ └── Account
│ │ ├── Account.object-meta.xml
│ │ └── fields
│ │ └── JSON_Test__c.field-meta.xml
│ ├── lwc
│ ├── jsonViewerExample
│ │ ├── jsonViewerExample.html
│ │ ├── jsonViewerExample.js-meta.xml
│ │ └── jsonViewerExample.js
│ └── jsconfig.json
│ ├── pages
│ ├── JsonViewPage.page-meta.xml
│ └── JsonViewPage.page
│ ├── flexipages
│ └── AccountJSONViewRecordPage.flexipage-meta.xml
│ └── layouts
│ └── Account-JSON View Account Layout.layout-meta.xml
├── react-app
├── types.d.ts
├── index.tsx
└── components
│ └── JSONViewer.tsx
├── LWC-demo.gif
├── force-app
└── main
│ └── default
│ ├── lwc
│ ├── .eslintrc.json
│ ├── jsonReactContainer
│ │ ├── jsonReactContainer.html
│ │ ├── jsonReactContainer.js-meta.xml
│ │ └── jsonReactContainer.js
│ └── jsconfig.json
│ └── staticresources
│ └── app.resource-meta.xml
├── .prettierignore
├── config
└── project-scratch-def.json
├── tsconfig.json
├── .prettierrc
├── changelog.md
├── .forceignore
├── .gitignore
├── sfdx-project.json
├── package.json
├── LICENSE
├── webpack.config.js
└── README.md
/example/main/default/aura/JsonViewApp/JsonViewApp.css:
--------------------------------------------------------------------------------
1 | .THIS {
2 | }
--------------------------------------------------------------------------------
/react-app/types.d.ts:
--------------------------------------------------------------------------------
1 | declare module "@salesforce/design-system-react"
--------------------------------------------------------------------------------
/LWC-demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callawaycloud/lwc-json-view/HEAD/LWC-demo.gif
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewAppHelper.js:
--------------------------------------------------------------------------------
1 | ({
2 | helperMethod : function() {
3 |
4 | }
5 | })
--------------------------------------------------------------------------------
/force-app/main/default/lwc/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["@salesforce/eslint-config-lwc/recommended"]
3 | }
4 |
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewAppRenderer.js:
--------------------------------------------------------------------------------
1 | ({
2 |
3 | // Your renderer method overrides go here
4 |
5 | })
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewAppController.js:
--------------------------------------------------------------------------------
1 | ({
2 | myAction : function(component, event, helper) {
3 |
4 | }
5 | })
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # List files or directories below to ignore them when running prettier
2 | # More information: https://prettier.io/docs/en/ignore.html
3 | #
4 |
5 | .sfdx
--------------------------------------------------------------------------------
/example/main/default/objects/Account/Account.object-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewApp.app:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/config/project-scratch-def.json:
--------------------------------------------------------------------------------
1 | {
2 | "orgName": "charlesjonas Company",
3 | "edition": "Developer",
4 | "features": [],
5 | "settings": {
6 | "orgPreferenceSettings": {
7 | "s1DesktopEnabled": true
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "outDir": "./dist/",
4 | "sourceMap": true,
5 | "noImplicitAny": true,
6 | "module": "commonjs",
7 | "target": "es6",
8 | "jsx": "react"
9 | }
10 | }
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewApp.auradoc:
--------------------------------------------------------------------------------
1 |
2 | Documentation
3 |
4 | Example Description
5 |
6 |
--------------------------------------------------------------------------------
/force-app/main/default/lwc/jsonReactContainer/jsonReactContainer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | {jsonText}
7 |
8 |
--------------------------------------------------------------------------------
/force-app/main/default/staticresources/app.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Private
4 | application/javascript
5 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "none",
3 | "overrides": [
4 | {
5 | "files": "**/lwc/**/*.html",
6 | "options": { "parser": "lwc" }
7 | },
8 | {
9 | "files": "*.{cmp,page,component}",
10 | "options": { "parser": "html" }
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewApp.app-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 48.0
4 | A Lightning Application Bundle
5 |
6 |
--------------------------------------------------------------------------------
/changelog.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file.
4 |
5 | ## 0.1.0
6 |
7 | ### Added functionality to view JSON text
8 |
9 | ## 0.2.0
10 |
11 | ### Added functionality to pass react-json-props, which can be used to implement edit functionality
12 |
13 | ### Added example project metadata
14 |
--------------------------------------------------------------------------------
/react-app/index.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import * as ReactDOM from "react-dom";
3 |
4 | import { JSONViewer, JSONViewerProps } from "./components/JSONViewer";
5 |
6 | (window as any).mount = (el: any, injected: JSONViewerProps) => {
7 | console.log(injected);
8 |
9 | ReactDOM.render(, el);
10 | };
11 |
--------------------------------------------------------------------------------
/example/main/default/lwc/jsonViewerExample/jsonViewerExample.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.forceignore:
--------------------------------------------------------------------------------
1 | # List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
2 | # More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
3 | #
4 |
5 | package.xml
6 |
7 | **/profiles
8 |
9 | # LWC configuration files
10 | **/jsconfig.json
11 | **/.eslintrc.json
12 |
13 | # LWC Jest
14 | **/__tests__/**
--------------------------------------------------------------------------------
/example/main/default/objects/Account/fields/JSON_Test__c.field-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | JSON_Test__c
4 | false
5 |
6 | 32768
7 | false
8 | LongTextArea
9 | 3
10 |
11 |
--------------------------------------------------------------------------------
/example/main/default/lwc/jsonViewerExample/jsonViewerExample.js-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 48.0
4 | true
5 |
6 | lightning__AppPage
7 | lightning__RecordPage
8 | lightning__HomePage
9 |
10 |
--------------------------------------------------------------------------------
/force-app/main/default/lwc/jsonReactContainer/jsonReactContainer.js-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 48.0
4 | true
5 |
6 | lightning__AppPage
7 | lightning__RecordPage
8 | lightning__HomePage
9 |
10 |
--------------------------------------------------------------------------------
/example/main/default/pages/JsonViewPage.page-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 48.0
4 | false
5 | false
6 |
7 |
8 | 1
9 | 0
10 | trlhdtips
11 |
12 |
13 |
--------------------------------------------------------------------------------
/example/main/default/pages/JsonViewPage.page:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
19 |
--------------------------------------------------------------------------------
/force-app/main/default/lwc/jsonReactContainer/jsonReactContainer.js:
--------------------------------------------------------------------------------
1 | /* global moment */
2 | import { LightningElement, wire, api, track } from "lwc";
3 | import { loadScript } from "lightning/platformResourceLoader";
4 | import App from "@salesforce/resourceUrl/app";
5 |
6 | export default class JsonReactContainer extends LightningElement {
7 | @api jsonText;
8 | @api reactJsonViewProps;
9 |
10 | renderedCallback() {
11 | Promise.all([loadScript(this, App)]).then(() => {
12 | mount(this.template.querySelector("div"), {
13 | jsonText: this.jsonText,
14 | reactJsonViewProps: this.reactJsonViewProps
15 | });
16 | });
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/example/main/default/lwc/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "experimentalDecorators": true,
4 | "baseUrl": ".",
5 | "paths": {
6 | "c/jsonReactContainer": [
7 | "../../../../force-app/main/default/lwc/jsonReactContainer/jsonReactContainer.js"
8 | ],
9 | "c/jsonViewerExample": [
10 | "jsonViewerExample/jsonViewerExample.js"
11 | ]
12 | }
13 | },
14 | "include": [
15 | "**/*",
16 | "../../../../.sfdx/typings/lwc/**/*.d.ts"
17 | ],
18 | "typeAcquisition": {
19 | "include": [
20 | "jest"
21 | ]
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/force-app/main/default/lwc/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "experimentalDecorators": true,
4 | "baseUrl": ".",
5 | "paths": {
6 | "c/jsonReactContainer": [
7 | "jsonReactContainer/jsonReactContainer.js"
8 | ],
9 | "c/jsonViewerExample": [
10 | "../../../../example/main/default/lwc/jsonViewerExample/jsonViewerExample.js"
11 | ]
12 | }
13 | },
14 | "include": [
15 | "**/*",
16 | "../../../../.sfdx/typings/lwc/**/*.d.ts"
17 | ],
18 | "typeAcquisition": {
19 | "include": [
20 | "jest"
21 | ]
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # This file is used for Git repositories to specify intentionally untracked files that Git should ignore.
2 | # If you are not using git, you can delete this file. For more information see: https://git-scm.com/docs/gitignore
3 | # For useful gitignore templates see: https://github.com/github/gitignore
4 |
5 | # Salesforce cache
6 | .sfdx/
7 |
8 | # Logs
9 | logs
10 | *.log
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 |
15 | # Dependency directories
16 | node_modules/
17 |
18 | # Eslint cache
19 | .eslintcache
20 |
21 | # MacOS system files
22 | .DS_Store
23 |
24 | # Windows system files
25 | Thumbs.db
26 | ehthumbs.db
27 | [Dd]esktop.ini
28 | $RECYCLE.BIN/
29 |
30 | dist
--------------------------------------------------------------------------------
/example/main/default/aura/JsonViewApp/JsonViewApp.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sfdx-project.json:
--------------------------------------------------------------------------------
1 | {
2 | "packageDirectories": [
3 | {
4 | "path": "force-app",
5 | "default": true,
6 | "package": "lwc-json-view",
7 | "versionName": "ver 0.2",
8 | "versionNumber": "0.2.0.NEXT"
9 | },
10 | {
11 | "path": "example",
12 | "default": false
13 | }
14 | ],
15 | "namespace": "",
16 | "sfdcLoginUrl": "https://login.salesforce.com",
17 | "sourceApiVersion": "46.0",
18 | "packageAliases": {
19 | "lwc-json-view": "0Ho1C000000002HSAQ",
20 | "lwc-json-view@0.1.0-1": "04t1C000000goH5QAI",
21 | "lwc-json-view@0.2.0-1": "04t1C000000goKJQAY"
22 | }
23 | }
--------------------------------------------------------------------------------
/react-app/components/JSONViewer.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import { Card, Button } from "@salesforce/design-system-react";
3 | import ReactJson from "react-json-view";
4 | // use the component in your app!
5 | export interface JSONViewerProps {
6 | jsonText: any;
7 | reactJsonViewProps: any;
8 | }
9 | export const JSONViewer = (props: JSONViewerProps) => {
10 | if (!props.jsonText) {
11 | return ;
12 | }
13 |
14 | console.log(props.reactJsonViewProps);
15 | return (
16 |
17 |
21 |
22 | );
23 | };
24 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lwc-react",
3 | "version": "1.0.0",
4 | "description": "This guide helps Salesforce developers who are new to Visual Studio Code go from zero to a deployed app using Salesforce Extensions for VS Code and Salesforce CLI.",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "build": "npx webpack react-app && cp dist/main.js force-app/main/default/staticresources/app.js",
9 | "deploy": "npm run build && sfdx force:source:deploy -p force-app"
10 | },
11 | "author": "",
12 | "license": "ISC",
13 | "devDependencies": {
14 | "@types/react": "^16.8.23",
15 | "@types/react-dom": "^16.8.4",
16 | "source-map-loader": "^0.2.4",
17 | "ts-loader": "^6.0.4",
18 | "typescript": "^3.5.3",
19 | "webpack": "^4.36.1",
20 | "webpack-cli": "^3.3.6"
21 | },
22 | "dependencies": {
23 | "@salesforce-ux/design-system": "^2.9.4",
24 | "@salesforce/design-system-react": "^0.10.9",
25 | "react": "16.8.3",
26 | "react-dom": "^16.8.6",
27 | "react-json-view": "^1.19.1"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Callaway Cloud
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | mode: "production",
3 |
4 | // Enable sourcemaps for debugging webpack's output.
5 | devtool: "source-map",
6 |
7 | resolve: {
8 | // Add '.ts' and '.tsx' as resolvable extensions.
9 | extensions: [".js", ".ts", ".tsx"]
10 | },
11 |
12 | module: {
13 | rules: [
14 | {
15 | test: /\.(ts|js)x?$/,
16 | exclude: /node_modules/,
17 | use: [
18 | {
19 | loader: "ts-loader"
20 | }
21 | ]
22 | },
23 | // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
24 | {
25 | enforce: "pre",
26 | test: /\.js$/,
27 | loader: "source-map-loader"
28 | }
29 | ]
30 | },
31 |
32 | // // When importing a module whose path matches one of the following, just
33 | // // assume a corresponding global variable exists and use that instead.
34 | // // This is important because it allows us to avoid bundling all of our
35 | // // dependencies, which allows browsers to cache those libraries between builds.
36 | // externals: {
37 | // "lightning/navigation": "lightning"
38 | // // "react-dom": "ReactDOM"
39 | // }
40 | };
--------------------------------------------------------------------------------
/example/main/default/lwc/jsonViewerExample/jsonViewerExample.js:
--------------------------------------------------------------------------------
1 | import { LightningElement, wire, api, track } from "lwc";
2 | import { getRecord, updateRecord } from "lightning/uiRecordApi";
3 | const FIELDS = ["Account.Id", "Account.JSON_Test__c"];
4 | import JSON_TEST_FIELD from "@salesforce/schema/Account.JSON_Test__c";
5 | import ID_FIELD from "@salesforce/schema/Account.Id";
6 |
7 | export default class JsonViewerExample extends LightningElement {
8 | @api recordId;
9 | @track account;
10 |
11 | @wire(getRecord, {
12 | recordId: "$recordId",
13 | fields: [JSON_TEST_FIELD, ID_FIELD]
14 | })
15 | wiredAccount({ error, data }) {
16 | if (data) {
17 | this.record = data;
18 | this.account = data;
19 | this.error = undefined;
20 |
21 | this.jsontext = this.record.fields.JSON_Test__c.value;
22 |
23 | if (!this.jsontext) {
24 | this.jsontext = "{}";
25 | }
26 | } else if (error) {
27 | this.error = error;
28 | this.record = undefined;
29 | }
30 | }
31 |
32 | @api
33 | jsontext;
34 |
35 | reactJsonViewProps = {
36 | name: false,
37 | displayDataTypes: false,
38 | onEdit: edit => {
39 | this.editJson(edit);
40 | },
41 | onAdd: edit => {
42 | this.editJson(edit);
43 | },
44 | onDelete: edit => {
45 | this.editJson(edit);
46 | }
47 | };
48 |
49 | editJson(edit) {
50 | const fields = {};
51 | fields[JSON_TEST_FIELD.fieldApiName] = JSON.stringify(edit.updated_src);
52 | fields[ID_FIELD.fieldApiName] = this.recordId;
53 |
54 | const recordInput = { fields };
55 |
56 | updateRecord(recordInput)
57 | .then(() => {})
58 | .catch(error => {
59 | console.log(error);
60 | });
61 | this.jsontext = JSON.stringify(edit.updated_src);
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # LWC React-Webpack Container
2 |
3 | Demo:
4 |
5 |
6 |
7 | A Lightning Web Component that utilizes React and react-json-view to display JSON text within Salesforce.
8 |
9 | ## Setup
10 |
11 | 1. Install in your org
12 | - https://[your-domain-here].lightning.force.com/packaging/installPackage.apexp?p0=04t1C000000goKJQAY
13 | 2. Create a LWC to implement in your org
14 | - Review example implementation for guidance
15 |
16 | ## Usage
17 |
18 | 1. View and edit fields where JSON text is stored
19 | - To enable edit functionality, please review the example below for passing react-json-view props
20 |
21 | ### Pass react-json-view props
22 |
23 | - Any props in react-json-view is supported by passing as an object to reactJsonViewProps
24 |
25 | - Lightning Web Component example:
26 |
27 | - LWC html file
28 |
29 | ```html
30 |
34 | ```
35 |
36 | - LWC js file
37 |
38 | ```javascript
39 | reactJsonViewProps = {
40 | name: false,
41 | displayDataTypes: false,
42 | onEdit: edit => {
43 | this.editJson(edit);
44 | },
45 | onAdd: edit => {
46 | this.editJson(edit);
47 | },
48 | onDelete: edit => {
49 | this.editJson(edit);
50 | }
51 | };
52 |
53 | editJson(edit) {
54 | const fields = {};
55 | fields[JSON_TEST_FIELD.fieldApiName] = JSON.stringify(edit.updated_src);
56 | fields[ID_FIELD.fieldApiName] = this.recordId;
57 |
58 | const recordInput = { fields };
59 |
60 | updateRecord(recordInput)
61 | .then(() => {})
62 | .catch(error => {
63 | console.log(error);
64 | });
65 | this.jsontext = JSON.stringify(edit.updated_src);
66 | }
67 | ```
68 |
69 | * Classic example:
70 |
71 | - Utilizes the LWC above an uses a Visualforce Page to render the component
72 | - Visualforce Page example:
73 |
74 | ```html
75 |
76 |
77 |
78 |
79 |
85 |
86 | ```
87 |
88 | ## Demo
89 |
90 | - Install in your org
91 | - https://[your-domain-here].lightning.force.com/packaging/installPackage.apexp?p0=04t1C000000goKJQAY
92 | - clone lwc-json-view and deploy the example directory to your org
93 | - `sfdx force:org:open`
94 |
95 | - For Lightning:
96 |
97 | 1. Assign AccountJSONViewRecordPage as the Lightning Record Page for the Account object
98 | 2. Give users edit access to JSON Test field on Account
99 | 3. Go to any Account and go to the JSON Test component to update the JSON Test field
100 |
101 | - For Classic:
102 |
103 | 1. Give users access to Visualforce Page JsonViewPage
104 | 2. Assign JSON View Account Layout as the Account page layout
105 | 3. Go to any Account and go to the JsonViewPage Visualforce Page section to update the JSON Test field
106 |
107 | ## Contributing
108 |
109 | - lwc-json-view
110 |
111 | ### Release Update
112 |
113 | - Create version
114 |
115 | 1. Update `versionName` & `versionNumber` in `sfdx-project.json`
116 | 2. run `sfdx force:package:version:create -p lwc-json-view -d force-app -x --wait 10 -v ccc-prod`
117 |
118 | - "promote" Version
119 |
120 | 1. Get `04txxxxxx` version from previous step
121 | 2. `sfdx force:package:version:promote -p 04txxxxxx`
122 |
123 | - Update install instructions in readme
124 |
125 | - Add release on github
126 |
--------------------------------------------------------------------------------
/example/main/default/flexipages/AccountJSONViewRecordPage.flexipage-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | collapsed
7 | false
8 |
9 |
10 | hideChatterActions
11 | false
12 |
13 |
14 | numVisibleActions
15 | 3
16 |
17 | force:highlightsPanel
18 |
19 | Replace
20 | header
21 | Region
22 |
23 |
24 |
25 | cooper:companyInsightTeaserCard
26 |
27 |
28 |
29 | displayOption
30 | BOTH
31 |
32 | runtime_sales_merge:mergeCandidatesPreviewCard
33 |
34 |
35 |
36 | relatedListComponentOverride
37 | NONE
38 |
39 |
40 | rowsToDisplay
41 | 10
42 |
43 |
44 | showActionBar
45 | true
46 |
47 | force:relatedListContainer
48 |
49 | Replace
50 | relatedTabContent
51 | Facet
52 |
53 |
54 |
55 | force:detailPanel
56 |
57 | Replace
58 | detailTabContent
59 | Facet
60 |
61 |
62 |
63 | runtime_sales_social:socialPanel
64 |
65 | Replace
66 | newsTabContent
67 | Facet
68 |
69 |
70 |
71 |
72 | active
73 | false
74 |
75 |
76 | body
77 | relatedTabContent
78 |
79 |
80 | title
81 | Standard.Tab.relatedLists
82 |
83 | flexipage:tab
84 |
85 |
86 |
87 | active
88 | true
89 |
90 |
91 | body
92 | detailTabContent
93 |
94 |
95 | title
96 | Standard.Tab.detail
97 |
98 | flexipage:tab
99 |
100 |
101 |
102 | body
103 | newsTabContent
104 |
105 |
106 | title
107 | Standard.Tab.news
108 |
109 | flexipage:tab
110 |
111 | Replace
112 | maintabs
113 | Facet
114 |
115 |
116 |
117 |
118 | tabs
119 | maintabs
120 |
121 | flexipage:tabset
122 |
123 | Replace
124 | main
125 | Region
126 |
127 |
128 |
129 | runtime_sales_activities:activityPanel
130 |
131 | Replace
132 | activityTabContent
133 | Facet
134 |
135 |
136 |
137 | forceChatter:recordFeedContainer
138 |
139 | Replace
140 | feedTabContent
141 | Facet
142 |
143 |
144 |
145 |
146 | active
147 | true
148 |
149 |
150 | body
151 | activityTabContent
152 |
153 |
154 | title
155 | Standard.Tab.activity
156 |
157 | flexipage:tab
158 |
159 |
160 |
161 | body
162 | feedTabContent
163 |
164 |
165 | title
166 | Standard.Tab.collaborate
167 |
168 | flexipage:tab
169 |
170 | Replace
171 | sidebartabs
172 | Facet
173 |
174 |
175 |
176 | jsonViewerExample
177 |
178 |
179 |
180 | tabs
181 | sidebartabs
182 |
183 | flexipage:tabset
184 |
185 | Replace
186 | sidebar
187 | Region
188 |
189 | AccountJSONViewRecordPage
190 | sfa__Account_rec_L
191 | Account
192 |
193 | flexipage:recordHomeTemplateDesktop
194 |
195 | RecordPage
196 |
--------------------------------------------------------------------------------
/example/main/default/layouts/Account-JSON View Account Layout.layout-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Submit
4 |
5 | false
6 | false
7 | true
8 |
9 |
10 |
11 | Edit
12 | OwnerId
13 |
14 |
15 | Required
16 | Name
17 |
18 |
19 | Edit
20 | ParentId
21 |
22 |
23 | Edit
24 | AccountNumber
25 |
26 |
27 | Edit
28 | Site
29 |
30 |
31 | Edit
32 | Type
33 |
34 |
35 | Edit
36 | Industry
37 |
38 |
39 | Edit
40 | AnnualRevenue
41 |
42 |
43 |
44 |
45 | Edit
46 | Rating
47 |
48 |
49 | Edit
50 | Phone
51 |
52 |
53 | Edit
54 | Fax
55 |
56 |
57 | Edit
58 | Website
59 |
60 |
61 | Edit
62 | TickerSymbol
63 |
64 |
65 | Edit
66 | Ownership
67 |
68 |
69 | Edit
70 | NumberOfEmployees
71 |
72 |
73 | Edit
74 | Sic
75 |
76 |
77 |
78 |
79 |
80 | false
81 | false
82 | true
83 |
84 |
85 |
86 | Edit
87 | BillingAddress
88 |
89 |
90 |
91 |
92 | Edit
93 | ShippingAddress
94 |
95 |
96 |
97 |
98 |
99 | false
100 | false
101 | true
102 |
103 |
104 |
105 | Edit
106 | CustomerPriority__c
107 |
108 |
109 | Edit
110 | SLAExpirationDate__c
111 |
112 |
113 | Edit
114 | NumberofLocations__c
115 |
116 |
117 | Edit
118 | Active__c
119 |
120 |
121 | 200
122 | JsonViewPage
123 | false
124 | true
125 | 100%
126 |
127 |
128 |
129 |
130 | Edit
131 | SLA__c
132 |
133 |
134 | Edit
135 | SLASerialNumber__c
136 |
137 |
138 | Edit
139 | UpsellOpportunity__c
140 |
141 |
142 |
143 |
144 |
145 | false
146 | false
147 | true
148 |
149 |
150 |
151 | Readonly
152 | CreatedById
153 |
154 |
155 |
156 |
157 | Readonly
158 | LastModifiedById
159 |
160 |
161 |
162 |
163 |
164 | false
165 | false
166 | true
167 |
168 |
169 |
170 | Edit
171 | Description
172 |
173 |
174 |
175 |
176 |
177 | true
178 | false
179 | false
180 |
181 |
182 |
183 | Billing
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 | runtime_sales_social:socialPanel
194 |
195 |
196 |
197 |
198 | FULL_NAME
199 | CONTACT.TITLE
200 | CONTACT.EMAIL
201 | CONTACT.PHONE1
202 | RelatedContactList
203 |
204 |
205 | OPPORTUNITY.NAME
206 | OPPORTUNITY.STAGE_NAME
207 | OPPORTUNITY.AMOUNT
208 | OPPORTUNITY.CLOSE_DATE
209 | RelatedOpportunityList
210 |
211 |
212 | CASES.CASE_NUMBER
213 | NAME
214 | CASES.SUBJECT
215 | CASES.PRIORITY
216 | CASES.CREATED_DATE_DATE_ONLY
217 | CASES.STATUS
218 | OWNER_NAME
219 | RelatedCaseList
220 |
221 |
222 | TASK.SUBJECT
223 | TASK.WHO_NAME
224 | TASK.WHAT_NAME
225 | ACTIVITY.TASK
226 | TASK.DUE_DATE
227 | TASK.STATUS
228 | TASK.PRIORITY
229 | CORE.USERS.FULL_NAME
230 | RelatedActivityList
231 |
232 |
233 | TASK.SUBJECT
234 | TASK.WHO_NAME
235 | TASK.WHAT_NAME
236 | ACTIVITY.TASK
237 | TASK.DUE_DATE
238 | CORE.USERS.FULL_NAME
239 | TASK.LAST_UPDATE
240 | RelatedHistoryList
241 |
242 |
243 | RelatedNoteList
244 |
245 |
246 | ACCOUNT.NAME
247 | OPPORTUNITY.NAME
248 | PARTNER.ROLE
249 | RelatedPartnerList
250 |
251 | ParentId
252 | false
253 | false
254 | false
255 | false
256 | false
257 |
258 | 00h6g000007khMW
259 | 4
260 | 0
261 | Default
262 |
263 |
--------------------------------------------------------------------------------