File: src\internal\ui\caseManagement\constants.ts
/// <reference path="../../utils/object.ts" />
/**
* @module UI
* @submodule UI caseManagement
* @namespace ui.caseManagement
*/
namespace internal.ui.caseManagement {
// The comments for ui.caseManagement.Environment need to go here so that YUIDOC can generate documentation.
/**
* Enum ui.caseManagement.Environment
* @class Environment
* @static
*/
/**
* @property {string} SG1
* @default "sg1.support.services.microsoft.com"
*/
/**
* @property {string} DEV
* @default "dev.support.services.microsoft.com"
*/
/**
* @property {string} STAGING
* @default "staging.support.services.microsoft.com"
*/
/**
* @property {string} UAT
* @default "support-uat.microsoft.com"
*/
/**
* @property {string} PARTER
* @default "partner.support.services.microsoft.com"
*/
/**
* @property {string} PRODUCTION
* @default "support.microsoft.com"
*/
export let Environment = SMCEnvironment;
export namespace WorkflowStep {
/**
* Step Form to display a form asking users questions related to issues users encountered
* @property {string} FORM
* @default "form"
*/
export const FORM = <any>"form";
/**
* Step Success to display confirmation to users for success case creation
* Case ID would be displayed on the page
* @property {string} SUCCESS
* @default "success"
*/
export const SUCCESS = <any>"success";
}
export const CASEMANAGEMENT_COMPONENT = "caseManagement";
export const LOAD_TIMEOUT_MS = 15000; // Use this to overwrite the default loaded timeout
export const REPORT_HEIGHT_CHANGE = true; // set to true to report height change events
export const DEFAULT_CASE_MANAGEMENT_HOST = Environment.PRODUCTION;
export const DEFAULT_XFRAME_PROXY_PATH = "xframeproxy";
export const DEFAULT_LOCALE = "en-us";
export const DEFAULT_PREVIEW = false;
export const DEFAULT_NOCHROME = true;
// Parameters
export const CASE_LOCALE = "locale";
export const CASE_SAP_ID = "sapId";
export const CASE_ENTITLEMENT_ID = "entitlementId";
export const CASE_PREVIEW = "preview";
export const CASE_ENVIRONMENT = "environment";
export const CASE_INCLUDED_WORKFLOW_STEPS = "includedWorkflowSteps";
export const CASE_NOCHROME = "nochrome";
export const CASE_NUMBER = "caseNumber";
export const CASE_HIDE_FORM_HEADERS = "hideFormHeaders";
export const CASE_TITLE_PRE_POPULATE = "titlePrePopulate";
export const CASE_FIELDS_PRE_POPULATE = "fieldsPrePopulate";
export function getCaseXFrameProxyUrl(componentUrl: string) {
return `${utils.getOriginFromUrl(componentUrl)}/${DEFAULT_XFRAME_PROXY_PATH}/`;
}
export function getCaseBaseUrl(config: CaseConfig): string {
if (!utils.hasKeyOrValue(Environment, config.environment)) {
throw "The environment property specified in config is invalid";
}
return config.environment;
}
}