@mj-biz-apps/sales-entities 6.5.0 → 6.7.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/dist/close-lock.d.ts +21 -0
- package/dist/close-lock.d.ts.map +1 -1
- package/dist/close-lock.js +13 -3
- package/dist/close-lock.js.map +1 -1
- package/dist/generated/entities/__mj_BizAppsSales.d.ts +4390 -0
- package/dist/generated/entities/__mj_BizAppsSales.d.ts.map +1 -0
- package/dist/generated/entities/__mj_BizAppsSales.js +6337 -0
- package/dist/generated/entities/__mj_BizAppsSales.js.map +1 -0
- package/dist/generated/entity_subclasses.d.ts +1 -4206
- package/dist/generated/entity_subclasses.d.ts.map +1 -1
- package/dist/generated/entity_subclasses.js +2 -6070
- package/dist/generated/entity_subclasses.js.map +1 -1
- package/dist/generated/remote_operations.d.ts +0 -2201
- package/dist/generated/remote_operations.d.ts.map +1 -1
- package/dist/generated/remote_operations.js +0 -611
- package/dist/generated/remote_operations.js.map +1 -1
- package/package.json +2 -2
package/dist/close-lock.d.ts
CHANGED
|
@@ -82,6 +82,27 @@ export interface DealLockState {
|
|
|
82
82
|
* a closed deal is the cheaper mistake.
|
|
83
83
|
*/
|
|
84
84
|
IsLost: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Whether the PERSISTED status carries `IsWon` — the outcome, not the lock.
|
|
87
|
+
*
|
|
88
|
+
* UNLIKE EVERY OTHER MEMBER HERE, THIS IS NOT GATED ON `LocksDeal`, and the difference is the
|
|
89
|
+
* whole reason it exists. The rest of this shape answers "what may still be edited", a question
|
|
90
|
+
* only a locked deal has. `IsWon` answers "did we win", which an OPEN deal can also answer, and
|
|
91
|
+
* golive#226 asks the Deal header for chips that appear on a won deal and on no other. Gating it
|
|
92
|
+
* on the lock would tie a header decision to a field-editing one, so a deployment whose winning
|
|
93
|
+
* status does not freeze the deal would lose its Order and Contract chips with nothing on screen
|
|
94
|
+
* to explain it.
|
|
95
|
+
*
|
|
96
|
+
* Read off the status ROW by FLAG, like its siblings. Nothing anywhere compares a status name —
|
|
97
|
+
* a deployment may call its winning status "Signed" (§3), and `test:vocabulary-gate` enforces it.
|
|
98
|
+
*
|
|
99
|
+
* `false` when the status cannot be read: a chip that is missing costs a click, and one that
|
|
100
|
+
* should not be there says a deal was won when it was not.
|
|
101
|
+
*
|
|
102
|
+
* golive#231's outcome tiles read it too, and are unaffected by the ungating: every one of those
|
|
103
|
+
* getters tests the CLOSE STAMPS first, so an open won-status deal still reads "Closes".
|
|
104
|
+
*/
|
|
105
|
+
IsWon: boolean;
|
|
85
106
|
/** A ready-to-render explanation, or null when the deal is open. */
|
|
86
107
|
Notice: string | null;
|
|
87
108
|
}
|
package/dist/close-lock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-lock.d.ts","sourceRoot":"","sources":["../src/close-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA0C9D;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAKlF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAE1F;AAkDD,gHAAgH;AAChH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAI5D;AAKD,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;;;;OAQG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"close-lock.d.ts","sourceRoot":"","sources":["../src/close-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA0C9D;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAKlF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAE1F;AAkDD,gHAAgH;AAChH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAI5D;AAKD,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;;;;OAQG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,aAAa,CAAC,CAqDxB;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiC/F"}
|
package/dist/close-lock.js
CHANGED
|
@@ -189,7 +189,7 @@ const E_DEAL_STATUS_TYPE = 'MJ_BizApps_Sales: Deal Status Types';
|
|
|
189
189
|
* @param contextUser - Server callers must pass one; the browser omits it.
|
|
190
190
|
*/
|
|
191
191
|
export async function ResolveDealLockState(persistedStatusID, contextUser) {
|
|
192
|
-
const open = { IsLocked: false, StatusName: null, IsLost: false, Notice: null };
|
|
192
|
+
const open = { IsLocked: false, StatusName: null, IsLost: false, IsWon: false, Notice: null };
|
|
193
193
|
if (!persistedStatusID) {
|
|
194
194
|
return open;
|
|
195
195
|
}
|
|
@@ -197,11 +197,20 @@ export async function ResolveDealLockState(persistedStatusID, contextUser) {
|
|
|
197
197
|
EntityName: E_DEAL_STATUS_TYPE,
|
|
198
198
|
ExtraFilter: `ID = '${String(persistedStatusID).replace(/'/g, "''")}'`,
|
|
199
199
|
ResultType: 'simple',
|
|
200
|
-
Fields: ['LocksDeal', 'Name', 'IsLost'],
|
|
200
|
+
Fields: ['LocksDeal', 'Name', 'IsLost', 'IsWon'],
|
|
201
201
|
}, contextUser);
|
|
202
202
|
const row = result?.Success ? (result.Results ?? [])[0] : undefined;
|
|
203
|
+
/**
|
|
204
|
+
* THE OUTCOME SURVIVES THE EARLY RETURN, THE LOCK DOES NOT.
|
|
205
|
+
*
|
|
206
|
+
* `IsWon` is a fact about the status itself, so it is carried out of every exit below rather than
|
|
207
|
+
* being reset to `false` by the unlocked one. The cost of getting this backwards is silent: the
|
|
208
|
+
* header would simply draw no chips on a won-but-unlocked deal, which looks exactly like a deal
|
|
209
|
+
* with no order and no contract.
|
|
210
|
+
*/
|
|
211
|
+
const isWon = row?.IsWon === true;
|
|
203
212
|
if (!row?.LocksDeal) {
|
|
204
|
-
return open;
|
|
213
|
+
return { ...open, IsWon: isWon };
|
|
205
214
|
}
|
|
206
215
|
/**
|
|
207
216
|
* golive#207 row 16, in the tester's words: "This deal is closed (Won). Only Deal Status,
|
|
@@ -221,6 +230,7 @@ export async function ResolveDealLockState(persistedStatusID, contextUser) {
|
|
|
221
230
|
IsLocked: true,
|
|
222
231
|
StatusName: row.Name,
|
|
223
232
|
IsLost: isLost,
|
|
233
|
+
IsWon: isWon,
|
|
224
234
|
Notice: `This deal is closed (${row.Name}). Only ${editable} can be edited. ` +
|
|
225
235
|
'To change anything else, set the status back to Open.',
|
|
226
236
|
};
|
package/dist/close-lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-lock.js","sourceRoot":"","sources":["../src/close-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAS;IACrE,gGAAgG;IAChG,2CAA2C;IAC3C,aAAa;IACb,kGAAkG;IAClG,2DAA2D;IAC3D,UAAU;IACV,cAAc;IACd,gGAAgG;IAChG,mGAAmG;IACnG,gCAAgC;IAChC,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;CACf,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAEpF;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAe;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,2BAA2B,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,GAAG,CAAS,CAAC,GAAG,2BAA2B,EAAE,GAAG,uBAAuB,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAiB,EAAE,MAAe;IAC7E,OAAO,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAqC;IACxD,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,gBAAgB;IAC9B,gBAAgB,EAAE,iBAAiB;IACnC,gBAAgB,EAAE,aAAa;IAC/B,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,YAAY;IACvB,gBAAgB,EAAE,aAAa;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,cAAc,CAAC,SAAiB;IACrC,OAAO,SAAS;SACX,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC5C,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAe;IACtD,OAAO,CAAC,kBAAkB,EAAE,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAyB;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,iGAAiG;AACjG,MAAM,kBAAkB,GAAG,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"close-lock.js","sourceRoot":"","sources":["../src/close-lock.ts"],"names":[],"mappings":"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"}
|