codicent-app-sdk 0.5.8 → 0.6.1
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/components/LanguageSelector.d.ts.map +1 -1
- package/dist/cjs/components/LanguageSelector.js +1 -1
- package/dist/cjs/components/ListView.d.ts.map +1 -1
- package/dist/cjs/components/ListView.js +1 -1
- package/dist/cjs/components/audit/AuditAnswerCell.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditBulkExportDialog.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditBulkUploadDialog.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditCircularProgress.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditFilterBar.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditFilterChips.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditGroupsProgress.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditRequirementDialog.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditRoleIndicator.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditSearchBar.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditSortPresets.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditSummaryDashboard.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditUnitExportDialog.d.ts.map +1 -1
- package/dist/cjs/components/audit/AuditUnitSwitcher.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditFilters.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditManagerData.d.ts +1 -1
- package/dist/cjs/hooks/useAuditManagerData.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditManagerData.js +1 -1
- package/dist/cjs/hooks/useAuditManagerFilters.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditRequirementsFilters.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditRoleCheck.d.ts +2 -2
- package/dist/cjs/hooks/useAuditRoleCheck.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditRoleCheck.js +1 -1
- package/dist/cjs/hooks/useAuditState.d.ts +2 -2
- package/dist/cjs/hooks/useAuditState.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditState.js +1 -1
- package/dist/cjs/hooks/useLocalization.d.ts.map +1 -1
- package/dist/cjs/hooks/useLocalization.js +1 -1
- package/dist/cjs/hooks/useUserRoles.d.ts.map +1 -1
- package/dist/cjs/hooks/useUserRoles.js +1 -1
- package/dist/cjs/pages/ListPage.d.ts +7 -1
- package/dist/cjs/pages/ListPage.d.ts.map +1 -1
- package/dist/cjs/pages/ListPage.js +1 -1
- package/dist/cjs/types/audit.d.ts +8 -1
- package/dist/cjs/types/audit.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +18 -2
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/auditExport.d.ts.map +1 -1
- package/dist/cjs/utils/auditUtils.d.ts +1 -1
- package/dist/cjs/utils/auditUtils.d.ts.map +1 -1
- package/dist/cjs/utils/auditUtils.js +1 -1
- package/dist/esm/components/LanguageSelector.d.ts.map +1 -1
- package/dist/esm/components/LanguageSelector.js +1 -1
- package/dist/esm/components/ListView.d.ts.map +1 -1
- package/dist/esm/components/ListView.js +1 -1
- package/dist/esm/components/audit/AuditAnswerCell.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditBulkExportDialog.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditBulkUploadDialog.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditCircularProgress.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditFilterBar.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditFilterChips.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditGroupsProgress.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditRequirementDialog.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditRoleIndicator.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditSearchBar.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditSortPresets.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditSummaryDashboard.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditUnitExportDialog.d.ts.map +1 -1
- package/dist/esm/components/audit/AuditUnitSwitcher.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditFilters.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditManagerData.d.ts +1 -1
- package/dist/esm/hooks/useAuditManagerData.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditManagerData.js +1 -1
- package/dist/esm/hooks/useAuditManagerFilters.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditRequirementsFilters.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditRoleCheck.d.ts +2 -2
- package/dist/esm/hooks/useAuditRoleCheck.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditRoleCheck.js +1 -1
- package/dist/esm/hooks/useAuditState.d.ts +2 -2
- package/dist/esm/hooks/useAuditState.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditState.js +1 -1
- package/dist/esm/hooks/useLocalization.d.ts.map +1 -1
- package/dist/esm/hooks/useLocalization.js +1 -1
- package/dist/esm/hooks/useUserRoles.d.ts.map +1 -1
- package/dist/esm/hooks/useUserRoles.js +1 -1
- package/dist/esm/pages/ListPage.d.ts +7 -1
- package/dist/esm/pages/ListPage.d.ts.map +1 -1
- package/dist/esm/pages/ListPage.js +1 -1
- package/dist/esm/types/audit.d.ts +8 -1
- package/dist/esm/types/audit.d.ts.map +1 -1
- package/dist/esm/types/index.d.ts +18 -2
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/auditExport.d.ts.map +1 -1
- package/dist/esm/utils/auditUtils.d.ts +1 -1
- package/dist/esm/utils/auditUtils.d.ts.map +1 -1
- package/dist/esm/utils/auditUtils.js +1 -1
- package/dist/index.d.ts +39 -11
- package/package.json +2 -1
|
@@ -29,11 +29,27 @@ export * from "./audit";
|
|
|
29
29
|
import type { ColumnAction, ColumnDefinition } from "../components/ListView";
|
|
30
30
|
export type { ColumnAction, ColumnDefinition };
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Configuration for a single list view, supporting column definitions and optional deduplication.
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
export interface ListConfig {
|
|
36
|
+
/** Column definitions for this list */
|
|
37
|
+
columns: ColumnDefinition[];
|
|
38
|
+
/**
|
|
39
|
+
* When set, only the most recent message per unique value of this key is shown.
|
|
40
|
+
* When an array is provided, keys are tried in order and the first truthy value is used.
|
|
41
|
+
* Useful for cases where multiple independent messages represent the same entity
|
|
42
|
+
* (e.g. same customer number or offer number) and only the latest should be displayed.
|
|
43
|
+
*/
|
|
44
|
+
deduplicateBy?: string | string[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* List definitions keyed by tag name (e.g., "customer2", "offertjson").
|
|
48
|
+
* Each entry can be a plain column-definition array (backward-compatible) or a full ListConfig.
|
|
33
49
|
* @public
|
|
34
50
|
*/
|
|
35
51
|
export interface ListDefinitions {
|
|
36
|
-
[tagName: string]: ColumnDefinition[];
|
|
52
|
+
[tagName: string]: ColumnDefinition[] | ListConfig;
|
|
37
53
|
}
|
|
38
54
|
/**
|
|
39
55
|
* AI chat instructions configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+GAA+G;IAC/G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAGD,cAAc,SAAS,CAAC;AAGxB,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditExport.d.ts","sourceRoot":"","sources":["../../../src/utils/auditExport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQ/F;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,YAAY,EAAE,gBAAgB,EAAE,EAChC,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC,GACxE,YAAY,CAed;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAMrE;AAMD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"auditExport.d.ts","sourceRoot":"","sources":["../../../src/utils/auditExport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQ/F;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,YAAY,EAAE,gBAAgB,EAAE,EAChC,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC,GACxE,YAAY,CAed;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAMrE;AAMD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAwFlE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAQxE"}
|
|
@@ -12,7 +12,7 @@ export declare const AUDIT_CHECKBOX_OPTIONS: AuditAnswerOption[];
|
|
|
12
12
|
* Merges a partial AuditConfig with defaults to produce a fully resolved config.
|
|
13
13
|
* Call this once at app startup and pass the result to all audit hooks/components.
|
|
14
14
|
*/
|
|
15
|
-
export declare function resolveAuditConfig(config: AuditConfig): ResolvedAuditConfig;
|
|
15
|
+
export declare function resolveAuditConfig(config: AuditConfig | Partial<AuditConfig>): ResolvedAuditConfig;
|
|
16
16
|
/**
|
|
17
17
|
* Calculates time remaining until a compliance requirement expires.
|
|
18
18
|
* @param validUntil - ISO 8601 expiration timestamp
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/auditUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EAEX,qBAAqB,EACrB,SAAS,EAGT,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EAIrD,CAAC;AA8CF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"auditUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/auditUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EAEX,qBAAqB,EACrB,SAAS,EAGT,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EAIrD,CAAC;AA8CF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAsBlG;AAMD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAkBrG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI,GAAG;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAiBA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9C,MAAM,GAAG,SAAS,CAOpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG9E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxG;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAM3F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAIlG;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,CAgD/E;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,EAAE,CAQ1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=[{value:"yes",label:"Yes",isCompliant:!0},{value:"no",label:"No",isCompliant:!1},{value:"",label:"—",isCompliant:!1}],n={requirement:"audit_req",answer:"audit_answer",unit:"audit_unit",role:"user_role",topology:"audit_topology"},t={nameField:"Name",idField:"UnitId",marketAreaField:"MarketArea",tagsField:"Tags"},i={groupField:"Standard",categoryField:"Area",titleField:"Requirement",descriptionField:"Description",levelField:"Level",validityField:"ValidityPeriodMonths",statusField:"Status"},a={appTitle:"Audit",unit:"Unit",unitPlural:"Units",managerArea:"Manager Area",group:"Group",groupPlural:"Groups",category:"Category",categoryPlural:"Categories",requirement:"Requirement",requirementPlural:"Requirements",compliantLabel:"Compliant",nonCompliantLabel:"Non-compliant"};function r(e,n){if("checkbox"===n.answerMode)return"yes"===e;const t=n.answerOptions.find((n=>n.value===e));return t?.isCompliant??!1}exports.AUDIT_CHECKBOX_OPTIONS=e,exports.DEFAULT_AUDIT_VALIDITY_PERIOD_MONTHS=24,exports.calcValidUntil=function(e,n){if(!e||null==n||0===n)return;const t=new Date(e);return t.setMonth(t.getMonth()+n),t.toISOString()},exports.calculateAuditTimeRemaining=function(e){if(!e)return null;const n=new Date,t=new Date(e).getTime()-n.getTime(),i=Math.floor(t/864e5),a=Math.floor(i/30);return{days:i,months:a,years:Math.floor(a/12),isExpired:i<0,isUrgent:i>=0&&i<30,isExpiringSoon:i>=0&&i<90}},exports.formatValidityPeriod=function(e){return null==e||0===e?"NO EXPIRY":`${e} MONTHS`},exports.getAuditComplianceRate=function(e,n){if(0===e.length)return 0;const t=e.filter((e=>r(e.answer,n))).length;return Math.round(t/e.length*100)},exports.getAuditRoleCapabilities=function(e){switch(e){case"Admin":return{canViewAllUnits:!0,canSwitchUnits:!0,canEditRequirements:!0,canManageUsers:!0,canEditUnitTags:!0,viewOwnUnitOnly:!1,canEditOwnAudit:!0,canViewManagerAreaUnits:!0,readOnly:!1};case"Manager":return{canViewAllUnits:!1,canSwitchUnits:!1,canEditRequirements:!1,canManageUsers:!1,canEditUnitTags:!1,viewOwnUnitOnly:!1,canEditOwnAudit:!1,canViewManagerAreaUnits:!0,readOnly:!0};default:return{canViewAllUnits:!1,canSwitchUnits:!1,canEditRequirements:!1,canManageUsers:!1,canEditUnitTags:!1,viewOwnUnitOnly:!0,canEditOwnAudit:!0,canViewManagerAreaUnits:!1,readOnly:!1}}},exports.getAuditUrgencyColor=function(e){return e?e.isExpired?{background:"#FEE2E2",text:"#991B1B",border:"#FCA5A5"}:e.isUrgent?{background:"#FED7AA",text:"#9A3412",border:"#FB923C"}:e.isExpiringSoon?{background:"#FEF3C7",text:"#92400E",border:"#FCD34D"}:e.months<=6?{background:"#FEF9C3",text:"#854D0E",border:"#FDE047"}:{background:"#ECFDF5",text:"#065F46",border:"#D1FAE5"}:{background:"#F3F4F6",text:"#6B7280",border:"#E5E7EB"}},exports.getEffectiveAnswerOptions=function(e){return"checkbox"===e.answerMode?[{value:"yes",label:e.terminology.compliantLabel,isCompliant:!0},{value:"no",label:e.terminology.nonCompliantLabel,isCompliant:!1}]:e.answerOptions},exports.isAnswerCompliant=r,exports.parseValidityPeriod=function(e,n){if(!e)return n;const t=parseInt(e,10);return isNaN(t)?n:0===t?null:t},exports.resolveAuditConfig=function(r){const o=r.answerOptions&&r.answerOptions.length>0?r.answerOptions:e;return{answerMode:r.answerMode,answerOptions:o,topology:r.topology??{},terminology:{...a,...r.terminology??{}},roleLabels:{admin:r.roleLabels?.admin??"Admin",manager:r.roleLabels?.manager??"Manager",auditor:r.roleLabels?.auditor??"Auditor"},tags:{...n,...r.tags??{}},unitFieldMapping:{...t,...r.unitFieldMapping??{}},requirementFieldMapping:{...i,...r.requirementFieldMapping??{}},defaultValidityPeriodMonths:r.defaultValidityPeriodMonths??24}};
|
|
1
|
+
"use strict";const e=[{value:"yes",label:"Yes",isCompliant:!0},{value:"no",label:"No",isCompliant:!1},{value:"",label:"—",isCompliant:!1}],n={requirement:"audit_req",answer:"audit_answer",unit:"audit_unit",role:"user_role",topology:"audit_topology"},t={nameField:"Name",idField:"UnitId",marketAreaField:"MarketArea",tagsField:"Tags"},i={groupField:"Standard",categoryField:"Area",titleField:"Requirement",descriptionField:"Description",levelField:"Level",validityField:"ValidityPeriodMonths",statusField:"Status"},a={appTitle:"Audit",unit:"Unit",unitPlural:"Units",managerArea:"Manager Area",group:"Group",groupPlural:"Groups",category:"Category",categoryPlural:"Categories",requirement:"Requirement",requirementPlural:"Requirements",compliantLabel:"Compliant",nonCompliantLabel:"Non-compliant"};function r(e,n){if("checkbox"===n.answerMode)return"yes"===e;const t=n.answerOptions.find((n=>n.value===e));return t?.isCompliant??!1}exports.AUDIT_CHECKBOX_OPTIONS=e,exports.DEFAULT_AUDIT_VALIDITY_PERIOD_MONTHS=24,exports.calcValidUntil=function(e,n){if(!e||null==n||0===n)return;const t=new Date(e);return t.setMonth(t.getMonth()+n),t.toISOString()},exports.calculateAuditTimeRemaining=function(e){if(!e)return null;const n=new Date,t=new Date(e).getTime()-n.getTime(),i=Math.floor(t/864e5),a=Math.floor(i/30);return{days:i,months:a,years:Math.floor(a/12),isExpired:i<0,isUrgent:i>=0&&i<30,isExpiringSoon:i>=0&&i<90}},exports.formatValidityPeriod=function(e){return null==e||0===e?"NO EXPIRY":`${e} MONTHS`},exports.getAuditComplianceRate=function(e,n){if(0===e.length)return 0;const t=e.filter((e=>r(e.answer,n))).length;return Math.round(t/e.length*100)},exports.getAuditRoleCapabilities=function(e){switch(e){case"Admin":return{canViewAllUnits:!0,canSwitchUnits:!0,canEditRequirements:!0,canManageUsers:!0,canEditUnitTags:!0,viewOwnUnitOnly:!1,canEditOwnAudit:!0,canViewManagerAreaUnits:!0,readOnly:!1,canExportUnit:!0,canImportUnit:!0,canBulkExport:!0};case"Manager":return{canViewAllUnits:!1,canSwitchUnits:!1,canEditRequirements:!1,canManageUsers:!1,canEditUnitTags:!1,viewOwnUnitOnly:!1,canEditOwnAudit:!1,canViewManagerAreaUnits:!0,readOnly:!0,canExportUnit:!1,canImportUnit:!1,canBulkExport:!0};default:return{canViewAllUnits:!1,canSwitchUnits:!1,canEditRequirements:!1,canManageUsers:!1,canEditUnitTags:!1,viewOwnUnitOnly:!0,canEditOwnAudit:!0,canViewManagerAreaUnits:!1,readOnly:!1,canExportUnit:!0,canImportUnit:!0,canBulkExport:!1}}},exports.getAuditUrgencyColor=function(e){return e?e.isExpired?{background:"#FEE2E2",text:"#991B1B",border:"#FCA5A5"}:e.isUrgent?{background:"#FED7AA",text:"#9A3412",border:"#FB923C"}:e.isExpiringSoon?{background:"#FEF3C7",text:"#92400E",border:"#FCD34D"}:e.months<=6?{background:"#FEF9C3",text:"#854D0E",border:"#FDE047"}:{background:"#ECFDF5",text:"#065F46",border:"#D1FAE5"}:{background:"#F3F4F6",text:"#6B7280",border:"#E5E7EB"}},exports.getEffectiveAnswerOptions=function(e){return"checkbox"===e.answerMode?[{value:"yes",label:e.terminology.compliantLabel,isCompliant:!0},{value:"no",label:e.terminology.nonCompliantLabel,isCompliant:!1}]:e.answerOptions},exports.isAnswerCompliant=r,exports.parseValidityPeriod=function(e,n){if(!e)return n;const t=parseInt(e,10);return isNaN(t)?n:0===t?null:t},exports.resolveAuditConfig=function(r){const o=r.answerOptions&&r.answerOptions.length>0?r.answerOptions:e;return{answerMode:r.answerMode??"checkbox",answerOptions:o,topology:r.topology??{},terminology:{...a,...r.terminology??{}},roleLabels:{admin:r.roleLabels?.admin??"Admin",manager:r.roleLabels?.manager??"Manager",auditor:r.roleLabels?.auditor??"Auditor"},tags:{...n,...r.tags??{}},unitFieldMapping:{...t,...r.unitFieldMapping??{}},requirementFieldMapping:{...i,...r.requirementFieldMapping??{}},defaultValidityPeriodMonths:r.defaultValidityPeriodMonths??24}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSelector.d.ts","sourceRoot":"","sources":["../../../src/components/LanguageSelector.tsx"],"names":[],"mappings":"AAuCA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"LanguageSelector.d.ts","sourceRoot":"","sources":["../../../src/components/LanguageSelector.tsx"],"names":[],"mappings":"AAuCA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+D5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as a}from"react/jsx-runtime";import{makeStyles as t,Dropdown as n,Option as o}from"@fluentui/react-components";import r from"../hooks/useLocalization.js";import{useState as l,useEffect as u}from"react";const
|
|
1
|
+
import{jsxs as e,jsx as a}from"react/jsx-runtime";import{makeStyles as t,Dropdown as n,Option as o}from"@fluentui/react-components";import r from"../hooks/useLocalization.js";import{useState as l,useEffect as u}from"react";const i=t({container:{marginTop:"16px",marginBottom:"16px"},label:{fontSize:"14px",fontWeight:"600",marginBottom:"8px"}}),s=[{key:"en",name:"English"},{key:"sv",name:"Svenska"},{key:"de",name:"Deutsch"},{key:"dk",name:"Dansk"},{key:"fr",name:"Français"},{key:"no",name:"Norsk"},{key:"zh",name:"中文"},{key:"pl",name:"Polski"}],g=e=>{if("undefined"!=typeof navigator&&navigator.language){const a=navigator.language.toLowerCase().split("-")[0];if(e.some((e=>e.key===a)))return a}return"en"},m=({languages:t=s,defaultLanguage:m="en"})=>{const c=i(),{t:k,currentLanguage:f,setCurrentLanguage:p}=r(),[d,y]=l((()=>localStorage.getItem("user_language")||"auto"));u((()=>{const e=localStorage.getItem("user_language");y(e&&"auto"!==e?e:"auto")}),[f]);const h=g(t),v=t.find((e=>e.key===h))?.name||"English";return e("div",{className:c.container,children:[a("div",{className:c.label,children:k("Language")}),e(n,{value:"auto"===d?`${k("Auto")} (${v})`:t.find((e=>e.key===d))?.name||k("Select language"),selectedOptions:[d],onOptionSelect:(e,a)=>{const n=a.optionValue??a.value;if(n)if(y(n),"auto"===n){const e=g(t);localStorage.setItem("user_language","auto"),p(e)}else localStorage.setItem("user_language",n),p(n)},children:[e(o,{value:"auto",text:`${k("Auto")} (${v})`,children:[k("Auto")," (",v,")"]}),t.map((e=>a(o,{value:e.key,text:e.name,children:e.name},e.key)))]})]})};export{m as LanguageSelector,m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAmB5D,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,kHAAkH;IAClH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAqLD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1E,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2HAA2H;IAC3H,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gHAAgH;IAChH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,2HAA2H;IAC3H,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oIAAoI;IACpI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;CAC1E;AA2GD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAmB5D,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,kHAAkH;IAClH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAqLD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1E,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2HAA2H;IAC3H,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gHAAgH;IAChH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,2HAA2H;IAC3H,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oIAAoI;IACpI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;CAC1E;AA2GD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmiB5C,CAAC;;AAGF,wBAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import i,{useMemo as r,useState as o,useEffect as l}from"react";import{makeStyles as a,Button as c,Checkbox as s,Select as d,Dialog as p,DialogSurface as h,DialogBody as u,DialogTitle as m,DialogContent as f,Combobox as x,Option as g,Tooltip as y}from"@fluentui/react-components";import{Edit24Regular as b,Delete24Regular as w}from"@fluentui/react-icons";import{CodicentService as C}from"../services/codicent.js";import k from"../hooks/useLocalization.js";const v=a({container:{width:"100%",overflowX:"auto",userSelect:"text"},table:{width:"100%",borderCollapse:"collapse",backgroundColor:"#ffffff",fontSize:"14px",tableLayout:"fixed",userSelect:"text"},th:{textAlign:"left",padding:"12px 8px",borderBottom:"2px solid #e0e0e0",fontWeight:"600",backgroundColor:"#f5f5f5",position:"sticky",top:0,zIndex:1,cursor:"pointer",userSelect:"none","&:hover":{backgroundColor:"#e8e8e8"}},td:{padding:"12px 8px",borderBottom:"1px solid #e0e0e0",verticalAlign:"top",wordWrap:"break-word",overflow:"hidden",userSelect:"text"},tdTruncated:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","@media (hover: none)":{cursor:"pointer"}},tr:{"&:hover":{backgroundColor:"#f9f9f9"}},emptyState:{padding:"20px",textAlign:"center",color:"#666"},sortIndicator:{marginLeft:"4px",fontSize:"10px"},hideOnMobile:{"@media (max-width: 768px)":{display:"none"}},dialogContent:{wordWrap:"break-word",whiteSpace:"pre-wrap",maxHeight:"60vh",overflowY:"auto"},thumbnail:{maxWidth:"50px",maxHeight:"50px",objectFit:"cover"},tooltip:{maxWidth:"600px",whiteSpace:"normal",wordWrap:"break-word"},editButton:{minWidth:"auto",padding:"4px 8px"},actionsColumn:{width:"100px",textAlign:"center"},filterInput:{width:"100%",padding:"4px 8px",fontSize:"14px",border:"1px solid #e0e0e0",borderRadius:"4px",paddingRight:"28px"},filterWrapper:{position:"relative"},clearFilterButton:{position:"absolute",right:"6px",top:"50%",transform:"translateY(-50%)",minWidth:"auto",height:"20px",padding:"0 6px",lineHeight:"18px"},filterToolbar:{display:"flex",justifyContent:"flex-end",padding:"8px",gap:"8px"},cellWithAction:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"4px"},actionIcon:{minWidth:"auto",padding:"2px",marginLeft:"4px",flexShrink:0,cursor:"pointer",opacity:.7,"&:hover":{opacity:1}},cellText:{flex:1,overflow:"hidden",textOverflow:"ellipsis"}}),S=e=>{if(/^\d{4}-\d{2}-\d{2}/.test(e)){const t=new Date(e);if(!isNaN(t.getTime()))return t.getTime()}const t=e.match(/^(\d{1,2})\.(\d{1,2})\.(\d{4})/);if(t){const e=parseInt(t[1],10),n=parseInt(t[2],10)-1,i=parseInt(t[3],10),r=new Date(i,n,e);if(r.getFullYear()===i&&r.getMonth()===n&&r.getDate()===e)return r.getTime()}return null},N=(e,t)=>{if("string"==typeof t)return e[t];for(const n of t)if(void 0!==e[n])return e[n]},W=({value:t,options:n,optionsLoader:a,minChars:c=2,maxResults:s=50,columnKey:d,item:p,actualIndex:h,onEnumChange:u,label:m,t:f})=>{const[y,b]=o(t),[w,C]=o([]),[k,v]=o(!1),S=i.useRef(null);l((()=>{b(t)}),[t]),l((()=>{if(a){if(!(y.length<c))return S.current&&clearTimeout(S.current),S.current=setTimeout((async()=>{v(!0);try{const e=await a(y);C(e.slice(0,s))}finally{v(!1)}}),250),()=>{S.current&&clearTimeout(S.current)};C([])}}),[y,a,c,s]);const N=r((()=>(n??[]).filter((e=>e.toLowerCase().includes(y.toLowerCase()))).slice(0,s)),[n,y,s]),W=a?w:N;return e(x,{value:y,freeform:!0,"aria-label":m,placeholder:k?f("Loading..."):a&&y.length<c?f(`Type ${c}+ characters to search...`):void 0,onChange:e=>b(e.target.value),onOptionSelect:(e,t)=>{t.optionValue&&(b(t.optionValue),u&&u(p,d,t.optionValue,h))},onBlur:()=>{u&&u(p,d,y,h)},style:{width:"100%"},children:W.map((t=>e(g,{value:t,children:t},t)))})},O=({data:i,columns:a,canEdit:x,onEdit:g,onDelete:O,onToggleCheckbox:$,onEnumChange:I,onFilteredDataChange:L})=>{const A=v(),{visibleColumns:T,defaultSortIndex:M,defaultSortDirection:j}=r((()=>{const e=i&&i.length>0?Array.from(new Set(i.flatMap((e=>Object.keys(e))))):[],t=(a||e.map((e=>({key:e})))).filter((e=>!e.hidden)),n=t.findIndex((e=>e.defaultSort));return{visibleColumns:t,defaultSortIndex:n,defaultSortDirection:n>=0&&t[n].defaultSort||null}}),[i,a]),[D,F]=o(M>=0?M:null),[B,z]=o(j),[E,R]=o(!1),[H,Y]=o({title:"",text:""}),[P,V]=o({}),[K,_]=o(0),{t:J}=k(),U=e=>e.title?J(e.title):Array.isArray(e.key)?e.key[0]:e.key,X=e=>{const t=[];return e.hideOnMobile&&t.push(A.hideOnMobile),t.join(" ")},q=e=>null==e||"string"==typeof e&&e.startsWith("[")&&e.endsWith("]")?"":"object"==typeof e?JSON.stringify(e):String(e),G=r((()=>{const e=[...i];if(null!==D&&B){const t=T[D];e.sort(((e,n)=>{const i=N(e,t.key),r=N(n,t.key);if(null==i)return 1;if(null==r)return-1;let o=0;if("string"==typeof i&&"string"==typeof r){const e=S(i),t=S(r);if(null!==e&&null!==t)o=e-t;else{const e=i.trim().replace(/[\s\u00a0]/g,"").replace(/,/g,""),t=r.trim().replace(/[\s\u00a0]/g,"").replace(/,/g,""),n=Number(e),l=Number(t);o=""!==e&&""!==t&&isFinite(n)&&isFinite(l)?n-l:i.localeCompare(r)}}else o="number"==typeof i&&"number"==typeof r?i-r:String(i).localeCompare(String(r));return"asc"===B?o:-o}))}return e}),[i,D,B,T]),Q=r((()=>G.filter((e=>{for(const[t,n]of Object.entries(P)){const i=parseInt(t),r=T[i],o=N(e,r.key),l=q(o).toLowerCase(),a=n.toLowerCase();if(!l.includes(a))return!1}return!0}))),[G,P,T]);l((()=>{L&&L(Q)}),[Q,L]);const Z="undefined"!=typeof window?window.innerHeight-250:600,ee=Math.max(0,Math.floor(K/49)-5),te=Math.min(Q.length,Math.ceil((K+Z)/49)+5),ne=Q.slice(ee,te),ie=49*Q.length,re=49*ee,oe=(e,t)=>{if(void 0!==e.id)return String(e.id);return`row-${t}-${(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)})(T.slice(0,3).map((t=>String(N(e,t.key)??""))).join("-"))}`};return i&&0!==i.length?t(n,{children:[e("div",{className:A.container,onScroll:e=>{_(e.currentTarget.scrollTop)},style:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},children:t("table",{className:A.table,children:[t("thead",{children:[t("tr",{children:[T.map(((n,i)=>{const r=n.maxWidth?{width:`${n.maxWidth}px`,maxWidth:`${n.maxWidth}px`}:{};return t("th",{className:`${A.th} ${X(n)}`.trim(),style:r,onClick:()=>(e=>{D===e?"asc"===B?z("desc"):"desc"===B&&(F(null),z(null)):(F(e),z("asc"))})(i),children:[U(n),D===i&&e("span",{className:A.sortIndicator,children:"asc"===B?"▲":"▼"})]},i)})),x&&e("th",{className:`${A.th} ${A.actionsColumn}`,style:{width:"100px"},children:J("Actions")})]}),t("tr",{children:[T.map(((n,i)=>{const r=n.maxWidth?{width:`${n.maxWidth}px`,maxWidth:`${n.maxWidth}px`}:{};return e("th",{className:X(n),style:r,children:n.filterable&&t("div",{className:A.filterWrapper,children:[e("input",{type:"text",className:A.filterInput,placeholder:J("Filter")+"...",value:P[i]||"",onChange:e=>((e,t)=>{V((n=>{const i={...n};return""===t.trim()?delete i[e]:i[e]=t,i}))})(i,e.target.value),onClick:e=>e.stopPropagation()}),(P[i]||"").length>0&&e(c,{appearance:"subtle",className:A.clearFilterButton,onClick:e=>{e.stopPropagation(),(e=>{V((t=>{const n={...t};return delete n[e],n}))})(i)},children:"×"})]})},i)})),x&&e("th",{className:A.actionsColumn})]})]}),t("tbody",{children:[ee>0&&e("tr",{style:{height:`${re}px`},children:e("td",{colSpan:T.length+(x?1:0),style:{padding:0,border:"none"}})}),ne.map(((n,i)=>{const r=n._index,o="number"==typeof r?r:ee+i;return t("tr",{className:A.tr,children:[T.map(((i,r)=>{const l=N(n,i.key),a=i.format?i.format(l):q(l),p=i.maxWidth?`${A.td} ${A.tdTruncated} ${X(i)}`.trim():`${A.td} ${X(i)}`.trim(),h=()=>{window.matchMedia("(hover: hover)").matches||i.maxWidth&&a.length>0&&(Y({title:U(i),text:a}),R(!0))};if("file"===i.type&&a)return e("td",{className:p,onClick:h,children:e("a",{href:C.getFileUrl(a),target:"_blank",rel:"noopener noreferrer",children:J("Download")})},r);if("checkbox"===i.type){return e("td",{className:p,children:e(s,{checked:!0===l||"true"===l||"yes"===l||"1"===l,onChange:(e,t)=>{$&&$(n,i.key,!0===t.checked,o)}})},r)}if("enum"===i.type&&i.enumOptions&&i.editable)return e("td",{className:p,children:t(d,{value:a,"aria-label":i.title?J(i.title):Array.isArray(i.key)?i.key[0]:i.key,onChange:(e,t)=>{I&&I(n,i.key,t.value,o)},style:{width:"100%"},children:[!i.enumOptions.includes(a)&&a&&e("option",{value:a,children:a}),i.enumOptions.map((t=>e("option",{value:t,children:J(t)},t)))]})},r);if("combobox"===i.type&&i.editable&&(i.enumOptions||i.enumOptionsLoader))return e("td",{className:p,children:e(W,{value:a,options:i.enumOptions,optionsLoader:i.enumOptionsLoader,minChars:i.enumOptionsLoaderMinChars,maxResults:i.enumOptionsLoaderMaxResults,columnKey:i.key,item:n,actualIndex:o,onEnumChange:I,label:i.title?J(i.title):Array.isArray(i.key)?i.key[0]:i.key,t:J})},r);const u=()=>i.maxWidth&&a.length>0?e(y,{content:{children:a,style:{maxWidth:"600px",whiteSpace:"normal"}},relationship:"description",children:e("span",{children:a})}):a,m=()=>{if(!i.action)return null;const t=i.action,r=i.action.icon,o=e(c,{appearance:"subtle",icon:e(r,{}),className:A.actionIcon,onClick:e=>{e.stopPropagation(),t.onClick(n)},size:"small"});return t.tooltip?e(y,{content:J(t.tooltip),relationship:"label",children:o}):o};return e("td",{className:p,onClick:h,children:i.action?t("div",{className:A.cellWithAction,children:[i.action.iconLeft&&m(),e("span",{className:A.cellText,children:u()}),!i.action.iconLeft&&m()]}):u()},r)})),x&&(g||O)&&e("td",{className:`${A.td} ${A.actionsColumn}`,children:t("div",{style:{display:"flex",gap:"4px",justifyContent:"center"},children:[g&&e(c,{appearance:"subtle",icon:e(b,{}),className:A.editButton,onClick:()=>g(n,o),title:J("Edit")}),O&&e(c,{appearance:"subtle",icon:e(w,{}),className:A.editButton,onClick:()=>O(n,o),title:J("Delete")})]})})]},oe(n,o))})),te<Q.length&&e("tr",{style:{height:ie-re-49*ne.length+"px"},children:e("td",{colSpan:T.length+(x?1:0),style:{padding:0,border:"none"}})})]})]})}),e(p,{open:E,onOpenChange:(e,t)=>R(t.open),children:e(h,{children:t(u,{children:[e(m,{children:H.title}),e(f,{className:A.dialogContent,children:H.text})]})})})]}):e("div",{className:A.emptyState,children:J("No data to display")})};var $=i.memo(O);export{O as ListView,$ as default};
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import i,{useMemo as r,useState as o,useEffect as l}from"react";import{makeStyles as a,Select as c,Button as s,Checkbox as d,Dialog as p,DialogSurface as u,DialogBody as h,DialogTitle as m,DialogContent as f,Combobox as x,Option as g,Tooltip as y}from"@fluentui/react-components";import{Edit24Regular as b,Delete24Regular as w}from"@fluentui/react-icons";import{CodicentService as C}from"../services/codicent.js";import v from"../hooks/useLocalization.js";const k=a({container:{width:"100%",overflowX:"auto",userSelect:"text"},table:{width:"100%",borderCollapse:"collapse",backgroundColor:"#ffffff",fontSize:"14px",tableLayout:"fixed",userSelect:"text"},th:{textAlign:"left",padding:"12px 8px",borderBottom:"2px solid #e0e0e0",fontWeight:"600",backgroundColor:"#f5f5f5",position:"sticky",top:0,zIndex:1,cursor:"pointer",userSelect:"none","&:hover":{backgroundColor:"#e8e8e8"}},td:{padding:"12px 8px",borderBottom:"1px solid #e0e0e0",verticalAlign:"top",wordWrap:"break-word",overflow:"hidden",userSelect:"text"},tdTruncated:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","@media (hover: none)":{cursor:"pointer"}},tr:{"&:hover":{backgroundColor:"#f9f9f9"}},emptyState:{padding:"20px",textAlign:"center",color:"#666"},sortIndicator:{marginLeft:"4px",fontSize:"10px"},hideOnMobile:{"@media (max-width: 768px)":{display:"none"}},dialogContent:{wordWrap:"break-word",whiteSpace:"pre-wrap",maxHeight:"60vh",overflowY:"auto"},thumbnail:{maxWidth:"50px",maxHeight:"50px",objectFit:"cover"},tooltip:{maxWidth:"600px",whiteSpace:"normal",wordWrap:"break-word"},editButton:{minWidth:"auto",padding:"4px 8px"},actionsColumn:{width:"100px",textAlign:"center"},filterInput:{width:"100%",padding:"4px 8px",fontSize:"14px",border:"1px solid #e0e0e0",borderRadius:"4px",paddingRight:"28px"},filterWrapper:{position:"relative"},clearFilterButton:{position:"absolute",right:"6px",top:"50%",transform:"translateY(-50%)",minWidth:"auto",height:"20px",padding:"0 6px",lineHeight:"18px"},filterToolbar:{display:"flex",justifyContent:"flex-end",padding:"8px",gap:"8px"},cellWithAction:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"4px"},actionIcon:{minWidth:"auto",padding:"2px",marginLeft:"4px",flexShrink:0,cursor:"pointer",opacity:.7,"&:hover":{opacity:1}},cellText:{flex:1,overflow:"hidden",textOverflow:"ellipsis"}}),N=e=>{if(/^\d{4}-\d{2}-\d{2}/.test(e)){const t=new Date(e);if(!isNaN(t.getTime()))return t.getTime()}const t=e.match(/^(\d{1,2})\.(\d{1,2})\.(\d{4})/);if(t){const e=parseInt(t[1],10),n=parseInt(t[2],10)-1,i=parseInt(t[3],10),r=new Date(i,n,e);if(r.getFullYear()===i&&r.getMonth()===n&&r.getDate()===e)return r.getTime()}return null},S=(e,t)=>{if("string"==typeof t)return e[t];for(const n of t)if(void 0!==e[n])return e[n]},W=({value:t,options:n,optionsLoader:a,minChars:c=2,maxResults:s=50,columnKey:d,item:p,actualIndex:u,onEnumChange:h,label:m,t:f})=>{const[y,b]=o(t),[w,C]=o([]),[v,k]=o(!1),N=i.useRef(null);l((()=>{b(t)}),[t]),l((()=>{if(a){if(!(y.length<c))return N.current&&clearTimeout(N.current),N.current=setTimeout((async()=>{k(!0);try{const e=await a(y);C(e.slice(0,s))}finally{k(!1)}}),250),()=>{N.current&&clearTimeout(N.current)};C([])}}),[y,a,c,s]);const S=r((()=>(n??[]).filter((e=>e.toLowerCase().includes(y.toLowerCase()))).slice(0,s)),[n,y,s]),W=a?w:S;return e(x,{value:y,freeform:!0,"aria-label":m,placeholder:v?f("Loading..."):a&&y.length<c?f(`Type ${c}+ characters to search...`):void 0,onChange:e=>b(e.target.value),onOptionSelect:(e,t)=>{t.optionValue&&(b(t.optionValue),h&&h(p,d,t.optionValue,u))},onBlur:()=>{h&&h(p,d,y,u)},style:{width:"100%"},children:W.map((t=>e(g,{value:t,children:t},t)))})},O=({data:i,columns:a,canEdit:x,onEdit:g,onDelete:O,onToggleCheckbox:$,onEnumChange:I,onFilteredDataChange:L})=>{const A=k(),{visibleColumns:T,defaultSortIndex:M,defaultSortDirection:j}=r((()=>{const e=i&&i.length>0?Array.from(new Set(i.flatMap((e=>Object.keys(e))))):[],t=(a||e.map((e=>({key:e})))).filter((e=>!e.hidden)),n=t.findIndex((e=>e.defaultSort));return{visibleColumns:t,defaultSortIndex:n,defaultSortDirection:n>=0&&t[n].defaultSort||null}}),[i,a]),[D,F]=o(M>=0?M:null),[B,z]=o(j),[E,R]=o(!1),[H,P]=o({title:"",text:""}),[Y,V]=o({}),[K,_]=o(0),{t:J}=v(),U=e=>e.title?J(e.title):Array.isArray(e.key)?e.key[0]:e.key,X=e=>{const t=[];return e.hideOnMobile&&t.push(A.hideOnMobile),t.join(" ")},q=(e,t)=>{V((n=>{const i={...n};return""===t.trim()?delete i[e]:i[e]=t,i}))},G=e=>null==e||"string"==typeof e&&e.startsWith("[")&&e.endsWith("]")?"":"object"==typeof e?JSON.stringify(e):String(e),Q=r((()=>{const e=[...i];if(null!==D&&B){const t=T[D];e.sort(((e,n)=>{const i=S(e,t.key),r=S(n,t.key);if(null==i)return 1;if(null==r)return-1;let o=0;if("string"==typeof i&&"string"==typeof r){const e=N(i),t=N(r);if(null!==e&&null!==t)o=e-t;else{const e=i.trim().replace(/[\s\u00a0]/g,"").replace(/,/g,""),t=r.trim().replace(/[\s\u00a0]/g,"").replace(/,/g,""),n=Number(e),l=Number(t);o=""!==e&&""!==t&&isFinite(n)&&isFinite(l)?n-l:i.localeCompare(r)}}else o="number"==typeof i&&"number"==typeof r?i-r:String(i).localeCompare(String(r));return"asc"===B?o:-o}))}return e}),[i,D,B,T]),Z=r((()=>Q.filter((e=>{for(const[t,n]of Object.entries(Y)){const i=parseInt(t),r=T[i],o=S(e,r.key),l=G(o).toLowerCase(),a=n.toLowerCase();if(!("enum"===r.type&&r.enumOptions?l===a:l.includes(a)))return!1}return!0}))),[Q,Y,T]);l((()=>{L&&L(Z)}),[Z,L]);const ee="undefined"!=typeof window?window.innerHeight-250:600,te=Math.max(0,Math.floor(K/49)-5),ne=Math.min(Z.length,Math.ceil((K+ee)/49)+5),ie=Z.slice(te,ne),re=49*Z.length,oe=49*te,le=(e,t)=>{if(void 0!==e.id)return String(e.id);return`row-${t}-${(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)})(T.slice(0,3).map((t=>String(S(e,t.key)??""))).join("-"))}`};return i&&0!==i.length?t(n,{children:[e("div",{className:A.container,onScroll:e=>{_(e.currentTarget.scrollTop)},style:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},children:t("table",{className:A.table,children:[t("thead",{children:[t("tr",{children:[T.map(((n,i)=>{const r=n.maxWidth?{width:`${n.maxWidth}px`,maxWidth:`${n.maxWidth}px`}:{};return t("th",{className:`${A.th} ${X(n)}`.trim(),style:r,onClick:()=>(e=>{D===e?"asc"===B?z("desc"):"desc"===B&&(F(null),z(null)):(F(e),z("asc"))})(i),children:[U(n),D===i&&e("span",{className:A.sortIndicator,children:"asc"===B?"▲":"▼"})]},i)})),x&&e("th",{className:`${A.th} ${A.actionsColumn}`,style:{width:"100px"},children:J("Actions")})]}),t("tr",{children:[T.map(((i,r)=>{const o=i.maxWidth?{width:`${i.maxWidth}px`,maxWidth:`${i.maxWidth}px`}:{};return e("th",{className:X(i),style:o,children:i.filterable&&e("div",{className:A.filterWrapper,children:"enum"===i.type&&i.enumOptions?t(c,{className:A.filterInput,value:Y[r]||"",onChange:(e,t)=>q(r,t.value),onClick:e=>e.stopPropagation(),children:[e("option",{value:"",children:J("All")}),i.enumOptions.filter((e=>""!==e)).map((t=>e("option",{value:t,children:J(t)},t)))]}):t(n,{children:[e("input",{type:"text",className:A.filterInput,placeholder:J("Filter")+"...",value:Y[r]||"",onChange:e=>q(r,e.target.value),onClick:e=>e.stopPropagation()}),(Y[r]||"").length>0&&e(s,{appearance:"subtle",className:A.clearFilterButton,onClick:e=>{e.stopPropagation(),(e=>{V((t=>{const n={...t};return delete n[e],n}))})(r)},children:"×"})]})})},r)})),x&&e("th",{className:A.actionsColumn})]})]}),t("tbody",{children:[te>0&&e("tr",{style:{height:`${oe}px`},children:e("td",{colSpan:T.length+(x?1:0),style:{padding:0,border:"none"}})}),ie.map(((n,i)=>{const r=n._index,o="number"==typeof r?r:te+i;return t("tr",{className:A.tr,children:[T.map(((i,r)=>{const l=S(n,i.key),a=i.format?i.format(l):G(l),p=i.maxWidth?`${A.td} ${A.tdTruncated} ${X(i)}`.trim():`${A.td} ${X(i)}`.trim(),u=()=>{window.matchMedia("(hover: hover)").matches||i.maxWidth&&a.length>0&&(P({title:U(i),text:a}),R(!0))};if("file"===i.type&&a)return e("td",{className:p,onClick:u,children:e("a",{href:C.getFileUrl(a),target:"_blank",rel:"noopener noreferrer",children:J("Download")})},r);if("checkbox"===i.type){return e("td",{className:p,children:e(d,{checked:!0===l||"true"===l||"yes"===l||"1"===l,onChange:(e,t)=>{$&&$(n,i.key,!0===t.checked,o)}})},r)}if("enum"===i.type&&i.enumOptions&&i.editable)return e("td",{className:p,children:t(c,{value:a,"aria-label":i.title?J(i.title):Array.isArray(i.key)?i.key[0]:i.key,onChange:(e,t)=>{I&&I(n,i.key,t.value,o)},style:{width:"100%"},children:[!i.enumOptions.includes(a)&&a&&e("option",{value:a,children:a}),i.enumOptions.map((t=>e("option",{value:t,children:J(t)},t)))]})},r);if("combobox"===i.type&&i.editable&&(i.enumOptions||i.enumOptionsLoader))return e("td",{className:p,children:e(W,{value:a,options:i.enumOptions,optionsLoader:i.enumOptionsLoader,minChars:i.enumOptionsLoaderMinChars,maxResults:i.enumOptionsLoaderMaxResults,columnKey:i.key,item:n,actualIndex:o,onEnumChange:I,label:i.title?J(i.title):Array.isArray(i.key)?i.key[0]:i.key,t:J})},r);const h=()=>i.maxWidth&&a.length>0?e(y,{content:{children:a,style:{maxWidth:"600px",whiteSpace:"normal"}},relationship:"description",children:e("span",{children:a})}):a,m=()=>{if(!i.action)return null;const t=i.action,r=i.action.icon,o=e(s,{appearance:"subtle",icon:e(r,{}),className:A.actionIcon,onClick:e=>{e.stopPropagation(),t.onClick(n)},size:"small"});return t.tooltip?e(y,{content:J(t.tooltip),relationship:"label",children:o}):o};return e("td",{className:p,onClick:u,children:i.action?t("div",{className:A.cellWithAction,children:[i.action.iconLeft&&m(),e("span",{className:A.cellText,children:h()}),!i.action.iconLeft&&m()]}):h()},r)})),x&&(g||O)&&e("td",{className:`${A.td} ${A.actionsColumn}`,children:t("div",{style:{display:"flex",gap:"4px",justifyContent:"center"},children:[g&&e(s,{appearance:"subtle",icon:e(b,{}),className:A.editButton,onClick:()=>g(n,o),title:J("Edit")}),O&&e(s,{appearance:"subtle",icon:e(w,{}),className:A.editButton,onClick:()=>O(n,o),title:J("Delete")})]})})]},le(n,o))})),ne<Z.length&&e("tr",{style:{height:re-oe-49*ie.length+"px"},children:e("td",{colSpan:T.length+(x?1:0),style:{padding:0,border:"none"}})})]})]})}),e(p,{open:E,onOpenChange:(e,t)=>R(t.open),children:e(u,{children:t(h,{children:[e(m,{children:H.title}),e(f,{className:A.dialogContent,children:H.text})]})})})]}):e("div",{className:A.emptyState,children:J("No data to display")})};var $=i.memo(O);export{O as ListView,$ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditAnswerCell.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditAnswerCell.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditAnswerCell.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditAnswerCell.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E,UAAU,oBAAoB;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAqBD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8E1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditBulkExportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditBulkExportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkBxC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAqBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"AuditBulkExportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditBulkExportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkBxC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAqBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2FtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditBulkUploadDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditBulkUploadDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAA2B,MAAM,OAAO,CAAC;AAkBhD,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6BD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"AuditBulkUploadDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditBulkUploadDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAA2B,MAAM,OAAO,CAAC;AAkBhD,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6BD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAuHtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditCircularProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditCircularProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,0BAA0B;IAClC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"AuditCircularProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditCircularProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,0BAA0B;IAClC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2CtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditFilterBar.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditFilterBar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAaxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAkCD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AuditFilterBar.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditFilterBar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAaxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAkCD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsIxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditFilterChips.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditFilterChips.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditFilterChips.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditFilterChips.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,UAAU,qBAAqB;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAcD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqF5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditGroupsProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditGroupsProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,UAAU,wBAAwB;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAoBD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"AuditGroupsProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditGroupsProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,UAAU,wBAAwB;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAoBD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditRequirementDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditRequirementDialog.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAkBrD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditRequirementDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditRequirementDialog.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAkBrD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,CACP,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AA6BD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAmKxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditRoleIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditRoleIndicator.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"AuditRoleIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditRoleIndicator.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiBhE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditSearchBar.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSearchBar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditSearchBar.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSearchBar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmCxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditSortPresets.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSortPresets.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditSortPresets.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSortPresets.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC;AAEpG,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAkBD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkB5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditSummaryDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSummaryDashboard.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditSummaryDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSummaryDashboard.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,UAAU,0BAA0B;IAClC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkCD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAwEtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditUnitExportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitExportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditUnitExportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitExportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG5F,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAaD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2EtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditUnitSwitcher.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitSwitcher.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditUnitSwitcher.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitSwitcher.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuditFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditFilters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGzF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAYD,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"useAuditFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditFilters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGzF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAYD,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,mBAAmB,GAAG,qBAAqB,CAkF1G"}
|
|
@@ -8,7 +8,7 @@ import type { CodicentService } from "../services/codicent";
|
|
|
8
8
|
import type { AuditConfig, AuditManagerStats, AuditUnitStats, ResolvedAuditConfig } from "../types/audit";
|
|
9
9
|
export interface UseAuditManagerDataParams {
|
|
10
10
|
service: CodicentService;
|
|
11
|
-
config: AuditConfig
|
|
11
|
+
config: AuditConfig | Partial<AuditConfig>;
|
|
12
12
|
/** When provided, only fetch units in this market area (Manager role scoping) */
|
|
13
13
|
marketArea?: string;
|
|
14
14
|
enabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuditManagerData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditManagerData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useAuditManagerData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditManagerData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1G,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAYD,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,EACN,UAAU,EACV,OAAc,GACf,EAAE,yBAAyB,GAAG,yBAAyB,CAwIvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useRef as t,useState as e,useCallback as a,useEffect as i}from"react";import{resolveAuditConfig as n,isAnswerCompliant as r,calculateAuditTimeRemaining as l}from"../utils/auditUtils.js";const o={totalUnits:0,totalRequirements:0,overallComplianceRate:0,unitsFullyCompliant:0,unitsNeedingAttention:0,totalExpiringSoon:0,totalExpired:0};function s({service:s,config:d,marketArea:c,enabled:u=!0}){const g=t(n(d));g.current=n(d);const[m,p]=e([]),[f,F]=e(o),[S,R]=e(!1),[h,q]=e(null),A=a((async()=>{if(!u)return;const t=g.current;try{R(!0),q(null);const{nameField:e,idField:a,marketAreaField:i,tagsField:n}=t.unitFieldMapping,{groupField:o,categoryField:d,titleField:u,descriptionField:g,levelField:m,validityField:f,statusField:S}=t.requirementFieldMapping,h=await s.readDataMessages(t.tags.unit),A=c?h.filter((t=>String(t.data?.[i]??"")===c)):h,v=(await s.readDataMessages(t.tags.requirement)).filter((t=>"Active"===String(t.data?.[S]??"Active"))),x=await s.readDataMessages(t.tags.answer),y=A.map((o=>{const s=String(o.data?.[a]??o.id),d=String(o.data?.[e]??s),c=o.data?.[i],u=o.data?.[n],g=u?String(u).split(",").map((t=>t.trim())).filter(Boolean):[],m=v.filter((t=>{const e=Array.isArray(t.data?.tags)?t.data?.tags:[];return!e||0===e.length||e.some((t=>t.every((t=>g.includes(t)))))})),p=x.filter((t=>t.data?.unitId===s||t.data?.UnitId===s)),f=new Map;for(const t of p){const e=String(t.data?.requirementId??t.data?.RequirementId??"");e&&!f.has(e)&&f.set(e,t)}let F=0,S=0,R=0;for(const e of m){const a=f.get(String(e.id)),i=String(a?.data?.answer??a?.data?.Answer??"");if(r(i,t)){F++;const t=a?.data?.validUntil??a?.data?.ValidUntil;if(t){const e=l(String(t));e?.isExpired?S++:e?.isUrgent&&R++}}}const h=m.length;return{unitId:s,unitName:d,marketArea:c,totalRequirements:h,compliantRequirements:F,nonCompliantRequirements:h-F,complianceRate:h>0?Math.round(F/h*100):0,expiringSoon:R,expired:S}}));p(y);const M=y.reduce(((t,e)=>t+e.totalRequirements),0),w=y.reduce(((t,e)=>t+e.compliantRequirements),0),U=M>0?Math.round(w/M*100):0;F({totalUnits:y.length,totalRequirements:M,overallComplianceRate:U,unitsFullyCompliant:y.filter((t=>100===t.complianceRate)).length,unitsNeedingAttention:y.filter((t=>t.complianceRate<100)).length,totalExpiringSoon:y.reduce(((t,e)=>t+e.expiringSoon),0),totalExpired:y.reduce(((t,e)=>t+e.expired),0)})}catch(t){console.error("[useAuditManagerData] Failed to fetch manager data:",t),q(t instanceof Error?t.message:"Failed to fetch manager data")}finally{R(!1)}}),[s,c,u]);return i((()=>{u&&A()}),[u,A]),{managerStats:f,unitStats:m,loading:S,error:h,reload:A,resolved:g.current}}export{s as useAuditManagerData};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuditManagerFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditManagerFilters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI9E,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,uBAAuB,CAAC;IACjC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAmBD,wBAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"useAuditManagerFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditManagerFilters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI9E,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,uBAAuB,CAAC;IACjC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAmBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,4BAA4B,CA8D5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuditRequirementsFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditRequirementsFilters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useAuditRequirementsFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditRequirementsFilters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAA0B,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE7G,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,4BAA4B,CAAC;IACtC,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;IACzC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAUD,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,iCAAiC,CAsD/G"}
|
|
@@ -10,7 +10,7 @@ export interface UseAuditRoleCheckParams {
|
|
|
10
10
|
service: CodicentService;
|
|
11
11
|
/** The current user's nickname / display name */
|
|
12
12
|
nickname: string | null | undefined;
|
|
13
|
-
config: AuditConfig
|
|
13
|
+
config: AuditConfig | Partial<AuditConfig>;
|
|
14
14
|
}
|
|
15
15
|
export interface UseAuditRoleCheckResult {
|
|
16
16
|
role: AuditRole;
|
|
@@ -22,5 +22,5 @@ export interface UseAuditRoleCheckResult {
|
|
|
22
22
|
loading: boolean;
|
|
23
23
|
error: string | null;
|
|
24
24
|
}
|
|
25
|
-
export declare function useAuditRoleCheck({ service, nickname, config
|
|
25
|
+
export declare function useAuditRoleCheck({ service, nickname, config }: UseAuditRoleCheckParams): UseAuditRoleCheckResult;
|
|
26
26
|
//# sourceMappingURL=useAuditRoleCheck.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuditRoleCheck.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditRoleCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"useAuditRoleCheck.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditRoleCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIpF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,eAAe,CAAC;IACzB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,qBAAqB,CAAC;IACpC,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAeD,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,uBAAuB,CAqEjH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as e,useCallback as t,useEffect as r}from"react";import{resolveAuditConfig as
|
|
1
|
+
import{useState as e,useCallback as t,useEffect as r}from"react";import{resolveAuditConfig as n,getAuditRoleCapabilities as i}from"../utils/auditUtils.js";import o from"../utils/MessageContent.js";function a({service:a,nickname:s,config:l}){const c=n(l).tags.role,[u,d]=e("Auditor"),[m,g]=e(),[f,A]=e(),[p,w]=e(!0),[k,C]=e(null),h=t((async()=>{if(s)try{w(!0),C(null);const e=await a.getMessagesFast([c],void 0,200),t=s.toLowerCase(),r=e.find((e=>{const r=new o(e.content).data;if(!r)return!1;const n=String(r.username??r.email??r.user??"").toLowerCase(),i=String(r.nicknames??"").toLowerCase().split(",").map((e=>e.trim()));return n===t||i.includes(t)}));if(r){const e=new o(r.content).data,t=function(e){const t=e.trim().toLowerCase();return"admin"===t?"Admin":"manager"===t||"marketingunit"===t||"marketing_unit"===t?"Manager":"Auditor"}(String(e.role??""));d(t),g(e.marketArea),A(e.unitId??e.dealerId)}else e.length>0&&(d("Auditor"),g(void 0),A(void 0))}catch(e){console.error("[useAuditRoleCheck] Failed to fetch roles:",e),C(e instanceof Error?e.message:"Failed to fetch roles"),d("Auditor")}finally{w(!1)}else w(!1)}),[a,s,c]);return r((()=>{h()}),[h]),{role:u,capabilities:i(u),managerArea:m,unitId:f,loading:p,error:k}}export{a as useAuditRoleCheck};
|
|
@@ -12,7 +12,7 @@ export interface UseAuditStateParams {
|
|
|
12
12
|
/** The ID/handle of the unit the current user is auditing */
|
|
13
13
|
unitId: string | null | undefined;
|
|
14
14
|
/** Full audit config (will be resolved internally) */
|
|
15
|
-
config: AuditConfig
|
|
15
|
+
config: AuditConfig | Partial<AuditConfig>;
|
|
16
16
|
/** Set false to skip fetching (e.g., while not yet authenticated) */
|
|
17
17
|
enabled?: boolean;
|
|
18
18
|
}
|
|
@@ -30,5 +30,5 @@ export interface UseAuditStateResult {
|
|
|
30
30
|
/** Save an updated answer for one requirement */
|
|
31
31
|
updateAnswer: (requirementId: string, answerValue: string, comment?: string, photos?: string, complianceDate?: string) => Promise<void>;
|
|
32
32
|
}
|
|
33
|
-
export declare function useAuditState({ service, unitId, config, enabled
|
|
33
|
+
export declare function useAuditState({ service, unitId, config, enabled }: UseAuditStateParams): UseAuditStateResult;
|
|
34
34
|
//# sourceMappingURL=useAuditState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuditState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useAuditState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuditState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAA0B,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,sDAAsD;IACtD,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,uCAAuC;IACvC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,iDAAiD;IACjD,YAAY,EAAE,CACZ,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAMD,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAc,EAAE,EAAE,mBAAmB,GAAG,mBAAmB,CAiNnH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as t,useRef as e,useCallback as i,useEffect as a}from"react";import{resolveAuditConfig as n,parseValidityPeriod as r,isAnswerCompliant as d,calcValidUntil as o,formatValidityPeriod as l}from"../utils/auditUtils.js";function s({service:s,unitId:u,config:c,enabled:g=!0}){const p=n(c),[m,v]=t(null),[F,M]=t([]),[y,
|
|
1
|
+
import{useState as t,useRef as e,useCallback as i,useEffect as a}from"react";import{resolveAuditConfig as n,parseValidityPeriod as r,isAnswerCompliant as d,calcValidUntil as o,formatValidityPeriod as l}from"../utils/auditUtils.js";function s({service:s,unitId:u,config:c,enabled:g=!0}){const p=n(c),[m,v]=t(null),[F,M]=t([]),[y,w]=t([]),[f,h]=t(!1),[S,q]=t(null),I=e(p);I.current=p;const A=i((async()=>{if(!u||!g)return;const t=I.current;try{h(!0),q(null);const e=await s.readDataMessages(t.tags.unit),i=t.unitFieldMapping.nameField,a=t.unitFieldMapping.idField,n=(t.unitFieldMapping.marketAreaField,t.unitFieldMapping.tagsField),c=e.find((t=>String(t.data?.[a]??"")===u||String(t.data?.[i]??"")===u));v(c?.data??null);const g=await s.readDataMessages(t.tags.requirement),p=t.requirementFieldMapping.groupField,m=t.requirementFieldMapping.categoryField,F=t.requirementFieldMapping.titleField,y=t.requirementFieldMapping.descriptionField,f=t.requirementFieldMapping.levelField,S=t.requirementFieldMapping.validityField,I=t.requirementFieldMapping.statusField,A=g.filter((t=>"Active"===String(t.data?.[I]??"Active"))).map((e=>{const i=e.data?.[S];return{id:String(e.id),originalMessageId:String(e.id),title:String(e.data?.[F]??""),group:String(e.data?.[p]??""),category:String(e.data?.[m]??""),description:String(e.data?.[y]??""),level:Number(e.data?.[f]??1),validityPeriodMonths:r(null!=i?String(i):void 0,t.defaultValidityPeriodMonths),status:"Active",tags:Array.isArray(e.data?.tags)?e.data?.tags:[]}}));M(A);const D=c?.data?.[n]?String(c.data[n]).split(",").map((t=>t.trim())).filter(Boolean):[],P=(await s.readDataMessages(t.tags.answer)).filter((t=>t.data?.unitId===u||t.data?.UnitId===u)),U=new Map;for(const t of P){const e=String(t.data?.requirementId??t.data?.RequirementId??"");e&&(U.has(e)||U.set(e,t))}const b=A.filter((t=>!t.tags||0===t.tags.length||t.tags.some((t=>t.every((t=>D.includes(t))))))).map((e=>{const i=U.get(e.id),a=i?.data??{},n=String(a.answer??a.Answer??""),r=a.complianceDate??a.ComplianceDate;let s=a.validUntil??a.ValidUntil;return!s&&n&&d(n,t)&&r&&(s=o(r,e.validityPeriodMonths)??void 0),{id:String(i?.id??`new_${e.id}`),requirementId:e.id,title:e.title,group:e.group,category:e.category,description:e.description,level:e.level,validFor:l(e.validityPeriodMonths),answer:n,comment:a.comment,photos:a.photos,complianceDate:r,validUntil:s,validityPeriodMonths:e.validityPeriodMonths??void 0}}));w(b)}catch(t){console.error("[useAuditState] Failed to load audit data:",t),q(t instanceof Error?t.message:"Failed to load audit data")}finally{h(!1)}}),[s,u,g]);a((()=>{u&&g&&A()}),[u,g,A]);const D=i((async(t,e,i,a,n)=>{const r=I.current;if(!u)return;const l=F.find((e=>e.id===t));if(!l)return;const c=d(e,r),g=n??(c?(new Date).toISOString():void 0),p=g?o(g,l.validityPeriodMonths)??void 0:void 0,m={requirementId:t,unitId:u,answer:e,comment:i,photos:a,complianceDate:g,validUntil:p,validityPeriodMonths:l.validityPeriodMonths};w((n=>n.map((n=>n.requirementId===t?{...n,answer:e,comment:i,photos:a,complianceDate:g,validUntil:p}:n))));try{await s.createDataMessage(r.tags.answer,m)}catch(t){throw console.error("[useAuditState] Failed to save answer:",t),await A(),t}}),[s,u,F,A]);return{unitId:u??null,unit:m,requirements:F,answers:y,loading:f,error:S,resolved:p,loadAuditData:A,updateAnswer:D}}export{s as useAuditState};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocalization.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLocalization.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"useLocalization.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLocalization.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6GD,eAAO,MAAM,gBAAgB,YAAiB,CAAC;AAa/C,QAAA,MAAM,eAAe;aA2CX,MAAM;kBAkFA,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;;+BApGC,MAAM;;;CA2K9C,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as t,useEffect as e,useCallback as n}from"react";import
|
|
1
|
+
import{useState as t,useEffect as e,useCallback as n}from"react";import a from"../node_modules/i18next/dist/esm/i18next.js";import{CodicentService as r}from"../services/codicent.js";import{getConfigValue as o}from"../config/index.js";import{initReactI18next as s}from"../node_modules/react-i18next/dist/es/initReactI18next.js";import{useTranslation as i}from"../node_modules/react-i18next/dist/es/useTranslation.js";const l=()=>{const t=o("FORCE_LANGUAGE");if(t)return{source:"force_config",language:t};if("undefined"!=typeof window){const t=new URLSearchParams(window.location.search),e=t.get("lang")||t.get("language");if(e)return{source:"url_param",language:e}}if("undefined"!=typeof window&&"undefined"!=typeof localStorage){const t=localStorage.getItem("user_language");if(t&&"auto"!==t)return{source:"user_preference",language:t};if("auto"===t&&"undefined"!=typeof navigator&&navigator.language){return{source:"browser",language:navigator.language.split("-")[0]}}}const e=o("DEFAULT_LANGUAGE");if(e)return{source:"default",language:e};if("undefined"!=typeof navigator&&navigator.language){return{source:"browser",language:navigator.language.split("-")[0]}}return{source:"default",language:"sv"}},c=()=>l().language,g=()=>{const t=o("TRANSLATIONS");if(t){const e={};for(const[n,a]of Object.entries(t))e[n]={translation:a};return e}return{en:{translation:{Hello:"Hello"}},sv:{translation:{Hello:"Hej"}}}},u=()=>{if(a.isInitialized){const t=g();Object.keys(t).forEach((e=>{a.addResourceBundle(e,"translation",t[e].translation,!0,!0)}))}else a.use(s).init({resources:g(),lng:c(),fallbackLng:o("DEFAULT_LANGUAGE")||"sv",interpolation:{escapeValue:!1}})};u();const d=new Set;let f=JSON.parse(localStorage.getItem("app-translations")||"{}");const m=new Set,p=()=>{const{t:a,i18n:s}=i(),[g,p]=t((()=>c())),[_,h]=t(f);e((()=>{if(globalThis.__CODICENT_REINIT_I18N__){u(),globalThis.__CODICENT_REINIT_I18N__=!1;const t=c();p(t)}}),[]),e((()=>{s.changeLanguage(g)}),[g,s]);const A=n((t=>{const{source:e}=l();"force_config"!==e?"url_param"!==e?p(t):console.warn("Language setting ignored due to URL parameter"):console.warn("Language setting ignored due to FORCE_LANGUAGE configuration")}),[]),T=n((()=>l()),[]);return{t:n((t=>{if(!s.exists(t)){if(!o("AUTO_TRANSLATE")&&"sv"!==g){const e=`${g}:${t}`;m.has(e)||(m.add(e),console.warn(`[i18n] Missing translation for key "${t}" in language "${g}"`))}(async(t,e)=>{const n=`${e} - ${t}`;let a=f[e]?.[t]||void 0;if(o("AUTO_TRANSLATE")&&!a&&!d.has(n)){d.add(n),localStorage.setItem("app-translations",JSON.stringify(f));try{a=(await r.getTranslations(t,e)).translation}catch(t){console.error("Error fetching translation:",t),a=void 0}finally{d.delete(n)}a&&a.includes("Error code:")&&(a=void 0),a&&(!t.trim().startsWith('"')&&a.trim().startsWith('"')&&a.trim().endsWith('"')&&(a=a.trim().slice(1,-1)),!t.trim().startsWith("'")&&a.trim().startsWith("'")&&a.trim().endsWith("'")&&(a=a.trim().slice(1,-1)),f[e]={...f[e],[t]:a},localStorage.setItem("app-translations",JSON.stringify(f)),h({...f}))}return a||t})(t,g).then((e=>{s.addResource(g,"translation",t,e)}))}return a(t)}),[s,a,g]),tAsync:n((async t=>{const e=await(async(t,e)=>{const n=`${e} - ${t}`;let a=f[e]?.[t]||void 0;if(o("AUTO_TRANSLATE")&&!a&&!d.has(n)){d.add(n),localStorage.setItem("app-translations",JSON.stringify(f));try{a=(await r.getTranslations(t,e)).translation}catch(t){console.error("Error fetching translation:",t),a=void 0}finally{d.delete(n)}a&&a.includes("Error code:")&&(a=void 0),a&&(!t.trim().startsWith('"')&&a.trim().startsWith('"')&&a.trim().endsWith('"')&&(a=a.trim().slice(1,-1)),!t.trim().startsWith("'")&&a.trim().startsWith("'")&&a.trim().endsWith("'")&&(a=a.trim().slice(1,-1)),f[e]={...f[e],[t]:a},localStorage.setItem("app-translations",JSON.stringify(f)),h({...f}))}return a||t})(t,g);return s.exists(t)||s.addResource(g,"translation",t,e),e}),[s,g]),currentLanguage:g,setCurrentLanguage:A,getLanguageInfo:T,isForced:["force_config","url_param"].includes(l().source)}};export{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserRoles.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUserRoles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,YAAa,eAAe,oBAAoB,MAAM,oBAAoB,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"useUserRoles.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUserRoles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,YAAa,eAAe,oBAAoB,MAAM,oBAAoB,MAAM;;;;oCAmC1F,MAAM,KAAG,MAAM;gCAgBO,MAAM,KAAG,MAAM;8BAUjB,MAAM,QAAQ,QAAQ,KAAG,OAAO;+BAe/B,MAAM,KAAG,QAAQ,GAAG,SAAS;mCAKzB,MAAM,KAAG,MAAM,EAAE;8BASxB,QAAQ,GAAG,SAAS;8BAKR,MAAM;CAiBlD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as e,useEffect as r,useCallback as t}from"react";import n from"../utils/MessageContent.js";const
|
|
1
|
+
import{useState as e,useEffect as r,useCallback as t}from"react";import n from"../utils/MessageContent.js";const o=(o,s,a)=>{const[i,m]=e([]),[l,c]=e(!0),[u,f]=e(null);r((()=>{if(!s||!a)return void c(!1);(async()=>{try{c(!0),f(null);const e=(await o.getMessagesFast(["user_role"],void 0,100)).map((e=>{const r=new n(e.content).data;return r&&"object"==typeof r?r:null})).filter((e=>null!==e));m(e)}catch(e){console.error("Failed to fetch user roles:",e),f(e instanceof Error?e.message:"Failed to fetch user roles")}finally{c(!1)}})()}),[o,s,a]);const p=t((e=>{if(!e)return"";const r=e.toLowerCase(),t=i.find((e=>{if(!e.nicknames)return!1;return e.nicknames.toLowerCase().split(",").map((e=>e.trim())).some((e=>e===r))}));return t?.name||e}),[i]),C=(e,r)=>{if(!e||!r)return!1;const t=e.toLowerCase();if(r.nicknames){if(r.nicknames.toLowerCase().split(",").map((e=>e.trim())).some((e=>e===t)))return!0}return r.name?.toLowerCase()===t||r.email?.toLowerCase()===t},d=e=>{if(e)return i.find((r=>C(e,r)))},g=t((()=>s?p(s):""),[s,p]);return{userRoles:i,loading:l,error:u,getNameFromNickname:p,getNicknameFromName:e=>{if(!e)return"";const r=i.find((r=>r.name?.toLowerCase()===e.toLowerCase()));if(r?.nicknames){return r.nicknames.split(",").map((e=>e.trim()))[0]||e}return e},isUserMatch:C,findUserRole:d,getClaimsForUser:e=>{const r=d(e);return r?.claims?r.claims.split(",").map((e=>e.trim())).filter(Boolean):[]},getCurrentUserRole:()=>{if(s)return d(s)},getCurrentUserName:g}};export{o as useUserRoles};
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import type { ColumnDefinition } from "../components/ListView";
|
|
2
|
+
import type { ListConfig } from "../types";
|
|
2
3
|
import { CodicentAppState } from "../hooks/useCodicentApp";
|
|
3
4
|
export interface ListPageProps {
|
|
4
5
|
state: CodicentAppState;
|
|
5
6
|
/** Returns column definitions for a given tag. Falls back to all data keys if not provided. */
|
|
6
7
|
getColumnDefs?: (tag: string) => ColumnDefinition[];
|
|
8
|
+
/**
|
|
9
|
+
* Returns full list configuration (columns + optional deduplicateBy) for a given tag.
|
|
10
|
+
* When provided, takes precedence over getColumnDefs for deriving column definitions.
|
|
11
|
+
*/
|
|
12
|
+
getListConfig?: (tag: string) => ListConfig | undefined;
|
|
7
13
|
/** Optional data filter applied after fetch. Useful for app-specific filtering (e.g. empty notes). */
|
|
8
14
|
filterData?: (data: DataMessage[], tag: string) => DataMessage[];
|
|
9
15
|
}
|
|
10
|
-
export declare const ListPage: ({ state, getColumnDefs, filterData }: ListPageProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare const ListPage: ({ state, getColumnDefs, getListConfig, filterData }: ListPageProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
17
|
export default ListPage;
|
|
12
18
|
//# sourceMappingURL=ListPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPage.d.ts","sourceRoot":"","sources":["../../../src/pages/ListPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ListPage.d.ts","sourceRoot":"","sources":["../../../src/pages/ListPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuB3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAkE3D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IACpD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IACxD,sGAAsG;IACtG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;CAClE;AAED,eAAO,MAAM,QAAQ,wDAAyD,aAAa,4CAylB1F,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|