@pega/react-sdk-components 0.24.3 → 0.24.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"react_pconnect.d.ts","sourceRoot":"","sources":["../../src/bridge/react_pconnect.jsx"],"names":[],"mappings":"AA+BO,0EAMN;;AA+HD;;;;;GAKG;AACH,2EA0JC"}
1
+ {"version":3,"file":"react_pconnect.d.ts","sourceRoot":"","sources":["../../src/bridge/react_pconnect.jsx"],"names":[],"mappings":"AA+BO,0EAMN;;AA4TD;;;;;GAKG;AACH,2EAEC"}
@@ -11,8 +11,8 @@ import StoreContext from './Context/StoreContext';
11
11
  // As we add components, we'll need to import them here and add to the switch statement
12
12
  // below in getComponent!
13
13
  import { SdkComponentMap } from './helpers/sdk_component_map';
14
- const isClassIDCompare = (key, prev) => {
15
- return !(key === 'classID' && !prev[key]);
14
+ const isClassIDCompare = (key, prev, next) => {
15
+ return !(key === 'classID' && (!prev[key] || !next[key]));
16
16
  };
17
17
  const routingInfoCompare = (next, prev) => {
18
18
  return 'routingInfo' in next && (!shallowEqual(next.routingInfo, prev.routingInfo) || !PCore.isDeepEqual(next.routingInfo, prev.routingInfo));
@@ -71,16 +71,13 @@ const connectRedux = (component, c11nEnv) => {
71
71
  areStatePropsEqual: (next, prev) => {
72
72
  const allStateProps = c11nEnv.getStateProps();
73
73
  for (const key of Object.keys(allStateProps)) {
74
- if ((isClassIDCompare(key, prev) && !shallowEqual(next[key], prev[key])) ||
75
- (next.routingInfo && !PCore.isDeepEqual(next.routingInfo, prev.routingInfo))) {
76
- return false;
77
- }
78
- }
79
- // For CaseSummary (when status === ".pyStatusWork"), we need to compare changes in
80
- // primaryFields and secondary Fields
81
- if (allStateProps.status === '.pyStatusWork') {
82
- for (const key of Object.keys(prev)) {
83
- if (!PCore.isDeepEqual(next[key], prev[key])) {
74
+ if (Object.prototype.hasOwnProperty.call(allStateProps, key)) {
75
+ if (key === 'inheritedProps' && next.inheritedProps && !PCore.isDeepEqual(next.inheritedProps, prev.inheritedProps)) {
76
+ return false;
77
+ }
78
+ if (key !== 'inheritedProps' &&
79
+ ((isClassIDCompare(key, prev, next) && !shallowEqual(next[key], prev[key])) ||
80
+ (next.routingInfo && !PCore.isDeepEqual(next.routingInfo, prev.routingInfo)))) {
84
81
  return false;
85
82
  }
86
83
  }
@@ -139,146 +136,136 @@ const getComponent = c11nEnv => {
139
136
  return connectRedux(component, c11nEnv);
140
137
  };
141
138
  /**
142
- *
143
- * @param {*} declarative
144
- * @returns {React.Components<Props, State>}
145
-
139
+ * JEA - add Type info via JSdoc syntax...
140
+ * @extends {React.Components<Props, State>}
141
+ * createPConnectComponent - Class to create/initialize a PConnect (c11nEnv) object
142
+ * to pre-process meta data of each componnet.
143
+ * - Wraps each child in a component with PConnect
144
+ * - Process all actions and make them avaiable in props
145
+ * - Filters all properties in metadata and keeps them
146
+ * __internal for re-render process through connect
146
147
  */
147
- const createPConnectComponent = () => {
148
- /**
149
- * JEA - add Type info via JSdoc syntax...
150
- * @extends {React.Components<Props, State>}
151
- * createPConnectComponent - Class to create/initialize a PConnect (c11nEnv) object
152
- * to pre-process meta data of each componnet.
153
- * - Wraps each child in a component with PConnect
154
- * - Process all actions and make them avaiable in props
155
- * - Filters all properties in metadata and keeps them
156
- * __internal for re-render process through connect
157
- */
158
- class PConnect extends Component {
159
- constructor(props) {
160
- super(props);
161
- const { getPConnect } = this.props;
162
- this.state = {
163
- hasError: false
164
- };
165
- this.eventHandler = this.eventHandler.bind(this);
166
- this.changeHandler = this.changeHandler.bind(this);
167
- this.c11nEnv = getPConnect();
168
- // eslint-disable-next-line react/no-unused-class-component-methods
169
- this.Control = getComponent(this.c11nEnv);
170
- this.actionsAPI = this.c11nEnv.getActionsApi();
171
- this.processActions(this.c11nEnv);
172
- }
173
- static getDerivedStateFromError(error) {
174
- // Update state so the next render will show the fallback UI.
175
- return {
176
- hasError: true,
177
- error
178
- };
179
- }
180
- componentDidMount() {
181
- this.c11nEnv.addFormField();
182
- setVisibilityForList(this.c11nEnv, true);
183
- }
184
- componentDidCatch(error, info) {
185
- // eslint-disable-next-line no-console
186
- console.error(`Error while Rendering the component ${this.componentName} : `, error, info.componentStack);
187
- }
188
- componentWillUnmount() {
189
- if (this.c11nEnv.removeFormField) {
190
- this.c11nEnv.removeFormField();
191
- setVisibilityForList(this.c11nEnv, false);
192
- }
193
- }
194
- /*
195
- * processActions to see all actions in meta and adds event in props.
196
- * Attaches common handler (eventHandler) for all actions.
197
- */
198
- processActions() {
199
- if (this.c11nEnv.isEditable()) {
200
- this.c11nEnv.setAction('onChange', this.changeHandler);
201
- this.c11nEnv.setAction('onBlur', this.eventHandler);
202
- }
148
+ class PConnect extends Component {
149
+ constructor(props) {
150
+ super(props);
151
+ const { getPConnect } = this.props;
152
+ this.state = {
153
+ hasError: false
154
+ };
155
+ this.eventHandler = this.eventHandler.bind(this);
156
+ this.changeHandler = this.changeHandler.bind(this);
157
+ this.c11nEnv = getPConnect();
158
+ // eslint-disable-next-line react/no-unused-class-component-methods
159
+ this.Control = getComponent(this.c11nEnv);
160
+ this.actionsAPI = this.c11nEnv.getActionsApi();
161
+ this.processActions(this.c11nEnv);
162
+ }
163
+ static getDerivedStateFromError(error) {
164
+ // Update state so the next render will show the fallback UI.
165
+ return {
166
+ hasError: true,
167
+ error
168
+ };
169
+ }
170
+ componentDidMount() {
171
+ this.c11nEnv.addFormField();
172
+ setVisibilityForList(this.c11nEnv, true);
173
+ }
174
+ componentDidCatch(error, info) {
175
+ // eslint-disable-next-line no-console
176
+ console.error(`Error while Rendering the component ${this.componentName} : `, error, info.componentStack);
177
+ }
178
+ componentWillUnmount() {
179
+ if (this.c11nEnv.removeFormField) {
180
+ this.c11nEnv.removeFormField();
181
+ setVisibilityForList(this.c11nEnv, false);
203
182
  }
204
- // Using separate handle for change as in case of dropdown, native click is mapped to react change
205
- changeHandler(event) {
206
- this.actionsAPI.changeHandler(this.c11nEnv, event);
207
- // getActionProcessor().changeHandler(this.c11nEnv, event);
183
+ }
184
+ /*
185
+ * processActions to see all actions in meta and adds event in props.
186
+ * Attaches common handler (eventHandler) for all actions.
187
+ */
188
+ processActions() {
189
+ if (this.c11nEnv.isEditable()) {
190
+ this.c11nEnv.setAction('onChange', this.changeHandler);
191
+ this.c11nEnv.setAction('onBlur', this.eventHandler);
208
192
  }
209
- eventHandler(event) {
210
- this.actionsAPI.eventHandler(this.c11nEnv, event);
211
- // getActionProcessor().eventHandler(this.c11nEnv, event);
193
+ }
194
+ // Using separate handle for change as in case of dropdown, native click is mapped to react change
195
+ changeHandler(event) {
196
+ this.actionsAPI.changeHandler(this.c11nEnv, event);
197
+ // getActionProcessor().changeHandler(this.c11nEnv, event);
198
+ }
199
+ eventHandler(event) {
200
+ this.actionsAPI.eventHandler(this.c11nEnv, event);
201
+ // getActionProcessor().eventHandler(this.c11nEnv, event);
202
+ }
203
+ createChildren() {
204
+ const { getPConnect } = this.props;
205
+ if (getPConnect().hasChildren() && getPConnect().getChildren()) {
206
+ return (getPConnect()
207
+ .getChildren()
208
+ // eslint-disable-next-line react/no-array-index-key
209
+ .map((childProps, index) => _jsx(PConnect, { ...childProps }, `${this.getKey(childProps)}_${index}`)));
212
210
  }
213
- createChildren() {
214
- const { getPConnect } = this.props;
215
- if (getPConnect().hasChildren() && getPConnect().getChildren()) {
216
- return (getPConnect()
217
- .getChildren()
218
- // eslint-disable-next-line react/no-array-index-key
219
- .map((childProps, index) => _jsx(PConnect, { ...childProps }, `${this.getKey(childProps)}_${index}`)));
220
- }
221
- return null;
211
+ return null;
212
+ }
213
+ getKey(props = this.props) {
214
+ const { getPConnect } = props;
215
+ const viewName = getPConnect().getConfigProps().name || getPConnect().getCurrentView();
216
+ let key = !viewName ? createUID() : `${viewName}!${getPConnect().getCurrentClassID() || createUID()}`;
217
+ // In the case of pyDetails the key must be unique for each instance
218
+ if (viewName && viewName.toUpperCase() === 'PYDETAILS') {
219
+ key += `!${getPConnect().getCaseInfo().getID()}`;
222
220
  }
223
- getKey(props = this.props) {
224
- const { getPConnect } = props;
225
- const viewName = getPConnect().getConfigProps().name || getPConnect().getCurrentView();
226
- let key = !viewName ? createUID() : `${viewName}!${getPConnect().getCurrentClassID() || createUID()}`;
227
- // In the case of pyDetails the key must be unigue for each instance
228
- if (viewName && viewName.toUpperCase() === 'PYDETAILS') {
229
- key += `!${getPConnect().getCaseInfo().getID()}`;
230
- }
231
- return key.toUpperCase();
221
+ return key.toUpperCase();
222
+ }
223
+ render() {
224
+ const { hasError } = this.state;
225
+ const { getPConnect, additionalProps, ...otherProps } = this.props;
226
+ if (hasError) {
227
+ // You can render any custom fallback UI
228
+ // console.log(`react_pconnect error: used to return: <ErrorBoundary getPConnect={() => this.c11nEnv} isInternalError />`);
229
+ return _jsx(ErrorBoundary, { getPConnect: () => this.c11nEnv, isInternalError: true });
232
230
  }
233
- render() {
234
- const { hasError } = this.state;
235
- const { getPConnect, additionalProps, ...otherProps } = this.props;
236
- if (hasError) {
237
- // You can render any custom fallback UI
238
- // console.log(`react_pconnect error: used to return: <ErrorBoundary getPConnect={() => this.c11nEnv} isInternalError />`);
239
- return _jsx(ErrorBoundary, { getPConnect: () => this.c11nEnv, isInternalError: true });
240
- }
241
- const props = this.c11nEnv.getConfigProps();
242
- const actions = this.c11nEnv.getActions();
243
- const finalProps = {
244
- ...props,
245
- getPConnect,
246
- ...actions,
247
- additionalProps,
248
- ...otherProps
249
- };
250
- // If the new component is a reference node then mark with a unique key
251
- if (['reference', 'View'].includes(getPConnect().getComponentName()) && !finalProps.key) {
252
- finalProps.key = this.getKey();
253
- }
254
- // console.log(`react_pconnect: used to return: <this.Control {...finalProps} />`);
255
- return _jsx(this.Control, { ...finalProps, children: this.createChildren() });
231
+ const props = this.c11nEnv.getConfigProps();
232
+ const actions = this.c11nEnv.getActions();
233
+ const finalProps = {
234
+ ...props,
235
+ getPConnect,
236
+ ...actions,
237
+ additionalProps,
238
+ ...otherProps
239
+ };
240
+ // If the new component is a reference node then mark with a unique key
241
+ if (['reference', 'View'].includes(getPConnect().getComponentName()) && !finalProps.key) {
242
+ finalProps.key = this.getKey();
256
243
  }
244
+ // console.log(`react_pconnect: used to return: <this.Control {...finalProps} />`);
245
+ return _jsx(this.Control, { ...finalProps, children: this.createChildren() });
257
246
  }
258
- // eslint-disable-next-line react/static-property-placement
259
- PConnect.propTypes = {
260
- // __internal: PropTypes.object.isRequired,
261
- // meta: PropTypes.object.isRequired,
262
- // configObject: PropTypes.object.isRequired,
263
- getPConnect: PropTypes.func.isRequired,
264
- additionalProps: PropTypes.shape({
265
- noLabel: PropTypes.bool,
266
- readOnly: PropTypes.bool
267
- }),
268
- validatemessage: PropTypes.string
269
- };
270
- // eslint-disable-next-line react/static-property-placement
271
- PConnect.defaultProps = {
272
- additionalProps: {},
273
- validatemessage: ''
274
- };
275
- return PConnect;
247
+ }
248
+ // eslint-disable-next-line react/static-property-placement
249
+ PConnect.propTypes = {
250
+ // __internal: PropTypes.object.isRequired,
251
+ // meta: PropTypes.object.isRequired,
252
+ // configObject: PropTypes.object.isRequired,
253
+ getPConnect: PropTypes.func.isRequired,
254
+ additionalProps: PropTypes.shape({
255
+ noLabel: PropTypes.bool,
256
+ readOnly: PropTypes.bool
257
+ }),
258
+ validatemessage: PropTypes.string
259
+ };
260
+ // eslint-disable-next-line react/static-property-placement
261
+ PConnect.defaultProps = {
262
+ additionalProps: {},
263
+ validatemessage: ''
276
264
  };
277
265
  // Move these into SdkConstellationReady so PCore is available
278
266
  document.addEventListener('SdkConstellationReady', () => {
279
267
  PCore.registerComponentCreator((c11nEnv, additionalProps = {}) => {
280
- const PConnectComp = createPConnectComponent();
281
- return createElement(PConnectComp, {
268
+ return createElement(PConnect, {
282
269
  ...c11nEnv,
283
270
  ...c11nEnv.getPConnect().getConfigProps(),
284
271
  ...c11nEnv.getPConnect().getActions(),
@@ -316,5 +303,14 @@ document.addEventListener('SdkConstellationReady', () => {
316
303
  await Promise.allSettled(promises);
317
304
  });
318
305
  });
306
+ /**
307
+ *
308
+ * @param {*} declarative
309
+ * @returns {React.Components<Props, State>}
310
+
311
+ */
312
+ const createPConnectComponent = () => {
313
+ return PConnect;
314
+ };
319
315
  export default createPConnectComponent;
320
316
  //# sourceMappingURL=react_pconnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react_pconnect.js","sourceRoot":"","sources":["../../src/bridge/react_pconnect.jsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, shallowEqual } from 'react-redux';\n\nimport ComponentMap, { LazyMap as LazyComponentMap } from '../components_map'; // was '../../../../../src/components_map';\nimport ErrorBoundary from '../components/infra/ErrorBoundary';\n\nimport StoreContext from './Context/StoreContext';\n\n// const pathToComponents = \"../../../../../src/components\"; /* When bridge was local, it was \"../components\" */\n\n// For now, NOT doing lazy loading - needs some work on the loader to work with TypeScript\n// As we add components, we'll need to import them here and add to the switch statement\n// below in getComponent!\n\nimport { SdkComponentMap } from './helpers/sdk_component_map';\n\nconst isClassIDCompare = (key, prev) => {\n return !(key === 'classID' && !prev[key]);\n};\n\nconst routingInfoCompare = (next, prev) => {\n return 'routingInfo' in next && (!shallowEqual(next.routingInfo, prev.routingInfo) || !PCore.isDeepEqual(next.routingInfo, prev.routingInfo));\n};\n\n/** Generate unique id for elements */\nconst createUID = () => {\n return `_${Math.random().toString(36).slice(2, 11)}`;\n};\n\nexport const setVisibilityForList = (c11nEnv, visibility) => {\n const { selectionMode, selectionList, renderMode, referenceList } = c11nEnv.getComponentConfig();\n // usecase:multiselect, fieldgroup, editable table\n if ((selectionMode === PCore.getConstants().LIST_SELECTION_MODE.MULTI && selectionList) || (renderMode === 'Editable' && referenceList)) {\n c11nEnv.getListActions().setVisibility(visibility);\n }\n};\n\nfunction withVisibility(WrappedComponent) {\n // eslint-disable-next-line react/prefer-stateless-function\n return class extends Component {\n render() {\n const { visibility } = this.props;\n\n if (visibility === false) {\n return null;\n }\n return <WrappedComponent {...this.props} />;\n }\n };\n}\n\nconst connectRedux = (component, c11nEnv) => {\n return connect(\n (state, ownProps) => {\n let addProps = {};\n const obj = {};\n // Need to use ownProps pconnect since c11nEnv is stale and prior to re-render\n if (!ownProps.getPConnect) {\n // eslint-disable-next-line no-console\n console.error('connectRedux ownProps are not defined');\n } else {\n c11nEnv = ownProps.getPConnect();\n }\n\n if (typeof component.additionalProps === 'object') {\n addProps = c11nEnv.resolveConfigProps(component.additionalProps);\n } else if (typeof component.additionalProps === 'function') {\n addProps = c11nEnv.resolveConfigProps(component.additionalProps(state, ownProps.getPConnect));\n }\n\n c11nEnv.getConfigProps(obj);\n\n // populate additional props which are component specific and not present in configurations\n // This block can be removed once all these props will be added as part of configs\n c11nEnv.populateAdditionalProps(obj);\n\n return {\n ...obj,\n ...addProps\n };\n },\n null,\n null,\n {\n context: StoreContext,\n areStatePropsEqual: (next, prev) => {\n const allStateProps = c11nEnv.getStateProps();\n for (const key of Object.keys(allStateProps)) {\n if (\n (isClassIDCompare(key, prev) && !shallowEqual(next[key], prev[key])) ||\n (next.routingInfo && !PCore.isDeepEqual(next.routingInfo, prev.routingInfo))\n ) {\n return false;\n }\n }\n\n // For CaseSummary (when status === \".pyStatusWork\"), we need to compare changes in\n // primaryFields and secondary Fields\n if (allStateProps.status === '.pyStatusWork') {\n for (const key of Object.keys(prev)) {\n if (!PCore.isDeepEqual(next[key], prev[key])) {\n return false;\n }\n }\n }\n /* TODO For some rawConfig we are not getting routingInfo under allStateProps */\n return !routingInfoCompare(next, prev);\n }\n }\n )(component);\n};\n\nconst getComponent = c11nEnv => {\n // PCore is defined in pxBootstrapShell - eventually will be exported in place of constellationCore\n const ComponentsRegistry = PCore.getComponentsRegistry();\n const type = c11nEnv.getComponentName();\n\n const componentObj = ComponentsRegistry.getComponent(type);\n const componentType = (componentObj && componentObj.component) || type;\n\n // JEA - modifying logic before bailing to RootContainer logic to work around async loading problem\n let component = LazyComponentMap[componentType]; /* || window[componentType] */\n\n // NOTE: Until we get lazy loading working, maintain this for each component we add\n if (component === undefined) {\n if (SdkComponentMap) {\n // This is the node_modules version of react_pconnect!\n const theLocalComponent = SdkComponentMap.getLocalComponentMap()[componentType];\n if (theLocalComponent !== undefined) {\n // eslint-disable-next-line no-console\n console.log(`react_pconnect getComponent found ${componentType}: Local`);\n component = theLocalComponent;\n } else {\n const thePegaProvidedComponent = SdkComponentMap.getPegaProvidedComponentMap()[componentType];\n if (thePegaProvidedComponent !== undefined) {\n // console.log(`react_pconnect getComponent found ${componentType}: Pega-provided`);\n component = thePegaProvidedComponent;\n } else {\n // eslint-disable-next-line no-console\n console.error(`react_pconnect: getComponent doesn't have an entry for type ${type}`);\n component = ErrorBoundary;\n }\n }\n } else {\n // We no longer handle the \"old\" switch statement that was here in the original packaging.\n // All components seen here need to be in the SdkComponentMap\n // eslint-disable-next-line no-console\n console.error(`SdkComponentMap not defined! Unable to process component: ${componentType}`);\n }\n } else {\n // eslint-disable-next-line no-console\n console.log(`getComponent doesn't have an entry for component ${component}`);\n component = ErrorBoundary;\n }\n\n if (c11nEnv.isConditionExist()) {\n return connectRedux(withVisibility(component), c11nEnv);\n }\n\n return connectRedux(component, c11nEnv);\n};\n\n/**\n *\n * @param {*} declarative\n * @returns {React.Components<Props, State>}\n\n */\nconst createPConnectComponent = () => {\n /**\n * JEA - add Type info via JSdoc syntax...\n * @extends {React.Components<Props, State>}\n * createPConnectComponent - Class to create/initialize a PConnect (c11nEnv) object\n * to pre-process meta data of each componnet.\n * - Wraps each child in a component with PConnect\n * - Process all actions and make them avaiable in props\n * - Filters all properties in metadata and keeps them\n * __internal for re-render process through connect\n */\n class PConnect extends Component {\n constructor(props) {\n super(props);\n const { getPConnect } = this.props;\n this.state = {\n hasError: false\n };\n\n this.eventHandler = this.eventHandler.bind(this);\n this.changeHandler = this.changeHandler.bind(this);\n\n this.c11nEnv = getPConnect();\n // eslint-disable-next-line react/no-unused-class-component-methods\n this.Control = getComponent(this.c11nEnv);\n this.actionsAPI = this.c11nEnv.getActionsApi();\n\n this.processActions(this.c11nEnv);\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return {\n hasError: true,\n error\n };\n }\n\n componentDidMount() {\n this.c11nEnv.addFormField();\n setVisibilityForList(this.c11nEnv, true);\n }\n\n componentDidCatch(error, info) {\n // eslint-disable-next-line no-console\n console.error(`Error while Rendering the component ${this.componentName} : `, error, info.componentStack);\n }\n\n componentWillUnmount() {\n if (this.c11nEnv.removeFormField) {\n this.c11nEnv.removeFormField();\n setVisibilityForList(this.c11nEnv, false);\n }\n }\n\n /*\n * processActions to see all actions in meta and adds event in props.\n * Attaches common handler (eventHandler) for all actions.\n */\n processActions() {\n if (this.c11nEnv.isEditable()) {\n this.c11nEnv.setAction('onChange', this.changeHandler);\n this.c11nEnv.setAction('onBlur', this.eventHandler);\n }\n }\n\n // Using separate handle for change as in case of dropdown, native click is mapped to react change\n changeHandler(event) {\n this.actionsAPI.changeHandler(this.c11nEnv, event);\n // getActionProcessor().changeHandler(this.c11nEnv, event);\n }\n\n eventHandler(event) {\n this.actionsAPI.eventHandler(this.c11nEnv, event);\n // getActionProcessor().eventHandler(this.c11nEnv, event);\n }\n\n createChildren() {\n const { getPConnect } = this.props;\n if (getPConnect().hasChildren() && getPConnect().getChildren()) {\n return (\n getPConnect()\n .getChildren()\n // eslint-disable-next-line react/no-array-index-key\n .map((childProps, index) => <PConnect key={`${this.getKey(childProps)}_${index}`} {...childProps} />)\n );\n }\n return null;\n }\n\n getKey(props = this.props) {\n const { getPConnect } = props;\n const viewName = getPConnect().getConfigProps().name || getPConnect().getCurrentView();\n let key = !viewName ? createUID() : `${viewName}!${getPConnect().getCurrentClassID() || createUID()}`;\n\n // In the case of pyDetails the key must be unigue for each instance\n if (viewName && viewName.toUpperCase() === 'PYDETAILS') {\n key += `!${getPConnect().getCaseInfo().getID()}`;\n }\n\n return key.toUpperCase();\n }\n\n render() {\n const { hasError } = this.state;\n const { getPConnect, additionalProps, ...otherProps } = this.props;\n\n if (hasError) {\n // You can render any custom fallback UI\n // console.log(`react_pconnect error: used to return: <ErrorBoundary getPConnect={() => this.c11nEnv} isInternalError />`);\n return <ErrorBoundary getPConnect={() => this.c11nEnv} isInternalError />;\n }\n\n const props = this.c11nEnv.getConfigProps();\n const actions = this.c11nEnv.getActions();\n const finalProps = {\n ...props,\n getPConnect,\n ...actions,\n additionalProps,\n ...otherProps\n };\n\n // If the new component is a reference node then mark with a unique key\n if (['reference', 'View'].includes(getPConnect().getComponentName()) && !finalProps.key) {\n finalProps.key = this.getKey();\n }\n\n // console.log(`react_pconnect: used to return: <this.Control {...finalProps} />`);\n\n return <this.Control {...finalProps}>{this.createChildren()}</this.Control>;\n }\n }\n\n // eslint-disable-next-line react/static-property-placement\n PConnect.propTypes = {\n // __internal: PropTypes.object.isRequired,\n // meta: PropTypes.object.isRequired,\n // configObject: PropTypes.object.isRequired,\n getPConnect: PropTypes.func.isRequired,\n additionalProps: PropTypes.shape({\n noLabel: PropTypes.bool,\n readOnly: PropTypes.bool\n }),\n validatemessage: PropTypes.string\n };\n\n // eslint-disable-next-line react/static-property-placement\n PConnect.defaultProps = {\n additionalProps: {},\n validatemessage: ''\n };\n\n return PConnect;\n};\n\n// Move these into SdkConstellationReady so PCore is available\ndocument.addEventListener('SdkConstellationReady', () => {\n PCore.registerComponentCreator((c11nEnv, additionalProps = {}) => {\n const PConnectComp = createPConnectComponent();\n return createElement(PConnectComp, {\n ...c11nEnv,\n ...c11nEnv.getPConnect().getConfigProps(),\n ...c11nEnv.getPConnect().getActions(),\n ...{ additionalProps }\n });\n });\n\n PCore.getAssetLoader().register('component-loader', async (componentNames = []) => {\n const promises = [];\n componentNames.forEach(comp => {\n if (/^[A-Z]/.test(comp) && !LazyComponentMap[comp]) {\n if (!ComponentMap[comp]) {\n const srcUrl = `${PCore.getAssetLoader().getConstellationServiceUrl()}/v860/${PCore.getAssetLoader().getAppAlias()}/component/${comp}.js`;\n promises.push(PCore.getAssetLoader().getLoader()(srcUrl, 'script'));\n } else {\n if (ComponentMap[comp].modules && ComponentMap[comp].modules.length) {\n ComponentMap[comp].modules.forEach(module => {\n LazyComponentMap[comp] = module;\n });\n }\n if (ComponentMap[comp].scripts && ComponentMap[comp].scripts.length) {\n ComponentMap[comp].scripts.forEach(script => {\n promises.push(PCore.getAssetLoader().getLoader()(script, 'script'));\n });\n }\n }\n }\n });\n /* Promise.all rejects or accepts all or none. This causes entire component loader to fail\n in case there is a single failure.\n Using allSettled to allow Promise to be resolved even if there are failed components\n Note : This is a liberty taken at component loader and unwise to be used at\n asset loader which will still use Promise.all\n */\n await Promise.allSettled(promises);\n });\n});\n\nexport default createPConnectComponent;\n\n/* These APIs need to be exposed for authoring bridge\nWill be removed when pxbootstrap and constellation_bridge is cleaned up\nto use single bootstrap file from constellation */\n// window.authoringUtils = {\n// createElement,\n// render,\n// unmountComponentAtNode,\n// LazyComponentMap\n// };\n"]}
1
+ {"version":3,"file":"react_pconnect.js","sourceRoot":"","sources":["../../src/bridge/react_pconnect.jsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, shallowEqual } from 'react-redux';\n\nimport ComponentMap, { LazyMap as LazyComponentMap } from '../components_map'; // was '../../../../../src/components_map';\nimport ErrorBoundary from '../components/infra/ErrorBoundary';\n\nimport StoreContext from './Context/StoreContext';\n\n// const pathToComponents = \"../../../../../src/components\"; /* When bridge was local, it was \"../components\" */\n\n// For now, NOT doing lazy loading - needs some work on the loader to work with TypeScript\n// As we add components, we'll need to import them here and add to the switch statement\n// below in getComponent!\n\nimport { SdkComponentMap } from './helpers/sdk_component_map';\n\nconst isClassIDCompare = (key, prev, next) => {\n return !(key === 'classID' && (!prev[key] || !next[key]));\n};\n\nconst routingInfoCompare = (next, prev) => {\n return 'routingInfo' in next && (!shallowEqual(next.routingInfo, prev.routingInfo) || !PCore.isDeepEqual(next.routingInfo, prev.routingInfo));\n};\n\n/** Generate unique id for elements */\nconst createUID = () => {\n return `_${Math.random().toString(36).slice(2, 11)}`;\n};\n\nexport const setVisibilityForList = (c11nEnv, visibility) => {\n const { selectionMode, selectionList, renderMode, referenceList } = c11nEnv.getComponentConfig();\n // usecase:multiselect, fieldgroup, editable table\n if ((selectionMode === PCore.getConstants().LIST_SELECTION_MODE.MULTI && selectionList) || (renderMode === 'Editable' && referenceList)) {\n c11nEnv.getListActions().setVisibility(visibility);\n }\n};\n\nfunction withVisibility(WrappedComponent) {\n // eslint-disable-next-line react/prefer-stateless-function\n return class extends Component {\n render() {\n const { visibility } = this.props;\n\n if (visibility === false) {\n return null;\n }\n return <WrappedComponent {...this.props} />;\n }\n };\n}\n\nconst connectRedux = (component, c11nEnv) => {\n return connect(\n (state, ownProps) => {\n let addProps = {};\n const obj = {};\n // Need to use ownProps pconnect since c11nEnv is stale and prior to re-render\n if (!ownProps.getPConnect) {\n // eslint-disable-next-line no-console\n console.error('connectRedux ownProps are not defined');\n } else {\n c11nEnv = ownProps.getPConnect();\n }\n\n if (typeof component.additionalProps === 'object') {\n addProps = c11nEnv.resolveConfigProps(component.additionalProps);\n } else if (typeof component.additionalProps === 'function') {\n addProps = c11nEnv.resolveConfigProps(component.additionalProps(state, ownProps.getPConnect));\n }\n\n c11nEnv.getConfigProps(obj);\n\n // populate additional props which are component specific and not present in configurations\n // This block can be removed once all these props will be added as part of configs\n c11nEnv.populateAdditionalProps(obj);\n\n return {\n ...obj,\n ...addProps\n };\n },\n null,\n null,\n {\n context: StoreContext,\n areStatePropsEqual: (next, prev) => {\n const allStateProps = c11nEnv.getStateProps();\n for (const key of Object.keys(allStateProps)) {\n if (Object.prototype.hasOwnProperty.call(allStateProps, key)) {\n if (key === 'inheritedProps' && next.inheritedProps && !PCore.isDeepEqual(next.inheritedProps, prev.inheritedProps)) {\n return false;\n }\n if (\n key !== 'inheritedProps' &&\n ((isClassIDCompare(key, prev, next) && !shallowEqual(next[key], prev[key])) ||\n (next.routingInfo && !PCore.isDeepEqual(next.routingInfo, prev.routingInfo)))\n ) {\n return false;\n }\n }\n }\n /* TODO For some rawConfig we are not getting routingInfo under allStateProps */\n return !routingInfoCompare(next, prev);\n }\n }\n )(component);\n};\n\nconst getComponent = c11nEnv => {\n // PCore is defined in pxBootstrapShell - eventually will be exported in place of constellationCore\n const ComponentsRegistry = PCore.getComponentsRegistry();\n const type = c11nEnv.getComponentName();\n\n const componentObj = ComponentsRegistry.getComponent(type);\n const componentType = (componentObj && componentObj.component) || type;\n\n // JEA - modifying logic before bailing to RootContainer logic to work around async loading problem\n let component = LazyComponentMap[componentType]; /* || window[componentType] */\n\n // NOTE: Until we get lazy loading working, maintain this for each component we add\n if (component === undefined) {\n if (SdkComponentMap) {\n // This is the node_modules version of react_pconnect!\n const theLocalComponent = SdkComponentMap.getLocalComponentMap()[componentType];\n if (theLocalComponent !== undefined) {\n // eslint-disable-next-line no-console\n console.log(`react_pconnect getComponent found ${componentType}: Local`);\n component = theLocalComponent;\n } else {\n const thePegaProvidedComponent = SdkComponentMap.getPegaProvidedComponentMap()[componentType];\n if (thePegaProvidedComponent !== undefined) {\n // console.log(`react_pconnect getComponent found ${componentType}: Pega-provided`);\n component = thePegaProvidedComponent;\n } else {\n // eslint-disable-next-line no-console\n console.error(`react_pconnect: getComponent doesn't have an entry for type ${type}`);\n component = ErrorBoundary;\n }\n }\n } else {\n // We no longer handle the \"old\" switch statement that was here in the original packaging.\n // All components seen here need to be in the SdkComponentMap\n // eslint-disable-next-line no-console\n console.error(`SdkComponentMap not defined! Unable to process component: ${componentType}`);\n }\n } else {\n // eslint-disable-next-line no-console\n console.log(`getComponent doesn't have an entry for component ${component}`);\n component = ErrorBoundary;\n }\n\n if (c11nEnv.isConditionExist()) {\n return connectRedux(withVisibility(component), c11nEnv);\n }\n\n return connectRedux(component, c11nEnv);\n};\n\n/**\n * JEA - add Type info via JSdoc syntax...\n * @extends {React.Components<Props, State>}\n * createPConnectComponent - Class to create/initialize a PConnect (c11nEnv) object\n * to pre-process meta data of each componnet.\n * - Wraps each child in a component with PConnect\n * - Process all actions and make them avaiable in props\n * - Filters all properties in metadata and keeps them\n * __internal for re-render process through connect\n */\nclass PConnect extends Component {\n constructor(props) {\n super(props);\n const { getPConnect } = this.props;\n this.state = {\n hasError: false\n };\n\n this.eventHandler = this.eventHandler.bind(this);\n this.changeHandler = this.changeHandler.bind(this);\n\n this.c11nEnv = getPConnect();\n // eslint-disable-next-line react/no-unused-class-component-methods\n this.Control = getComponent(this.c11nEnv);\n this.actionsAPI = this.c11nEnv.getActionsApi();\n\n this.processActions(this.c11nEnv);\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return {\n hasError: true,\n error\n };\n }\n\n componentDidMount() {\n this.c11nEnv.addFormField();\n setVisibilityForList(this.c11nEnv, true);\n }\n\n componentDidCatch(error, info) {\n // eslint-disable-next-line no-console\n console.error(`Error while Rendering the component ${this.componentName} : `, error, info.componentStack);\n }\n\n componentWillUnmount() {\n if (this.c11nEnv.removeFormField) {\n this.c11nEnv.removeFormField();\n setVisibilityForList(this.c11nEnv, false);\n }\n }\n\n /*\n * processActions to see all actions in meta and adds event in props.\n * Attaches common handler (eventHandler) for all actions.\n */\n processActions() {\n if (this.c11nEnv.isEditable()) {\n this.c11nEnv.setAction('onChange', this.changeHandler);\n this.c11nEnv.setAction('onBlur', this.eventHandler);\n }\n }\n\n // Using separate handle for change as in case of dropdown, native click is mapped to react change\n changeHandler(event) {\n this.actionsAPI.changeHandler(this.c11nEnv, event);\n // getActionProcessor().changeHandler(this.c11nEnv, event);\n }\n\n eventHandler(event) {\n this.actionsAPI.eventHandler(this.c11nEnv, event);\n // getActionProcessor().eventHandler(this.c11nEnv, event);\n }\n\n createChildren() {\n const { getPConnect } = this.props;\n if (getPConnect().hasChildren() && getPConnect().getChildren()) {\n return (\n getPConnect()\n .getChildren()\n // eslint-disable-next-line react/no-array-index-key\n .map((childProps, index) => <PConnect key={`${this.getKey(childProps)}_${index}`} {...childProps} />)\n );\n }\n return null;\n }\n\n getKey(props = this.props) {\n const { getPConnect } = props;\n const viewName = getPConnect().getConfigProps().name || getPConnect().getCurrentView();\n let key = !viewName ? createUID() : `${viewName}!${getPConnect().getCurrentClassID() || createUID()}`;\n\n // In the case of pyDetails the key must be unique for each instance\n if (viewName && viewName.toUpperCase() === 'PYDETAILS') {\n key += `!${getPConnect().getCaseInfo().getID()}`;\n }\n\n return key.toUpperCase();\n }\n\n render() {\n const { hasError } = this.state;\n const { getPConnect, additionalProps, ...otherProps } = this.props;\n\n if (hasError) {\n // You can render any custom fallback UI\n // console.log(`react_pconnect error: used to return: <ErrorBoundary getPConnect={() => this.c11nEnv} isInternalError />`);\n return <ErrorBoundary getPConnect={() => this.c11nEnv} isInternalError />;\n }\n\n const props = this.c11nEnv.getConfigProps();\n const actions = this.c11nEnv.getActions();\n const finalProps = {\n ...props,\n getPConnect,\n ...actions,\n additionalProps,\n ...otherProps\n };\n\n // If the new component is a reference node then mark with a unique key\n if (['reference', 'View'].includes(getPConnect().getComponentName()) && !finalProps.key) {\n finalProps.key = this.getKey();\n }\n\n // console.log(`react_pconnect: used to return: <this.Control {...finalProps} />`);\n\n return <this.Control {...finalProps}>{this.createChildren()}</this.Control>;\n }\n}\n// eslint-disable-next-line react/static-property-placement\nPConnect.propTypes = {\n // __internal: PropTypes.object.isRequired,\n // meta: PropTypes.object.isRequired,\n // configObject: PropTypes.object.isRequired,\n getPConnect: PropTypes.func.isRequired,\n additionalProps: PropTypes.shape({\n noLabel: PropTypes.bool,\n readOnly: PropTypes.bool\n }),\n validatemessage: PropTypes.string\n};\n\n// eslint-disable-next-line react/static-property-placement\nPConnect.defaultProps = {\n additionalProps: {},\n validatemessage: ''\n};\n\n// Move these into SdkConstellationReady so PCore is available\ndocument.addEventListener('SdkConstellationReady', () => {\n PCore.registerComponentCreator((c11nEnv, additionalProps = {}) => {\n return createElement(PConnect, {\n ...c11nEnv,\n ...c11nEnv.getPConnect().getConfigProps(),\n ...c11nEnv.getPConnect().getActions(),\n ...{ additionalProps }\n });\n });\n\n PCore.getAssetLoader().register('component-loader', async (componentNames = []) => {\n const promises = [];\n componentNames.forEach(comp => {\n if (/^[A-Z]/.test(comp) && !LazyComponentMap[comp]) {\n if (!ComponentMap[comp]) {\n const srcUrl = `${PCore.getAssetLoader().getConstellationServiceUrl()}/v860/${PCore.getAssetLoader().getAppAlias()}/component/${comp}.js`;\n promises.push(PCore.getAssetLoader().getLoader()(srcUrl, 'script'));\n } else {\n if (ComponentMap[comp].modules && ComponentMap[comp].modules.length) {\n ComponentMap[comp].modules.forEach(module => {\n LazyComponentMap[comp] = module;\n });\n }\n if (ComponentMap[comp].scripts && ComponentMap[comp].scripts.length) {\n ComponentMap[comp].scripts.forEach(script => {\n promises.push(PCore.getAssetLoader().getLoader()(script, 'script'));\n });\n }\n }\n }\n });\n /* Promise.all rejects or accepts all or none. This causes entire component loader to fail\n in case there is a single failure.\n Using allSettled to allow Promise to be resolved even if there are failed components\n Note : This is a liberty taken at component loader and unwise to be used at\n asset loader which will still use Promise.all\n */\n await Promise.allSettled(promises);\n });\n});\n\n/**\n *\n * @param {*} declarative\n * @returns {React.Components<Props, State>}\n\n */\nconst createPConnectComponent = () => {\n return PConnect;\n};\n\nexport default createPConnectComponent;\n\n/* These APIs need to be exposed for authoring bridge\nWill be removed when pxbootstrap and constellation_bridge is cleaned up\nto use single bootstrap file from constellation */\n// window.authoringUtils = {\n// createElement,\n// render,\n// unmountComponentAtNode,\n// LazyComponentMap\n// };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Phone.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Phone/Phone.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,UAAW,SAAQ,eAAe;CAE3C;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,EAAE,UAAU,2CA2F9C"}
1
+ {"version":3,"file":"Phone.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Phone/Phone.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,UAAU,UAAW,SAAQ,eAAe;CAE3C;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,EAAE,UAAU,2CAkG9C"}
@@ -1,10 +1,17 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import MuiPhoneNumber from 'material-ui-phone-number';
3
+ import { useEffect, useState } from 'react';
3
4
  import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
5
+ import handleEvent from '../../helpers/event-utils';
4
6
  export default function Phone(props) {
5
7
  // Get emitted components from map (so we can get any override that may exist)
6
8
  const FieldValueList = getComponentFromMap('FieldValueList');
7
- const { label, required, disabled, value = '', validatemessage, status, onChange, onBlur, readOnly, testId, helperText, displayMode, hideLabel, placeholder } = props;
9
+ const { getPConnect, label, required, disabled, value = '', validatemessage, status, onChange, readOnly, testId, helperText, displayMode, hideLabel, placeholder } = props;
10
+ const pConn = getPConnect();
11
+ const actions = pConn.getActionsApi();
12
+ const propName = pConn.getStateProps().value;
13
+ const [inputValue, setInputValue] = useState(value);
14
+ useEffect(() => setInputValue(value), [value]);
8
15
  const helperTextToDisplay = validatemessage || helperText;
9
16
  let testProp = {};
10
17
  testProp = {
@@ -24,15 +31,14 @@ export default function Phone(props) {
24
31
  }, disableDropdown: disableDropdown }) }));
25
32
  }
26
33
  const handleChange = inputVal => {
27
- let phoneValue = inputVal && inputVal.replace(/\D+/g, '');
28
- phoneValue = `+${phoneValue}`;
29
- onChange({ value: phoneValue });
34
+ setInputValue(inputVal);
30
35
  };
31
36
  const handleBlur = event => {
32
37
  const phoneValue = event?.target?.value;
33
- event.target.value = `+${phoneValue && phoneValue.replace(/\D+/g, '')}`;
34
- onBlur(event);
38
+ let phoneNumber = phoneValue.split(' ').slice(1).join();
39
+ phoneNumber = phoneNumber ? `+${phoneValue && phoneValue.replace(/\D+/g, '')}` : '';
40
+ handleEvent(actions, 'changeNblur', propName, phoneNumber);
35
41
  };
36
- return (_jsx(MuiPhoneNumber, { fullWidth: true, variant: 'outlined', helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', defaultCountry: 'us', required: required, disabled: disabled, onChange: handleChange, onBlur: !readOnly ? handleBlur : undefined, error: status === 'error', label: label, value: value, InputProps: { ...testProp } }));
42
+ return (_jsx(MuiPhoneNumber, { fullWidth: true, variant: 'outlined', helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', defaultCountry: 'us', required: required, disabled: disabled, onChange: handleChange, onBlur: !readOnly ? handleBlur : undefined, error: status === 'error', label: label, value: inputValue, InputProps: { ...testProp } }));
37
43
  }
38
44
  //# sourceMappingURL=Phone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Phone.js","sourceRoot":"","sources":["../../../../src/components/field/Phone/Phone.tsx"],"names":[],"mappings":"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","sourcesContent":["import MuiPhoneNumber from 'material-ui-phone-number';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\ninterface PhoneProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Phone here\n}\n\nexport default function Phone(props: PhoneProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\n const {\n label,\n required,\n disabled,\n value = '',\n validatemessage,\n status,\n onChange,\n onBlur,\n readOnly,\n testId,\n helperText,\n displayMode,\n hideLabel,\n placeholder\n } = props;\n const helperTextToDisplay = validatemessage || helperText;\n\n let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n if (displayMode === 'LABELS_LEFT') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;\n }\n\n if (readOnly) {\n const disableDropdown = true;\n return (\n <div>\n <MuiPhoneNumber\n fullWidth\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n required={required}\n disabled={disabled}\n onChange={onChange}\n error={status === 'error'}\n label={label}\n value={value}\n InputProps={{\n readOnly: true,\n inputProps: { ...testProp }\n }}\n disableDropdown={disableDropdown}\n />\n </div>\n );\n }\n\n const handleChange = inputVal => {\n let phoneValue = inputVal && inputVal.replace(/\\D+/g, '');\n phoneValue = `+${phoneValue}`;\n onChange({ value: phoneValue });\n };\n\n const handleBlur = event => {\n const phoneValue = event?.target?.value;\n event.target.value = `+${phoneValue && phoneValue.replace(/\\D+/g, '')}`;\n onBlur(event);\n };\n\n return (\n <MuiPhoneNumber\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n defaultCountry='us'\n required={required}\n disabled={disabled}\n onChange={handleChange}\n onBlur={!readOnly ? handleBlur : undefined}\n error={status === 'error'}\n label={label}\n value={value}\n InputProps={{ ...testProp }}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"Phone.js","sourceRoot":"","sources":["../../../../src/components/field/Phone/Phone.tsx"],"names":[],"mappings":";AAAA,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,WAAW,MAAM,2BAA2B,CAAC;AAMpD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAiB;IAC7C,8EAA8E;IAC9E,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAE7D,MAAM,EACJ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACZ,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAI,KAAK,CAAC,aAAa,EAAU,CAAC,KAAK,CAAC;IAEtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,eAAe,IAAI,UAAU,CAAC;IAE1D,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,QAAQ,GAAG;QACT,cAAc,EAAE,MAAM;KACvB,CAAC;IAEF,IAAI,WAAW,KAAK,aAAa,EAAE;QACjC,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;KACvE;IAED,IAAI,WAAW,KAAK,mBAAmB,EAAE;QACvC,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAC,SAAS,GAAG,CAAC;KACzF;IAED,IAAI,QAAQ,EAAE;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC;QAC7B,OAAO,CACL,wBACE,KAAC,cAAc,IACb,SAAS,QACT,UAAU,EAAE,mBAAmB,EAC/B,WAAW,EAAE,WAAW,IAAI,EAAE,EAC9B,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,KAAK,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,EAAE,GAAG,QAAQ,EAAE;iBAC5B,EACD,eAAe,EAAE,eAAe,GAChC,GACE,CACP,CAAC;KACH;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE;QAC9B,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE;QACzB,MAAM,UAAU,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QACxC,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,IACb,SAAS,QACT,OAAO,EAAC,UAAU,EAClB,UAAU,EAAE,mBAAmB,EAC/B,WAAW,EAAE,WAAW,IAAI,EAAE,EAC9B,IAAI,EAAC,OAAO,EACZ,cAAc,EAAC,IAAI,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC1C,KAAK,EAAE,MAAM,KAAK,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,EAAE,GAAG,QAAQ,EAAE,GAC3B,CACH,CAAC;AACJ,CAAC","sourcesContent":["import MuiPhoneNumber from 'material-ui-phone-number';\nimport { useEffect, useState } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\nimport handleEvent from '../../helpers/event-utils';\n\ninterface PhoneProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Phone here\n}\n\nexport default function Phone(props: PhoneProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\n const {\n getPConnect,\n label,\n required,\n disabled,\n value = '',\n validatemessage,\n status,\n onChange,\n readOnly,\n testId,\n helperText,\n displayMode,\n hideLabel,\n placeholder\n } = props;\n\n const pConn = getPConnect();\n const actions = pConn.getActionsApi();\n const propName = (pConn.getStateProps() as any).value;\n\n const [inputValue, setInputValue] = useState(value);\n useEffect(() => setInputValue(value), [value]);\n\n const helperTextToDisplay = validatemessage || helperText;\n\n let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n if (displayMode === 'LABELS_LEFT') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;\n }\n\n if (readOnly) {\n const disableDropdown = true;\n return (\n <div>\n <MuiPhoneNumber\n fullWidth\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n required={required}\n disabled={disabled}\n onChange={onChange}\n error={status === 'error'}\n label={label}\n value={value}\n InputProps={{\n readOnly: true,\n inputProps: { ...testProp }\n }}\n disableDropdown={disableDropdown}\n />\n </div>\n );\n }\n\n const handleChange = inputVal => {\n setInputValue(inputVal);\n };\n\n const handleBlur = event => {\n const phoneValue = event?.target?.value;\n let phoneNumber = phoneValue.split(' ').slice(1).join();\n phoneNumber = phoneNumber ? `+${phoneValue && phoneValue.replace(/\\D+/g, '')}` : '';\n handleEvent(actions, 'changeNblur', propName, phoneNumber);\n };\n\n return (\n <MuiPhoneNumber\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n defaultCountry='us'\n required={required}\n disabled={disabled}\n onChange={handleChange}\n onBlur={!readOnly ? handleBlur : undefined}\n error={status === 'error'}\n label={label}\n value={inputValue}\n InputProps={{ ...testProp }}\n />\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAOtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,eAAgB,SAAQ,UAAU;IAE1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf,aAAa,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,2CAmT3E"}
1
+ {"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAOtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,eAAgB,SAAQ,UAAU;IAE1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf,aAAa,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,2CA6U3E"}
@@ -25,6 +25,8 @@ export default function Assignment(props) {
25
25
  const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);
26
26
  const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);
27
27
  const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);
28
+ const approveCase = actionsAPI.approveCase?.bind(actionsAPI);
29
+ const rejectCase = actionsAPI.rejectCase?.bind(actionsAPI);
28
30
  // const showPage = actionsAPI.showPage.bind(actionsAPI);
29
31
  const [showSnackbar, setShowSnackbar] = useState(false);
30
32
  const [snackbarMessage, setSnackbarMessage] = useState('');
@@ -174,6 +176,15 @@ export default function Assignment(props) {
174
176
  }
175
177
  break;
176
178
  }
179
+ case 'rejectCase': {
180
+ const rejectPromise = rejectCase(itemKey);
181
+ rejectPromise
182
+ .then(() => { })
183
+ .catch(() => {
184
+ showToast(`${localizedVal('Rejection failed!', localeCategory)}`);
185
+ });
186
+ break;
187
+ }
177
188
  default:
178
189
  break;
179
190
  }
@@ -190,6 +201,15 @@ export default function Assignment(props) {
190
201
  });
191
202
  break;
192
203
  }
204
+ case 'approveCase': {
205
+ const approvePromise = approveCase(itemKey);
206
+ approvePromise
207
+ .then(() => { })
208
+ .catch(() => {
209
+ showToast(`${localizedVal('Approve failed!', localeCategory)}`);
210
+ });
211
+ break;
212
+ }
193
213
  default:
194
214
  break;
195
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface AssignmentProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n isInModal: boolean;\n banners: any[];\n // eslint-disable-next-line react/no-unused-prop-types\n actionButtons: any[];\n}\n\nexport default function Assignment(props: PropsWithChildren<AssignmentProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n const MultiStep = getComponentFromMap('MultiStep');\n\n const { getPConnect, children, itemKey = '', isInModal = false, banners = [] } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState([]);\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<any[]>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<any[]>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Assignment';\n const localeReference = `${getPConnect().getCaseInfo().getClassName()}!CASE!${getPConnect().getCaseInfo().getName()}`.toUpperCase();\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n function findCurrentIndicies(arStepperSteps: any[], arIndicies: number[], depth: number): number[] {\n let count = 0;\n arStepperSteps.forEach(step => {\n if (step.visited_status === 'current') {\n arIndicies[depth] = count;\n\n // add in\n step.step_status = '';\n } else if (step.visited_status === 'success') {\n count += 1;\n step.step_status = 'completed';\n } else {\n count += 1;\n step.step_status = '';\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1);\n }\n });\n\n return arIndicies;\n }\n\n function getStepsInfo(steps, formedSteps: any = []) {\n steps.forEach(step => {\n if (step.name) {\n step.name = PCore.getLocaleUtils().getLocaleValue(step.name, undefined, localeReference);\n }\n if (step.steps) {\n formedSteps = getStepsInfo(step.steps, formedSteps);\n } else {\n formedSteps.push(step);\n }\n });\n return formedSteps;\n }\n\n useEffect(() => {\n if (children) {\n const firstChild = Array.isArray(children) ? children[0] : children;\n const oWorkItem = firstChild.props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData: any = thePConn.getDataObject(''); // 1st arg empty string until typedefs allow it to be optional\n\n if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {\n const oCaseInfo = oData.caseInfo;\n\n if (oCaseInfo && oCaseInfo.actionButtons) {\n setActionButtons(oCaseInfo.actionButtons);\n }\n\n if (oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) {\n setHasNavigation(true);\n\n if (\n (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === 'standard') ||\n oCaseInfo?.navigation?.steps?.length === 1\n ) {\n setHasNavigation(false);\n } else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === 'vertical') {\n setIsVertical(true);\n } else {\n setIsVertical(false);\n }\n\n if (oCaseInfo?.navigation?.steps) {\n const steps = JSON.parse(JSON.stringify(oCaseInfo?.navigation?.steps));\n const formedSteps = getStepsInfo(steps);\n setArNavigationSteps(formedSteps);\n }\n\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n }\n }\n }\n }, [children]);\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n if (sButtonType === 'secondary') {\n switch (sAction) {\n case 'navigateToStep': {\n const navigatePromise = navigateToStep('previous', itemKey);\n\n navigatePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Navigation failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'saveAssignment': {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n // @ts-ignore - Property 'c11nEnv' is private and only accessible within class 'CaseInfo'.\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast(`${localizedVal('Save failed', localeCategory)}`);\n });\n\n break;\n }\n\n case 'cancelAssignment': {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n // @ts-ignore - Property 'isAssignmentInCreateStage' is private and only accessible within class 'CaseInfo'\n const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();\n const isLocalAction =\n // @ts-ignore - Property 'isLocalAction' is private and only accessible within class 'CaseInfo'.\n thePConn.getCaseInfo().isLocalAction() ||\n (PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION && getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION));\n if (isAssignmentInCreateStage && isInModal && !isLocalAction) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n }\n break;\n }\n\n default:\n break;\n }\n } else if (sButtonType === 'primary') {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (sAction) {\n case 'finishAssignment': {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Submit failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n }\n\n function getRefreshProps(refreshConditions) {\n // refreshConditions cuurently supports only \"Changes\" event\n if (!refreshConditions) {\n return [];\n }\n return refreshConditions.filter(item => item.event && item.event === 'Changes').map(item => [item.field, item.field?.substring(1)]) || [];\n }\n\n // expected format of refreshConditions : [{field: \".Name\", event: \"Changes\"}]\n // @ts-ignore - Property 'getActionRefreshConditions' is private and only accessible within class 'CaseInfo'\n const refreshConditions = thePConn.getCaseInfo()?.getActionRefreshConditions();\n const context = thePConn.getContextName();\n const pageReference = thePConn.getPageReference();\n\n // refresh api de-registration\n PCore.getRefreshManager().deRegisterForRefresh(context);\n\n // refresh api registration\n const refreshProps = getRefreshProps(refreshConditions);\n const caseKey = thePConn.getCaseInfo().getKey();\n const refreshOptions = {\n autoDetectRefresh: true,\n preserveClientChanges: false\n };\n if (refreshProps.length > 0) {\n refreshProps.forEach(prop => {\n PCore.getRefreshManager().registerForRefresh(\n 'PROP_CHANGE',\n thePConn.getActionsApi().refreshCaseView.bind(thePConn.getActionsApi(), caseKey, '', pageReference, {\n ...refreshOptions,\n refreshFor: prop[0]\n }),\n `${pageReference}.${prop[1]}`,\n `${context}/${pageReference}`,\n context\n );\n });\n }\n\n return (\n <div id='Assignment'>\n {banners}\n {bHasNavigation ? (\n <>\n <MultiStep\n getPConnect={getPConnect}\n itemKey={itemKey}\n actionButtons={actionButtons}\n onButtonPress={buttonPress}\n bIsVertical={bIsVertical}\n arCurrentStepIndicies={arCurrentStepIndicies}\n arNavigationSteps={arNavigationSteps}\n >\n {children}\n </MultiStep>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n ) : (\n <>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n )}\n </div>\n );\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n"]}
1
+ {"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface AssignmentProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n isInModal: boolean;\n banners: any[];\n // eslint-disable-next-line react/no-unused-prop-types\n actionButtons: any[];\n}\n\nexport default function Assignment(props: PropsWithChildren<AssignmentProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n const MultiStep = getComponentFromMap('MultiStep');\n\n const { getPConnect, children, itemKey = '', isInModal = false, banners = [] } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState([]);\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<any[]>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<any[]>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Assignment';\n const localeReference = `${getPConnect().getCaseInfo().getClassName()}!CASE!${getPConnect().getCaseInfo().getName()}`.toUpperCase();\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n const approveCase = actionsAPI.approveCase?.bind(actionsAPI);\n const rejectCase = actionsAPI.rejectCase?.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n function findCurrentIndicies(arStepperSteps: any[], arIndicies: number[], depth: number): number[] {\n let count = 0;\n arStepperSteps.forEach(step => {\n if (step.visited_status === 'current') {\n arIndicies[depth] = count;\n\n // add in\n step.step_status = '';\n } else if (step.visited_status === 'success') {\n count += 1;\n step.step_status = 'completed';\n } else {\n count += 1;\n step.step_status = '';\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1);\n }\n });\n\n return arIndicies;\n }\n\n function getStepsInfo(steps, formedSteps: any = []) {\n steps.forEach(step => {\n if (step.name) {\n step.name = PCore.getLocaleUtils().getLocaleValue(step.name, undefined, localeReference);\n }\n if (step.steps) {\n formedSteps = getStepsInfo(step.steps, formedSteps);\n } else {\n formedSteps.push(step);\n }\n });\n return formedSteps;\n }\n\n useEffect(() => {\n if (children) {\n const firstChild = Array.isArray(children) ? children[0] : children;\n const oWorkItem = firstChild.props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData: any = thePConn.getDataObject(''); // 1st arg empty string until typedefs allow it to be optional\n\n if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {\n const oCaseInfo = oData.caseInfo;\n\n if (oCaseInfo && oCaseInfo.actionButtons) {\n setActionButtons(oCaseInfo.actionButtons);\n }\n\n if (oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) {\n setHasNavigation(true);\n\n if (\n (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === 'standard') ||\n oCaseInfo?.navigation?.steps?.length === 1\n ) {\n setHasNavigation(false);\n } else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === 'vertical') {\n setIsVertical(true);\n } else {\n setIsVertical(false);\n }\n\n if (oCaseInfo?.navigation?.steps) {\n const steps = JSON.parse(JSON.stringify(oCaseInfo?.navigation?.steps));\n const formedSteps = getStepsInfo(steps);\n setArNavigationSteps(formedSteps);\n }\n\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n }\n }\n }\n }, [children]);\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n if (sButtonType === 'secondary') {\n switch (sAction) {\n case 'navigateToStep': {\n const navigatePromise = navigateToStep('previous', itemKey);\n\n navigatePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Navigation failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'saveAssignment': {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n // @ts-ignore - Property 'c11nEnv' is private and only accessible within class 'CaseInfo'.\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast(`${localizedVal('Save failed', localeCategory)}`);\n });\n\n break;\n }\n\n case 'cancelAssignment': {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n // @ts-ignore - Property 'isAssignmentInCreateStage' is private and only accessible within class 'CaseInfo'\n const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();\n const isLocalAction =\n // @ts-ignore - Property 'isLocalAction' is private and only accessible within class 'CaseInfo'.\n thePConn.getCaseInfo().isLocalAction() ||\n (PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION && getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION));\n if (isAssignmentInCreateStage && isInModal && !isLocalAction) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n }\n break;\n }\n\n case 'rejectCase': {\n const rejectPromise = rejectCase(itemKey);\n\n rejectPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Rejection failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n } else if (sButtonType === 'primary') {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (sAction) {\n case 'finishAssignment': {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Submit failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'approveCase': {\n const approvePromise = approveCase(itemKey);\n\n approvePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Approve failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n }\n\n function getRefreshProps(refreshConditions) {\n // refreshConditions cuurently supports only \"Changes\" event\n if (!refreshConditions) {\n return [];\n }\n return refreshConditions.filter(item => item.event && item.event === 'Changes').map(item => [item.field, item.field?.substring(1)]) || [];\n }\n\n // expected format of refreshConditions : [{field: \".Name\", event: \"Changes\"}]\n // @ts-ignore - Property 'getActionRefreshConditions' is private and only accessible within class 'CaseInfo'\n const refreshConditions = thePConn.getCaseInfo()?.getActionRefreshConditions();\n const context = thePConn.getContextName();\n const pageReference = thePConn.getPageReference();\n\n // refresh api de-registration\n PCore.getRefreshManager().deRegisterForRefresh(context);\n\n // refresh api registration\n const refreshProps = getRefreshProps(refreshConditions);\n const caseKey = thePConn.getCaseInfo().getKey();\n const refreshOptions = {\n autoDetectRefresh: true,\n preserveClientChanges: false\n };\n if (refreshProps.length > 0) {\n refreshProps.forEach(prop => {\n PCore.getRefreshManager().registerForRefresh(\n 'PROP_CHANGE',\n thePConn.getActionsApi().refreshCaseView.bind(thePConn.getActionsApi(), caseKey, '', pageReference, {\n ...refreshOptions,\n refreshFor: prop[0]\n }),\n `${pageReference}.${prop[1]}`,\n `${context}/${pageReference}`,\n context\n );\n });\n }\n\n return (\n <div id='Assignment'>\n {banners}\n {bHasNavigation ? (\n <>\n <MultiStep\n getPConnect={getPConnect}\n itemKey={itemKey}\n actionButtons={actionButtons}\n onButtonPress={buttonPress}\n bIsVertical={bIsVertical}\n arCurrentStepIndicies={arCurrentStepIndicies}\n arNavigationSteps={arNavigationSteps}\n >\n {children}\n </MultiStep>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n ) : (\n <>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n )}\n </div>\n );\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAwCA,OAAO,gBAAgB,CAAC;AAMxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAeD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA2pCpD"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAwCA,OAAO,gBAAgB,CAAC;AAMxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA+oCpD"}
@@ -42,7 +42,6 @@ import { format } from '../../helpers/formatters';
42
42
  import useInit from './hooks';
43
43
  const SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };
44
44
  let myRows;
45
- let myDisplayColumnList;
46
45
  let menuColumnId = '';
47
46
  let menuColumnType = '';
48
47
  let menuColumnLabel = '';
@@ -77,6 +76,7 @@ export default function ListView(props) {
77
76
  /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */
78
77
  const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;
79
78
  const [arRows, setRows] = useState([]);
79
+ const [rowsData, setRowsData] = useState([]);
80
80
  const [arColumns, setColumns] = useState([]);
81
81
  const [response, setResponse] = useState([]);
82
82
  const [order, setOrder] = useState('asc');
@@ -223,13 +223,6 @@ export default function ListView(props) {
223
223
  return data;
224
224
  });
225
225
  }
226
- function getMyColumnList(arCols) {
227
- const myColList = [];
228
- arCols.forEach(col => {
229
- myColList.push(col.id);
230
- });
231
- return myColList;
232
- }
233
226
  /** Will return field from a filter expression */
234
227
  function getFieldFromFilter(filter, dateRange = false) {
235
228
  let fieldValue;
@@ -444,7 +437,7 @@ export default function ListView(props) {
444
437
  const usingDataResults = getUsingData(tableDataResults);
445
438
  // store globally, so can be searched, filtered, etc.
446
439
  myRows = usingDataResults;
447
- myDisplayColumnList = getMyColumnList(myColumns);
440
+ setRowsData(myRows);
448
441
  // At this point, if we have data ready to render and haven't been asked
449
442
  // to NOT call setRows and setColumns, call them
450
443
  if (bCallSetRowsColumns) {
@@ -480,30 +473,28 @@ export default function ListView(props) {
480
473
  }
481
474
  }, [listContext]);
482
475
  function searchFilter(value, rows) {
476
+ const cols = arColumns.map(ele => {
477
+ return ele.id;
478
+ });
483
479
  function filterArray(el) {
484
- const bReturn = false;
485
- for (const key of Object.keys(el)) {
486
- // only search columsn that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)
487
- if (myDisplayColumnList.includes(key)) {
488
- let myVal = el[key];
489
- if (myVal !== null) {
490
- if (typeof myVal !== 'string') {
491
- myVal = myVal.toString();
492
- }
493
- if (myVal.toLowerCase().indexOf(value.toLowerCase()) >= 0) {
494
- return true;
495
- }
480
+ return Object.keys(el).some(key => {
481
+ // only search columns that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)
482
+ if (cols.includes(key)) {
483
+ const myVal = el[key];
484
+ if (myVal !== null && typeof myVal !== 'undefined') {
485
+ const strVal = String(myVal); // Ensure myVal is a string
486
+ return strVal.toLowerCase().includes(value.toLowerCase());
496
487
  }
497
488
  }
498
- }
499
- return bReturn;
489
+ return false;
490
+ });
500
491
  }
501
492
  rows = rows.filter(filterArray);
502
493
  return rows;
503
494
  }
504
495
  function _onSearch(event) {
505
496
  const searchValue = event.target.value;
506
- const filteredRows = searchFilter(searchValue, myRows.slice());
497
+ const filteredRows = searchFilter(searchValue, rowsData?.slice());
507
498
  setRows(filteredRows);
508
499
  }
509
500
  function showToast(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Paper from '@material-ui/core/Paper';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { Radio } from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nimport { filterData } from '../../helpers/simpleTableHelpers';\n\nimport './ListView.css';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { format } from '../../helpers/formatters';\n\nimport useInit from './hooks';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface ListViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n bInForm?: boolean;\n globalSearch?: boolean;\n referenceList?: any[];\n // rowClickAction?: any;\n selectionMode?: string;\n referenceType?: string;\n payload?: any;\n parameters?: any;\n compositeKeys?: any;\n showDynamicFields?: boolean;\n readonlyContextList?: any;\n value: any;\n}\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\nlet myRows: any[];\nlet myDisplayColumnList: any[];\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: any[] = [];\n\nexport default function ListView(props: ListViewProps) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields,\n readonlyContextList: selectedValues,\n value\n } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({\n ...props,\n setListContext,\n ref,\n showDynamicFields,\n xRayUid,\n cosmosTableRef\n });\n\n const thePConn = getPConnect();\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps: any = thePConn.getConfigProps() as ListViewProps;\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<any[]>([]);\n const [arColumns, setColumns] = useState<any[]>([]);\n const [response, setResponse] = useState<any[]>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState(value);\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: any[] = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility functions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'grid'\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc' ? (a, b) => descendingComparator(a, b, orderedBy) : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n function stableSort<T>(array: T[], comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n return colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n }\n\n function getUsingData(arTableData): any[] {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n return arTableData?.map((data: any) => {\n return data;\n });\n }\n\n function getMyColumnList(arCols: any[]): string[] {\n const myColList: string[] = [];\n\n arCols.forEach(col => {\n myColList.push(col.id);\n });\n\n return myColList;\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n let isDateRange = data.filterExpression?.AND;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp of Object.keys(filters.current)) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n isDateRange = filter?.AND;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields): any {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = {\n select: fields,\n filter: filterPayload.current?.query?.filter\n };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? // @ts-ignore - 3rd parameter \"context\" should be optional in getData method\n PCore.getDataApiUtils().getData(referenceList, payload)\n : // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'object'\n PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find(sel => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON.data.data : workListJSON.data;\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n myDisplayColumnList = getMyColumnList(myColumns);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n };\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: any[]) {\n function filterArray(el: any): boolean {\n const bReturn = false;\n for (const key of Object.keys(el)) {\n // only search columsn that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (myDisplayColumnList.includes(key)) {\n let myVal = el[key];\n if (myVal !== null) {\n if (typeof myVal !== 'string') {\n myVal = myVal.toString();\n }\n if (myVal.toLowerCase().indexOf(value.toLowerCase()) >= 0) {\n return true;\n }\n }\n }\n }\n\n return bReturn;\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n\n const filteredRows = searchFilter(searchValue, myRows.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n // @ts-ignore\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj.containsFilterValue !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n // @ts-ignore\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj: any = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n reqObj.$selected = checked;\n } else {\n reqObj[rowID] = value;\n reqObj.$selected = checked;\n }\n getPConnect()?.getListActions()?.setSelectedRows([reqObj]);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale() as string);\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value || '---';\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id='search'\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {!bInForm ? (\n <TableContainer id='list-view' className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id='list-view'>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && <TableCell />}\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n />\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n checked={selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID])}\n value={row[rowID]}\n />\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && <div className='no-records'>No records found.</div>}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n id='pagination'\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Paper from '@material-ui/core/Paper';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { Radio } from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nimport { filterData } from '../../helpers/simpleTableHelpers';\n\nimport './ListView.css';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { format } from '../../helpers/formatters';\n\nimport useInit from './hooks';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface ListViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n bInForm?: boolean;\n globalSearch?: boolean;\n referenceList?: any[];\n // rowClickAction?: any;\n selectionMode?: string;\n referenceType?: string;\n payload?: any;\n parameters?: any;\n compositeKeys?: any;\n showDynamicFields?: boolean;\n readonlyContextList?: any;\n value: any;\n}\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\nlet myRows: any[];\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: any[] = [];\n\nexport default function ListView(props: ListViewProps) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields,\n readonlyContextList: selectedValues,\n value\n } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({\n ...props,\n setListContext,\n ref,\n showDynamicFields,\n xRayUid,\n cosmosTableRef\n });\n\n const thePConn = getPConnect();\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps: any = thePConn.getConfigProps() as ListViewProps;\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<any[]>([]);\n const [rowsData, setRowsData] = useState<any[]>([]);\n const [arColumns, setColumns] = useState<any[]>([]);\n const [response, setResponse] = useState<any[]>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState(value);\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: any[] = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility functions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'grid'\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc' ? (a, b) => descendingComparator(a, b, orderedBy) : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n function stableSort<T>(array: T[], comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n return colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n }\n\n function getUsingData(arTableData): any[] {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n return arTableData?.map((data: any) => {\n return data;\n });\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n let isDateRange = data.filterExpression?.AND;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp of Object.keys(filters.current)) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n isDateRange = filter?.AND;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields): any {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = {\n select: fields,\n filter: filterPayload.current?.query?.filter\n };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? // @ts-ignore - 3rd parameter \"context\" should be optional in getData method\n PCore.getDataApiUtils().getData(referenceList, payload)\n : // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'object'\n PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find(sel => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON.data.data : workListJSON.data;\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n\n setRowsData(myRows);\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n };\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: any[]) {\n const cols = arColumns.map(ele => {\n return ele.id;\n });\n\n function filterArray(el: any): boolean {\n return Object.keys(el).some(key => {\n // only search columns that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (cols.includes(key)) {\n const myVal = el[key];\n if (myVal !== null && typeof myVal !== 'undefined') {\n const strVal = String(myVal); // Ensure myVal is a string\n return strVal.toLowerCase().includes(value.toLowerCase());\n }\n }\n return false;\n });\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n const filteredRows = searchFilter(searchValue, rowsData?.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n // @ts-ignore\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj.containsFilterValue !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n // @ts-ignore\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj: any = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n reqObj.$selected = checked;\n } else {\n reqObj[rowID] = value;\n reqObj.$selected = checked;\n }\n getPConnect()?.getListActions()?.setSelectedRows([reqObj]);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale() as string);\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value || '---';\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id='search'\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {!bInForm ? (\n <TableContainer id='list-view' className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id='list-view'>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && <TableCell />}\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n />\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n checked={selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID])}\n value={row[rowID]}\n />\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && <div className='no-records'>No records found.</div>}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n id='pagination'\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/react-sdk-components",
3
- "version": "0.24.3",
3
+ "version": "0.24.4",
4
4
  "description": "React SDK Infrastructure: bridge and components",
5
5
  "_filesComment": "During packing, npm ignores everything NOT in the files list",
6
6
  "files": [