@nebularstreams/libmui 2.5.14 → 2.5.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nebularstreams/libmui",
3
3
  "description": "Micro UI based on Mithril",
4
- "version": "2.5.14",
4
+ "version": "2.5.15",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
7
7
  "scripts": {
@@ -240,6 +240,23 @@ const
240
240
  }
241
241
  ),
242
242
 
243
+ checkWhen = (whenner, parameters, auxParameters, targetParameters) => {
244
+ return typeof whenner === "function"
245
+ ? whenner(parameters, auxParameters)
246
+ : typeof whenner === "string"
247
+ ? !!targetParameters[whenner]
248
+ : whenner.key
249
+ ? whenner.value
250
+ ? whenner.not
251
+ ? targetParameters[whenner.key] !== whenner.value
252
+ : targetParameters[whenner.key] == whenner.value
253
+ : whenner.not
254
+ ? !targetParameters[whenner.key]
255
+ : !!targetParameters[whenner]
256
+ : false;
257
+
258
+ },
259
+
243
260
  ParameterTable = defineWidget(
244
261
  ({attrs, state, children}) => {
245
262
 
@@ -261,16 +278,21 @@ const
261
278
 
262
279
  const
263
280
  metaDef = meta[metaKey],
264
- whenner = metaDef.when || (when ? when[metaKey] : undefined);
281
+ whenner = metaDef.when || (when ? when[metaKey] : undefined),
282
+ isObj = typeof metaDef === "object" && !metaDef.length,
283
+ targetSource = isObj && ((metaDef.auxTarget && !metaDef.target) || attrs.auxTargetIsDefault)
284
+ ? auxParameters : parameters,
285
+
286
+ targetParameters = isObj && (metaDef.target || metaDef.forTarget)
287
+ ? targetSource[metaDef.target || targetSource.forTarget]
288
+ : targetSource;
265
289
 
266
- if ((whenner && !whenner(parameters, auxParameters))) {
290
+ if ((whenner && !checkWhen(whenner, parameters, auxParameters, targetParameters))) {
267
291
  return [];
268
292
  }
269
293
 
270
294
  const
271
295
 
272
- isObj = typeof metaDef === "object" && !metaDef.length,
273
-
274
296
  isWidget = isObj && metaDef.widget,
275
297
  UPDATECODE = isObj ? metaDef.update || crit[metaKey] : false,
276
298
 
@@ -298,14 +320,8 @@ const
298
320
  isNotice = isObj && metaDef.type === "notice",
299
321
  isAsset = isObj && metaDef.type === "asset",
300
322
 
301
- size = isSeparator ? "col-12" : "col-" + (metaDef.size || sizes[metaKey] || 4),
302
-
303
- targetSource = isObj && ((metaDef.auxTarget && !metaDef.target) || attrs.auxTargetIsDefault)
304
- ? auxParameters : parameters,
323
+ size = isSeparator ? "col-12" : "col-" + (metaDef.size || sizes[metaKey] || 4);
305
324
 
306
- targetParameters = isObj && (metaDef.target || metaDef.forTarget)
307
- ? targetSource[metaDef.target || targetSource.forTarget]
308
- : targetSource;
309
325
 
310
326
  // TODO
311
327
  if (!targetParameters) return [];