Implemented the feature to identify and update estimates based on the ACR value, consumption start date, and ramp-up
This commit is contained in:
@@ -58,7 +58,7 @@ function createContentApplication(overrides = {}) {
|
||||
const contentModal = createContentModal({
|
||||
createManageTimeButton: () => manageTime.createButton(),
|
||||
prepareSrSession: () => srSessionPreparation.ensure(),
|
||||
closeActionForm: (...args) => manageTime.close(...args) || internalSrForm.close(...args) || opportunityCalendar.closeDetails(...args) || crmSrForm.close(...args) || workloadActionForm.close(...args),
|
||||
closeActionForm: (...args) => rampProjectionView.close(...args) || manageTime.close(...args) || internalSrForm.close(...args) || opportunityCalendar.closeDetails(...args) || crmSrForm.close(...args) || workloadActionForm.close(...args),
|
||||
mountOpportunityViews: (...args) => opportunityCalendar.mount(...args),
|
||||
createActivityFilterControls: (...args) => activityFilters.createControls(...args),
|
||||
closeCrmSrPopover: () => crmSrPopover.close(),
|
||||
@@ -233,6 +233,7 @@ function createContentApplication(overrides = {}) {
|
||||
const opportunitiesController = createOpportunitiesController({
|
||||
ensureCurrentUser: () => currentUser.ensure(),
|
||||
resetWorkloadActions: (...args) => opportunityWorkloadActions.reset(...args),
|
||||
resetWorkloads: () => { rampProjectionView.close(false); productWorkloads.reset(); },
|
||||
STAGE_OPTIONS: contracts.STAGE_OPTIONS,
|
||||
STATUS_OPTIONS: contracts.STATUS_OPTIONS,
|
||||
authSessionState,
|
||||
@@ -376,6 +377,7 @@ function createContentApplication(overrides = {}) {
|
||||
createDetailLink: (...args) => opportunitiesLinks.createDetailLink(...args),
|
||||
createProductsCountButton: (...args) => productsDetails.createProductsCountButton(...args),
|
||||
createProductsRampBadge: (...args) => productsDetails.createProductsRampBadge(...args),
|
||||
createProjectionIndicator: (...args) => rampProjectionView.createOpportunityIndicator(...args),
|
||||
createCrmServiceRequestBadge: (...args) => opportunityCrmServiceRequests.createBadge(...args),
|
||||
createProductsDetailRow: (...args) => productsDetails.createProductsDetailRow(...args),
|
||||
createStageBadge: (...args) => opportunitiesLinks.createStageBadge(...args),
|
||||
@@ -475,6 +477,8 @@ function createContentApplication(overrides = {}) {
|
||||
resetRelatedData: () => {
|
||||
opportunityCrmServiceRequests.reset();
|
||||
opportunityWorkloadActions.reset();
|
||||
productWorkloads.reset();
|
||||
rampProjectionView.close(false);
|
||||
consumptionPlansView.closeAccountPlansModal();
|
||||
installBaseView.closeInstallBaseModal();
|
||||
serviceRequestsView.closeServiceRequestsModal();
|
||||
@@ -518,6 +522,8 @@ function createContentApplication(overrides = {}) {
|
||||
}
|
||||
});
|
||||
const productsContentJobs = createProductsContentJobs({
|
||||
loadWorkloads: (...args) => productWorkloads.load(...args),
|
||||
joinWorkloads: number => productWorkloads.joinProducts(number),
|
||||
beginProductActivities: (...args) => productActivities.begin(...args),
|
||||
completeProductActivities: (...args) => productActivities.complete(...args),
|
||||
appendBackgroundRequestLog: (...args) => debugContentLog.appendBackgroundRequestLog(...args),
|
||||
@@ -531,6 +537,14 @@ function createContentApplication(overrides = {}) {
|
||||
sendRuntimeMessage: (...args) => platformContentMessages.sendRuntimeMessage(...args),
|
||||
environment
|
||||
});
|
||||
const productWorkloads = createProductWorkloads({
|
||||
productsContentState, opportunitiesQueryState, preferencesState, messageTypes,
|
||||
requestConsumerTokenServiceOnce: () => authContentSession.requestConsumerTokenServiceOnce(),
|
||||
sendRuntimeMessage: (...args) => platformContentMessages.sendRuntimeMessage(...args),
|
||||
appendBackgroundRequestLog: (...args) => debugContentLog.appendBackgroundRequestLog(...args),
|
||||
getPrincipal: () => currentUser.getUserId() || authSessionState.principal,
|
||||
queueProductsTableRender: () => productsContentJobs.queueProductsTableRender()
|
||||
});
|
||||
const workloadActionOptions = createWorkloadActionOptions({
|
||||
requestConsumerTokenServiceOnce: (...args) => authContentSession.requestConsumerTokenServiceOnce(...args),
|
||||
sendRuntimeMessage: (...args) => platformContentMessages.sendRuntimeMessage(...args),
|
||||
@@ -569,6 +583,7 @@ function createContentApplication(overrides = {}) {
|
||||
productsContentState, messageTypes, environment
|
||||
});
|
||||
const productsDetails = createProductsDetails({
|
||||
createProjectionIndicator: (...args) => rampProjectionView.createIndicator(...args),
|
||||
setBadgeContent: (...args) => opportunityBadgeContent.setContent(...args),
|
||||
OPPORTUNITIES_COLUMNS: columns,
|
||||
createAiSummaryAlert: (...args) => aiSummaryContent.createAiSummaryAlert(...args),
|
||||
@@ -578,6 +593,30 @@ function createContentApplication(overrides = {}) {
|
||||
requestGenerateAiSummary: (...args) => aiSummaryContent.requestGenerateAiSummary(...args),
|
||||
environment
|
||||
});
|
||||
const rampProjection = createRampProjection();
|
||||
const workloadForecastUpdate = createWorkloadForecastUpdate({
|
||||
compare: product => rampProjection.compare(product),
|
||||
ensureCurrentUser: () => currentUser.ensure(),
|
||||
getCurrentUserId: () => currentUser.getUserId(),
|
||||
requestAuthorization: () => authContentSession.requestConsumerTokenServiceOnce(),
|
||||
sendRuntimeMessage: (...args) => platformContentMessages.sendRuntimeMessage(...args),
|
||||
messageTypes,
|
||||
appendBackgroundRequestLog: (...args) => debugContentLog.appendBackgroundRequestLog(...args),
|
||||
productsContentState,
|
||||
queueProductsTableRender: () => productsContentJobs.queueProductsTableRender()
|
||||
});
|
||||
const rampProjectionView = createRampProjectionView({
|
||||
saveEstimates: product => workloadForecastUpdate.save(product),
|
||||
notify: (...args) => opportunitiesLinks.showCopyConfirmation(...args),
|
||||
MODAL_ID: contracts.MODAL_ID,
|
||||
compare: product => rampProjection.compare(product),
|
||||
expandProducts: number => productsDetails.expandProducts(number),
|
||||
createAlertIcon: () => contentIcons.createAlertIcon(),
|
||||
createCloseIcon: () => contentIcons.createCloseIcon(),
|
||||
formatAmount: (...args) => productsDetails.formatProductAmount(...args),
|
||||
formatDate: value => opportunitiesFormatters.formatOracleResponseDate(value),
|
||||
environment
|
||||
});
|
||||
const aiSummaryContent = createAiSummaryContent({
|
||||
aiSummaryState,
|
||||
invalidateSalesCommonToken: (...args) => authSalesCommon.invalidateSalesCommonToken(...args),
|
||||
@@ -772,12 +811,16 @@ function createContentApplication(overrides = {}) {
|
||||
preferencesStorage,
|
||||
preferencesView,
|
||||
productsContentJobs,
|
||||
productWorkloads,
|
||||
productActivities,
|
||||
activityProgress,
|
||||
srSessionPreparation,
|
||||
refreshAll,
|
||||
activityCache,
|
||||
productsDetails,
|
||||
rampProjection,
|
||||
workloadForecastUpdate,
|
||||
rampProjectionView,
|
||||
aiSummaryContent,
|
||||
consumptionPlansAction,
|
||||
installBaseAction,
|
||||
|
||||
Reference in New Issue
Block a user