dce-reactkit 3.2.2-beta.46 → 3.2.2-beta.47

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/dist/cjs/index.js CHANGED
@@ -3131,34 +3131,34 @@ const LogReviewer = (props) => {
3131
3131
  /*------------------------------------------------------------------------*/
3132
3132
  /* Setup */
3133
3133
  /*------------------------------------------------------------------------*/
3134
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
3134
+ var _a, _b, _c, _d, _e, _f;
3135
3135
  /* -------------- Props ------------- */
3136
3136
  // Destructure props
3137
3137
  const { LogMetadata, onClose, } = props;
3138
- // Add built-in LogMetadata
3139
- // > Add "uncategorized" subcontext to each context
3140
- Object.keys((_a = LogMetadata.Context) !== null && _a !== void 0 ? _a : {}).forEach((context) => {
3141
- if (
3142
- // Context exists
3143
- LogMetadata.Context
3144
- // Context has children already
3145
- && typeof LogMetadata.Context[context] !== 'string') {
3146
- LogMetadata.Context[context][LogBuiltInMetadata.Context.Uncategorized] = (LogBuiltInMetadata.Context.Uncategorized);
3147
- }
3148
- });
3149
- // > Add built-in contexts
3150
- LogMetadata.Context = ((_b = LogMetadata.Context) !== null && _b !== void 0 ? _b : {});
3151
- Object.keys(LogBuiltInMetadata.Context).forEach((context) => {
3152
- if (LogMetadata.Context) {
3153
- LogMetadata.Context[context] = context;
3154
- }
3138
+ // Create complete map of contexts
3139
+ const contextMap = {};
3140
+ [
3141
+ ((_a = LogMetadata.Context) !== null && _a !== void 0 ? _a : {}),
3142
+ LogBuiltInMetadata.Context,
3143
+ ].forEach((contextMap) => {
3144
+ Object.keys(contextMap).forEach((context) => {
3145
+ // Add context
3146
+ contextMap[context] = context;
3147
+ // If context has children, add an "uncategorized" subcontext
3148
+ if (typeof contextMap[context] !== 'string') {
3149
+ contextMap[context][LogBuiltInMetadata.Context.Uncategorized] = (LogBuiltInMetadata.Context.Uncategorized);
3150
+ }
3151
+ });
3155
3152
  });
3156
- // > Add built-in targets
3157
- LogMetadata.Target = ((_c = LogMetadata.Target) !== null && _c !== void 0 ? _c : {});
3158
- Object.keys(LogBuiltInMetadata.Target).forEach((target) => {
3159
- if (LogMetadata.Target) {
3160
- LogMetadata.Target[target] = target;
3161
- }
3153
+ // Create complete map of targets
3154
+ const targetMap = {};
3155
+ [
3156
+ ((_b = LogMetadata.Target) !== null && _b !== void 0 ? _b : {}),
3157
+ LogBuiltInMetadata.Target,
3158
+ ].forEach((targetMap) => {
3159
+ Object.keys(targetMap).forEach((target) => {
3160
+ targetMap[target] = target;
3161
+ });
3162
3162
  });
3163
3163
  /* -------------- State ------------- */
3164
3164
  // Create initial date filter state
@@ -3179,7 +3179,7 @@ const LogReviewer = (props) => {
3179
3179
  };
3180
3180
  // Create initial context filter state
3181
3181
  const initContextFilterState = {};
3182
- Object.keys((_d = LogMetadata.Context) !== null && _d !== void 0 ? _d : {}).forEach((context) => {
3182
+ Object.keys((_c = LogMetadata.Context) !== null && _c !== void 0 ? _c : {}).forEach((context) => {
3183
3183
  var _a, _b;
3184
3184
  const contextValue = ((_a = LogMetadata.Context) !== null && _a !== void 0 ? _a : {})[context];
3185
3185
  if (typeof contextValue === 'string') {
@@ -3201,7 +3201,7 @@ const LogReviewer = (props) => {
3201
3201
  });
3202
3202
  // Create initial tag filter state
3203
3203
  const initTagFilterState = {};
3204
- Object.keys((_e = LogMetadata.Tag) !== null && _e !== void 0 ? _e : {}).forEach((tag) => {
3204
+ Object.keys((_d = LogMetadata.Tag) !== null && _d !== void 0 ? _d : {}).forEach((tag) => {
3205
3205
  initTagFilterState[tag] = false;
3206
3206
  });
3207
3207
  // Create advanced filter state
@@ -3228,7 +3228,7 @@ const LogReviewer = (props) => {
3228
3228
  target: {},
3229
3229
  action: {},
3230
3230
  };
3231
- Object.values((_f = LogMetadata.Target) !== null && _f !== void 0 ? _f : {}).forEach((target) => {
3231
+ Object.values((_e = LogMetadata.Target) !== null && _e !== void 0 ? _e : {}).forEach((target) => {
3232
3232
  initActionErrorFilterState.target[target] = true;
3233
3233
  });
3234
3234
  Object.values(LogAction$1).forEach((action) => {
@@ -3422,7 +3422,7 @@ const LogReviewer = (props) => {
3422
3422
  initDateFilterState,
3423
3423
  initTagFilterState,
3424
3424
  });
3425
- } }, "Reset All"))));
3425
+ } }, "Reset"))));
3426
3426
  // Filter drawer
3427
3427
  let filterDrawer;
3428
3428
  if (expandedFilterDrawer) {
@@ -3450,10 +3450,16 @@ const LogReviewer = (props) => {
3450
3450
  }
3451
3451
  else if (expandedFilterDrawer === FilterDrawer.Context) {
3452
3452
  // Create item picker items
3453
- const pickableItems = (Object.keys((_g = LogMetadata.Context) !== null && _g !== void 0 ? _g : {})
3454
- .map((context) => {
3455
- var _a;
3456
- const value = ((_a = LogMetadata.Context) !== null && _a !== void 0 ? _a : {})[context];
3453
+ const builtInPickableItem = {
3454
+ id: '_',
3455
+ name: 'Auto-logged',
3456
+ isGroup: true,
3457
+ children: [],
3458
+ };
3459
+ const pickableItems = [];
3460
+ Object.keys(contextMap)
3461
+ .forEach((context) => {
3462
+ const value = (contextMap)[context];
3457
3463
  if (typeof value === 'string') {
3458
3464
  // No subcategories
3459
3465
  const item = {
@@ -3462,13 +3468,24 @@ const LogReviewer = (props) => {
3462
3468
  isGroup: false,
3463
3469
  checked: !!contextFilterState[context],
3464
3470
  };
3465
- return item;
3471
+ // Add built-in items to its own folder
3472
+ const isBuiltIn = context in LogBuiltInMetadata.Context;
3473
+ if (isBuiltIn) {
3474
+ // Add to built-in pickable item
3475
+ builtInPickableItem.children.push(item);
3476
+ }
3477
+ else {
3478
+ // Add to pickable items list
3479
+ pickableItems.push(item);
3480
+ }
3466
3481
  }
3467
3482
  // Has subcategories
3468
3483
  const children = (Object.keys(value)
3484
+ // Remove parent name
3469
3485
  .filter((subcontext) => {
3470
3486
  return subcontext !== '_';
3471
3487
  })
3488
+ // Create child pickable items
3472
3489
  .map((subcontext) => {
3473
3490
  return {
3474
3491
  id: subcontext,
@@ -3483,19 +3500,32 @@ const LogReviewer = (props) => {
3483
3500
  isGroup: true,
3484
3501
  children,
3485
3502
  };
3486
- return item;
3487
- }));
3503
+ pickableItems.push(item);
3504
+ });
3505
+ // Add built-in contexts to end ofl ist
3506
+ pickableItems.push(builtInPickableItem);
3488
3507
  // Create filter UI
3489
3508
  filterDrawer = (React__default["default"].createElement(ItemPicker, { title: "Context", items: pickableItems, onChanged: (updatedItems) => {
3490
3509
  // Update our state
3491
3510
  updatedItems.forEach((pickableItem) => {
3492
3511
  if (pickableItem.isGroup) {
3493
3512
  // Has subcontexts
3494
- pickableItem.children.forEach((subcontextItem) => {
3495
- if (!subcontextItem.isGroup) {
3496
- contextFilterState[pickableItem.id][subcontextItem.id] = (subcontextItem.checked);
3497
- }
3498
- });
3513
+ if (pickableItem.id === '_') {
3514
+ // Built-in
3515
+ // Treat as if these were top-level contexts
3516
+ pickableItem.children.forEach((subcontextItem) => {
3517
+ contextFilterState[subcontextItem.id] = ('checked' in subcontextItem
3518
+ && subcontextItem.checked);
3519
+ });
3520
+ }
3521
+ else {
3522
+ // Not built-in
3523
+ pickableItem.children.forEach((subcontextItem) => {
3524
+ if (!subcontextItem.isGroup) {
3525
+ contextFilterState[pickableItem.id][subcontextItem.id] = (subcontextItem.checked);
3526
+ }
3527
+ });
3528
+ }
3499
3529
  }
3500
3530
  else {
3501
3531
  // No subcontexts
@@ -3510,17 +3540,19 @@ const LogReviewer = (props) => {
3510
3540
  }
3511
3541
  else if (expandedFilterDrawer === FilterDrawer.Tag) {
3512
3542
  // Create filter UI
3513
- filterDrawer = (React__default["default"].createElement(TabBox, { title: "Tags" }, Object.keys((_h = LogMetadata.Tag) !== null && _h !== void 0 ? _h : {})
3514
- .map((tag, i) => {
3515
- const description = genHumanReadableName(tag);
3516
- return (React__default["default"].createElement(CheckboxButton, { id: `LogReviewer-tag-${tag}-checkbox`, text: description, ariaLabel: `require that logs be tagged with "${description}" or any other selected tag`, noMarginOnRight: i === Object.keys(tagFilterState).length - 1, checked: tagFilterState[tag], onChanged: (checked) => {
3517
- tagFilterState[tag] = checked;
3518
- dispatch({
3519
- type: ActionType.UpdateTagFilterState,
3520
- tagFilterState,
3521
- });
3522
- } }));
3523
- })));
3543
+ filterDrawer = (React__default["default"].createElement(TabBox, { title: "Tags" },
3544
+ React__default["default"].createElement("div", null, "If any are selected, logs must contain at least one but not necessarily all of the selected tags."),
3545
+ Object.keys((_f = LogMetadata.Tag) !== null && _f !== void 0 ? _f : {})
3546
+ .map((tag, i) => {
3547
+ const description = genHumanReadableName(tag);
3548
+ return (React__default["default"].createElement(CheckboxButton, { id: `LogReviewer-tag-${tag}-checkbox`, text: description, ariaLabel: `require that logs be tagged with "${description}" or any other selected tag`, noMarginOnRight: i === Object.keys(tagFilterState).length - 1, checked: tagFilterState[tag], onChanged: (checked) => {
3549
+ tagFilterState[tag] = checked;
3550
+ dispatch({
3551
+ type: ActionType.UpdateTagFilterState,
3552
+ tagFilterState,
3553
+ });
3554
+ } }));
3555
+ })));
3524
3556
  }
3525
3557
  else if (expandedFilterDrawer === FilterDrawer.Action) {
3526
3558
  // Create filter UI
@@ -3561,21 +3593,18 @@ const LogReviewer = (props) => {
3561
3593
  });
3562
3594
  } }));
3563
3595
  })),
3564
- React__default["default"].createElement(ButtonInputGroup, { label: "Target" },
3565
- (Object.keys((_j = LogMetadata.Target) !== null && _j !== void 0 ? _j : {}).length === 0) && (React__default["default"].createElement("div", null, "This app does not have any targets yet.")),
3566
- Object.keys((_k = LogMetadata.Target) !== null && _k !== void 0 ? _k : {})
3567
- .map((target, i) => {
3568
- var _a;
3569
- const description = genHumanReadableName(target);
3570
- return (React__default["default"].createElement(CheckboxButton, { key: target, id: `LogReviewer-target-${target}-checkbox`, text: description, ariaLabel: `include logs with target "${description}" in results`, checked: actionErrorFilterState.target[target], onChanged: (checked) => {
3571
- actionErrorFilterState.target[target] = checked;
3572
- console.log(actionErrorFilterState, target, checked);
3573
- dispatch({
3574
- type: ActionType.UpdateActionErrorFilterState,
3575
- actionErrorFilterState,
3576
- });
3577
- }, noMarginOnRight: i === Object.keys((_a = LogMetadata.Target) !== null && _a !== void 0 ? _a : {}).length - 1 }));
3578
- })))),
3596
+ React__default["default"].createElement(ButtonInputGroup, { label: "Target" }, Object.keys(targetMap)
3597
+ .map((target, i) => {
3598
+ const description = genHumanReadableName(target);
3599
+ return (React__default["default"].createElement(CheckboxButton, { key: target, id: `LogReviewer-target-${target}-checkbox`, text: description, ariaLabel: `include logs with target "${description}" in results`, checked: actionErrorFilterState.target[target], onChanged: (checked) => {
3600
+ actionErrorFilterState.target[target] = checked;
3601
+ console.log(actionErrorFilterState, target, checked);
3602
+ dispatch({
3603
+ type: ActionType.UpdateActionErrorFilterState,
3604
+ actionErrorFilterState,
3605
+ });
3606
+ }, noMarginOnRight: i === Object.keys(targetMap).length - 1 }));
3607
+ })))),
3579
3608
  (actionErrorFilterState.type === undefined
3580
3609
  || actionErrorFilterState.type === LogType$1.Error) && (React__default["default"].createElement(TabBox, { title: "Error Log Details" },
3581
3610
  React__default["default"].createElement("div", { className: "input-group mb-2" },