sfdx-browserforce-plugin 4.3.0 → 4.4.0
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/bin/run +6 -5
- package/lib/browserforce-command.d.ts +8 -0
- package/lib/browserforce-command.js +32 -63
- package/lib/browserforce-command.js.map +1 -1
- package/lib/browserforce.d.ts +20 -0
- package/lib/browserforce.js +14 -19
- package/lib/browserforce.js.map +1 -1
- package/lib/commands/browserforce/apply.d.ts +10 -0
- package/lib/commands/browserforce/apply.js +15 -20
- package/lib/commands/browserforce/apply.js.map +1 -1
- package/lib/commands/browserforce/plan.d.ts +10 -0
- package/lib/commands/browserforce/plan.js +17 -47
- package/lib/commands/browserforce/plan.js.map +1 -1
- package/lib/config-parser.d.ts +16 -0
- package/lib/config-parser.js +1 -5
- package/lib/config-parser.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -2
- package/lib/jsforce-utils.d.ts +5 -0
- package/lib/jsforce-utils.js +1 -5
- package/lib/jsforce-utils.js.map +1 -1
- package/lib/pages/login.d.ts +8 -0
- package/lib/pages/login.js +2 -5
- package/lib/pages/login.js.map +1 -1
- package/lib/plugin.d.ts +17 -0
- package/lib/plugin.js +5 -7
- package/lib/plugin.js.map +1 -1
- package/lib/plugins/activity-settings/index.d.ts +9 -0
- package/lib/plugins/activity-settings/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/activity-settings/index.e2e-spec.js +6 -11
- package/lib/plugins/activity-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/activity-settings/index.js +2 -6
- package/lib/plugins/activity-settings/index.js.map +1 -1
- package/lib/plugins/communities/index.d.ts +10 -0
- package/lib/plugins/communities/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/communities/index.e2e-spec.js +6 -11
- package/lib/plugins/communities/index.e2e-spec.js.map +1 -1
- package/lib/plugins/communities/index.js +2 -6
- package/lib/plugins/communities/index.js.map +1 -1
- package/lib/plugins/company-information/index.d.ts +8 -0
- package/lib/plugins/company-information/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/company-information/index.e2e-spec.js +6 -11
- package/lib/plugins/company-information/index.e2e-spec.js.map +1 -1
- package/lib/plugins/company-information/index.js +2 -6
- package/lib/plugins/company-information/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +14 -0
- package/lib/plugins/customer-portal/available-custom-objects/index.js +4 -8
- package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.test.d.ts +1 -0
- package/lib/plugins/customer-portal/available-custom-objects/index.test.js +4 -9
- package/lib/plugins/customer-portal/available-custom-objects/index.test.js.map +1 -1
- package/lib/plugins/customer-portal/enabled/index.d.ts +6 -0
- package/lib/plugins/customer-portal/enabled/index.js +2 -6
- package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
- package/lib/plugins/customer-portal/enabled/index.test.d.ts +1 -0
- package/lib/plugins/customer-portal/enabled/index.test.js +4 -9
- package/lib/plugins/customer-portal/enabled/index.test.js.map +1 -1
- package/lib/plugins/customer-portal/index.d.ts +15 -0
- package/lib/plugins/customer-portal/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/customer-portal/index.e2e-spec.js +25 -51
- package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -1
- package/lib/plugins/customer-portal/index.js +14 -18
- package/lib/plugins/customer-portal/index.js.map +1 -1
- package/lib/plugins/customer-portal/index.test.d.ts +1 -0
- package/lib/plugins/customer-portal/index.test.js +4 -9
- package/lib/plugins/customer-portal/index.test.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.d.ts +25 -0
- package/lib/plugins/customer-portal/portals/index.js +6 -33
- package/lib/plugins/customer-portal/portals/index.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.test.d.ts +1 -0
- package/lib/plugins/customer-portal/portals/index.test.js +4 -9
- package/lib/plugins/customer-portal/portals/index.test.js.map +1 -1
- package/lib/plugins/defer-sharing-calculation/index.d.ts +9 -0
- package/lib/plugins/defer-sharing-calculation/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js +14 -40
- package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js.map +1 -1
- package/lib/plugins/defer-sharing-calculation/index.js +2 -6
- package/lib/plugins/defer-sharing-calculation/index.js.map +1 -1
- package/lib/plugins/density-settings/index.d.ts +17 -0
- package/lib/plugins/density-settings/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/density-settings/index.e2e-spec.js +7 -12
- package/lib/plugins/density-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/density-settings/index.js +2 -6
- package/lib/plugins/density-settings/index.js.map +1 -1
- package/lib/plugins/email-deliverability/index.d.ts +9 -0
- package/lib/plugins/email-deliverability/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/email-deliverability/index.e2e-spec.js +8 -13
- package/lib/plugins/email-deliverability/index.e2e-spec.js.map +1 -1
- package/lib/plugins/email-deliverability/index.js +2 -6
- package/lib/plugins/email-deliverability/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/index.d.ts +10 -0
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +6 -11
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/index.js +5 -10
- package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.d.ts +7 -0
- package/lib/plugins/high-velocity-sales-settings/page.js +7 -10
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.d.ts +14 -0
- package/lib/plugins/home-page-layouts/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/home-page-layouts/index.e2e-spec.js +6 -11
- package/lib/plugins/home-page-layouts/index.e2e-spec.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.js +2 -6
- package/lib/plugins/home-page-layouts/index.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.test.d.ts +1 -0
- package/lib/plugins/home-page-layouts/index.test.js +4 -9
- package/lib/plugins/home-page-layouts/index.test.js.map +1 -1
- package/lib/plugins/index.d.ts +21 -0
- package/lib/plugins/index.js +21 -43
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.d.ts +17 -0
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +7 -12
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.js +2 -6
- package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.d.ts +8 -0
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js +6 -11
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.js +5 -9
- package/lib/plugins/linkedin-sales-navigator-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/page.d.ts +8 -0
- package/lib/plugins/linkedin-sales-navigator-settings/page.js +4 -7
- package/lib/plugins/linkedin-sales-navigator-settings/page.js.map +1 -1
- package/lib/plugins/opportunity-splits/index.d.ts +9 -0
- package/lib/plugins/opportunity-splits/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/opportunity-splits/index.e2e-spec.js +11 -37
- package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +1 -1
- package/lib/plugins/opportunity-splits/index.js +10 -14
- package/lib/plugins/opportunity-splits/index.js.map +1 -1
- package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +8 -0
- package/lib/plugins/opportunity-splits/pages/layout-selection.js +5 -8
- package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +1 -1
- package/lib/plugins/opportunity-splits/pages/overview.d.ts +10 -0
- package/lib/plugins/opportunity-splits/pages/overview.js +3 -6
- package/lib/plugins/opportunity-splits/pages/overview.js.map +1 -1
- package/lib/plugins/opportunity-splits/pages/setup.d.ts +8 -0
- package/lib/plugins/opportunity-splits/pages/setup.js +5 -8
- package/lib/plugins/opportunity-splits/pages/setup.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.d.ts +11 -0
- package/lib/plugins/picklists/field-dependencies/index.js +10 -14
- package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.test.d.ts +1 -0
- package/lib/plugins/picklists/field-dependencies/index.test.js +4 -9
- package/lib/plugins/picklists/field-dependencies/index.test.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/pages.d.ts +14 -0
- package/lib/plugins/picklists/field-dependencies/pages.js +9 -12
- package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
- package/lib/plugins/picklists/index.d.ts +23 -0
- package/lib/plugins/picklists/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/picklists/index.e2e-spec.js +30 -52
- package/lib/plugins/picklists/index.e2e-spec.js.map +1 -1
- package/lib/plugins/picklists/index.js +17 -21
- package/lib/plugins/picklists/index.js.map +1 -1
- package/lib/plugins/picklists/pages.d.ts +40 -0
- package/lib/plugins/picklists/pages.js +12 -16
- package/lib/plugins/picklists/pages.js.map +1 -1
- package/lib/plugins/picklists/standard-value-set.d.ts +1 -0
- package/lib/plugins/picklists/standard-value-set.js +3 -10
- package/lib/plugins/picklists/standard-value-set.js.map +1 -1
- package/lib/plugins/record-types/index.d.ts +13 -0
- package/lib/plugins/record-types/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/record-types/index.e2e-spec.js +12 -38
- package/lib/plugins/record-types/index.e2e-spec.js.map +1 -1
- package/lib/plugins/record-types/index.js +4 -8
- package/lib/plugins/record-types/index.js.map +1 -1
- package/lib/plugins/record-types/pages.d.ts +15 -0
- package/lib/plugins/record-types/pages.js +5 -8
- package/lib/plugins/record-types/pages.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +11 -0
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +6 -11
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +5 -9
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +8 -0
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js +1 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +2 -6
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/index.d.ts +11 -0
- package/lib/plugins/reports-and-dashboards/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/reports-and-dashboards/index.e2e-spec.js +1 -1
- package/lib/plugins/reports-and-dashboards/index.js +6 -10
- package/lib/plugins/reports-and-dashboards/index.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/index.d.ts +7 -0
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js +10 -14
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/index.js +6 -15
- package/lib/plugins/salesforce-cpq-config/index.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/types.d.ts +16 -0
- package/lib/plugins/salesforce-cpq-config/types.js +1 -2
- package/lib/plugins/salesforce-to-salesforce/index.d.ts +9 -0
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +6 -11
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +1 -1
- package/lib/plugins/salesforce-to-salesforce/index.js +4 -11
- package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.d.ts +23 -0
- package/lib/plugins/security/certificate-and-key-management/index.js +6 -33
- package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.test.d.ts +1 -0
- package/lib/plugins/security/certificate-and-key-management/index.test.js +4 -9
- package/lib/plugins/security/certificate-and-key-management/index.test.js.map +1 -1
- package/lib/plugins/security/identity-provider/index.d.ts +9 -0
- package/lib/plugins/security/identity-provider/index.js +5 -32
- package/lib/plugins/security/identity-provider/index.js.map +1 -1
- package/lib/plugins/security/index.d.ts +17 -0
- package/lib/plugins/security/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/security/index.e2e-spec.js +13 -18
- package/lib/plugins/security/index.e2e-spec.js.map +1 -1
- package/lib/plugins/security/index.js +18 -22
- package/lib/plugins/security/index.js.map +1 -1
- package/lib/plugins/security/login-access-policies/index.d.ts +8 -0
- package/lib/plugins/security/login-access-policies/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/security/login-access-policies/index.e2e-spec.js +6 -11
- package/lib/plugins/security/login-access-policies/index.e2e-spec.js.map +1 -1
- package/lib/plugins/security/login-access-policies/index.js +2 -6
- package/lib/plugins/security/login-access-policies/index.js.map +1 -1
- package/lib/plugins/security/sharing/index.d.ts +8 -0
- package/lib/plugins/security/sharing/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/security/sharing/index.e2e-spec.js +6 -11
- package/lib/plugins/security/sharing/index.e2e-spec.js.map +1 -1
- package/lib/plugins/security/sharing/index.js +2 -6
- package/lib/plugins/security/sharing/index.js.map +1 -1
- package/lib/plugins/slack/index.d.ts +9 -0
- package/lib/plugins/slack/index.e2e-spec.d.ts +1 -0
- package/lib/plugins/slack/index.e2e-spec.js +7 -12
- package/lib/plugins/slack/index.e2e-spec.js.map +1 -1
- package/lib/plugins/slack/index.js +2 -6
- package/lib/plugins/slack/index.js.map +1 -1
- package/lib/plugins/utils.d.ts +3 -0
- package/lib/plugins/utils.js +6 -12
- package/lib/plugins/utils.js.map +1 -1
- package/oclif.manifest.json +13 -85
- package/package.json +16 -23
- package/lib/plugins/salesforce-cpq-config/default.json +0 -109
- package/lib/plugins/salesforce-cpq-config/formConfig.json +0 -648
- package/messages/browserforce.json +0 -7
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SetupPage = void 0;
|
|
4
|
-
const layout_selection_1 = require("./layout-selection");
|
|
1
|
+
import { LayoutSelectionPage } from './layout-selection.js';
|
|
5
2
|
const SAVE_BUTTON = 'input[id$=":form:SaveButton"]';
|
|
6
3
|
const MODAL_CONFIRM_BUTTON = 'input[id="splitsMassOperationConfirmDialog_overlayConfirmButton"]';
|
|
7
|
-
class SetupPage {
|
|
4
|
+
export class SetupPage {
|
|
5
|
+
static PATH = 'opp/opportunitySplitSetupEdit.apexp?setupid=OpportunitySplitSetup';
|
|
6
|
+
page;
|
|
8
7
|
constructor(page) {
|
|
9
8
|
this.page = page;
|
|
10
9
|
}
|
|
@@ -13,9 +12,7 @@ class SetupPage {
|
|
|
13
12
|
await this.page.click(SAVE_BUTTON);
|
|
14
13
|
await this.page.waitForSelector(MODAL_CONFIRM_BUTTON);
|
|
15
14
|
await Promise.all([this.page.waitForNavigation(), this.page.click(MODAL_CONFIRM_BUTTON)]);
|
|
16
|
-
return new
|
|
15
|
+
return new LayoutSelectionPage(this.page);
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
|
-
exports.SetupPage = SetupPage;
|
|
20
|
-
SetupPage.PATH = 'opp/opportunitySplitSetupEdit.apexp?setupid=OpportunitySplitSetup';
|
|
21
18
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/plugins/opportunity-splits/pages/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/plugins/opportunity-splits/pages/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,GAAG,+BAA+B,CAAC;AACpD,MAAM,oBAAoB,GAAG,mEAAmE,CAAC;AAEjG,MAAM,OAAO,SAAS;IACpB,MAAM,CAAC,IAAI,GAAG,mEAAmE,CAAC;IAC1E,IAAI,CAAC;IAEb,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BrowserforcePlugin } from '../../../plugin.js';
|
|
2
|
+
export type FieldDependencyConfig = {
|
|
3
|
+
object: string;
|
|
4
|
+
dependentField: string;
|
|
5
|
+
controllingField: string | null;
|
|
6
|
+
};
|
|
7
|
+
export type Config = FieldDependencyConfig[];
|
|
8
|
+
export declare class FieldDependencies extends BrowserforcePlugin {
|
|
9
|
+
retrieve(definition: Config): Promise<Config>;
|
|
10
|
+
apply(plan: Config): Promise<void>;
|
|
11
|
+
}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const plugin_1 = require("../../../plugin");
|
|
7
|
-
const pages_1 = require("./pages");
|
|
8
|
-
class FieldDependencies extends plugin_1.BrowserforcePlugin {
|
|
1
|
+
import { retry } from '../../../browserforce.js';
|
|
2
|
+
import { ensureArray } from '../../../jsforce-utils.js';
|
|
3
|
+
import { BrowserforcePlugin } from '../../../plugin.js';
|
|
4
|
+
import { FieldDependencyPage, NewFieldDependencyPage } from './pages.js';
|
|
5
|
+
export class FieldDependencies extends BrowserforcePlugin {
|
|
9
6
|
async retrieve(definition) {
|
|
10
7
|
const conn = this.org.getConnection();
|
|
11
8
|
const dependentFieldNames = definition.map((f) => `${f.object}.${f.dependentField}`);
|
|
12
9
|
const result = await conn.metadata.read('CustomField', dependentFieldNames);
|
|
13
|
-
const metadata =
|
|
10
|
+
const metadata = ensureArray(result);
|
|
14
11
|
const state = definition.map((f) => {
|
|
15
12
|
const fieldState = { ...f };
|
|
16
13
|
const field = metadata.find((m) => m.fullName === `${f.object}.${f.dependentField}`);
|
|
@@ -28,9 +25,9 @@ class FieldDependencies extends plugin_1.BrowserforcePlugin {
|
|
|
28
25
|
},
|
|
29
26
|
{ type: 'CustomField' }
|
|
30
27
|
]);
|
|
31
|
-
const fileProperties =
|
|
28
|
+
const fileProperties = ensureArray(listMetadataResult);
|
|
32
29
|
for (const dep of plan) {
|
|
33
|
-
await
|
|
30
|
+
await retry(async () => {
|
|
34
31
|
const customObject = fileProperties.find((x) => x.type === 'CustomObject' && x.fullName === dep.object);
|
|
35
32
|
if (!customObject) {
|
|
36
33
|
throw new Error(`Could not find CustomObject "${dep.object}"`);
|
|
@@ -40,19 +37,18 @@ class FieldDependencies extends plugin_1.BrowserforcePlugin {
|
|
|
40
37
|
throw new Error(`Could not find dependent field "${dep.object}.${dep.dependentField}"`);
|
|
41
38
|
}
|
|
42
39
|
// always try deleting an existing dependency first
|
|
43
|
-
const fieldDependenciesPage = new
|
|
40
|
+
const fieldDependenciesPage = new FieldDependencyPage(await this.browserforce.openPage(FieldDependencyPage.getUrl(customObject.id)));
|
|
44
41
|
await fieldDependenciesPage.clickDeleteDependencyActionForField(dependentField.id);
|
|
45
42
|
if (dep.controllingField) {
|
|
46
43
|
const controllingField = fileProperties.find((x) => x.type === 'CustomField' && x.fullName === `${dep.object}.${dep.controllingField}`);
|
|
47
44
|
if (!controllingField) {
|
|
48
45
|
throw new Error(`Could not find controlling field "${dep.object}.${dep.controllingField}"`);
|
|
49
46
|
}
|
|
50
|
-
const newFieldDependencyPage = new
|
|
47
|
+
const newFieldDependencyPage = new NewFieldDependencyPage(await this.browserforce.openPage(NewFieldDependencyPage.getUrl(customObject.id, dependentField.id, controllingField.id)));
|
|
51
48
|
await newFieldDependencyPage.save();
|
|
52
49
|
}
|
|
53
50
|
});
|
|
54
51
|
}
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
|
-
exports.FieldDependencies = FieldDependencies;
|
|
58
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assert_1 = __importDefault(require("assert"));
|
|
7
|
-
const utils_1 = require("../../utils");
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import { deepDiff } from '../../utils.js';
|
|
8
3
|
const tests = [
|
|
9
4
|
{
|
|
10
5
|
description: 'should return no change',
|
|
@@ -60,8 +55,8 @@ describe('FieldDependencies', () => {
|
|
|
60
55
|
// }
|
|
61
56
|
for (const t of tests) {
|
|
62
57
|
it(t.description, () => {
|
|
63
|
-
const actual =
|
|
64
|
-
|
|
58
|
+
const actual = deepDiff(t.source, t.target);
|
|
59
|
+
assert.deepStrictEqual(actual, t.expected);
|
|
65
60
|
});
|
|
66
61
|
}
|
|
67
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/index.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAQ1C,MAAM,KAAK,GAAQ;IACjB;QACE,WAAW,EAAE,yBAAyB;QACtC,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,UAAU;gBAC1B,gBAAgB,EAAE,IAAI;aACvB;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,UAAU;gBAC1B,gBAAgB,EAAE,IAAI;aACvB;SACF;QACD,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,UAAU;gBAC1B,gBAAgB,EAAE,QAAQ;aAC3B;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,UAAU;gBAC1B,gBAAgB,EAAE,IAAI;aACvB;SACF;QACD,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,UAAU;gBAC1B,gBAAgB,EAAE,IAAI;aACvB;SACF;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,8CAA8C;QAC9C,2BAA2B;QAC3B,8BAA8B;QAC9B,iDAAiD;QACjD,kDAAkD;QAClD,QAAQ;QACR,IAAI;QACJ,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;gBACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Page } from 'puppeteer';
|
|
2
|
+
export declare class FieldDependencyPage {
|
|
3
|
+
private page;
|
|
4
|
+
constructor(page: Page);
|
|
5
|
+
static getUrl(customObjectId: string): string;
|
|
6
|
+
clickDeleteDependencyActionForField(customFieldId: string): Promise<FieldDependencyPage>;
|
|
7
|
+
}
|
|
8
|
+
export declare class NewFieldDependencyPage {
|
|
9
|
+
protected page: any;
|
|
10
|
+
protected saveButton: string;
|
|
11
|
+
constructor(page: Page);
|
|
12
|
+
static getUrl(customObjectId: string, dependentFieldId: string, controllingFieldId: string): string;
|
|
13
|
+
save(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const browserforce_1 = require("../../../browserforce");
|
|
5
|
-
class FieldDependencyPage {
|
|
1
|
+
import { throwPageErrors } from '../../../browserforce.js';
|
|
2
|
+
export class FieldDependencyPage {
|
|
3
|
+
page;
|
|
6
4
|
constructor(page) {
|
|
7
5
|
this.page = page;
|
|
8
6
|
}
|
|
@@ -19,15 +17,15 @@ class FieldDependencyPage {
|
|
|
19
17
|
await dialog.accept();
|
|
20
18
|
});
|
|
21
19
|
await Promise.all([this.page.waitForNavigation(), this.page.evaluate((e) => e.click(), actionLinkHandles[0])]);
|
|
22
|
-
await
|
|
20
|
+
await throwPageErrors(this.page);
|
|
23
21
|
}
|
|
24
22
|
return this.page;
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
export class NewFieldDependencyPage {
|
|
26
|
+
page;
|
|
27
|
+
saveButton = 'input[name="save"]';
|
|
29
28
|
constructor(page) {
|
|
30
|
-
this.saveButton = 'input[name="save"]';
|
|
31
29
|
this.page = page;
|
|
32
30
|
}
|
|
33
31
|
static getUrl(customObjectId, dependentFieldId, controllingFieldId) {
|
|
@@ -36,16 +34,15 @@ class NewFieldDependencyPage {
|
|
|
36
34
|
async save() {
|
|
37
35
|
await this.page.waitForSelector(this.saveButton);
|
|
38
36
|
await Promise.all([this.page.waitForNavigation(), this.page.click(this.saveButton)]);
|
|
39
|
-
await
|
|
37
|
+
await throwPageErrors(this.page);
|
|
40
38
|
// second step in wizard
|
|
41
39
|
this.page.on('dialog', async (dialog) => {
|
|
42
40
|
await dialog.accept();
|
|
43
41
|
});
|
|
44
42
|
await this.page.waitForSelector(this.saveButton);
|
|
45
43
|
await Promise.all([this.page.waitForNavigation(), this.page.click(this.saveButton)]);
|
|
46
|
-
await
|
|
44
|
+
await throwPageErrors(this.page);
|
|
47
45
|
await this.page.close();
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
|
-
exports.NewFieldDependencyPage = NewFieldDependencyPage;
|
|
51
48
|
//# sourceMappingURL=pages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/pages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
+
import { Config as FieldDependenciesConfig } from './field-dependencies/index.js';
|
|
3
|
+
type Config = {
|
|
4
|
+
picklistValues?: PicklistValuesConfig[];
|
|
5
|
+
fieldDependencies?: FieldDependenciesConfig;
|
|
6
|
+
};
|
|
7
|
+
type PicklistValuesConfig = {
|
|
8
|
+
metadataType: string;
|
|
9
|
+
metadataFullName: string;
|
|
10
|
+
value?: string;
|
|
11
|
+
newValue?: string;
|
|
12
|
+
statusCategory?: string;
|
|
13
|
+
replaceAllBlankValues?: boolean;
|
|
14
|
+
active?: boolean;
|
|
15
|
+
absent?: boolean;
|
|
16
|
+
_newValueExists?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare class Picklists extends BrowserforcePlugin {
|
|
19
|
+
retrieve(definition: Config): Promise<Config>;
|
|
20
|
+
diff(state: Config, definition: Config): Config | undefined;
|
|
21
|
+
apply(config: Config): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,48 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import * as child from 'child_process';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { Picklists } from './index.js';
|
|
7
|
+
import { FieldDependencies } from './field-dependencies/index.js';
|
|
8
|
+
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
9
|
+
const readJsonFile = function (u) {
|
|
10
|
+
return JSON.parse(readFileSync(new URL(u, import.meta.url), "utf8"));
|
|
27
11
|
};
|
|
28
|
-
|
|
29
|
-
const assert_1 = __importDefault(require("assert"));
|
|
30
|
-
const child = __importStar(require("child_process"));
|
|
31
|
-
const path = __importStar(require("path"));
|
|
32
|
-
const _1 = require(".");
|
|
33
|
-
const field_dependencies_1 = require("./field-dependencies");
|
|
34
|
-
describe(_1.Picklists.name, function () {
|
|
12
|
+
describe(Picklists.name, function () {
|
|
35
13
|
this.timeout('10m');
|
|
36
14
|
let plugin;
|
|
37
15
|
before(() => {
|
|
38
|
-
plugin = new
|
|
39
|
-
});
|
|
40
|
-
const configNew =
|
|
41
|
-
const configReplace =
|
|
42
|
-
const configReplaceAndDelete =
|
|
43
|
-
const configDeactivate =
|
|
44
|
-
const configActivate =
|
|
45
|
-
const configReplaceAndDeactivate =
|
|
16
|
+
plugin = new Picklists(global.bf);
|
|
17
|
+
});
|
|
18
|
+
const configNew = readJsonFile('./new.json').settings.picklists;
|
|
19
|
+
const configReplace = readJsonFile('./replace.json').settings.picklists;
|
|
20
|
+
const configReplaceAndDelete = readJsonFile('./replace-and-delete.json').settings.picklists;
|
|
21
|
+
const configDeactivate = readJsonFile('./deactivate.json').settings.picklists;
|
|
22
|
+
const configActivate = readJsonFile('./activate.json').settings.picklists;
|
|
23
|
+
const configReplaceAndDeactivate = readJsonFile('./replace-and-deactivate.json').settings.picklists;
|
|
46
24
|
it('should deploy a CustomObject for testing', () => {
|
|
47
25
|
const sourceDeployCmd = child.spawnSync('sf', [
|
|
48
26
|
'project',
|
|
@@ -52,14 +30,14 @@ describe(_1.Picklists.name, function () {
|
|
|
52
30
|
path.join(__dirname, 'sfdx-source'),
|
|
53
31
|
'--json'
|
|
54
32
|
]);
|
|
55
|
-
|
|
33
|
+
assert.deepStrictEqual(sourceDeployCmd.status, 0, sourceDeployCmd.output.toString());
|
|
56
34
|
});
|
|
57
35
|
it('should add a new picklist value when it does not exist', async () => {
|
|
58
36
|
await plugin.run(configNew);
|
|
59
37
|
});
|
|
60
38
|
it('should not do anything when picklist value already exists', async () => {
|
|
61
39
|
const res = await plugin.run(configNew);
|
|
62
|
-
|
|
40
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
63
41
|
});
|
|
64
42
|
it('should replace picklist values', async () => {
|
|
65
43
|
await plugin.run(configReplace);
|
|
@@ -69,7 +47,7 @@ describe(_1.Picklists.name, function () {
|
|
|
69
47
|
});
|
|
70
48
|
it('should not do anything when the picklist values do not exist', async () => {
|
|
71
49
|
const res = await plugin.run(configReplaceAndDelete);
|
|
72
|
-
|
|
50
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
73
51
|
});
|
|
74
52
|
it('should deactivate picklist value', async () => {
|
|
75
53
|
await plugin.run(configDeactivate);
|
|
@@ -79,31 +57,31 @@ describe(_1.Picklists.name, function () {
|
|
|
79
57
|
});
|
|
80
58
|
it('should not do anything when the picklist values already exist', async () => {
|
|
81
59
|
const res = await plugin.run(configActivate);
|
|
82
|
-
|
|
60
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
83
61
|
});
|
|
84
62
|
it('should replace and deactivate a picklist value', async () => {
|
|
85
63
|
await plugin.run(configReplaceAndDeactivate);
|
|
86
64
|
});
|
|
87
65
|
});
|
|
88
|
-
describe(
|
|
66
|
+
describe(FieldDependencies.name, function () {
|
|
89
67
|
this.timeout('10m');
|
|
90
68
|
let plugin;
|
|
91
69
|
before(() => {
|
|
92
|
-
plugin = new
|
|
70
|
+
plugin = new FieldDependencies(global.bf);
|
|
93
71
|
});
|
|
94
|
-
const configSet =
|
|
95
|
-
const configUnset =
|
|
96
|
-
const configChange =
|
|
72
|
+
const configSet = readJsonFile('./field-dependencies/set.json').settings.picklists.fieldDependencies;
|
|
73
|
+
const configUnset = readJsonFile('./field-dependencies/unset.json').settings.picklists.fieldDependencies;
|
|
74
|
+
const configChange = readJsonFile('./field-dependencies/change.json').settings.picklists.fieldDependencies;
|
|
97
75
|
it('should not do anything when the dependency is already set', async () => {
|
|
98
76
|
const res = await plugin.run(configSet);
|
|
99
|
-
|
|
77
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
100
78
|
});
|
|
101
79
|
it('should unset a field dependency', async () => {
|
|
102
80
|
await plugin.run(configUnset);
|
|
103
81
|
});
|
|
104
82
|
it('should not do anything when the dependency is already unset', async () => {
|
|
105
83
|
const res = await plugin.run(configUnset);
|
|
106
|
-
|
|
84
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
107
85
|
});
|
|
108
86
|
it('should set a field dependency', async () => {
|
|
109
87
|
await plugin.run(configSet);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.e2e-spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.e2e-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const pages_1 = require("./pages");
|
|
9
|
-
const standard_value_set_1 = require("./standard-value-set");
|
|
10
|
-
class Picklists extends plugin_1.BrowserforcePlugin {
|
|
1
|
+
import { retry } from '../../browserforce.js';
|
|
2
|
+
import { ensureArray } from '../../jsforce-utils.js';
|
|
3
|
+
import { BrowserforcePlugin } from '../../plugin.js';
|
|
4
|
+
import { FieldDependencies } from './field-dependencies/index.js';
|
|
5
|
+
import { DefaultPicklistAddPage, PicklistPage, StatusPicklistAddPage } from './pages.js';
|
|
6
|
+
import { determineStandardValueSetEditUrl } from './standard-value-set.js';
|
|
7
|
+
export class Picklists extends BrowserforcePlugin {
|
|
11
8
|
async retrieve(definition) {
|
|
12
9
|
const conn = this.org.getConnection();
|
|
13
10
|
const result = { picklistValues: [], fieldDependencies: [] };
|
|
@@ -17,7 +14,7 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
17
14
|
// check if given picklist values exist
|
|
18
15
|
const picklistUrl = getPicklistUrl(action.metadataType, action.metadataFullName, fileProperties);
|
|
19
16
|
const page = await this.browserforce.openPage(picklistUrl);
|
|
20
|
-
const picklistPage = new
|
|
17
|
+
const picklistPage = new PicklistPage(page);
|
|
21
18
|
const values = await picklistPage.getPicklistValues();
|
|
22
19
|
const state = { ...action };
|
|
23
20
|
const valueMatch = action.value !== undefined ? values.find((x) => x.value === action.value) : undefined;
|
|
@@ -30,7 +27,7 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
29
|
if (definition.fieldDependencies) {
|
|
33
|
-
const deps = await new
|
|
30
|
+
const deps = await new FieldDependencies(this.browserforce).retrieve(definition.fieldDependencies);
|
|
34
31
|
result.fieldDependencies.push(...deps);
|
|
35
32
|
}
|
|
36
33
|
return result;
|
|
@@ -61,7 +58,7 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
60
|
if (definition.fieldDependencies) {
|
|
64
|
-
const fieldDependencies = new
|
|
61
|
+
const fieldDependencies = new FieldDependencies(this.browserforce).diff(state.fieldDependencies, definition.fieldDependencies);
|
|
65
62
|
if (fieldDependencies !== undefined) {
|
|
66
63
|
changes.fieldDependencies = fieldDependencies;
|
|
67
64
|
}
|
|
@@ -73,10 +70,10 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
73
70
|
if (config.picklistValues) {
|
|
74
71
|
const fileProperties = await listMetadata(conn, config.picklistValues.map((x) => x.metadataType));
|
|
75
72
|
for (const action of config.picklistValues) {
|
|
76
|
-
await
|
|
73
|
+
await retry(async () => {
|
|
77
74
|
const picklistUrl = getPicklistUrl(action.metadataType, action.metadataFullName, fileProperties);
|
|
78
75
|
const page = await this.browserforce.openPage(picklistUrl);
|
|
79
|
-
const picklistPage = new
|
|
76
|
+
const picklistPage = new PicklistPage(page);
|
|
80
77
|
if (action.active !== undefined && action.value !== undefined) {
|
|
81
78
|
// activate/deactivate
|
|
82
79
|
await picklistPage.clickActivateDeactivateActionForValue(action.value, action.active);
|
|
@@ -93,10 +90,10 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
93
90
|
// create
|
|
94
91
|
await picklistPage.clickNewActionButton();
|
|
95
92
|
if (action.statusCategory) {
|
|
96
|
-
await new
|
|
93
|
+
await new StatusPicklistAddPage(page).add(action.newValue, action.statusCategory);
|
|
97
94
|
}
|
|
98
95
|
else {
|
|
99
|
-
await new
|
|
96
|
+
await new DefaultPicklistAddPage(page).add(action.newValue);
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
99
|
else if (action.value !== undefined && action.newValue !== undefined) {
|
|
@@ -112,15 +109,14 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
112
109
|
}
|
|
113
110
|
}
|
|
114
111
|
if (config.fieldDependencies) {
|
|
115
|
-
await new
|
|
112
|
+
await new FieldDependencies(this.browserforce).apply(config.fieldDependencies);
|
|
116
113
|
}
|
|
117
114
|
}
|
|
118
115
|
}
|
|
119
|
-
exports.Picklists = Picklists;
|
|
120
116
|
function getPicklistUrl(type, fullName, fileProperties) {
|
|
121
117
|
let picklistUrl;
|
|
122
118
|
if (type === 'StandardValueSet') {
|
|
123
|
-
picklistUrl =
|
|
119
|
+
picklistUrl = determineStandardValueSetEditUrl(fullName);
|
|
124
120
|
}
|
|
125
121
|
else {
|
|
126
122
|
const fileProperty = fileProperties?.find((x) => x.type === type && x.fullName === fullName);
|
|
@@ -141,7 +137,7 @@ async function listMetadata(conn, sobjectTypes) {
|
|
|
141
137
|
});
|
|
142
138
|
if (queries.length) {
|
|
143
139
|
const fileProperties = await conn.metadata.list(queries);
|
|
144
|
-
return
|
|
140
|
+
return ensureArray(fileProperties);
|
|
145
141
|
}
|
|
146
142
|
else {
|
|
147
143
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Page } from 'puppeteer';
|
|
2
|
+
type PicklistValue = {
|
|
3
|
+
value: string;
|
|
4
|
+
active: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare class PicklistPage {
|
|
7
|
+
private page;
|
|
8
|
+
constructor(page: Page);
|
|
9
|
+
getPicklistValues(): Promise<PicklistValue[]>;
|
|
10
|
+
clickNewActionButton(): Promise<void>;
|
|
11
|
+
clickReplaceActionButton(): Promise<PicklistReplacePage>;
|
|
12
|
+
clickDeleteActionForValue(picklistValueApiName: string): Promise<PicklistReplaceAndDeletePage>;
|
|
13
|
+
clickActivateDeactivateActionForValue(picklistValueApiName: string, active: boolean): Promise<PicklistPage>;
|
|
14
|
+
}
|
|
15
|
+
export declare class DefaultPicklistAddPage {
|
|
16
|
+
protected page: any;
|
|
17
|
+
protected saveButton: string;
|
|
18
|
+
constructor(page: Page);
|
|
19
|
+
add(newValue: string): Promise<void>;
|
|
20
|
+
save(): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export declare class StatusPicklistAddPage {
|
|
23
|
+
protected page: any;
|
|
24
|
+
protected saveButton: string;
|
|
25
|
+
constructor(page: Page);
|
|
26
|
+
add(newValue: string, statusCategory: string): Promise<void>;
|
|
27
|
+
save(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export declare class PicklistReplacePage {
|
|
30
|
+
protected page: any;
|
|
31
|
+
protected saveButton: string;
|
|
32
|
+
constructor(page: Page);
|
|
33
|
+
replace(value: string, newValue: string, replaceAllBlankValues?: boolean): Promise<void>;
|
|
34
|
+
save(): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
export declare class PicklistReplaceAndDeletePage extends PicklistReplacePage {
|
|
37
|
+
constructor(page: Page);
|
|
38
|
+
replaceAndDelete(newValue?: string): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
export {};
|