@muraai/mnl-form 0.0.1-alpha-0874b9a → 0.0.1-alpha-d61aa5d

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.
@@ -22,9 +22,17 @@ export class ScoringService {
22
22
  const questions = (category.fieldGroup || []).filter(q => q.props?.scoring);
23
23
  if (questions.length === 0)
24
24
  return;
25
- const perQuestionWeight = categoryWeight / questions.length;
25
+ const scoredQuestions = questions.filter(q => q.props?.hasScoreImpact !== false);
26
+ if (scoredQuestions.length === 0) {
27
+ categoryResults[categoryLabel] = {
28
+ score: 0,
29
+ weight: categoryWeight,
30
+ };
31
+ return;
32
+ }
33
+ const perQuestionWeight = categoryWeight / scoredQuestions.length;
26
34
  let categoryScore = 0;
27
- for (const q of questions) {
35
+ for (const q of scoredQuestions) {
28
36
  const parentKey = category.key;
29
37
  const nestedPath = Array.isArray(parentKey)
30
38
  ? [...parentKey, q.key]
@@ -84,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
84
92
  type: Injectable,
85
93
  args: [{ providedIn: 'root' }]
86
94
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUEyQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUF1RDtRQUN6RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQXNELEVBQUUsQ0FBQztRQUU1RSxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXFELEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFFbkQsNERBQTREO1lBQzVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsMkRBQTJEO2dCQUMzRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFD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QUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7K0dBNUZVLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2NvcmluZ1NlcnZpY2Uge1xuXG4gIHVwZGF0ZVNjb3JlKG1vZGVsOiBhbnksIGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY2FsY3VsYXRlU2NvcmUobW9kZWwsIGZpZWxkcyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gcHJpdmF0ZSBjYWxjdWxhdGVTY29yZShtb2RlbDogYW55LCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10gfCBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZ1tdKSB7XG4gIGxldCB0b3RhbFNjb3JlID0gMDtcbiAgbGV0IGNhdGVnb3J5UmVzdWx0czogUmVjb3JkPHN0cmluZywgeyBzY29yZTogbnVtYmVyOyB3ZWlnaHQ6IG51bWJlciB9PiA9IHt9O1xuXG4gIGNvbnN0IHByb2Nlc3NDYXRlZ29yeSA9IChjYXRlZ29yeTogRm9ybWx5RmllbGRDb25maWcgfCBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgIGNvbnN0IGNhdGVnb3J5TGFiZWwgPSBjYXRlZ29yeS5wcm9wcz8ubGFiZWw7XG4gICAgY29uc3QgY2F0ZWdvcnlXZWlnaHQgPSBjYXRlZ29yeS5wcm9wcz8ud2VpZ2h0ID8/IDA7XG5cbiAgICAvLyBPbmx5IHRyZWF0IGFzIHNjb3JpbmcgY2F0ZWdvcnkgaWYgaXQgaGFzIGEgbGFiZWwgKyB3ZWlnaHRcbiAgICBpZiAoIWNhdGVnb3J5TGFiZWwgfHwgIWNhdGVnb3J5V2VpZ2h0KSB7XG4gICAgICAvLyBTdGlsbCBuZWVkIHRvIGdvIGRlZXBlciBpbiBjYXNlIGNoaWxkcmVuIGhhdmUgY2F0ZWdvcmllc1xuICAgICAgaWYgKGNhdGVnb3J5LmZpZWxkR3JvdXA/Lmxlbmd0aCkge1xuICAgICAgICBjYXRlZ29yeS5maWVsZEdyb3VwLmZvckVhY2gocHJvY2Vzc0NhdGVnb3J5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVzdGlvbnMgPSAoY2F0ZWdvcnkuZmllbGRHcm91cCB8fCBbXSkuZmlsdGVyKHEgPT4gcS5wcm9wcz8uc2NvcmluZyk7XG4gICAgaWYgKHF1ZXN0aW9ucy5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgIGNvbnN0IHBlclF1ZXN0aW9uV2VpZ2h0ID0gY2F0ZWdvcnlXZWlnaHQgLyBxdWVzdGlvbnMubGVuZ3RoO1xuICAgIGxldCBjYXRlZ29yeVNjb3JlID0gMDtcblxuICAgIGZvciAoY29uc3QgcSBvZiBxdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IHBhcmVudEtleSA9IGNhdGVnb3J5LmtleSBhcyBhbnk7XG4gICAgICBjb25zdCBuZXN0ZWRQYXRoID0gQXJyYXkuaXNBcnJheShwYXJlbnRLZXkpXG4gICAgICAgID8gWy4uLihwYXJlbnRLZXkgYXMgYW55W10pLCBxLmtleSBhcyBhbnldXG4gICAgICAgIDogW3BhcmVudEtleSBhcyBhbnksIHEua2V5IGFzIGFueV07XG4gICAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLmdldE5lc3RlZFZhbHVlKG1vZGVsLCBuZXN0ZWRQYXRoIGFzIGFueSk7XG5cbiAgICAgIGNvbnN0IHNjb3JpbmcgPSBxLnByb3BzPy5zY29yaW5nO1xuICAgICAgaWYgKCFzY29yaW5nKSBjb250aW51ZTtcblxuICAgICAgbGV0IGNvcnJlY3QgPSBmYWxzZTtcblxuICAgICAgc3dpdGNoIChzY29yaW5nLmNyaXRlcmlhKSB7XG4gICAgICAgIGNhc2UgJ2F0dGVtcHRlZCc6XG4gICAgICAgICAgY29ycmVjdCA9XG4gICAgICAgICAgICBhbnN3ZXIgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGFuc3dlciAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAodHlwZW9mIGFuc3dlciA9PT0gJ3N0cmluZycgPyBhbnN3ZXIudHJpbSgpICE9PSAnJyA6IHRydWUpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2V4YWN0TWF0Y2gnOlxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNjb3JpbmcuYW5zd2VyKSkge1xuICAgICAgICAgICAgY29ycmVjdCA9IHNjb3JpbmcuYW5zd2VyLmluY2x1ZGVzKGFuc3dlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgICBjb25zdCBudW0gPSB0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJyA/IGFuc3dlciA6IE51bWJlcihhbnN3ZXIpO1xuICAgICAgICAgIGNvcnJlY3QgPVxuICAgICAgICAgICAgTnVtYmVyLmlzRmluaXRlKG51bSkgJiZcbiAgICAgICAgICAgIG51bSA+PSBzY29yaW5nLmFuc3dlci5taW4gJiZcbiAgICAgICAgICAgIG51bSA8PSBzY29yaW5nLmFuc3dlci5tYXg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb3JyZWN0KSB7XG4gICAgICAgIGNhdGVnb3J5U2NvcmUgKz0gcGVyUXVlc3Rpb25XZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdG90YWxTY29yZSArPSBjYXRlZ29yeVNjb3JlO1xuICAgIGNhdGVnb3J5UmVzdWx0c1tjYXRlZ29yeUxhYmVsXSA9IHtcbiAgICAgIHNjb3JlOiBjYXRlZ29yeVNjb3JlLFxuICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIC8vIHN0YXJ0IHJlY3Vyc2l2ZSB3YWxrXG4gIGZpZWxkcy5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0b3RhbFNjb3JlLFxuICAgIGNhdGVnb3J5UmVzdWx0cyxcbiAgfTtcbn1cblxuXG4gIHByaXZhdGUgZ2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIGtleTogc3RyaW5nIHwgbnVtYmVyIHwgKHN0cmluZyB8IG51bWJlcilbXSk6IGFueSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5KSkge1xuICAgICAgcmV0dXJuIGtleS5yZWR1Y2UoKGN1cnJlbnQsIGspID0+IGN1cnJlbnQ/LltrXSwgb2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iaj8uW2tleV07XG4gIH1cbn0iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUEyQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUF1RDtRQUN6RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQXNELEVBQUUsQ0FBQztRQUU1RSxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXFELEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFFbkQsNERBQTREO1lBQzVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsMkRBQTJEO2dCQUMzRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFD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QVU7WUFDVixlQUFlO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBR1MsY0FBYyxDQUFDLEdBQVEsRUFBRSxHQUEwQztRQUN6RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDOytHQXJHVSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjb3JpbmdTZXJ2aWNlIHtcblxuICB1cGRhdGVTY29yZShtb2RlbDogYW55LCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNhbGN1bGF0ZVNjb3JlKG1vZGVsLCBmaWVsZHMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuIHByaXZhdGUgY2FsY3VsYXRlU2NvcmUobW9kZWw6IGFueSwgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSkge1xuICBsZXQgdG90YWxTY29yZSA9IDA7XG4gIGxldCBjYXRlZ29yeVJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIHsgc2NvcmU6IG51bWJlcjsgd2VpZ2h0OiBudW1iZXIgfT4gPSB7fTtcblxuICBjb25zdCBwcm9jZXNzQ2F0ZWdvcnkgPSAoY2F0ZWdvcnk6IEZvcm1seUZpZWxkQ29uZmlnIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICBjb25zdCBjYXRlZ29yeUxhYmVsID0gY2F0ZWdvcnkucHJvcHM/LmxhYmVsO1xuICAgIGNvbnN0IGNhdGVnb3J5V2VpZ2h0ID0gY2F0ZWdvcnkucHJvcHM/LndlaWdodCA/PyAwO1xuXG4gICAgLy8gT25seSB0cmVhdCBhcyBzY29yaW5nIGNhdGVnb3J5IGlmIGl0IGhhcyBhIGxhYmVsICsgd2VpZ2h0XG4gICAgaWYgKCFjYXRlZ29yeUxhYmVsIHx8ICFjYXRlZ29yeVdlaWdodCkge1xuICAgICAgLy8gU3RpbGwgbmVlZCB0byBnbyBkZWVwZXIgaW4gY2FzZSBjaGlsZHJlbiBoYXZlIGNhdGVnb3JpZXNcbiAgICAgIGlmIChjYXRlZ29yeS5maWVsZEdyb3VwPy5sZW5ndGgpIHtcbiAgICAgICAgY2F0ZWdvcnkuZmllbGRHcm91cC5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlc3Rpb25zID0gKGNhdGVnb3J5LmZpZWxkR3JvdXAgfHwgW10pLmZpbHRlcihxID0+IHEucHJvcHM/LnNjb3JpbmcpO1xuICAgIGlmIChxdWVzdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBzY29yZWRRdWVzdGlvbnMgPSBxdWVzdGlvbnMuZmlsdGVyKHEgPT4gcS5wcm9wcz8uaGFzU2NvcmVJbXBhY3QgIT09IGZhbHNlKTtcbiAgICBpZiAoc2NvcmVkUXVlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2F0ZWdvcnlSZXN1bHRzW2NhdGVnb3J5TGFiZWxdID0ge1xuICAgICAgICBzY29yZTogMCxcbiAgICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGVyUXVlc3Rpb25XZWlnaHQgPSBjYXRlZ29yeVdlaWdodCAvIHNjb3JlZFF1ZXN0aW9ucy5sZW5ndGg7XG4gICAgbGV0IGNhdGVnb3J5U2NvcmUgPSAwO1xuXG4gICAgZm9yIChjb25zdCBxIG9mIHNjb3JlZFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgcGFyZW50S2V5ID0gY2F0ZWdvcnkua2V5IGFzIGFueTtcbiAgICAgIGNvbnN0IG5lc3RlZFBhdGggPSBBcnJheS5pc0FycmF5KHBhcmVudEtleSlcbiAgICAgICAgPyBbLi4uKHBhcmVudEtleSBhcyBhbnlbXSksIHEua2V5IGFzIGFueV1cbiAgICAgICAgOiBbcGFyZW50S2V5IGFzIGFueSwgcS5rZXkgYXMgYW55XTtcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuZ2V0TmVzdGVkVmFsdWUobW9kZWwsIG5lc3RlZFBhdGggYXMgYW55KTtcblxuICAgICAgY29uc3Qgc2NvcmluZyA9IHEucHJvcHM/LnNjb3Jpbmc7XG4gICAgICBpZiAoIXNjb3JpbmcpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgY29ycmVjdCA9IGZhbHNlO1xuXG4gICAgICBzd2l0Y2ggKHNjb3JpbmcuY3JpdGVyaWEpIHtcbiAgICAgICAgY2FzZSAnYXR0ZW1wdGVkJzpcbiAgICAgICAgICBjb3JyZWN0ID1cbiAgICAgICAgICAgIGFuc3dlciAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYW5zd2VyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICh0eXBlb2YgYW5zd2VyID09PSAnc3RyaW5nJyA/IGFuc3dlci50cmltKCkgIT09ICcnIDogdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZXhhY3RNYXRjaCc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2NvcmluZy5hbnN3ZXIpKSB7XG4gICAgICAgICAgICBjb3JyZWN0ID0gc2NvcmluZy5hbnN3ZXIuaW5jbHVkZXMoYW5zd2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmFuZ2UnOlxuICAgICAgICAgIGNvbnN0IG51bSA9IHR5cGVvZiBhbnN3ZXIgPT09ICdudW1iZXInID8gYW5zd2VyIDogTnVtYmVyKGFuc3dlcik7XG4gICAgICAgICAgY29ycmVjdCA9XG4gICAgICAgICAgICBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJlxuICAgICAgICAgICAgbnVtID49IHNjb3JpbmcuYW5zd2VyLm1pbiAmJlxuICAgICAgICAgICAgbnVtIDw9IHNjb3JpbmcuYW5zd2VyLm1heDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKGNvcnJlY3QpIHtcbiAgICAgICAgY2F0ZWdvcnlTY29yZSArPSBwZXJRdWVzdGlvbldlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b3RhbFNjb3JlICs9IGNhdGVnb3J5U2NvcmU7XG4gICAgY2F0ZWdvcnlSZXN1bHRzW2NhdGVnb3J5TGFiZWxdID0ge1xuICAgICAgc2NvcmU6IGNhdGVnb3J5U2NvcmUsXG4gICAgICB3ZWlnaHQ6IGNhdGVnb3J5V2VpZ2h0LFxuICAgIH07XG4gIH07XG5cbiAgLy8gc3RhcnQgcmVjdXJzaXZlIHdhbGtcbiAgZmllbGRzLmZvckVhY2gocHJvY2Vzc0NhdGVnb3J5KTtcblxuICByZXR1cm4ge1xuICAgIHRvdGFsU2NvcmUsXG4gICAgY2F0ZWdvcnlSZXN1bHRzLFxuICB9O1xufVxuXG5cbiAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwga2V5OiBzdHJpbmcgfCBudW1iZXIgfCAoc3RyaW5nIHwgbnVtYmVyKVtdKTogYW55IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShrZXkpKSB7XG4gICAgICByZXR1cm4ga2V5LnJlZHVjZSgoY3VycmVudCwgaykgPT4gY3VycmVudD8uW2tdLCBvYmopO1xuICAgIH1cbiAgICByZXR1cm4gb2JqPy5ba2V5XTtcbiAgfVxufSJdfQ==
@@ -4889,9 +4889,17 @@ class ScoringService {
4889
4889
  const questions = (category.fieldGroup || []).filter(q => q.props?.scoring);
4890
4890
  if (questions.length === 0)
4891
4891
  return;
4892
- const perQuestionWeight = categoryWeight / questions.length;
4892
+ const scoredQuestions = questions.filter(q => q.props?.hasScoreImpact !== false);
4893
+ if (scoredQuestions.length === 0) {
4894
+ categoryResults[categoryLabel] = {
4895
+ score: 0,
4896
+ weight: categoryWeight,
4897
+ };
4898
+ return;
4899
+ }
4900
+ const perQuestionWeight = categoryWeight / scoredQuestions.length;
4893
4901
  let categoryScore = 0;
4894
- for (const q of questions) {
4902
+ for (const q of scoredQuestions) {
4895
4903
  const parentKey = category.key;
4896
4904
  const nestedPath = Array.isArray(parentKey)
4897
4905
  ? [...parentKey, q.key]