@etsoo/materialui 1.2.76 → 1.2.77

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.
@@ -91,7 +91,10 @@ export interface ViewPageProps<T extends DataTypes.StringRecord> extends Omit<Co
91
91
  /**
92
92
  * Operation message handler
93
93
  */
94
- operationMessageHandler?: OperationMessageHandler | string[];
94
+ operationMessageHandler?: [
95
+ id: number | undefined,
96
+ handler: OperationMessageHandler | string[]
97
+ ];
95
98
  }
96
99
  /**
97
100
  * View page
@@ -120,15 +120,18 @@ export function ViewPage(props) {
120
120
  const handler = (user, isSelf, message) => {
121
121
  if (operationMessageHandler == null)
122
122
  return;
123
- if (Array.isArray(operationMessageHandler)) {
124
- if (!operationMessageHandler.includes(message.operationType))
125
- return;
126
- }
127
- else {
128
- if (operationMessageHandler(user, isSelf, message) === false)
129
- return;
123
+ const [id, handler] = operationMessageHandler;
124
+ if ((id == null && message.id == null) || id === message.id) {
125
+ if (Array.isArray(handler)) {
126
+ if (!handler.includes(message.operationType))
127
+ return;
128
+ }
129
+ else {
130
+ if (handler(user, isSelf, message) === false)
131
+ return;
132
+ }
133
+ refresh();
130
134
  }
131
- refresh();
132
135
  };
133
136
  MessageUtils.onOperationMessage(handler);
134
137
  const refreshHandler = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/materialui",
3
- "version": "1.2.76",
3
+ "version": "1.2.77",
4
4
  "description": "TypeScript Material-UI Implementation",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -165,7 +165,10 @@ export interface ViewPageProps<T extends DataTypes.StringRecord>
165
165
  /**
166
166
  * Operation message handler
167
167
  */
168
- operationMessageHandler?: OperationMessageHandler | string[];
168
+ operationMessageHandler?: [
169
+ id: number | undefined,
170
+ handler: OperationMessageHandler | string[]
171
+ ];
169
172
  }
170
173
 
171
174
  function formatItemData(fieldData: unknown): string | undefined {
@@ -288,12 +291,16 @@ export function ViewPage<T extends DataTypes.StringRecord>(
288
291
  React.useEffect(() => {
289
292
  const handler: OperationMessageHandler = (user, isSelf, message) => {
290
293
  if (operationMessageHandler == null) return;
291
- if (Array.isArray(operationMessageHandler)) {
292
- if (!operationMessageHandler.includes(message.operationType)) return;
293
- } else {
294
- if (operationMessageHandler(user, isSelf, message) === false) return;
294
+
295
+ const [id, handler] = operationMessageHandler;
296
+ if ((id == null && message.id == null) || id === message.id) {
297
+ if (Array.isArray(handler)) {
298
+ if (!handler.includes(message.operationType)) return;
299
+ } else {
300
+ if (handler(user, isSelf, message) === false) return;
301
+ }
302
+ refresh();
295
303
  }
296
- refresh();
297
304
  };
298
305
  MessageUtils.onOperationMessage(handler);
299
306