UNPKG

@salesforce/salesforcedx-vscode-test-tools

Version:
70 lines 3.35 kB
"use strict"; /* * Copyright (c) 2025, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createVisualforcePage = createVisualforcePage; const promises_1 = __importDefault(require("fs/promises")); const path_1 = require("path"); const miscellaneous_1 = require("../core/miscellaneous"); const textEditorView_1 = require("../ui-interaction/textEditorView"); const workbench_1 = require("../ui-interaction/workbench"); const fileSystem_1 = require("../system-operations/fileSystem"); /** * Creates a Visualforce page named 'FooPage' with a controller reference * The page includes a simple form with an account name input field and save button */ async function createVisualforcePage(folder) { (0, miscellaneous_1.log)(`calling createVisualforcePage()`); // Define the page content const pageText = [ `<apex:page controller="myController" tabStyle="Account">`, `\t<apex:form>`, `\t`, `\t\t<apex:pageBlock title="Congratulations {!$User.FirstName}">`, `\t\t\tYou belong to Account Name: <apex:inputField value="{!account.name}"/>`, `\t\t\t<apex:commandButton action="{!save}" value="save"/>`, `\t\t</apex:pageBlock>`, `\t</apex:form>`, `</apex:page>` ].join('\n'); // Define metadata content const metaContent = [ `<?xml version="1.0" encoding="UTF-8"?>`, `<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">`, ` <apiVersion>64.0</apiVersion>`, ` <availableInTouch>false</availableInTouch>`, ` <confirmationTokenRequired>false</confirmationTokenRequired>`, ` <label>FooPage</label>`, `</ApexPage>` ].join('\n'); // Create the file paths const filePath = (0, path_1.join)(folder, 'FooPage.page'); const metaFilePath = (0, path_1.join)(folder, 'FooPage.page-meta.xml'); try { // Ensure the folder exists before writing files await promises_1.default.mkdir(folder, { recursive: true }); // Write the Visualforce page file using fs.writeFile (0, fileSystem_1.createOrOverwriteFile)(filePath, pageText); (0, miscellaneous_1.log)(`Visualforce page FooPage.page created successfully at ${filePath}`); // Write the metadata file using fs.writeFile (0, fileSystem_1.createOrOverwriteFile)(metaFilePath, metaContent); (0, miscellaneous_1.log)(`Visualforce page metadata FooPage.page-meta.xml created successfully at ${metaFilePath}`); } catch (error) { (0, miscellaneous_1.log)(`Error creating Visualforce page FooPage: ${error}`); throw error; } // Open the file in the text editor await (0, miscellaneous_1.pause)(miscellaneous_1.Duration.seconds(1)); const workbench = (0, workbench_1.getWorkbench)(); await (0, textEditorView_1.getTextEditor)(workbench, 'FooPage.page'); await (0, miscellaneous_1.pause)(miscellaneous_1.Duration.seconds(1)); } //# sourceMappingURL=visualforceUtils.js.map