sfdx-browserforce-plugin 2.11.1 → 2.11.3
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/README.md +6 -6
- package/lib/browserforce.d.ts +1 -0
- package/lib/browserforce.js +16 -1
- package/lib/browserforce.js.map +1 -1
- package/lib/plugins/company-information/index.d.ts +1 -2
- package/lib/plugins/high-velocity-sales-settings/index.d.ts +1 -2
- package/lib/plugins/high-velocity-sales-settings/page.js +14 -3
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.js +20 -16
- package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
- package/lib/plugins/picklists/index.js +34 -30
- package/lib/plugins/picklists/index.js.map +1 -1
- package/lib/plugins/picklists/pages.js +27 -64
- package/lib/plugins/picklists/pages.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +19 -2
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
- package/oclif.manifest.json +82 -122
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://github.com/amtrack/sfdx-browserforce-plugin/actions)
|
|
6
6
|
|
|
7
7
|
Unlike the [Scratch Org Definition Configuration](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_def_file.htm) which can only be used **on the creation of a scratch org** (`sfdx force:org:create -f config/scratch-def.json`),
|
|
8
|
-
the _Browserforce Configuration_ allows to "shape" **any org**, (e.g. scratch org, sandbox or production org) with **similar preferences and unofficial preferences** that are not (yet) available in the _Scratch Org Definition Configuration_ or as _Metadata_ (`
|
|
8
|
+
the _Browserforce Configuration_ allows to "shape" **any org**, (e.g. scratch org, sandbox or production org) with **similar preferences and unofficial preferences** that are not (yet) available in the _Scratch Org Definition Configuration_ or as _Metadata_ (`sf browserforce:apply -f config/setup-admin-login-as-any.json -u myOrg@example.com`).
|
|
9
9
|
|
|
10
10
|
Further benefits:
|
|
11
11
|
|
|
@@ -19,8 +19,8 @@ Further benefits:
|
|
|
19
19
|
There are several different methods to install `sfdx-browserforce-plugin`:
|
|
20
20
|
|
|
21
21
|
```console
|
|
22
|
-
# as an
|
|
23
|
-
|
|
22
|
+
# as an sf plugin globally
|
|
23
|
+
sf plugins install sfdx-browserforce-plugin
|
|
24
24
|
|
|
25
25
|
# or standalone globally
|
|
26
26
|
npm install --global sfdx-browserforce-plugin
|
|
@@ -34,8 +34,8 @@ npm install --save-dev sfdx-browserforce-plugin
|
|
|
34
34
|
Depending on your choice of installation, you can find the `browserforce` namespace:
|
|
35
35
|
|
|
36
36
|
```console
|
|
37
|
-
# globally in the
|
|
38
|
-
|
|
37
|
+
# globally in the sf cli
|
|
38
|
+
sf browserforce
|
|
39
39
|
|
|
40
40
|
# globally in the sfdx-browserforce-plugin executable
|
|
41
41
|
sfdx-browserforce-plugin browserforce
|
|
@@ -80,7 +80,7 @@ Tip: If you use _Visual Studio Code_, you can leverage tab completion to build t
|
|
|
80
80
|
Next apply the config:
|
|
81
81
|
|
|
82
82
|
```console
|
|
83
|
-
$
|
|
83
|
+
$ sf browserforce:apply -f ./config/setup-admin-login-as-any.json --targetusername myOrg@example.com
|
|
84
84
|
logging in... done
|
|
85
85
|
Applying definition file ./config/setup-admin-login-as-any.json to org myOrg@example.com
|
|
86
86
|
[Security] retrieving state... done
|
package/lib/browserforce.d.ts
CHANGED
package/lib/browserforce.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.throwPageErrors = exports.Browserforce = void 0;
|
|
26
|
+
exports.retry = exports.throwPageErrors = exports.Browserforce = void 0;
|
|
27
27
|
const core_1 = require("@salesforce/core");
|
|
28
28
|
const p_retry_1 = __importStar(require("p-retry"));
|
|
29
29
|
const puppeteer_1 = require("puppeteer");
|
|
@@ -230,4 +230,19 @@ async function throwPageErrors(page) {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
exports.throwPageErrors = throwPageErrors;
|
|
233
|
+
async function retry(input) {
|
|
234
|
+
const res = await (0, p_retry_1.default)(input, {
|
|
235
|
+
onFailedAttempt: (error) => {
|
|
236
|
+
console.warn(`retrying ${error.retriesLeft} more time(s) because of "${error}"`);
|
|
237
|
+
},
|
|
238
|
+
retries: process.env.BROWSERFORCE_RETRY_MAX_RETRIES
|
|
239
|
+
? parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES, 10)
|
|
240
|
+
: 6,
|
|
241
|
+
minTimeout: process.env.BROWSERFORCE_RETRY_TIMEOUT_MS
|
|
242
|
+
? parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS, 10)
|
|
243
|
+
: 4000
|
|
244
|
+
});
|
|
245
|
+
return res;
|
|
246
|
+
}
|
|
247
|
+
exports.retry = retry;
|
|
233
248
|
//# sourceMappingURL=browserforce.js.map
|
package/lib/browserforce.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserforce.js","sourceRoot":"","sources":["../src/browserforce.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browserforce.js","sourceRoot":"","sources":["../src/browserforce.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../plugin';
|
|
2
|
-
type Config = {
|
|
2
|
+
export type Config = {
|
|
3
3
|
defaultCurrencyIsoCode?: string;
|
|
4
4
|
};
|
|
5
5
|
export declare class CompanyInformation extends BrowserforcePlugin {
|
|
6
6
|
retrieve(): Promise<Config>;
|
|
7
7
|
apply(config: Config): Promise<void>;
|
|
8
8
|
}
|
|
9
|
-
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Connection } from '@salesforce/core';
|
|
2
2
|
import { BrowserforcePlugin } from '../../plugin';
|
|
3
|
-
type Config = {
|
|
3
|
+
export type Config = {
|
|
4
4
|
setUpAndEnable: boolean;
|
|
5
5
|
};
|
|
6
6
|
export declare class HighVelocitySalesSettings extends BrowserforcePlugin {
|
|
@@ -8,4 +8,3 @@ export declare class HighVelocitySalesSettings extends BrowserforcePlugin {
|
|
|
8
8
|
apply(config: Config): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export declare function disableHighVelocitySalesUsingMetadata(conn: Connection): Promise<void>;
|
|
11
|
-
export {};
|
|
@@ -4,6 +4,7 @@ exports.HighVelocitySalesSetupPage = void 0;
|
|
|
4
4
|
const browserforce_1 = require("../../browserforce");
|
|
5
5
|
const SET_UP_AND_ENABLE_HVS_BUTTON = 'button.setupAndEnableButton';
|
|
6
6
|
const ENABLE_TOGGLE = '#toggleHighVelocitySalesPref';
|
|
7
|
+
const AUTOMATION_TAB_ITEM = 'pierce/#automationTab__item';
|
|
7
8
|
class HighVelocitySalesSetupPage {
|
|
8
9
|
constructor(page) {
|
|
9
10
|
this.page = page;
|
|
@@ -12,10 +13,20 @@ class HighVelocitySalesSetupPage {
|
|
|
12
13
|
return 'lightning/setup/SalesEngagement/home';
|
|
13
14
|
}
|
|
14
15
|
async setUpAndEnable() {
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
// starting Winter 24 (v59.0) there is a new tab bar and the item is located in the "Automation" tab
|
|
17
|
+
// wait for tab item or the button directly
|
|
18
|
+
await this.page.waitForSelector(`${AUTOMATION_TAB_ITEM}, ${SET_UP_AND_ENABLE_HVS_BUTTON}`, { timeout: 60000 });
|
|
19
|
+
if (await this.page.$(AUTOMATION_TAB_ITEM)) {
|
|
20
|
+
await Promise.all([
|
|
21
|
+
this.page.waitForSelector(SET_UP_AND_ENABLE_HVS_BUTTON, { timeout: 60000 }),
|
|
22
|
+
this.page.click(AUTOMATION_TAB_ITEM)
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
await Promise.all([
|
|
26
|
+
this.page.waitForSelector(ENABLE_TOGGLE, { timeout: 60000 }),
|
|
27
|
+
this.page.click(SET_UP_AND_ENABLE_HVS_BUTTON)
|
|
28
|
+
]);
|
|
17
29
|
await (0, browserforce_1.throwPageErrors)(this.page);
|
|
18
|
-
await this.page.waitForSelector(ENABLE_TOGGLE);
|
|
19
30
|
await this.page.close();
|
|
20
31
|
}
|
|
21
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/page.ts"],"names":[],"mappings":";;;AACA,qDAAqD;AAErD,MAAM,4BAA4B,GAAG,6BAA6B,CAAC;AACnE,MAAM,aAAa,GAAG,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/page.ts"],"names":[],"mappings":";;;AACA,qDAAqD;AAErD,MAAM,4BAA4B,GAAG,6BAA6B,CAAC;AACnE,MAAM,aAAa,GAAG,8BAA8B,CAAC;AACrD,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAE1D,MAAa,0BAA0B;IAGrC,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,oGAAoG;QACpG,2CAA2C;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,mBAAmB,KAAK,4BAA4B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC,CAAC;QAChH,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;YAC1C,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC;gBAC5E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;aACrC,CAAC,CAAA;SACH;QACD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,IAAA,8BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AA5BD,gEA4BC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FieldDependencies = void 0;
|
|
4
|
+
const browserforce_1 = require("../../../browserforce");
|
|
4
5
|
const plugin_1 = require("../../../plugin");
|
|
5
6
|
const pages_1 = require("./pages");
|
|
6
7
|
class FieldDependencies extends plugin_1.BrowserforcePlugin {
|
|
7
8
|
async retrieve(definition) {
|
|
8
9
|
const conn = this.org.getConnection();
|
|
9
|
-
const dependentFieldNames = definition.map(f => `${f.object}.${f.dependentField}`);
|
|
10
|
+
const dependentFieldNames = definition.map((f) => `${f.object}.${f.dependentField}`);
|
|
10
11
|
const result = await conn.metadata.read('CustomField', dependentFieldNames);
|
|
11
12
|
const metadata = Array.isArray(result) ? result : [result];
|
|
12
|
-
const state = definition.map(f => {
|
|
13
|
+
const state = definition.map((f) => {
|
|
13
14
|
const fieldState = { ...f };
|
|
14
|
-
const field = metadata.find(m => m.fullName === `${f.object}.${f.dependentField}`);
|
|
15
|
+
const field = metadata.find((m) => m.fullName === `${f.object}.${f.dependentField}`);
|
|
15
16
|
// for diffing: to unset a field dependency, set it to null
|
|
16
|
-
fieldState.controllingField =
|
|
17
|
+
fieldState.controllingField =
|
|
18
|
+
field?.['valueSet']?.controllingField || null;
|
|
17
19
|
return fieldState;
|
|
18
20
|
});
|
|
19
21
|
return state;
|
|
@@ -30,18 +32,20 @@ class FieldDependencies extends plugin_1.BrowserforcePlugin {
|
|
|
30
32
|
? listMetadataResult
|
|
31
33
|
: [listMetadataResult];
|
|
32
34
|
for (const dep of plan) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
x.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
x.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
await (0, browserforce_1.retry)(async () => {
|
|
36
|
+
const customObject = fileProperties.find((x) => x.type === 'CustomObject' && x.fullName === dep.object);
|
|
37
|
+
const dependentField = fileProperties.find((x) => x.type === 'CustomField' &&
|
|
38
|
+
x.fullName === `${dep.object}.${dep.dependentField}`);
|
|
39
|
+
// always try deleting an existing dependency first
|
|
40
|
+
const fieldDependenciesPage = new pages_1.FieldDependencyPage(await this.browserforce.openPage(pages_1.FieldDependencyPage.getUrl(customObject.id)));
|
|
41
|
+
await fieldDependenciesPage.clickDeleteDependencyActionForField(dependentField.id);
|
|
42
|
+
if (dep.controllingField) {
|
|
43
|
+
const controllingField = fileProperties.find((x) => x.type === 'CustomField' &&
|
|
44
|
+
x.fullName === `${dep.object}.${dep.controllingField}`);
|
|
45
|
+
const newFieldDependencyPage = new pages_1.NewFieldDependencyPage(await this.browserforce.openPage(pages_1.NewFieldDependencyPage.getUrl(customObject.id, dependentField.id, controllingField.id)));
|
|
46
|
+
await newFieldDependencyPage.save();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AACrD,mCAAsE;AAUtE,MAAa,iBAAkB,SAAQ,2BAAkB;IAChD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Picklists = void 0;
|
|
4
|
+
const browserforce_1 = require("../../browserforce");
|
|
4
5
|
const jsforce_utils_1 = require("../../jsforce-utils");
|
|
5
6
|
const plugin_1 = require("../../plugin");
|
|
6
7
|
const utils_1 = require("../utils");
|
|
@@ -12,7 +13,7 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
12
13
|
const conn = this.org.getConnection();
|
|
13
14
|
const result = { picklistValues: [], fieldDependencies: [] };
|
|
14
15
|
if (definition.picklistValues) {
|
|
15
|
-
const fileProperties = await listMetadata(conn, definition.picklistValues.map(x => x.metadataType));
|
|
16
|
+
const fileProperties = await listMetadata(conn, definition.picklistValues.map((x) => x.metadataType));
|
|
16
17
|
for (const action of definition.picklistValues) {
|
|
17
18
|
// check if given picklist values exist
|
|
18
19
|
const picklistUrl = getPicklistUrl(action.metadataType, action.metadataFullName, fileProperties);
|
|
@@ -21,10 +22,10 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
21
22
|
const values = await picklistPage.getPicklistValues();
|
|
22
23
|
const state = { ...action };
|
|
23
24
|
const valueMatch = action.value !== undefined
|
|
24
|
-
? values.find(x => x.value === action.value)
|
|
25
|
+
? values.find((x) => x.value === action.value)
|
|
25
26
|
: undefined;
|
|
26
27
|
const newValueMatch = action.newValue !== undefined
|
|
27
|
-
? values.find(x => x.value === action.newValue)
|
|
28
|
+
? values.find((x) => x.value === action.newValue)
|
|
28
29
|
: undefined;
|
|
29
30
|
state.absent = !valueMatch;
|
|
30
31
|
state.active = valueMatch?.active;
|
|
@@ -70,34 +71,37 @@ class Picklists extends plugin_1.BrowserforcePlugin {
|
|
|
70
71
|
async apply(config) {
|
|
71
72
|
const conn = this.org.getConnection();
|
|
72
73
|
if (config.picklistValues) {
|
|
73
|
-
const fileProperties = await listMetadata(conn, config.picklistValues.map(x => x.metadataType));
|
|
74
|
+
const fileProperties = await listMetadata(conn, config.picklistValues.map((x) => x.metadataType));
|
|
74
75
|
for (const action of config.picklistValues) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
!action.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
await
|
|
76
|
+
await (0, browserforce_1.retry)(async () => {
|
|
77
|
+
const picklistUrl = getPicklistUrl(action.metadataType, action.metadataFullName, fileProperties);
|
|
78
|
+
const page = await this.browserforce.openPage(picklistUrl);
|
|
79
|
+
const picklistPage = new pages_1.PicklistPage(page);
|
|
80
|
+
if (action.active !== undefined) {
|
|
81
|
+
await picklistPage.clickActivateDeactivateActionForValue(action.value, action.active);
|
|
82
|
+
}
|
|
83
|
+
else if (action.absent) {
|
|
84
|
+
const replacePage = await picklistPage.clickDeleteActionForValue(action.value);
|
|
85
|
+
await replacePage.replaceAndDelete(action.newValue);
|
|
86
|
+
await replacePage.save();
|
|
87
|
+
}
|
|
88
|
+
else if (!action.value &&
|
|
89
|
+
action.newValue &&
|
|
90
|
+
!action.replaceAllBlankValues) {
|
|
91
|
+
await picklistPage.clickNewActionButton();
|
|
92
|
+
if (action.statusCategory) {
|
|
93
|
+
await new pages_1.StatusPicklistAddPage(page).add(action.newValue, action.statusCategory);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
await new pages_1.DefaultPicklistAddPage(page).add(action.newValue);
|
|
97
|
+
}
|
|
91
98
|
}
|
|
92
99
|
else {
|
|
93
|
-
await
|
|
100
|
+
const replacePage = await picklistPage.clickReplaceActionButton();
|
|
101
|
+
await replacePage.replace(action.value, action.newValue, action.replaceAllBlankValues);
|
|
94
102
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const replacePage = await picklistPage.clickReplaceActionButton();
|
|
98
|
-
await replacePage.replace(action.value, action.newValue, action.replaceAllBlankValues);
|
|
99
|
-
}
|
|
100
|
-
await page.close();
|
|
103
|
+
await page.close();
|
|
104
|
+
});
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
if (config.fieldDependencies) {
|
|
@@ -112,7 +116,7 @@ function getPicklistUrl(type, fullName, fileProperties) {
|
|
|
112
116
|
picklistUrl = (0, standard_value_set_1.determineStandardValueSetEditUrl)(fullName);
|
|
113
117
|
}
|
|
114
118
|
else {
|
|
115
|
-
const fileProperty = fileProperties.find(x => x.type === type && x.fullName === fullName);
|
|
119
|
+
const fileProperty = fileProperties.find((x) => x.type === type && x.fullName === fullName);
|
|
116
120
|
picklistUrl = `${fileProperty.id}`;
|
|
117
121
|
}
|
|
118
122
|
return picklistUrl;
|
|
@@ -120,8 +124,8 @@ function getPicklistUrl(type, fullName, fileProperties) {
|
|
|
120
124
|
async function listMetadata(conn, sobjectTypes) {
|
|
121
125
|
let uniqueSobjectTypes = [...new Set(sobjectTypes)];
|
|
122
126
|
// don't list StandardValueSet as the FileProperties are broken
|
|
123
|
-
uniqueSobjectTypes = uniqueSobjectTypes.filter(x => x !== 'StandardValueSet');
|
|
124
|
-
const queries = uniqueSobjectTypes.map(type => {
|
|
127
|
+
uniqueSobjectTypes = uniqueSobjectTypes.filter((x) => x !== 'StandardValueSet');
|
|
128
|
+
const queries = uniqueSobjectTypes.map((type) => {
|
|
125
129
|
return {
|
|
126
130
|
type
|
|
127
131
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.ts"],"names":[],"mappings":";;;AACA,uDAAkD;AAClD,yCAAkD;AAClD,oCAA6C;AAC7C,6DAG8B;AAC9B,mCAIiB;AACjB,6DAAwE;AAmBxE,MAAa,SAAU,SAAQ,2BAAkB;IACxC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;QAC7D,IAAI,UAAU,CAAC,cAAc,EAAE;YAC7B,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,IAAI,EACJ,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.ts"],"names":[],"mappings":";;;AACA,qDAA2C;AAC3C,uDAAkD;AAClD,yCAAkD;AAClD,oCAA6C;AAC7C,6DAG8B;AAC9B,mCAIiB;AACjB,6DAAwE;AAmBxE,MAAa,SAAU,SAAQ,2BAAkB;IACxC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;QAC7D,IAAI,UAAU,CAAC,cAAc,EAAE;YAC7B,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,IAAI,EACJ,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CACrD,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE;gBAC9C,uCAAuC;gBACvC,MAAM,WAAW,GAAG,cAAc,CAChC,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,gBAAgB,EACvB,cAAc,CACf,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;gBAC5B,MAAM,UAAU,GACd,MAAM,CAAC,KAAK,KAAK,SAAS;oBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;oBAC9C,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,aAAa,GACjB,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC;gBAChB,KAAK,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC;gBAC3B,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;gBAClC,KAAK,CAAC,eAAe;oBACnB,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;gBACrD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;aACpB;SACF;QACD,IAAI,UAAU,CAAC,iBAAiB,EAAE;YAChC,MAAM,CAAC,iBAAiB,GAAG,MAAM,IAAI,sCAAiB,CACpD,IAAI,CAAC,YAAY,CAClB,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SAC1C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,UAAkB;QAC3C,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,CAAC,cAAc,EAAE;YAC7B,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAC1D,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACZ,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;iBACxC;gBACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;oBAC/B,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;iBACxC;gBACD,+CAA+C;gBAC/C,IACE,MAAM,CAAC,eAAe;oBACtB,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAC5D;oBACA,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC9C,qCAAqC;oBACrC,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CACF,CAAC;SACH;QACD,IAAI,UAAU,CAAC,iBAAiB,EAAE;YAChC,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,sCAAiB,CAClD,IAAI,CAAC,YAAY,CAClB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;SAC/D;QACD,OAAO,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,IAAI,EACJ,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CACjD,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE;gBAC1C,MAAM,IAAA,oBAAK,EAAC,KAAK,IAAI,EAAE;oBACrB,MAAM,WAAW,GAAG,cAAc,CAChC,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,gBAAgB,EACvB,cAAc,CACf,CAAC;oBACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC3D,MAAM,YAAY,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;wBAC/B,MAAM,YAAY,CAAC,qCAAqC,CACtD,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CACd,CAAC;qBACH;yBAAM,IAAI,MAAM,CAAC,MAAM,EAAE;wBACxB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,yBAAyB,CAC9D,MAAM,CAAC,KAAK,CACb,CAAC;wBACF,MAAM,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACpD,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;qBAC1B;yBAAM,IACL,CAAC,MAAM,CAAC,KAAK;wBACb,MAAM,CAAC,QAAQ;wBACf,CAAC,MAAM,CAAC,qBAAqB,EAC7B;wBACA,MAAM,YAAY,CAAC,oBAAoB,EAAE,CAAC;wBAE1C,IAAI,MAAM,CAAC,cAAc,EAAE;4BACzB,MAAM,IAAI,6BAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,CACvC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,cAAc,CACtB,CAAC;yBACH;6BAAM;4BACL,MAAM,IAAI,8BAAsB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;yBAC7D;qBACF;yBAAM;wBACL,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,wBAAwB,EAAE,CAAC;wBAClE,MAAM,WAAW,CAAC,OAAO,CACvB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,qBAAqB,CAC7B,CAAC;qBACH;oBACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;SACF;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE;YAC5B,MAAM,IAAI,sCAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAClD,MAAM,CAAC,iBAAiB,CACzB,CAAC;SACH;IACH,CAAC;CACF;AA3ID,8BA2IC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,QAAgB,EAChB,cAAsC;IAEtC,IAAI,WAAW,CAAC;IAChB,IAAI,IAAI,KAAK,kBAAkB,EAAE;QAC/B,WAAW,GAAG,IAAA,qDAAgC,EAAC,QAAQ,CAAC,CAAC;KAC1D;SAAM;QACL,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAClD,CAAC;QACF,WAAW,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC;KACpC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAI,EAAE,YAAY;IAC5C,IAAI,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC,CAAC;IAC5D,+DAA+D;IAC/D,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAChC,CAAC;IACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,OAAO;YACL,IAAI;SACL,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,IAAA,2BAAW,EAAC,cAAc,CAAC,CAAC;KACpC;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.PicklistReplaceAndDeletePage = exports.PicklistReplacePage = exports.StatusPicklistAddPage = exports.DefaultPicklistAddPage = exports.PicklistPage = void 0;
|
|
7
|
-
const p_retry_1 = __importDefault(require("p-retry"));
|
|
8
4
|
class PicklistPage {
|
|
9
5
|
constructor(page) {
|
|
10
6
|
this.page = page;
|
|
@@ -14,17 +10,17 @@ class PicklistPage {
|
|
|
14
10
|
await this.page.waitForSelector('body table input[name="new"]');
|
|
15
11
|
const resolvePicklistValueNames = async (xpath) => {
|
|
16
12
|
const fullNameHandles = await this.page.$x(xpath);
|
|
17
|
-
const innerTextJsHandles = await Promise.all(fullNameHandles.map(handle => handle.getProperty('innerText')));
|
|
18
|
-
const fullNames = await Promise.all(innerTextJsHandles.map(handle => handle.jsonValue()));
|
|
13
|
+
const innerTextJsHandles = await Promise.all(fullNameHandles.map((handle) => handle.getProperty('innerText')));
|
|
14
|
+
const fullNames = await Promise.all(innerTextJsHandles.map((handle) => handle.jsonValue()));
|
|
19
15
|
return fullNames;
|
|
20
16
|
};
|
|
21
17
|
const active = await resolvePicklistValueNames(`//tr[td[1]//a[contains(@href, "/setup/ui/picklist_masteredit")]]//td[2]`);
|
|
22
18
|
const inactive = await resolvePicklistValueNames(`//tr[td[1]//a[contains(@href, "/setup/ui/picklist_masteractivate")]]//td[2]`);
|
|
23
19
|
return [
|
|
24
|
-
...active.map(x => {
|
|
20
|
+
...active.map((x) => {
|
|
25
21
|
return { value: x, active: true };
|
|
26
22
|
}),
|
|
27
|
-
...inactive.map(x => {
|
|
23
|
+
...inactive.map((x) => {
|
|
28
24
|
return { value: x, active: false };
|
|
29
25
|
})
|
|
30
26
|
];
|
|
@@ -48,7 +44,9 @@ class PicklistPage {
|
|
|
48
44
|
return new PicklistReplacePage(this.page);
|
|
49
45
|
}
|
|
50
46
|
async clickDeleteActionForValue(picklistValueApiName) {
|
|
51
|
-
|
|
47
|
+
// deactivate: deleteType=1
|
|
48
|
+
// delete: deleteType=0 or no deleteType=1
|
|
49
|
+
const xpath = `//tr[td[2][text() = "${picklistValueApiName}"]]//td[1]//a[contains(@href, "/setup/ui/picklist_masterdelete.jsp") and not(contains(@href, "deleteType=1"))]`;
|
|
52
50
|
await this.page.waitForXPath(xpath);
|
|
53
51
|
const deleteLink = (await this.page.$x(xpath))[0];
|
|
54
52
|
this.page.on('dialog', async (dialog) => {
|
|
@@ -67,6 +65,8 @@ class PicklistPage {
|
|
|
67
65
|
xpath = `//tr[td[2][text() = "${picklistValueApiName}"]]//td[1]//a[contains(@href, "/setup/ui/picklist_masteractivate.jsp")]`;
|
|
68
66
|
}
|
|
69
67
|
else {
|
|
68
|
+
// deactivate: deleteType=1
|
|
69
|
+
// delete: deleteType=0 or no deleteType=1
|
|
70
70
|
xpath = `//tr[td[2][text() = "${picklistValueApiName}"]]//td[1]//a[contains(@href, "/setup/ui/picklist_masterdelete.jsp") and contains(@href, "deleteType=1")]`;
|
|
71
71
|
}
|
|
72
72
|
await this.page.waitForXPath(xpath);
|
|
@@ -97,24 +97,12 @@ class DefaultPicklistAddPage {
|
|
|
97
97
|
await this.save();
|
|
98
98
|
}
|
|
99
99
|
async save() {
|
|
100
|
-
await (
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
await throwPageErrors(this.page);
|
|
107
|
-
}, {
|
|
108
|
-
onFailedAttempt: error => {
|
|
109
|
-
console.warn(`retrying ${error.retriesLeft} more time(s) because of "${error}"`);
|
|
110
|
-
},
|
|
111
|
-
retries: process.env.BROWSERFORCE_RETRY_MAX_RETRIES
|
|
112
|
-
? parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES, 10)
|
|
113
|
-
: 6,
|
|
114
|
-
minTimeout: process.env.BROWSERFORCE_RETRY_TIMEOUT_MS
|
|
115
|
-
? parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS, 10)
|
|
116
|
-
: 4000
|
|
117
|
-
});
|
|
100
|
+
await this.page.waitForSelector(this.saveButton);
|
|
101
|
+
await Promise.all([
|
|
102
|
+
this.page.waitForNavigation(),
|
|
103
|
+
this.page.click(this.saveButton)
|
|
104
|
+
]);
|
|
105
|
+
await throwPageErrors(this.page);
|
|
118
106
|
}
|
|
119
107
|
}
|
|
120
108
|
exports.DefaultPicklistAddPage = DefaultPicklistAddPage;
|
|
@@ -136,24 +124,12 @@ class StatusPicklistAddPage {
|
|
|
136
124
|
await this.save();
|
|
137
125
|
}
|
|
138
126
|
async save() {
|
|
139
|
-
await (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
await throwPageErrors(this.page);
|
|
146
|
-
}, {
|
|
147
|
-
onFailedAttempt: error => {
|
|
148
|
-
console.warn(`retrying ${error.retriesLeft} more time(s) because of "${error}"`);
|
|
149
|
-
},
|
|
150
|
-
retries: process.env.BROWSERFORCE_RETRY_MAX_RETRIES
|
|
151
|
-
? parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES, 10)
|
|
152
|
-
: 6,
|
|
153
|
-
minTimeout: process.env.BROWSERFORCE_RETRY_TIMEOUT_MS
|
|
154
|
-
? parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS, 10)
|
|
155
|
-
: 4000
|
|
156
|
-
});
|
|
127
|
+
await this.page.waitForSelector(this.saveButton);
|
|
128
|
+
await Promise.all([
|
|
129
|
+
this.page.waitForNavigation(),
|
|
130
|
+
this.page.click(this.saveButton)
|
|
131
|
+
]);
|
|
132
|
+
await throwPageErrors(this.page);
|
|
157
133
|
}
|
|
158
134
|
}
|
|
159
135
|
exports.StatusPicklistAddPage = StatusPicklistAddPage;
|
|
@@ -181,24 +157,12 @@ class PicklistReplacePage {
|
|
|
181
157
|
await this.save();
|
|
182
158
|
}
|
|
183
159
|
async save() {
|
|
184
|
-
await (
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
await throwPageErrors(this.page);
|
|
191
|
-
}, {
|
|
192
|
-
onFailedAttempt: error => {
|
|
193
|
-
console.warn(`retrying ${error.retriesLeft} more time(s) because of "${error}"`);
|
|
194
|
-
},
|
|
195
|
-
retries: process.env.BROWSERFORCE_RETRY_MAX_RETRIES
|
|
196
|
-
? parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES, 10)
|
|
197
|
-
: 6,
|
|
198
|
-
minTimeout: process.env.BROWSERFORCE_RETRY_TIMEOUT_MS
|
|
199
|
-
? parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS, 10)
|
|
200
|
-
: 4000
|
|
201
|
-
});
|
|
160
|
+
await this.page.waitForSelector(this.saveButton);
|
|
161
|
+
await Promise.all([
|
|
162
|
+
this.page.waitForNavigation(),
|
|
163
|
+
this.page.click(this.saveButton)
|
|
164
|
+
]);
|
|
165
|
+
await throwPageErrors(this.page);
|
|
202
166
|
}
|
|
203
167
|
}
|
|
204
168
|
exports.PicklistReplacePage = PicklistReplacePage;
|
|
@@ -219,7 +183,6 @@ class PicklistReplaceAndDeletePage extends PicklistReplacePage {
|
|
|
219
183
|
await this.page.waitForSelector(REPLACE_WITH_BLANK_VALUE_RADIO_INPUT);
|
|
220
184
|
await this.page.click(REPLACE_WITH_BLANK_VALUE_RADIO_INPUT);
|
|
221
185
|
}
|
|
222
|
-
await this.save();
|
|
223
186
|
}
|
|
224
187
|
}
|
|
225
188
|
exports.PicklistReplaceAndDeletePage = PicklistReplaceAndDeletePage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/plugins/picklists/pages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/plugins/picklists/pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RelateContactToMultipleAccounts = void 0;
|
|
4
|
+
const browserforce_1 = require("../../browserforce");
|
|
4
5
|
const plugin_1 = require("../../plugin");
|
|
5
6
|
const PATHS = {
|
|
6
7
|
BASE: 'accounts/accountSetup.apexp'
|
|
7
8
|
};
|
|
8
9
|
const SELECTORS = {
|
|
9
10
|
ENABLED: 'input[id$=":sharedContactsCheckBox"]',
|
|
11
|
+
DISABLED_CHECKBOX: 'input[id$=":sharedContactsCheckBox"][disabled=disabled]',
|
|
10
12
|
EDIT_BUTTON: 'input[id$=":edit"]',
|
|
11
|
-
SAVE_BUTTON: 'input[id$=":save"]'
|
|
13
|
+
SAVE_BUTTON: 'input[id$=":save"]',
|
|
14
|
+
CONFIRM_CHECKBOX: 'input#disable_confirm',
|
|
15
|
+
CONFIRM_BUTTON: 'input#sharedContactsDisableConfirmButton'
|
|
12
16
|
};
|
|
13
17
|
class RelateContactToMultipleAccounts extends plugin_1.BrowserforcePlugin {
|
|
14
18
|
async retrieve(definition) {
|
|
@@ -42,9 +46,22 @@ class RelateContactToMultipleAccounts extends plugin_1.BrowserforcePlugin {
|
|
|
42
46
|
// Save
|
|
43
47
|
await page.waitForSelector(SELECTORS.SAVE_BUTTON);
|
|
44
48
|
await Promise.all([
|
|
45
|
-
|
|
49
|
+
Promise.race([
|
|
50
|
+
page.waitForNavigation(),
|
|
51
|
+
page.waitForSelector(SELECTORS.DISABLED_CHECKBOX, { visible: true }),
|
|
52
|
+
page.waitForSelector(SELECTORS.CONFIRM_CHECKBOX, { visible: true })
|
|
53
|
+
]),
|
|
46
54
|
page.click(SELECTORS.SAVE_BUTTON)
|
|
47
55
|
]);
|
|
56
|
+
if (await page.$(SELECTORS.CONFIRM_CHECKBOX)) {
|
|
57
|
+
await page.click(SELECTORS.CONFIRM_CHECKBOX);
|
|
58
|
+
await page.waitForSelector(SELECTORS.CONFIRM_BUTTON);
|
|
59
|
+
await Promise.all([
|
|
60
|
+
page.waitForNavigation(),
|
|
61
|
+
page.click(SELECTORS.CONFIRM_BUTTON)
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
64
|
+
await (0, browserforce_1.throwPageErrors)(page);
|
|
48
65
|
await page.close();
|
|
49
66
|
}
|
|
50
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,6BAA6B;CACpC,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,sCAAsC;IAC/C,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1,163 +1,123 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.11.1",
|
|
3
2
|
"commands": {
|
|
4
3
|
"browserforce:apply": {
|
|
5
|
-
"id": "browserforce:apply",
|
|
6
|
-
"description": "apply a plan from a definition file",
|
|
7
|
-
"strict": true,
|
|
8
|
-
"usage": "<%= command.id %> [-f <string>] [-p <string>] [-s <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]",
|
|
9
|
-
"pluginName": "sfdx-browserforce-plugin",
|
|
10
|
-
"pluginAlias": "sfdx-browserforce-plugin",
|
|
11
|
-
"pluginType": "core",
|
|
12
4
|
"aliases": [],
|
|
5
|
+
"args": {},
|
|
6
|
+
"description": "apply a plan from a definition file",
|
|
13
7
|
"examples": [
|
|
14
8
|
"$ sfdx <%= command.id %> -f ./config/setup-admin-login-as-any.json --targetusername myOrg@example.com\n logging in... done\n Applying definition file ./config/setup-admin-login-as-any.json to org myOrg@example.com\n [Security] retrieving state... done\n [Security] changing 'loginAccessPolicies' to '{\"administratorsCanLogInAsAnyUser\":true}'... done\n logging out... done\n "
|
|
15
9
|
],
|
|
16
|
-
"flags": {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"info",
|
|
34
|
-
"warn",
|
|
35
|
-
"error",
|
|
36
|
-
"fatal",
|
|
37
|
-
"TRACE",
|
|
38
|
-
"DEBUG",
|
|
39
|
-
"INFO",
|
|
40
|
-
"WARN",
|
|
41
|
-
"ERROR",
|
|
42
|
-
"FATAL"
|
|
43
|
-
],
|
|
44
|
-
"default": "warn"
|
|
45
|
-
},
|
|
46
|
-
"targetusername": {
|
|
47
|
-
"name": "targetusername",
|
|
48
|
-
"type": "option",
|
|
49
|
-
"char": "u",
|
|
50
|
-
"description": "username or alias for the target org; overrides default target org",
|
|
51
|
-
"multiple": false
|
|
52
|
-
},
|
|
53
|
-
"apiversion": {
|
|
54
|
-
"name": "apiversion",
|
|
55
|
-
"type": "option",
|
|
56
|
-
"description": "override the api version used for api requests made by this command",
|
|
57
|
-
"multiple": false
|
|
58
|
-
},
|
|
10
|
+
"flags": {},
|
|
11
|
+
"hasDynamicHelp": false,
|
|
12
|
+
"id": "browserforce:apply",
|
|
13
|
+
"pluginAlias": "sfdx-browserforce-plugin",
|
|
14
|
+
"pluginName": "sfdx-browserforce-plugin",
|
|
15
|
+
"pluginType": "core",
|
|
16
|
+
"strict": true,
|
|
17
|
+
"parse": true,
|
|
18
|
+
"parserOptions": {},
|
|
19
|
+
"supportsUsername": false,
|
|
20
|
+
"requiresUsername": true,
|
|
21
|
+
"supportsDevhubUsername": false,
|
|
22
|
+
"requiresDevhubUsername": false,
|
|
23
|
+
"requiresProject": false,
|
|
24
|
+
"result": {},
|
|
25
|
+
"varargs": false,
|
|
26
|
+
"flagsConfig": {
|
|
59
27
|
"definitionfile": {
|
|
60
|
-
"
|
|
61
|
-
"type": "option",
|
|
28
|
+
"kind": "string",
|
|
62
29
|
"char": "f",
|
|
63
30
|
"description": "path to a browserforce definition file\nThe schema is similar to the scratch org definition file.\nSee https://github.com/amtrack/sfdx-browserforce-plugin#supported-org-preferences for supported values.",
|
|
64
|
-
"
|
|
31
|
+
"input": [],
|
|
32
|
+
"multiple": false,
|
|
33
|
+
"type": "option"
|
|
65
34
|
},
|
|
66
35
|
"planfile": {
|
|
67
|
-
"
|
|
68
|
-
"type": "option",
|
|
36
|
+
"kind": "string",
|
|
69
37
|
"char": "p",
|
|
38
|
+
"name": "plan",
|
|
70
39
|
"description": "path to a browserforce plan file",
|
|
71
|
-
"
|
|
40
|
+
"input": [],
|
|
41
|
+
"multiple": false,
|
|
42
|
+
"type": "option"
|
|
72
43
|
},
|
|
73
44
|
"statefile": {
|
|
74
|
-
"
|
|
75
|
-
"type": "option",
|
|
45
|
+
"kind": "string",
|
|
76
46
|
"char": "s",
|
|
47
|
+
"name": "state",
|
|
77
48
|
"description": "path to a browserforce state file",
|
|
78
|
-
"
|
|
49
|
+
"input": [],
|
|
50
|
+
"multiple": false,
|
|
51
|
+
"type": "option"
|
|
79
52
|
}
|
|
80
53
|
},
|
|
81
|
-
"
|
|
54
|
+
"isESM": false,
|
|
55
|
+
"relativePath": [
|
|
56
|
+
"lib",
|
|
57
|
+
"commands",
|
|
58
|
+
"browserforce",
|
|
59
|
+
"apply.js"
|
|
60
|
+
]
|
|
82
61
|
},
|
|
83
62
|
"browserforce:plan": {
|
|
84
|
-
"id": "browserforce:plan",
|
|
85
|
-
"description": "retrieve state and generate plan file",
|
|
86
|
-
"strict": true,
|
|
87
|
-
"usage": "<%= command.id %> [-f <string>] [-p <string>] [-s <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]",
|
|
88
|
-
"pluginName": "sfdx-browserforce-plugin",
|
|
89
|
-
"pluginAlias": "sfdx-browserforce-plugin",
|
|
90
|
-
"pluginType": "core",
|
|
91
63
|
"aliases": [],
|
|
64
|
+
"args": {},
|
|
65
|
+
"description": "retrieve state and generate plan file",
|
|
92
66
|
"examples": [
|
|
93
67
|
"$ sfdx <%= command.id %> -f ./config/setup-admin-login-as-any.json --targetusername myOrg@example.com\n logging in... done\n Generating plan with definition file ./config/setup-admin-login-as-any.json from org myOrg@example.com\n [Security] retrieving state... done\n [Security] generating plan... done\n logging out... done\n "
|
|
94
68
|
],
|
|
95
|
-
"flags": {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"info",
|
|
113
|
-
"warn",
|
|
114
|
-
"error",
|
|
115
|
-
"fatal",
|
|
116
|
-
"TRACE",
|
|
117
|
-
"DEBUG",
|
|
118
|
-
"INFO",
|
|
119
|
-
"WARN",
|
|
120
|
-
"ERROR",
|
|
121
|
-
"FATAL"
|
|
122
|
-
],
|
|
123
|
-
"default": "warn"
|
|
124
|
-
},
|
|
125
|
-
"targetusername": {
|
|
126
|
-
"name": "targetusername",
|
|
127
|
-
"type": "option",
|
|
128
|
-
"char": "u",
|
|
129
|
-
"description": "username or alias for the target org; overrides default target org",
|
|
130
|
-
"multiple": false
|
|
131
|
-
},
|
|
132
|
-
"apiversion": {
|
|
133
|
-
"name": "apiversion",
|
|
134
|
-
"type": "option",
|
|
135
|
-
"description": "override the api version used for api requests made by this command",
|
|
136
|
-
"multiple": false
|
|
137
|
-
},
|
|
69
|
+
"flags": {},
|
|
70
|
+
"hasDynamicHelp": false,
|
|
71
|
+
"id": "browserforce:plan",
|
|
72
|
+
"pluginAlias": "sfdx-browserforce-plugin",
|
|
73
|
+
"pluginName": "sfdx-browserforce-plugin",
|
|
74
|
+
"pluginType": "core",
|
|
75
|
+
"strict": true,
|
|
76
|
+
"parse": true,
|
|
77
|
+
"parserOptions": {},
|
|
78
|
+
"supportsUsername": false,
|
|
79
|
+
"requiresUsername": true,
|
|
80
|
+
"supportsDevhubUsername": false,
|
|
81
|
+
"requiresDevhubUsername": false,
|
|
82
|
+
"requiresProject": false,
|
|
83
|
+
"result": {},
|
|
84
|
+
"varargs": false,
|
|
85
|
+
"flagsConfig": {
|
|
138
86
|
"definitionfile": {
|
|
139
|
-
"
|
|
140
|
-
"type": "option",
|
|
87
|
+
"kind": "string",
|
|
141
88
|
"char": "f",
|
|
142
89
|
"description": "path to a browserforce definition file\nThe schema is similar to the scratch org definition file.\nSee https://github.com/amtrack/sfdx-browserforce-plugin#supported-org-preferences for supported values.",
|
|
143
|
-
"
|
|
90
|
+
"input": [],
|
|
91
|
+
"multiple": false,
|
|
92
|
+
"type": "option"
|
|
144
93
|
},
|
|
145
94
|
"planfile": {
|
|
146
|
-
"
|
|
147
|
-
"type": "option",
|
|
95
|
+
"kind": "string",
|
|
148
96
|
"char": "p",
|
|
97
|
+
"name": "plan",
|
|
149
98
|
"description": "path to a browserforce plan file",
|
|
150
|
-
"
|
|
99
|
+
"input": [],
|
|
100
|
+
"multiple": false,
|
|
101
|
+
"type": "option"
|
|
151
102
|
},
|
|
152
103
|
"statefile": {
|
|
153
|
-
"
|
|
154
|
-
"type": "option",
|
|
104
|
+
"kind": "string",
|
|
155
105
|
"char": "s",
|
|
106
|
+
"name": "state",
|
|
156
107
|
"description": "path to a browserforce state file",
|
|
157
|
-
"
|
|
108
|
+
"input": [],
|
|
109
|
+
"multiple": false,
|
|
110
|
+
"type": "option"
|
|
158
111
|
}
|
|
159
112
|
},
|
|
160
|
-
"
|
|
113
|
+
"isESM": false,
|
|
114
|
+
"relativePath": [
|
|
115
|
+
"lib",
|
|
116
|
+
"commands",
|
|
117
|
+
"browserforce",
|
|
118
|
+
"plan.js"
|
|
119
|
+
]
|
|
161
120
|
}
|
|
162
|
-
}
|
|
121
|
+
},
|
|
122
|
+
"version": "2.11.3"
|
|
163
123
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sfdx-browserforce-plugin",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.3",
|
|
4
4
|
"description": "sfdx plugin for browser automation",
|
|
5
5
|
"author": "Matthias Rolke <mr.amtrack@gmail.com>",
|
|
6
6
|
"bin": {
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/mocha": "10.0.2",
|
|
19
|
-
"@types/node": "18.18.
|
|
19
|
+
"@types/node": "18.18.4",
|
|
20
20
|
"mocha": "10.2.0",
|
|
21
21
|
"nyc": "15.1.0",
|
|
22
|
-
"oclif": "
|
|
22
|
+
"oclif": "4.0.1",
|
|
23
23
|
"ts-node": "10.9.1",
|
|
24
24
|
"typescript": "5.2.2"
|
|
25
25
|
},
|