persian-data-grid 0.5.0 → 0.6.0
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/OFL.txt +93 -0
- package/README.md +179 -22
- package/dist/ERPTableGroupRow-J5Z2LRC5.cjs +131 -0
- package/dist/ERPTableGroupRow-J5Z2LRC5.cjs.map +1 -0
- package/dist/ERPTableGroupRow-PSAPAHGL.js +125 -0
- package/dist/ERPTableGroupRow-PSAPAHGL.js.map +1 -0
- package/dist/GridPlugin-CJCaYnlw.d.ts +57 -0
- package/dist/GridPlugin-oxhq8AsM.d.cts +57 -0
- package/dist/GridPresenceService-GEH6535Q.js +3 -0
- package/dist/GridPresenceService-GEH6535Q.js.map +1 -0
- package/dist/GridPresenceService-RDN5FXHQ.cjs +12 -0
- package/dist/GridPresenceService-RDN5FXHQ.cjs.map +1 -0
- package/dist/GridSession-B-9lLcoB.d.cts +2492 -0
- package/dist/GridSession-Bc7UIawO.d.ts +2492 -0
- package/dist/GridSyncService-KTLB4KP3.js +3 -0
- package/dist/GridSyncService-KTLB4KP3.js.map +1 -0
- package/dist/GridSyncService-TAPAHABV.cjs +12 -0
- package/dist/GridSyncService-TAPAHABV.cjs.map +1 -0
- package/dist/PdfRenderer-1HFh6UeR.d.ts +22 -0
- package/dist/PdfRenderer-CBg7hWNS.d.cts +22 -0
- package/dist/RemoteApi-CCQxiSf1.d.cts +28 -0
- package/dist/RemoteApi-CCQxiSf1.d.ts +28 -0
- package/dist/SelectImpl-NM4O4IGW.js +447 -0
- package/dist/SelectImpl-NM4O4IGW.js.map +1 -0
- package/dist/SelectImpl-W2EI4T7O.cjs +453 -0
- package/dist/SelectImpl-W2EI4T7O.cjs.map +1 -0
- package/dist/UITableController-Cuwq481K.d.cts +632 -0
- package/dist/UITableController-DU8RopUM.d.ts +632 -0
- package/dist/VazirmatnPdfRenderer-BCMpC1zy.d.cts +96 -0
- package/dist/VazirmatnPdfRenderer-Dz_G-m3c.d.ts +96 -0
- package/dist/adapters/arian-erp.cjs +77 -0
- package/dist/adapters/arian-erp.cjs.map +1 -0
- package/dist/adapters/arian-erp.d.cts +60 -0
- package/dist/adapters/arian-erp.d.ts +60 -0
- package/dist/adapters/arian-erp.js +71 -0
- package/dist/adapters/arian-erp.js.map +1 -0
- package/dist/appendAtEnd-RHIQRG2W.cjs +35 -0
- package/dist/appendAtEnd-RHIQRG2W.cjs.map +1 -0
- package/dist/appendAtEnd-TJEABLGD.js +33 -0
- package/dist/appendAtEnd-TJEABLGD.js.map +1 -0
- package/dist/applyImportedRows-BO6yxoAN.d.cts +135 -0
- package/dist/applyImportedRows-D4zVY8uD.d.ts +135 -0
- package/dist/applyRowVisibilityHandler-KS6TMCBN.js +83 -0
- package/dist/applyRowVisibilityHandler-KS6TMCBN.js.map +1 -0
- package/dist/applyRowVisibilityHandler-LXCOGESZ.cjs +85 -0
- package/dist/applyRowVisibilityHandler-LXCOGESZ.cjs.map +1 -0
- package/dist/broadcastChannelTransport-FHUMV76O.cjs +12 -0
- package/dist/broadcastChannelTransport-FHUMV76O.cjs.map +1 -0
- package/dist/broadcastChannelTransport-MIH53VNZ.js +3 -0
- package/dist/broadcastChannelTransport-MIH53VNZ.js.map +1 -0
- package/dist/callbackRemoteApi-BlXO5NJz.d.ts +30 -0
- package/dist/callbackRemoteApi-DgnXH-i0.d.cts +30 -0
- package/dist/cellRenderContext-DB7V_mlu.d.ts +42 -0
- package/dist/cellRenderContext-DG5BOlxK.d.cts +42 -0
- package/dist/chunk-2BJCRYOS.cjs +936 -0
- package/dist/chunk-2BJCRYOS.cjs.map +1 -0
- package/dist/chunk-3Y3KKGEC.js +3 -0
- package/dist/chunk-3Y3KKGEC.js.map +1 -0
- package/dist/chunk-5ALMNLUR.cjs +1408 -0
- package/dist/chunk-5ALMNLUR.cjs.map +1 -0
- package/dist/chunk-5HKVMPBD.js +937 -0
- package/dist/chunk-5HKVMPBD.js.map +1 -0
- package/dist/chunk-633KP74Z.js +189 -0
- package/dist/chunk-633KP74Z.js.map +1 -0
- package/dist/chunk-6XBXZPBW.js +298 -0
- package/dist/chunk-6XBXZPBW.js.map +1 -0
- package/dist/chunk-77UXAJII.js +112 -0
- package/dist/chunk-77UXAJII.js.map +1 -0
- package/dist/chunk-ASPTRYRD.cjs +21 -0
- package/dist/chunk-ASPTRYRD.cjs.map +1 -0
- package/dist/chunk-AU3RDJYQ.js +243 -0
- package/dist/chunk-AU3RDJYQ.js.map +1 -0
- package/dist/chunk-BHDRUZH5.cjs +33 -0
- package/dist/chunk-BHDRUZH5.cjs.map +1 -0
- package/dist/chunk-BLYVOV3G.cjs +191 -0
- package/dist/chunk-BLYVOV3G.cjs.map +1 -0
- package/dist/chunk-CILNIWYW.cjs +100 -0
- package/dist/chunk-CILNIWYW.cjs.map +1 -0
- package/dist/chunk-DFFP7SJ6.cjs +257 -0
- package/dist/chunk-DFFP7SJ6.cjs.map +1 -0
- package/dist/chunk-DXRCYW42.cjs +568 -0
- package/dist/chunk-DXRCYW42.cjs.map +1 -0
- package/dist/chunk-EBV6HGZB.cjs +33 -0
- package/dist/chunk-EBV6HGZB.cjs.map +1 -0
- package/dist/chunk-EHHHC5JV.js +832 -0
- package/dist/chunk-EHHHC5JV.js.map +1 -0
- package/dist/chunk-F4PYOYHR.js +112 -0
- package/dist/chunk-F4PYOYHR.js.map +1 -0
- package/dist/chunk-GQEDLUMB.js +168 -0
- package/dist/chunk-GQEDLUMB.js.map +1 -0
- package/dist/chunk-H2LESGMX.cjs +319 -0
- package/dist/chunk-H2LESGMX.cjs.map +1 -0
- package/dist/chunk-HTNJT2QU.js +11674 -0
- package/dist/chunk-HTNJT2QU.js.map +1 -0
- package/dist/chunk-IIISFUW4.cjs +11786 -0
- package/dist/chunk-IIISFUW4.cjs.map +1 -0
- package/dist/chunk-IMPCRWYP.cjs +251 -0
- package/dist/chunk-IMPCRWYP.cjs.map +1 -0
- package/dist/chunk-IPPIXOVQ.js +317 -0
- package/dist/chunk-IPPIXOVQ.js.map +1 -0
- package/dist/chunk-J4XJ4UBC.js +1404 -0
- package/dist/chunk-J4XJ4UBC.js.map +1 -0
- package/dist/chunk-J7CPPFXT.cjs +89 -0
- package/dist/chunk-J7CPPFXT.cjs.map +1 -0
- package/dist/chunk-JOICD47Q.cjs +41 -0
- package/dist/chunk-JOICD47Q.cjs.map +1 -0
- package/dist/chunk-KHMG6EI2.js +13 -0
- package/dist/chunk-KHMG6EI2.js.map +1 -0
- package/dist/chunk-KMRURD5J.cjs +15 -0
- package/dist/chunk-KMRURD5J.cjs.map +1 -0
- package/dist/chunk-KRJG3KMP.cjs +174 -0
- package/dist/chunk-KRJG3KMP.cjs.map +1 -0
- package/dist/chunk-KUBVDIF7.cjs +653 -0
- package/dist/chunk-KUBVDIF7.cjs.map +1 -0
- package/dist/chunk-KYAOSBQN.js +31 -0
- package/dist/chunk-KYAOSBQN.js.map +1 -0
- package/dist/chunk-LJ7LMEXO.js +36 -0
- package/dist/chunk-LJ7LMEXO.js.map +1 -0
- package/dist/chunk-MT3KLB2Q.cjs +944 -0
- package/dist/chunk-MT3KLB2Q.cjs.map +1 -0
- package/dist/chunk-MU3RY46O.js +932 -0
- package/dist/chunk-MU3RY46O.js.map +1 -0
- package/dist/chunk-MUQQKPWR.js +84 -0
- package/dist/chunk-MUQQKPWR.js.map +1 -0
- package/dist/chunk-N7SJTINL.cjs +4 -0
- package/dist/chunk-N7SJTINL.cjs.map +1 -0
- package/dist/chunk-NTV2UUAJ.cjs +149 -0
- package/dist/chunk-NTV2UUAJ.cjs.map +1 -0
- package/dist/chunk-PJQWHF6T.js +31 -0
- package/dist/chunk-PJQWHF6T.js.map +1 -0
- package/dist/chunk-PQY54EL5.js +248 -0
- package/dist/chunk-PQY54EL5.js.map +1 -0
- package/dist/chunk-PXCHPZTP.cjs +839 -0
- package/dist/chunk-PXCHPZTP.cjs.map +1 -0
- package/dist/chunk-Q7TBBUTX.cjs +110 -0
- package/dist/chunk-Q7TBBUTX.cjs.map +1 -0
- package/dist/chunk-QQMU44KJ.js +612 -0
- package/dist/chunk-QQMU44KJ.js.map +1 -0
- package/dist/chunk-QZN7R2WP.cjs +114 -0
- package/dist/chunk-QZN7R2WP.cjs.map +1 -0
- package/dist/chunk-RKVSJU46.js +35 -0
- package/dist/chunk-RKVSJU46.js.map +1 -0
- package/dist/chunk-RM6ZWNT3.js +561 -0
- package/dist/chunk-RM6ZWNT3.js.map +1 -0
- package/dist/chunk-SX4VQXAA.cjs +114 -0
- package/dist/chunk-SX4VQXAA.cjs.map +1 -0
- package/dist/chunk-SZ7BLAY3.js +92 -0
- package/dist/chunk-SZ7BLAY3.js.map +1 -0
- package/dist/chunk-TN4MG6FY.js +112 -0
- package/dist/chunk-TN4MG6FY.js.map +1 -0
- package/dist/chunk-UC7PHDM6.cjs +331 -0
- package/dist/chunk-UC7PHDM6.cjs.map +1 -0
- package/dist/chunk-UXVLYUUW.js +108 -0
- package/dist/chunk-UXVLYUUW.js.map +1 -0
- package/dist/chunk-VVGYRZ7S.cjs +38 -0
- package/dist/chunk-VVGYRZ7S.cjs.map +1 -0
- package/dist/chunk-W5256BJ4.js +56 -0
- package/dist/chunk-W5256BJ4.js.map +1 -0
- package/dist/chunk-WUMOSOEK.cjs +62 -0
- package/dist/chunk-WUMOSOEK.cjs.map +1 -0
- package/dist/chunk-XLRE2J25.js +140 -0
- package/dist/chunk-XLRE2J25.js.map +1 -0
- package/dist/chunk-Y6W5V2CI.js +19 -0
- package/dist/chunk-Y6W5V2CI.js.map +1 -0
- package/dist/chunk-Z4QPZ3Z3.cjs +114 -0
- package/dist/chunk-Z4QPZ3Z3.cjs.map +1 -0
- package/dist/createEngineGridQuery-Dmq3i5v3.d.cts +884 -0
- package/dist/createEngineGridQuery-Mt1hc33m.d.ts +884 -0
- package/dist/date-picker-jalali.cjs +263 -0
- package/dist/date-picker-jalali.cjs.map +1 -0
- package/dist/date-picker-jalali.d.cts +62 -0
- package/dist/date-picker-jalali.d.ts +62 -0
- package/dist/date-picker-jalali.js +256 -0
- package/dist/date-picker-jalali.js.map +1 -0
- package/dist/finance.cjs +205 -0
- package/dist/finance.cjs.map +1 -0
- package/dist/finance.d.cts +90 -0
- package/dist/finance.d.ts +90 -0
- package/dist/finance.js +157 -0
- package/dist/finance.js.map +1 -0
- package/dist/foldedColumn-IHDT4ARZ.cjs +66 -0
- package/dist/foldedColumn-IHDT4ARZ.cjs.map +1 -0
- package/dist/foldedColumn-TFURUKFG.js +64 -0
- package/dist/foldedColumn-TFURUKFG.js.map +1 -0
- package/dist/headless.cjs +729 -0
- package/dist/headless.cjs.map +1 -0
- package/dist/headless.d.cts +504 -0
- package/dist/headless.d.ts +504 -0
- package/dist/headless.js +226 -0
- package/dist/headless.js.map +1 -0
- package/dist/index-DN8M8Jkq.d.cts +14 -0
- package/dist/index-DmzL-F_o.d.ts +14 -0
- package/dist/index.cjs +8002 -11409
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +437 -2305
- package/dist/index.d.ts +437 -2305
- package/dist/index.js +7244 -11083
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.cjs +12 -0
- package/dist/locales/ar.cjs.map +1 -0
- package/dist/locales/ar.d.cts +6 -0
- package/dist/locales/ar.d.ts +6 -0
- package/dist/locales/ar.js +3 -0
- package/dist/locales/ar.js.map +1 -0
- package/dist/locales/en.cjs +12 -0
- package/dist/locales/en.cjs.map +1 -0
- package/dist/locales/en.d.cts +6 -0
- package/dist/locales/en.d.ts +6 -0
- package/dist/locales/en.js +3 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/fa.cjs +12 -0
- package/dist/locales/fa.cjs.map +1 -0
- package/dist/locales/fa.d.cts +6 -0
- package/dist/locales/fa.d.ts +6 -0
- package/dist/locales/fa.js +3 -0
- package/dist/locales/fa.js.map +1 -0
- package/dist/locales/index.cjs +51 -0
- package/dist/locales/index.cjs.map +1 -0
- package/dist/locales/index.d.cts +5 -0
- package/dist/locales/index.d.ts +5 -0
- package/dist/locales/index.js +6 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/memoryRecords-AWDKUJ2F.cjs +50 -0
- package/dist/memoryRecords-AWDKUJ2F.cjs.map +1 -0
- package/dist/memoryRecords-OJTGXLRH.js +47 -0
- package/dist/memoryRecords-OJTGXLRH.js.map +1 -0
- package/dist/pagedFooterTotals-DXCGDO6F.cjs +27 -0
- package/dist/pagedFooterTotals-DXCGDO6F.cjs.map +1 -0
- package/dist/pagedFooterTotals-ORWKUNE7.js +25 -0
- package/dist/pagedFooterTotals-ORWKUNE7.js.map +1 -0
- package/dist/pagedKit-MFGAJFSK.cjs +134 -0
- package/dist/pagedKit-MFGAJFSK.cjs.map +1 -0
- package/dist/pagedKit-WYWY4LRV.js +127 -0
- package/dist/pagedKit-WYWY4LRV.js.map +1 -0
- package/dist/pagedSearch-HCPJW7VM.js +38 -0
- package/dist/pagedSearch-HCPJW7VM.js.map +1 -0
- package/dist/pagedSearch-U3WCG4GN.cjs +42 -0
- package/dist/pagedSearch-U3WCG4GN.cjs.map +1 -0
- package/dist/plugins/csv.cjs +124 -0
- package/dist/plugins/csv.cjs.map +1 -0
- package/dist/plugins/csv.d.cts +44 -0
- package/dist/plugins/csv.d.ts +44 -0
- package/dist/plugins/csv.js +120 -0
- package/dist/plugins/csv.js.map +1 -0
- package/dist/plugins/excel.cjs +52 -0
- package/dist/plugins/excel.cjs.map +1 -0
- package/dist/plugins/excel.d.cts +14 -0
- package/dist/plugins/excel.d.ts +14 -0
- package/dist/plugins/excel.js +7 -0
- package/dist/plugins/excel.js.map +1 -0
- package/dist/plugins/pdf/fonts/vazirmatn.cjs +50 -0
- package/dist/plugins/pdf/fonts/vazirmatn.cjs.map +1 -0
- package/dist/plugins/pdf/fonts/vazirmatn.d.cts +24 -0
- package/dist/plugins/pdf/fonts/vazirmatn.d.ts +24 -0
- package/dist/plugins/pdf/fonts/vazirmatn.js +39 -0
- package/dist/plugins/pdf/fonts/vazirmatn.js.map +1 -0
- package/dist/plugins/pdf.cjs +24 -0
- package/dist/plugins/pdf.cjs.map +1 -0
- package/dist/plugins/pdf.d.cts +21 -0
- package/dist/plugins/pdf.d.ts +21 -0
- package/dist/plugins/pdf.js +7 -0
- package/dist/plugins/pdf.js.map +1 -0
- package/dist/presence.cjs +56 -0
- package/dist/presence.cjs.map +1 -0
- package/dist/presence.d.cts +17 -0
- package/dist/presence.d.ts +17 -0
- package/dist/presence.js +54 -0
- package/dist/presence.js.map +1 -0
- package/dist/rebuildRowVisibility-66EAZ356.cjs +21 -0
- package/dist/rebuildRowVisibility-66EAZ356.cjs.map +1 -0
- package/dist/rebuildRowVisibility-6TYM5BP2.js +19 -0
- package/dist/rebuildRowVisibility-6TYM5BP2.js.map +1 -0
- package/dist/styles.css +1440 -0
- package/dist/sync.cjs +148 -0
- package/dist/sync.cjs.map +1 -0
- package/dist/sync.d.cts +17 -0
- package/dist/sync.d.ts +17 -0
- package/dist/sync.js +146 -0
- package/dist/sync.js.map +1 -0
- package/dist/types-D__47BKv.d.cts +23 -0
- package/dist/types-D__47BKv.d.ts +23 -0
- package/package.json +184 -28
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../application/handlers/cellCommandsHandler.ts"],"names":[],"mappings":"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","file":"chunk-RM6ZWNT3.js","sourcesContent":["// application/handlers/cellCommandsHandler.ts\r\n\r\nimport {\r\n ColumnSchema,\r\n FieldType,\r\n} from '../../bootstrap/type';\r\nimport { Table } from '../../domain/entities/Table';\r\nimport { DomainError } from '../../domain/errors/DomainError';\r\nimport {\r\n Actor,\r\n PermissionPolicy,\r\n} from '../../domain/policies';\r\nimport {\r\n ColumnId,\r\n RowId,\r\n RowStateEnum,\r\n} from '../../domain/value-objects';\r\nimport {\r\n ApplyDynamicProjectionCommand,\r\n ChangeCellDisplayValueCommand,\r\n ChangeCellValueCommand,\r\n SaveDescriptionCommand,\r\n} from '../commands';\r\nimport { TableEvent } from '../events';\r\nimport { AuditLogger } from '../ports/AuditLogger';\r\nimport { RemoteApi } from '../ports/RemoteApi';\r\nimport { TableRepository } from '../ports/TableRepository';\r\n\r\nexport type DynamicConfig = {\r\n columnMeta: Map<string, ColumnSchema>;\r\n remoteApi: RemoteApi;\r\n};\r\n\r\n/* ─── shared helper ──────────────────────────────────────────────── */\r\n\r\nexport function logError(audit: AuditLogger, error: unknown, context?: string): void {\r\n if (error instanceof DomainError) {\r\n audit.log({\r\n type: error.code,\r\n message: error.message,\r\n payload: { details: error.details, context },\r\n });\r\n } else if (error instanceof Error) {\r\n audit.log({\r\n type: 'INVARIANT_VIOLATION',\r\n message: error.message,\r\n payload: { stack: error.stack, context },\r\n });\r\n } else {\r\n audit.log({\r\n type: 'INVARIANT_VIOLATION',\r\n message: 'Unexpected error',\r\n payload: { error, context },\r\n });\r\n }\r\n}\r\n\r\n/* ======================================================\r\n ChangeCellValueHandler\r\n ====================================================== */\r\n\r\n/**\r\n * Remote visibility (`resolveOn`) projection shared by the cell-change, dynamic\r\n * re-projection and row-activation handlers.\r\n */\r\nexport async function applyRemoteVisibilityRules(\r\ndynamic: DynamicConfig | undefined,\r\ninput: {\r\ntable: Table;\r\nrowId: RowId;\r\nchangedColumnId: ColumnId;\r\nnewValue: unknown;\r\n/** When false (e.g. row activate / re-project), keep existing dependent cell values. */\r\nclearDependents?: boolean;\r\n},\r\n): Promise<void> {\r\nconst {\r\n table,\r\n rowId,\r\n changedColumnId,\r\n newValue,\r\n clearDependents = true,\r\n} = input;\r\n\r\nconst meta = dynamic?.columnMeta;\r\nif (!meta) return;\r\nconst colKey = `${table.getActiveCollectionName() ?? 'default'}_${changedColumnId.value}`;\r\nconst changedMeta = meta.get(colKey) ?? meta.get(changedColumnId.value);\r\nconst resolveOn = changedMeta?.resolveOn;\r\nif (!resolveOn) return;\r\nif (resolveOn.fieldName !== changedColumnId.value) return;\r\n\r\nconst row = table.getRows().find(r => r.id.value === rowId.value);\r\nif (!row) return;\r\n\r\nconst rowValues: Record<string, unknown> = {};\r\nfor (const [colId, cell] of row.getCells().entries()) {\r\n rowValues[colId] = cell.getValue();\r\n}\r\nif (newValue == null || newValue === '') return;\r\nconst params =\r\n typeof resolveOn.buildParams === 'function'\r\n ? resolveOn.buildParams(rowValues)\r\n : { value: newValue };\r\nconst response = await dynamic!.remoteApi.request({\r\n endpoint: resolveOn.endpoint,\r\n params,\r\n method: 'POST',\r\n});\r\n\r\nresolveOn.getResponse?.(response, row);\r\nconst flags: Record<string, boolean> = resolveOn.mapFlags?.(response) ?? {};\r\n\r\nconst toShow: ColumnSchema[] = [];\r\nconst visibilityCondition: Record<string, boolean> = {};\r\nconst activeCollection = table.getActiveCollectionName() ?? 'default';\r\n\r\nmeta.forEach(colCfg => {\r\n // Collection guard — same rationale as applyDynamicProjection: configs of\r\n // other collections must not react to this collection's cell changes.\r\n if ((colCfg.fieldCollection ?? 'default') !== activeCollection) return;\r\n const v = colCfg.visibility;\r\n\r\n if (\r\n v?.kind === 'whenRemoteFlag' &&\r\n v.sourceFieldName === changedColumnId.value\r\n ) {\r\n const colId = new ColumnId(colCfg.fieldName);\r\n const schema = table.getColumnSchema(colId);\r\n const flagValue = flags[v.flag] ?? false;\r\n\r\n // کلید visibilityCondition باید fieldName باشد چون UI (cellRenderer /\r\n // moveActiveCell / isInitiallyHidden) با col.fieldName چک میکند.\r\n visibilityCondition[colCfg.fieldName] = flagValue;\r\n\r\n if (flagValue && schema) {\r\n toShow.push({ ...schema, hidden: false });\r\n }\r\n }\r\n\r\n const dependency = colCfg.dynamicSource?.dependsOn;\r\n if (\r\n clearDependents &&\r\n dependency &&\r\n dependency.includes(changedColumnId.value) &&\r\n !Object.hasOwn(visibilityCondition, colCfg.fieldName) &&\r\n colCfg.visibility?.kind !== 'whenTableType' &&\r\n colCfg.visibility?.kind !== 'whenCollection'\r\n ) {\r\n const cell = row.getCell(colCfg.fieldName);\r\n cell?.changeValue(null);\r\n cell?.changeDisplay(null);\r\n }\r\n});\r\n\r\nif (toShow.length > 0) {\r\n table.addColumns(toShow);\r\n}\r\n\r\nrow.setVisibilityCondition(visibilityCondition);\r\n}\r\n\r\nexport class ChangeCellValueHandler {\r\n constructor(\r\n private readonly repo: TableRepository,\r\n private readonly audit: AuditLogger,\r\n private readonly permissionPolicy: PermissionPolicy,\r\n private readonly dynamic?: DynamicConfig,\r\n ) { }\r\n\r\n async execute(\r\n command: ChangeCellValueCommand,\r\n actor: Actor,\r\n ): Promise<TableEvent[]> {\r\n const table = await this.repo.getById(command.store, command.tableKey);\r\n try {\r\n const rowId = new RowId(command.rowId);\r\n const columnId = new ColumnId(command.columnId);\r\n /* 1. schema existence */\r\n const schema = table.getColumnSchema(columnId);\r\n if (!schema) {\r\n throw new DomainError('COLUMN_NOT_FOUND', 'Column does not exist', {\r\n columnId: columnId.value,\r\n });\r\n }\r\n /* 2. editable policy */\r\n if (schema.editable === false) {\r\n throw new DomainError('NOT_EDITABLE', 'Cell is not editable', {\r\n rowId: rowId.value,\r\n columnId: columnId.value,\r\n });\r\n }\r\n /* 3. permission policy */\r\n if (\r\n !this.permissionPolicy.canChangeCell({\r\n actor,\r\n rowId: command.rowId,\r\n columnId: command.columnId,\r\n })\r\n ) {\r\n throw new DomainError(\r\n 'FORBIDDEN',\r\n 'Actor is not allowed to change this cell',\r\n { actor, rowId: rowId.value, columnId: columnId.value },\r\n );\r\n }\r\n /* 4. type validation */\r\n const validated = this.validateCellValue(schema.fieldType, command.newValue);\r\n /* 5. domain mutation */\r\n const domainEvent = table.changeCell(rowId, columnId, validated.value);\r\n // Keep existing display unless a dedicated display-change command updates it.\r\n // Writing the raw value here wipes select labels (e.g. account title).\r\n if (!domainEvent) {\r\n throw new DomainError(\r\n 'CELL_NOT_FOUND',\r\n 'Cell not found or value not changed',\r\n { rowId: rowId.value, columnId: columnId.value },\r\n );\r\n }\r\n /* 6. application-level side effects */\r\n if (this.dynamic) {\r\n await this.applyComputedColumns({\r\n table,\r\n rowId,\r\n changedColumnId: columnId,\r\n remoteApi: this.dynamic.remoteApi,\r\n });\r\n await this.applyRemoteVisibilityRules({\r\n table,\r\n rowId,\r\n changedColumnId: columnId,\r\n newValue: command.newValue,\r\n });\r\n this.applyDynamicProjection({\r\n table,\r\n rowId,\r\n changedColumnId: columnId,\r\n validatedValue: command.newValue,\r\n });\r\n }\r\n\r\n /* 7. RowState management */\r\n const state = table\r\n .getRows()\r\n .find(r => r.id.value === rowId.value)\r\n ?.getCells()\r\n .get('RowState')\r\n ?.getValue();\r\n\r\n if (state === RowStateEnum.Unchanged) {\r\n table.changeCell(rowId, new ColumnId('RowState'), RowStateEnum.Modified);\r\n table.changeDisplay(rowId, new ColumnId('RowState'), RowStateEnum.Modified);\r\n }\r\n\r\n /* 8. persist */\r\n await this.repo.save(command.store, table);\r\n\r\n /* 9. output event */\r\n const out: TableEvent = {\r\n type: 'CELL_CHANGED',\r\n tableId: command.tableKey,\r\n rowId: domainEvent.rowId.value,\r\n columnId: domainEvent.columnId.value,\r\n newValue: domainEvent.newValue,\r\n previousValue: domainEvent.previousValue,\r\n };\r\n this.audit.log({ type: 'CELL_CHANGED', message: out.type, payload: out });\r\n return [out];\r\n\r\n } catch (e) {\r\n logError(this.audit, e, `ChangeCellValueHandler[${command.tableKey}:${command.rowId}:${command.columnId}]`);\r\n return [];\r\n }\r\n }\r\n\r\n /* ── helpers ─────────────────────────────────────────────────────── */\r\n\r\n private applyRemoteVisibilityRules(input: Parameters<typeof applyRemoteVisibilityRules>[1]): Promise<void> {\r\n return applyRemoteVisibilityRules(this.dynamic, input);\r\n }\r\n\r\n private async applyComputedColumns(input: {\r\n table: Table;\r\n rowId: RowId;\r\n changedColumnId: ColumnId;\r\n remoteApi: RemoteApi;\r\n }): Promise<void> {\r\n const { table, rowId, changedColumnId, remoteApi } = input;\r\n const meta = this.dynamic!.columnMeta;\r\n\r\n const computedColumns = Array.from(meta.values()).filter(\r\n (c): c is ColumnSchema & {\r\n computed: NonNullable<ColumnSchema['computed']>;\r\n } => c.computed != null,\r\n );\r\n\r\n if (computedColumns.length === 0) return;\r\n\r\n const row = table.getRows().find(r => r.id.value === rowId.value);\r\n if (!row) return;\r\n\r\n const rowValues: Record<string, unknown> = {};\r\n for (const [colId, cell] of row.getCells().entries()) {\r\n rowValues[colId] = cell.getValue();\r\n }\r\n\r\n const dependents = new Map<string, typeof computedColumns>();\r\n for (const col of computedColumns) {\r\n for (const dep of col.computed.dependsOn ?? []) {\r\n if (!dependents.has(dep)) dependents.set(dep, []);\r\n dependents.get(dep)!.push(col);\r\n }\r\n }\r\n\r\n const queue: string[] = [changedColumnId.value];\r\n const visited = new Set<string>();\r\n let safetyCounter = 0;\r\n const MAX = computedColumns.length + 1;\r\n\r\n while (queue.length > 0) {\r\n if (safetyCounter++ > MAX) {\r\n throw new Error('Computed cycle detected');\r\n }\r\n const source = queue.shift()!;\r\n const targets = dependents.get(source) ?? [];\r\n\r\n for (const colCfg of targets) {\r\n const targetField = colCfg.fieldName;\r\n const targetColId = new ColumnId(targetField);\r\n const schema = table.getColumnSchema(targetColId);\r\n if (!schema || !colCfg.computed) continue;\r\n\r\n const rawValue = colCfg.computed.compute(rowValues, remoteApi);\r\n const newValue = rawValue instanceof Promise ? await rawValue : rawValue;\r\n const validated = this.validateCellValue(schema.fieldType, newValue);\r\n\r\n if (validated.value instanceof Promise) {\r\n throw new Error(\r\n `Computed column \"${targetField}\" returned a Promise after validation`,\r\n );\r\n }\r\n\r\n const prev = rowValues[targetField];\r\n if (Object.is(prev, validated.value)) continue;\r\n\r\n table.changeCell(rowId, targetColId, validated.value);\r\n\r\n if (schema.displayFormat) {\r\n const validatedDisplay = this.validateCellValue(\r\n schema.fieldType,\r\n schema.displayFormat(newValue),\r\n );\r\n table.changeDisplay(rowId, targetColId, validatedDisplay.value);\r\n } else {\r\n table.changeDisplay(rowId, targetColId, validated.value);\r\n }\r\n\r\n rowValues[targetField] = validated.value;\r\n queue.push(targetField);\r\n visited.add(targetField);\r\n }\r\n }\r\n }\r\n\r\n private validateCellValue(type: FieldType, value: unknown) {\r\n switch (type) {\r\n case 'text':\r\n case 'textArea':\r\n case 'description':\r\n case 'date':\r\n return typeof value === 'string'\r\n ? { ok: true as const, value }\r\n : { ok: false as const, error: { message: 'Expected string', details: { value } }, value };\r\n\r\n case 'static':\r\n return { ok: true as const, value };\r\n\r\n case 'checkbox':\r\n return typeof value === 'boolean'\r\n ? { ok: true as const, value }\r\n : { ok: false as const, error: { message: 'Expected boolean', details: { value } }, value };\r\n\r\n case 'number':\r\n case 'price':\r\n case 'select':\r\n case 'selectOption': {\r\n if (value === '' || value === undefined) {\r\n return { ok: true as const, value };\r\n }\r\n const n = typeof value === 'number' ? value : Number(value);\r\n return Number.isFinite(n)\r\n ? { ok: true as const, value: n }\r\n : { ok: false as const, error: { message: 'Expected number', details: { value } }, value };\r\n }\r\n\r\n default:\r\n return { ok: false as const, error: { message: 'Unsupported type', details: { type, value } }, value };\r\n }\r\n }\r\n\r\n private applyDynamicProjection(input: {\r\n table: Table;\r\n rowId: RowId;\r\n changedColumnId: ColumnId;\r\n validatedValue: unknown;\r\n }): void {\r\n const { table, changedColumnId, validatedValue } = input;\r\n const activeCollection = table.getActiveCollectionName() ?? 'default';\r\n this.dynamic!.columnMeta.forEach((colMeta, key) => {\r\n // Collection guard: a column config may only be projected onto the table\r\n // when it belongs to the ACTIVE collection. Twin configs of other\r\n // collections must never leak their dynamicSource/visibility into this\r\n // collection's column map — a value in one tab must not unhide/reconfigure\r\n // the same-named column in other tabs.\r\n if ((colMeta.fieldCollection ?? 'default') !== activeCollection) return;\r\n const col = table.getColumnSchema(new ColumnId(colMeta.fieldName));\r\n\r\n const depends = colMeta.dynamicSource?.dependsOn;\r\n if (depends?.includes(changedColumnId.value)) {\r\n const { dynamicSource } = colMeta;\r\n const { endpoint, dependsOn, ...restDynamic } = dynamicSource ?? {};\r\n const base = col ?? colMeta;\r\n table.setColumnSchema(new ColumnId(base.fieldName), {\r\n ...base,\r\n dynamicSelectFilterOption:\r\n base.dynamicSelectFilterOption ?? (() => true),\r\n dynamicSource: {\r\n endpoint: endpoint ?? '',\r\n ...restDynamic,\r\n dependOn: {\r\n fieldName: changedColumnId.value,\r\n value: validatedValue,\r\n },\r\n },\r\n });\r\n }\r\n\r\n if (\r\n colMeta.visibility?.kind === 'whenFieldTruthy' &&\r\n colMeta.visibility.fieldName === changedColumnId.value &&\r\n col\r\n ) {\r\n table.setColumnSchema(new ColumnId(colMeta.fieldName), col);\r\n }\r\n });\r\n }\r\n}\r\n\r\n/* ======================================================\r\n ChangeCellDisplayValueHandler\r\n ====================================================== */\r\n\r\nexport class ChangeCellDisplayValueHandler {\r\n constructor(\r\n private readonly repo: TableRepository,\r\n private readonly audit: AuditLogger,\r\n private readonly permissionPolicy: PermissionPolicy,\r\n ) { }\r\n\r\n async execute(\r\n command: ChangeCellDisplayValueCommand,\r\n actor: Actor,\r\n ): Promise<TableEvent[]> {\r\n const table = await this.repo.getById(command.store, command.tableKey);\r\n try {\r\n const rowId = new RowId(command.rowId);\r\n const columnId = new ColumnId(command.columnId);\r\n\r\n const schema = table.getColumnSchema(columnId);\r\n if (!schema) {\r\n throw new DomainError('COLUMN_NOT_FOUND', 'Column does not exist', {\r\n columnId: columnId.value,\r\n });\r\n }\r\n\r\n if (schema.editable === false) {\r\n throw new DomainError('NOT_EDITABLE', 'Cell is not editable', {\r\n rowId: rowId.value,\r\n columnId: columnId.value,\r\n });\r\n }\r\n\r\n if (\r\n !this.permissionPolicy.canChangeCell({\r\n actor,\r\n rowId: command.rowId,\r\n columnId: command.columnId,\r\n })\r\n ) {\r\n throw new DomainError(\r\n 'FORBIDDEN',\r\n 'Actor is not allowed to change this cell',\r\n { actor, rowId: rowId.value, columnId: columnId.value },\r\n );\r\n }\r\n\r\n const domainEvent = table.changeDisplay(rowId, columnId, command.newValue);\r\n\r\n if (!domainEvent) {\r\n throw new DomainError(\r\n 'CELL_NOT_FOUND',\r\n 'Cell not found or value not changed',\r\n { rowId: rowId.value, columnId: columnId.value },\r\n );\r\n }\r\n\r\n await this.repo.save(command.store, table);\r\n\r\n const out: TableEvent = {\r\n type: 'CELL_DISPLAY_CHANGED',\r\n tableId: command.tableKey,\r\n rowId: domainEvent.rowId.value,\r\n columnId: domainEvent.columnId.value,\r\n newValue: domainEvent.newValue,\r\n };\r\n this.audit.log({ type: 'CELL_DISPLAY_CHANGED', message: out.type, payload: out });\r\n return [out];\r\n\r\n } catch (e) {\r\n logError(this.audit, e, `ChangeCellDisplayValueHandler[${command.tableKey}:${command.rowId}:${command.columnId}]`);\r\n return [];\r\n }\r\n }\r\n}\r\n\r\n/* ======================================================\r\n SaveDescriptionHandler\r\n ====================================================== */\r\n\r\nexport class SaveDescriptionHandler {\r\n constructor(\r\n private readonly repo: TableRepository,\r\n private readonly audit: AuditLogger,\r\n private readonly permissionPolicy: PermissionPolicy,\r\n ) { }\r\n\r\n async execute(\r\n command: SaveDescriptionCommand,\r\n actor: Actor,\r\n ): Promise<TableEvent[]> {\r\n const table = await this.repo.getById(command.store, command.tableKey);\r\n try {\r\n const rowId = new RowId(command.rowId);\r\n const domainEvent = table.saveDescription(rowId, command.flag);\r\n\r\n if (!domainEvent) {\r\n throw new DomainError(\r\n 'CELL_NOT_FOUND',\r\n 'Cell not found or value not changed',\r\n { rowId: rowId.value, flag: command.flag },\r\n );\r\n }\r\n\r\n await this.repo.save(command.store, table);\r\n\r\n const out: TableEvent = {\r\n type: 'ROW_DESCRIPTION_SAVED',\r\n tableId: command.tableKey,\r\n rowId: domainEvent.rowId.value,\r\n description: command.flag,\r\n };\r\n this.audit.log({ type: 'INFORMATION', message: out.type, payload: out });\r\n return [out];\r\n\r\n } catch (e) {\r\n logError(this.audit, e, `SaveDescriptionHandler[${command.tableKey}:${command.rowId}]`);\r\n return [];\r\n }\r\n }\r\n}\r\n\r\n/* ======================================================\r\n ApplyDynamicProjectionHandler\r\n ====================================================== */\r\n\r\nexport class ApplyDynamicProjectionHandler {\r\n constructor(\r\n private readonly repo: TableRepository,\r\n private readonly audit: AuditLogger,\r\n private readonly permissionPolicy: PermissionPolicy,\r\n private readonly dynamic?: DynamicConfig,\r\n ) { }\r\n\r\n async execute(\r\n command: ApplyDynamicProjectionCommand,\r\n actor: Actor,\r\n ): Promise<TableEvent[]> {\r\n const { store, tableKey, rowId, columnId } = command;\r\n const table = await this.repo.getById(store, tableKey);\r\n\r\n try {\r\n const row = table.getRow(rowId);\r\n if (!row) {\r\n throw new DomainError('ROW_NOT_FOUND', `Row ${rowId} not found`, { rowId });\r\n }\r\n\r\n const cell = row.getCell(columnId);\r\n if (!cell) {\r\n throw new DomainError('CELL_NOT_FOUND', `Cell ${columnId} not found`, { columnId });\r\n }\r\n\r\n const colValue = cell.getValue();\r\n const previousValue = colValue;\r\n const newRowId = new RowId(rowId);\r\n const newColumnId = new ColumnId(columnId);\r\n\r\n if (this.dynamic) {\r\n await this.applyComputedColumns({\r\n table,\r\n rowId: newRowId,\r\n changedColumnId: newColumnId,\r\n remoteApi: this.dynamic.remoteApi,\r\n });\r\n await this.applyRemoteVisibilityRules({\r\n table,\r\n rowId: newRowId,\r\n changedColumnId: newColumnId,\r\n newValue: colValue,\r\n clearDependents: false,\r\n });\r\n this.applyDynamicProjection({\r\n table,\r\n rowId: newRowId,\r\n changedColumnId: newColumnId,\r\n validatedValue: colValue,\r\n });\r\n }\r\n\r\n /* RowState management */\r\n const state = table\r\n .getRows()\r\n .find(r => r.id.value === newRowId.value)\r\n ?.getCells()\r\n .get('RowState')\r\n ?.getValue();\r\n\r\n if (state === RowStateEnum.Unchanged) {\r\n table.changeCell(newRowId, new ColumnId('RowState'), RowStateEnum.Modified);\r\n table.changeDisplay(newRowId, new ColumnId('RowState'), RowStateEnum.Modified);\r\n }\r\n\r\n await this.repo.save(store, table);\r\n\r\n const out: TableEvent = {\r\n type: 'CELL_CHANGED',\r\n tableId: tableKey,\r\n rowId: newRowId.value,\r\n columnId: newColumnId.value,\r\n newValue: colValue,\r\n previousValue,\r\n };\r\n this.audit.log({ type: 'CELL_CHANGED', message: out.type, payload: out });\r\n return [out];\r\n\r\n } catch (e) {\r\n logError(this.audit, e, `ApplyDynamicProjectionHandler[${tableKey}:${rowId}:${columnId}]`);\r\n return [];\r\n }\r\n }\r\n\r\n /* ── helpers (identical to ChangeCellValueHandler) ───────────────── */\r\n\r\n private applyRemoteVisibilityRules(input: Parameters<typeof applyRemoteVisibilityRules>[1]): Promise<void> {\r\n return applyRemoteVisibilityRules(this.dynamic, input);\r\n }\r\n\r\n private async applyComputedColumns(input: {\r\n table: Table;\r\n rowId: RowId;\r\n changedColumnId: ColumnId;\r\n remoteApi: RemoteApi;\r\n }): Promise<void> {\r\n const { table, rowId, changedColumnId, remoteApi } = input;\r\n const meta = this.dynamic!.columnMeta;\r\n\r\n const computedColumns = Array.from(meta.values()).filter(\r\n (c): c is ColumnSchema & {\r\n computed: NonNullable<ColumnSchema['computed']>;\r\n } => c.computed != null,\r\n );\r\n\r\n if (computedColumns.length === 0) return;\r\n\r\n const row = table.getRows().find(r => r.id.value === rowId.value);\r\n if (!row) return;\r\n\r\n const rowValues: Record<string, unknown> = {};\r\n for (const [colId, cell] of row.getCells().entries()) {\r\n rowValues[colId] = cell.getValue();\r\n }\r\n\r\n const dependents = new Map<string, typeof computedColumns>();\r\n for (const col of computedColumns) {\r\n for (const dep of col.computed.dependsOn ?? []) {\r\n if (!dependents.has(dep)) dependents.set(dep, []);\r\n dependents.get(dep)!.push(col);\r\n }\r\n }\r\n\r\n const queue: string[] = [changedColumnId.value];\r\n const visited = new Set<string>();\r\n let safetyCounter = 0;\r\n const MAX = computedColumns.length + 1;\r\n\r\n while (queue.length > 0) {\r\n if (safetyCounter++ > MAX) throw new Error('Computed cycle detected');\r\n const source = queue.shift()!;\r\n const targets = dependents.get(source) ?? [];\r\n\r\n for (const colCfg of targets) {\r\n const targetField = colCfg.fieldName;\r\n const targetColId = new ColumnId(targetField);\r\n const schema = table.getColumnSchema(targetColId);\r\n if (!schema || !colCfg.computed) continue;\r\n\r\n const rawValue = colCfg.computed.compute(rowValues, remoteApi);\r\n const newValue = rawValue instanceof Promise ? await rawValue : rawValue;\r\n const validated = this.validateCellValue(schema.fieldType, newValue);\r\n\r\n if (validated.value instanceof Promise) {\r\n throw new Error(`Computed column \"${targetField}\" returned a Promise after validation`);\r\n }\r\n\r\n const prev = rowValues[targetField];\r\n if (Object.is(prev, validated.value)) continue;\r\n\r\n table.changeCell(rowId, targetColId, validated.value);\r\n\r\n if (schema.displayFormat) {\r\n const validatedDisplay = this.validateCellValue(\r\n schema.fieldType,\r\n schema.displayFormat(newValue),\r\n );\r\n table.changeDisplay(rowId, targetColId, validatedDisplay.value);\r\n } else {\r\n table.changeDisplay(rowId, targetColId, validated.value);\r\n }\r\n\r\n rowValues[targetField] = validated.value;\r\n queue.push(targetField);\r\n visited.add(targetField);\r\n }\r\n }\r\n }\r\n\r\n private validateCellValue(type: FieldType, value: unknown) {\r\n switch (type) {\r\n case 'text':\r\n case 'textArea':\r\n case 'description':\r\n case 'date':\r\n return typeof value === 'string'\r\n ? { ok: true as const, value }\r\n : { ok: false as const, error: { message: 'Expected string', details: { value } }, value };\r\n\r\n case 'static':\r\n return { ok: true as const, value };\r\n\r\n case 'checkbox':\r\n return typeof value === 'boolean'\r\n ? { ok: true as const, value }\r\n : { ok: false as const, error: { message: 'Expected boolean', details: { value } }, value };\r\n\r\n case 'number':\r\n case 'price':\r\n case 'select':\r\n case 'selectOption': {\r\n if (value === '' || value === undefined) return { ok: true as const, value };\r\n const n = typeof value === 'number' ? value : Number(value);\r\n return Number.isFinite(n)\r\n ? { ok: true as const, value: n }\r\n : { ok: false as const, error: { message: 'Expected number', details: { value } }, value };\r\n }\r\n\r\n default:\r\n return { ok: false as const, error: { message: 'Unsupported type', details: { type, value } }, value };\r\n }\r\n }\r\n\r\n private applyDynamicProjection(input: {\r\n table: Table;\r\n rowId: RowId;\r\n changedColumnId: ColumnId;\r\n validatedValue: unknown;\r\n }): void {\r\n const { table, changedColumnId, validatedValue } = input;\r\n const activeCollection = table.getActiveCollectionName() ?? 'default';\r\n this.dynamic!.columnMeta.forEach((colMeta, key) => {\r\n // Collection guard: a column config may only be projected onto the table\r\n // when it belongs to the ACTIVE collection. Twin configs of other\r\n // collections must never leak their dynamicSource/visibility into this\r\n // collection's column map — a value in one tab must not unhide/reconfigure\r\n // the same-named column in other tabs.\r\n if ((colMeta.fieldCollection ?? 'default') !== activeCollection) return;\r\n const col = table.getColumnSchema(new ColumnId(colMeta.fieldName));\r\n\r\n const depends = colMeta.dynamicSource?.dependsOn;\r\n if (depends?.includes(changedColumnId.value)) {\r\n const { dynamicSource } = colMeta;\r\n const { endpoint, dependsOn, ...restDynamic } = dynamicSource ?? {};\r\n const base = col ?? colMeta;\r\n table.setColumnSchema(new ColumnId(base.fieldName), {\r\n ...base,\r\n dynamicSelectFilterOption:\r\n base.dynamicSelectFilterOption ?? (() => true),\r\n dynamicSource: {\r\n endpoint: endpoint ?? '',\r\n ...restDynamic,\r\n dependOn: {\r\n fieldName: changedColumnId.value,\r\n value: validatedValue,\r\n },\r\n },\r\n });\r\n }\r\n\r\n if (\r\n colMeta.visibility?.kind === 'whenFieldTruthy' &&\r\n colMeta.visibility.fieldName === changedColumnId.value &&\r\n col\r\n ) {\r\n table.setColumnSchema(new ColumnId(colMeta.fieldName), col);\r\n }\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// ui/locales/fa.ts
|
|
4
|
+
var faMessages = {
|
|
5
|
+
"general.addNewRow": "\u0627\u0641\u0632\u0648\u062F\u0646 \u0633\u0637\u0631",
|
|
6
|
+
"general.copy": "\u06A9\u067E\u06CC",
|
|
7
|
+
"general.cut": "\u0628\u0631\u0634",
|
|
8
|
+
"general.paste": "\u0686\u0633\u0628\u0627\u0646\u062F\u0646",
|
|
9
|
+
"general.delete": "\u062D\u0630\u0641",
|
|
10
|
+
"general.chooseFromList": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0627\u0632 \u0644\u06CC\u0633\u062A",
|
|
11
|
+
"general.toggle": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0647\u0645\u0647",
|
|
12
|
+
"general.exportToExcel": "\u062E\u0631\u0648\u062C\u06CC \u0627\u06A9\u0633\u0644",
|
|
13
|
+
"general.exportToExcelSuccess": "\u062E\u0631\u0648\u062C\u06CC \u0627\u06A9\u0633\u0644 \u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u0627\u0646\u062C\u0627\u0645 \u0634\u062F",
|
|
14
|
+
"general.exportToExcelError": "\u062E\u0631\u0648\u062C\u06CC \u0627\u06A9\u0633\u0644 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0648\u062F",
|
|
15
|
+
"general.exportToPdf": "\u062E\u0631\u0648\u062C\u06CC PDF",
|
|
16
|
+
"general.exportToPdfSuccess": "\u062E\u0631\u0648\u062C\u06CC PDF \u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u0627\u0646\u062C\u0627\u0645 \u0634\u062F",
|
|
17
|
+
"general.exportToPdfError": "\u062E\u0631\u0648\u062C\u06CC PDF \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0648\u062F",
|
|
18
|
+
"general.importFromExcel": "\u0648\u0631\u0648\u062F \u0627\u0632 \u0627\u06A9\u0633\u0644",
|
|
19
|
+
"general.importFromExcelSuccess": "\u0648\u0631\u0648\u062F \u0627\u06A9\u0633\u0644 \u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u0627\u0646\u062C\u0627\u0645 \u0634\u062F",
|
|
20
|
+
"general.importFromExcelError": "\u0648\u0631\u0648\u062F \u0627\u06A9\u0633\u0644 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0648\u062F",
|
|
21
|
+
"general.selected": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647",
|
|
22
|
+
"general.search": "\u062C\u0633\u062A\u062C\u0648",
|
|
23
|
+
"general.selectField": "\u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F",
|
|
24
|
+
"general.selectPlaceholder": "\u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F",
|
|
25
|
+
"general.choice": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0633\u062A\u0648\u0646",
|
|
26
|
+
"general.prev": "\u0642\u0628\u0644\u06CC",
|
|
27
|
+
"general.next": "\u0628\u0639\u062F\u06CC",
|
|
28
|
+
"general.noData": "\u062F\u0627\u062F\u0647\u200C\u0627\u06CC \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F",
|
|
29
|
+
"general.loading": "\u062F\u0631 \u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC\u2026",
|
|
30
|
+
"general.footerTotal": "\u062C\u0645\u0639",
|
|
31
|
+
"general.footerAvg": "\u0645\u06CC\u0627\u0646\u06AF\u06CC\u0646",
|
|
32
|
+
"general.replicateRow": "\u062A\u06A9\u062B\u06CC\u0631 \u0633\u0637\u0631",
|
|
33
|
+
"general.edit": "\u0648\u06CC\u0631\u0627\u06CC\u0634",
|
|
34
|
+
"general.rowEdit": "\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0633\u0637\u0631",
|
|
35
|
+
"general.row": "\u0633\u0637\u0631",
|
|
36
|
+
"general.selectRow": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0633\u0637\u0631",
|
|
37
|
+
"general.save": "\u0630\u062E\u06CC\u0631\u0647",
|
|
38
|
+
"general.notActive": "\u063A\u06CC\u0631\u0641\u0639\u0627\u0644",
|
|
39
|
+
"general.add": "\u0627\u0641\u0632\u0648\u062F\u0646",
|
|
40
|
+
"general.themeDark": "\u062A\u0645 \u062A\u06CC\u0631\u0647",
|
|
41
|
+
"general.themeLight": "\u062A\u0645 \u0631\u0648\u0634\u0646",
|
|
42
|
+
"general.toolbar": "\u0646\u0648\u0627\u0631 \u0639\u0645\u0644\u06CC\u0627\u062A",
|
|
43
|
+
"general.filter": "\u0641\u06CC\u0644\u062A\u0631",
|
|
44
|
+
"general.filterApply": "\u0627\u0639\u0645\u0627\u0644",
|
|
45
|
+
"general.filterClear": "\u067E\u0627\u06A9 \u06A9\u0631\u062F\u0646",
|
|
46
|
+
"general.filterActive": "\u0641\u06CC\u0644\u062A\u0631 \u0641\u0639\u0627\u0644",
|
|
47
|
+
"general.rowsIn": "\u0633\u0637\u0631 \u062F\u0631",
|
|
48
|
+
"general.page": "\u0635\u0641\u062D\u0647",
|
|
49
|
+
"general.validationInRow": "\u062F\u0631 \u0633\u0637\u0631",
|
|
50
|
+
"general.validationInColumn": "\u062F\u0631 \u0633\u062A\u0648\u0646",
|
|
51
|
+
"general.loadMore": "\u0646\u0645\u0627\u06CC\u0634 \u0628\u06CC\u0634\u062A\u0631 ({visible} \u0627\u0632 {total})",
|
|
52
|
+
"general.searchFound": "{count} \u0645\u0648\u0631\u062F \u067E\u06CC\u062F\u0627 \u0634\u062F",
|
|
53
|
+
"general.searchNotFound": "\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",
|
|
54
|
+
"general.searchPosition": "{current} \u0627\u0632 {total}",
|
|
55
|
+
"columnMenu.open": "\u0645\u0646\u0648\u06CC \u0633\u062A\u0648\u0646",
|
|
56
|
+
"columnMenu.sortAsc": "\u0645\u0631\u062A\u0628\u200C\u0633\u0627\u0632\u06CC \u0635\u0639\u0648\u062F\u06CC",
|
|
57
|
+
"columnMenu.sortDesc": "\u0645\u0631\u062A\u0628\u200C\u0633\u0627\u0632\u06CC \u0646\u0632\u0648\u0644\u06CC",
|
|
58
|
+
"columnMenu.sortNone": "\u0628\u062F\u0648\u0646 \u0645\u0631\u062A\u0628\u200C\u0633\u0627\u0632\u06CC",
|
|
59
|
+
"columnMenu.filter": "\u0641\u06CC\u0644\u062A\u0631\u2026",
|
|
60
|
+
"columnMenu.hideColumn": "\u0645\u062E\u0641\u06CC \u06A9\u0631\u062F\u0646 \u0633\u062A\u0648\u0646",
|
|
61
|
+
"columnMenu.pinStart": "\u0633\u0646\u062C\u0627\u0642 \u0634\u0631\u0648\u0639",
|
|
62
|
+
"columnMenu.pinEnd": "\u0633\u0646\u062C\u0627\u0642 \u067E\u0627\u06CC\u0627\u0646",
|
|
63
|
+
"columnMenu.pinNone": "\u0628\u062F\u0648\u0646 \u0633\u0646\u062C\u0627\u0642",
|
|
64
|
+
"columnMenu.autoSize": "\u0627\u0646\u062F\u0627\u0632\u0647 \u062E\u0648\u062F\u06A9\u0627\u0631",
|
|
65
|
+
"columnMenu.columnsPanel": "\u062A\u0646\u0638\u06CC\u0645 \u0633\u062A\u0648\u0646\u200C\u0647\u0627",
|
|
66
|
+
"a11y.sortedAsc": "\u0645\u0631\u062A\u0628 \u0634\u062F \u0628\u0631 \u0627\u0633\u0627\u0633 {column} \u0635\u0639\u0648\u062F\u06CC",
|
|
67
|
+
"a11y.sortedDesc": "\u0645\u0631\u062A\u0628 \u0634\u062F \u0628\u0631 \u0627\u0633\u0627\u0633 {column} \u0646\u0632\u0648\u0644\u06CC",
|
|
68
|
+
"a11y.sortCleared": "\u0645\u0631\u062A\u0628\u200C\u0633\u0627\u0632\u06CC \u0628\u0631\u062F\u0627\u0634\u062A\u0647 \u0634\u062F",
|
|
69
|
+
"a11y.filterResult": "{visible} \u0631\u062F\u06CC\u0641 \u0627\u0632 {total} \u067E\u0633 \u0627\u0632 \u0641\u06CC\u0644\u062A\u0631",
|
|
70
|
+
"a11y.filterCleared": "\u0641\u06CC\u0644\u062A\u0631 \u0628\u0631\u062F\u0627\u0634\u062A\u0647 \u0634\u062F",
|
|
71
|
+
"a11y.rowsSelected": "{count} \u0631\u062F\u06CC\u0641 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F",
|
|
72
|
+
"a11y.selectionCleared": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0628\u0631\u062F\u0627\u0634\u062A\u0647 \u0634\u062F",
|
|
73
|
+
"a11y.validationError": "\u062E\u0637\u0627\u06CC \u0627\u0639\u062A\u0628\u0627\u0631\u0633\u0646\u062C\u06CC: {message}",
|
|
74
|
+
"a11y.validationGeneric": "\u062E\u0637\u0627\u06CC \u0627\u0639\u062A\u0628\u0627\u0631\u0633\u0646\u062C\u06CC",
|
|
75
|
+
"history.title": "\u062A\u0627\u0631\u06CC\u062E\u0686\u0647",
|
|
76
|
+
"history.empty": "\u0647\u0646\u0648\u0632 \u062A\u0627\u0631\u06CC\u062E\u0686\u0647\u200C\u0627\u06CC \u0646\u06CC\u0633\u062A. \u06CC\u06A9 \u0633\u0644\u0648\u0644 \u0631\u0627 \u0648\u06CC\u0631\u0627\u06CC\u0634 \u06A9\u0646\u06CC\u062F.",
|
|
77
|
+
"history.severity": "\u0634\u062F\u062A",
|
|
78
|
+
"history.category": "\u062F\u0633\u062A\u0647",
|
|
79
|
+
"history.filterAll": "\u0647\u0645\u0647",
|
|
80
|
+
"history.severity.info": "\u0627\u0637\u0644\u0627\u0639",
|
|
81
|
+
"history.severity.warning": "\u0647\u0634\u062F\u0627\u0631",
|
|
82
|
+
"history.severity.error": "\u062E\u0637\u0627",
|
|
83
|
+
"history.category.data": "\u062F\u0627\u062F\u0647",
|
|
84
|
+
"history.category.structure": "\u0633\u0627\u062E\u062A\u0627\u0631",
|
|
85
|
+
"history.category.view": "\u0646\u0645\u0627\u06CC\u0634",
|
|
86
|
+
"history.category.system": "\u0633\u06CC\u0633\u062A\u0645",
|
|
87
|
+
"history.restore": "\u0628\u0627\u0632\u06AF\u0631\u062F\u0627\u0646\u06CC \u0645\u0642\u062F\u0627\u0631 \u0642\u0628\u0644\u06CC",
|
|
88
|
+
"offline.online": "\u0622\u0646\u0644\u0627\u06CC\u0646",
|
|
89
|
+
"offline.offline": "\u0622\u0641\u0644\u0627\u06CC\u0646",
|
|
90
|
+
"offline.pendingCount": "{count} \u062A\u063A\u06CC\u06CC\u0631 \u0630\u062E\u06CC\u0631\u0647\u200C\u0646\u0634\u062F\u0647",
|
|
91
|
+
"offline.pendingEmpty": "\u0647\u0645\u0647 \u062A\u063A\u06CC\u06CC\u0631\u0627\u062A \u0645\u062D\u0644\u06CC \u0630\u062E\u06CC\u0631\u0647 \u0634\u062F",
|
|
92
|
+
"sync.policy": "\u0633\u06CC\u0627\u0633\u062A \u062A\u0639\u0627\u0631\u0636",
|
|
93
|
+
"sync.policy.lastWriteWins": "\u0622\u062E\u0631\u06CC\u0646 \u0646\u0648\u0634\u062A\u0647 \u0628\u0631\u0646\u062F\u0647",
|
|
94
|
+
"sync.policy.serverWins": "\u0633\u0631\u0648\u0631 \u0628\u0631\u0646\u062F\u0647",
|
|
95
|
+
"sync.policy.manual": "\u062F\u0633\u062A\u06CC",
|
|
96
|
+
"sync.now": "\u0647\u0645\u06AF\u0627\u0645\u200C\u0633\u0627\u0632\u06CC",
|
|
97
|
+
"sync.syncing": "\u062F\u0631 \u062D\u0627\u0644 \u0647\u0645\u06AF\u0627\u0645\u200C\u0633\u0627\u0632\u06CC\u2026",
|
|
98
|
+
"sync.unavailable": "\u0627\u0646\u062A\u0642\u0627\u0644 \u0647\u0645\u06AF\u0627\u0645\u200C\u0633\u0627\u0632\u06CC \u067E\u06CC\u06A9\u0631\u0628\u0646\u062F\u06CC \u0646\u0634\u062F\u0647",
|
|
99
|
+
"sync.result": "\u0627\u0631\u0633\u0627\u0644 {pushed}\u060C \u062F\u0631\u06CC\u0627\u0641\u062A {pulled}\u060C \u062A\u0639\u0627\u0631\u0636 {conflicts}",
|
|
100
|
+
"sync.local": "\u0645\u062D\u0644\u06CC",
|
|
101
|
+
"sync.remote": "\u0633\u0631\u0648\u0631",
|
|
102
|
+
"sync.keepLocal": "\u0646\u06AF\u0647\u200C\u062F\u0627\u0634\u062A\u0646 \u0645\u062D\u0644\u06CC",
|
|
103
|
+
"sync.keepRemote": "\u0646\u06AF\u0647\u200C\u062F\u0627\u0634\u062A\u0646 \u0633\u0631\u0648\u0631",
|
|
104
|
+
"date.pickDate": "\u0627\u0646\u062A\u062E\u0627\u0628 \u062A\u0627\u0631\u06CC\u062E",
|
|
105
|
+
"date.pickRange": "\u0627\u0646\u062A\u062E\u0627\u0628 \u0628\u0627\u0632\u0647",
|
|
106
|
+
"date.clear": "\u067E\u0627\u06A9 \u06A9\u0631\u062F\u0646",
|
|
107
|
+
"date.calendar": "\u062A\u0642\u0648\u06CC\u0645 \u062C\u0644\u0627\u0644\u06CC",
|
|
108
|
+
"date.prevMonth": "\u0645\u0627\u0647 \u0642\u0628\u0644",
|
|
109
|
+
"date.nextMonth": "\u0645\u0627\u0647 \u0628\u0639\u062F"
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
exports.faMessages = faMessages;
|
|
113
|
+
//# sourceMappingURL=chunk-SX4VQXAA.cjs.map
|
|
114
|
+
//# sourceMappingURL=chunk-SX4VQXAA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../ui/locales/fa.ts"],"names":[],"mappings":"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","file":"chunk-SX4VQXAA.cjs","sourcesContent":["import type { ERPTableMessages } from './types';\r\n\r\n/** Persian (fa) message pack — source of truth for keys (PR-127). */\r\nexport const faMessages: ERPTableMessages = {\r\n 'general.addNewRow': 'افزودن سطر',\r\n 'general.copy': 'کپی',\r\n 'general.cut': 'برش',\r\n 'general.paste': 'چسباندن',\r\n 'general.delete': 'حذف',\r\n 'general.chooseFromList': 'انتخاب از لیست',\r\n 'general.toggle': 'انتخاب همه',\r\n 'general.exportToExcel': 'خروجی اکسل',\r\n 'general.exportToExcelSuccess': 'خروجی اکسل با موفقیت انجام شد',\r\n 'general.exportToExcelError': 'خروجی اکسل ناموفق بود',\r\n 'general.exportToPdf': 'خروجی PDF',\r\n 'general.exportToPdfSuccess': 'خروجی PDF با موفقیت انجام شد',\r\n 'general.exportToPdfError': 'خروجی PDF ناموفق بود',\r\n 'general.importFromExcel': 'ورود از اکسل',\r\n 'general.importFromExcelSuccess': 'ورود اکسل با موفقیت انجام شد',\r\n 'general.importFromExcelError': 'ورود اکسل ناموفق بود',\r\n 'general.selected': 'انتخاب شده',\r\n 'general.search': 'جستجو',\r\n 'general.selectField': 'انتخاب کنید',\r\n 'general.selectPlaceholder': 'انتخاب کنید',\r\n 'general.choice': 'انتخاب ستون',\r\n 'general.prev': 'قبلی',\r\n 'general.next': 'بعدی',\r\n 'general.noData': 'دادهای وجود ندارد',\r\n 'general.loading': 'در حال بارگذاری…',\r\n 'general.footerTotal': 'جمع',\r\n 'general.footerAvg': 'میانگین',\r\n 'general.replicateRow': 'تکثیر سطر',\r\n 'general.edit': 'ویرایش',\r\n 'general.rowEdit': 'ویرایش سطر',\r\n 'general.row': 'سطر',\r\n 'general.selectRow': 'انتخاب سطر',\r\n 'general.save': 'ذخیره',\r\n 'general.notActive': 'غیرفعال',\r\n 'general.add': 'افزودن',\r\n 'general.themeDark': 'تم تیره',\r\n 'general.themeLight': 'تم روشن',\r\n 'general.toolbar': 'نوار عملیات',\r\n 'general.filter': 'فیلتر',\r\n 'general.filterApply': 'اعمال',\r\n 'general.filterClear': 'پاک کردن',\r\n 'general.filterActive': 'فیلتر فعال',\r\n 'general.rowsIn': 'سطر در',\r\n 'general.page': 'صفحه',\r\n 'general.validationInRow': 'در سطر',\r\n 'general.validationInColumn': 'در ستون',\r\n 'general.loadMore': 'نمایش بیشتر ({visible} از {total})',\r\n 'general.searchFound': '{count} مورد پیدا شد',\r\n 'general.searchNotFound': 'موردی یافت نشد',\r\n 'general.searchPosition': '{current} از {total}',\r\n 'columnMenu.open': 'منوی ستون',\r\n 'columnMenu.sortAsc': 'مرتبسازی صعودی',\r\n 'columnMenu.sortDesc': 'مرتبسازی نزولی',\r\n 'columnMenu.sortNone': 'بدون مرتبسازی',\r\n 'columnMenu.filter': 'فیلتر…',\r\n 'columnMenu.hideColumn': 'مخفی کردن ستون',\r\n 'columnMenu.pinStart': 'سنجاق شروع',\r\n 'columnMenu.pinEnd': 'سنجاق پایان',\r\n 'columnMenu.pinNone': 'بدون سنجاق',\r\n 'columnMenu.autoSize': 'اندازه خودکار',\r\n 'columnMenu.columnsPanel': 'تنظیم ستونها',\r\n 'a11y.sortedAsc': 'مرتب شد بر اساس {column} صعودی',\r\n 'a11y.sortedDesc': 'مرتب شد بر اساس {column} نزولی',\r\n 'a11y.sortCleared': 'مرتبسازی برداشته شد',\r\n 'a11y.filterResult': '{visible} ردیف از {total} پس از فیلتر',\r\n 'a11y.filterCleared': 'فیلتر برداشته شد',\r\n 'a11y.rowsSelected': '{count} ردیف انتخاب شد',\r\n 'a11y.selectionCleared': 'انتخاب برداشته شد',\r\n 'a11y.validationError': 'خطای اعتبارسنجی: {message}',\r\n 'a11y.validationGeneric': 'خطای اعتبارسنجی',\r\n 'history.title': 'تاریخچه',\r\n 'history.empty': 'هنوز تاریخچهای نیست. یک سلول را ویرایش کنید.',\r\n 'history.severity': 'شدت',\r\n 'history.category': 'دسته',\r\n 'history.filterAll': 'همه',\r\n 'history.severity.info': 'اطلاع',\r\n 'history.severity.warning': 'هشدار',\r\n 'history.severity.error': 'خطا',\r\n 'history.category.data': 'داده',\r\n 'history.category.structure': 'ساختار',\r\n 'history.category.view': 'نمایش',\r\n 'history.category.system': 'سیستم',\r\n 'history.restore': 'بازگردانی مقدار قبلی',\r\n 'offline.online': 'آنلاین',\r\n 'offline.offline': 'آفلاین',\r\n 'offline.pendingCount': '{count} تغییر ذخیرهنشده',\r\n 'offline.pendingEmpty': 'همه تغییرات محلی ذخیره شد',\r\n 'sync.policy': 'سیاست تعارض',\r\n 'sync.policy.lastWriteWins': 'آخرین نوشته برنده',\r\n 'sync.policy.serverWins': 'سرور برنده',\r\n 'sync.policy.manual': 'دستی',\r\n 'sync.now': 'همگامسازی',\r\n 'sync.syncing': 'در حال همگامسازی…',\r\n 'sync.unavailable': 'انتقال همگامسازی پیکربندی نشده',\r\n 'sync.result': 'ارسال {pushed}، دریافت {pulled}، تعارض {conflicts}',\r\n 'sync.local': 'محلی',\r\n 'sync.remote': 'سرور',\r\n 'sync.keepLocal': 'نگهداشتن محلی',\r\n 'sync.keepRemote': 'نگهداشتن سرور',\r\n 'date.pickDate': 'انتخاب تاریخ',\r\n 'date.pickRange': 'انتخاب بازه',\r\n 'date.clear': 'پاک کردن',\r\n 'date.calendar': 'تقویم جلالی',\r\n 'date.prevMonth': 'ماه قبل',\r\n 'date.nextMonth': 'ماه بعد',\r\n};\r\n\r\nexport default faMessages;\r\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { faMessages } from './chunk-F4PYOYHR.js';
|
|
2
|
+
import { enMessages } from './chunk-77UXAJII.js';
|
|
3
|
+
import { arMessages } from './chunk-TN4MG6FY.js';
|
|
4
|
+
|
|
5
|
+
// ui/locales/types.ts
|
|
6
|
+
var LOCALE_META = {
|
|
7
|
+
fa: {
|
|
8
|
+
locale: "fa",
|
|
9
|
+
dir: "rtl",
|
|
10
|
+
intlLocale: "fa-IR",
|
|
11
|
+
numberingSystem: "arabext",
|
|
12
|
+
calendar: "persian"
|
|
13
|
+
},
|
|
14
|
+
en: {
|
|
15
|
+
locale: "en",
|
|
16
|
+
dir: "ltr",
|
|
17
|
+
intlLocale: "en-US",
|
|
18
|
+
numberingSystem: "latn",
|
|
19
|
+
calendar: "gregory"
|
|
20
|
+
},
|
|
21
|
+
ar: {
|
|
22
|
+
locale: "ar",
|
|
23
|
+
dir: "rtl",
|
|
24
|
+
intlLocale: "ar-SA",
|
|
25
|
+
numberingSystem: "arab",
|
|
26
|
+
calendar: "gregory"
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
function resolveLocaleMeta(locale, overrides) {
|
|
30
|
+
const base = LOCALE_META[locale] ?? LOCALE_META.fa;
|
|
31
|
+
if (!overrides?.numberingSystem) return base;
|
|
32
|
+
return { ...base, numberingSystem: overrides.numberingSystem };
|
|
33
|
+
}
|
|
34
|
+
function resolveDirection(locale, override) {
|
|
35
|
+
if (override === "rtl" || override === "ltr") return override;
|
|
36
|
+
return (LOCALE_META[locale] ?? LOCALE_META.fa).dir;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// ui/locales/index.ts
|
|
40
|
+
var LOCALE_PACKS = {
|
|
41
|
+
fa: faMessages,
|
|
42
|
+
en: enMessages,
|
|
43
|
+
ar: arMessages
|
|
44
|
+
};
|
|
45
|
+
function getLocalePack(locale) {
|
|
46
|
+
return LOCALE_PACKS[locale] ?? faMessages;
|
|
47
|
+
}
|
|
48
|
+
function metaFor(options) {
|
|
49
|
+
const locale = options?.locale ?? "fa";
|
|
50
|
+
return resolveLocaleMeta(locale, {
|
|
51
|
+
numberingSystem: options?.numberingSystem
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function formatLocaleNumber(value, options) {
|
|
55
|
+
if (value == null || value === "") return "";
|
|
56
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
57
|
+
if (!Number.isFinite(n)) return String(value);
|
|
58
|
+
const meta = metaFor(options);
|
|
59
|
+
const {
|
|
60
|
+
locale: _l,
|
|
61
|
+
numberingSystem: ns,
|
|
62
|
+
...intlOpts
|
|
63
|
+
} = options ?? {};
|
|
64
|
+
return new Intl.NumberFormat(meta.intlLocale, {
|
|
65
|
+
numberingSystem: ns ?? meta.numberingSystem,
|
|
66
|
+
...intlOpts
|
|
67
|
+
}).format(n);
|
|
68
|
+
}
|
|
69
|
+
function formatLocaleDate(value, options) {
|
|
70
|
+
if (value == null || value === "") return null;
|
|
71
|
+
const date = typeof value === "number" ? new Date(value) : new Date(String(value));
|
|
72
|
+
if (Number.isNaN(date.getTime())) return null;
|
|
73
|
+
const meta = metaFor(options);
|
|
74
|
+
const {
|
|
75
|
+
locale: _l,
|
|
76
|
+
numberingSystem: ns,
|
|
77
|
+
...intlOpts
|
|
78
|
+
} = options ?? {};
|
|
79
|
+
const calendar = meta.calendar === "persian" ? "persian" : meta.calendar === "islamic" ? "islamic" : "gregory";
|
|
80
|
+
return new Intl.DateTimeFormat(meta.intlLocale, {
|
|
81
|
+
calendar,
|
|
82
|
+
numberingSystem: ns ?? meta.numberingSystem,
|
|
83
|
+
year: "numeric",
|
|
84
|
+
month: "2-digit",
|
|
85
|
+
day: "2-digit",
|
|
86
|
+
...intlOpts
|
|
87
|
+
}).format(date);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { LOCALE_META, LOCALE_PACKS, formatLocaleDate, formatLocaleNumber, getLocalePack, resolveDirection, resolveLocaleMeta };
|
|
91
|
+
//# sourceMappingURL=chunk-SZ7BLAY3.js.map
|
|
92
|
+
//# sourceMappingURL=chunk-SZ7BLAY3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../ui/locales/types.ts","../ui/locales/index.ts"],"names":[],"mappings":"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","file":"chunk-SZ7BLAY3.js","sourcesContent":["/** Locale pack types (PR-127). */\r\n\r\nexport type ERPTableLocale = 'fa' | 'en' | 'ar';\r\n\r\nexport type ERPTableMessages = Record<string, string>;\r\n\r\n/** Unicode numbering systems for Intl (PR-127). */\r\nexport type NumberingSystem = 'latn' | 'arab' | 'arabext';\r\n\r\nexport type LocaleMeta = {\r\n locale: ERPTableLocale;\r\n /** Default writing direction; host may override. */\r\n dir: 'rtl' | 'ltr';\r\n /** BCP 47 tag for Intl. */\r\n intlLocale: string;\r\n /** Default digit system. */\r\n numberingSystem: NumberingSystem;\r\n /** Default calendar for date display (PR-128 may replace with DateAdapter). */\r\n calendar: 'persian' | 'gregory' | 'islamic';\r\n};\r\n\r\nexport const LOCALE_META: Record<ERPTableLocale, LocaleMeta> = {\r\n fa: {\r\n locale: 'fa',\r\n dir: 'rtl',\r\n intlLocale: 'fa-IR',\r\n numberingSystem: 'arabext',\r\n calendar: 'persian',\r\n },\r\n en: {\r\n locale: 'en',\r\n dir: 'ltr',\r\n intlLocale: 'en-US',\r\n numberingSystem: 'latn',\r\n calendar: 'gregory',\r\n },\r\n ar: {\r\n locale: 'ar',\r\n dir: 'rtl',\r\n intlLocale: 'ar-SA',\r\n numberingSystem: 'arab',\r\n calendar: 'gregory',\r\n },\r\n};\r\n\r\nexport function resolveLocaleMeta(\r\n locale: ERPTableLocale,\r\n overrides?: {\r\n numberingSystem?: NumberingSystem;\r\n },\r\n): LocaleMeta {\r\n const base = LOCALE_META[locale] ?? LOCALE_META.fa;\r\n if (!overrides?.numberingSystem) return base;\r\n return { ...base, numberingSystem: overrides.numberingSystem };\r\n}\r\n\r\nexport function resolveDirection(\r\n locale: ERPTableLocale,\r\n override?: 'rtl' | 'ltr',\r\n): 'rtl' | 'ltr' {\r\n if (override === 'rtl' || override === 'ltr') return override;\r\n return (LOCALE_META[locale] ?? LOCALE_META.fa).dir;\r\n}\r\n","import { arMessages } from './ar';\r\nimport { enMessages } from './en';\r\nimport { faMessages } from './fa';\r\nimport {\r\n LOCALE_META,\r\n resolveDirection,\r\n resolveLocaleMeta,\r\n type ERPTableLocale,\r\n type ERPTableMessages,\r\n type LocaleMeta,\r\n type NumberingSystem,\r\n} from './types';\r\n\r\nexport type {\r\n ERPTableLocale,\r\n ERPTableMessages,\r\n LocaleMeta,\r\n NumberingSystem,\r\n} from './types';\r\nexport {\r\n LOCALE_META,\r\n resolveDirection,\r\n resolveLocaleMeta,\r\n} from './types';\r\nexport { faMessages } from './fa';\r\nexport { enMessages } from './en';\r\nexport { arMessages } from './ar';\r\n\r\nexport const LOCALE_PACKS: Record<ERPTableLocale, ERPTableMessages> = {\r\n fa: faMessages,\r\n en: enMessages,\r\n ar: arMessages,\r\n};\r\n\r\nexport function getLocalePack(locale: ERPTableLocale): ERPTableMessages {\r\n return LOCALE_PACKS[locale] ?? faMessages;\r\n}\r\n\r\nexport type FormatOptions = {\r\n locale?: ERPTableLocale;\r\n numberingSystem?: NumberingSystem;\r\n};\r\n\r\nfunction metaFor(options?: FormatOptions): LocaleMeta {\r\n const locale = options?.locale ?? 'fa';\r\n return resolveLocaleMeta(locale, {\r\n numberingSystem: options?.numberingSystem,\r\n });\r\n}\r\n\r\n/** Intl number formatting with configurable numberingSystem (PR-127). */\r\nexport function formatLocaleNumber(\r\n value: unknown,\r\n options?: FormatOptions & Intl.NumberFormatOptions,\r\n): string {\r\n if (value == null || value === '') return '';\r\n const n = typeof value === 'number' ? value : Number(value);\r\n if (!Number.isFinite(n)) return String(value);\r\n const meta = metaFor(options);\r\n const {\r\n locale: _l,\r\n numberingSystem: ns,\r\n ...intlOpts\r\n } = options ?? {};\r\n return new Intl.NumberFormat(meta.intlLocale, {\r\n numberingSystem: ns ?? meta.numberingSystem,\r\n ...intlOpts,\r\n }).format(n);\r\n}\r\n\r\n/** Intl date formatting; calendar follows locale meta until DateAdapter (PR-128). */\r\nexport function formatLocaleDate(\r\n value: unknown,\r\n options?: FormatOptions & Intl.DateTimeFormatOptions,\r\n): string | null {\r\n if (value == null || value === '') return null;\r\n const date =\r\n typeof value === 'number' ? new Date(value) : new Date(String(value));\r\n if (Number.isNaN(date.getTime())) return null;\r\n const meta = metaFor(options);\r\n const {\r\n locale: _l,\r\n numberingSystem: ns,\r\n ...intlOpts\r\n } = options ?? {};\r\n const calendar =\r\n meta.calendar === 'persian'\r\n ? 'persian'\r\n : meta.calendar === 'islamic'\r\n ? 'islamic'\r\n : 'gregory';\r\n return new Intl.DateTimeFormat(meta.intlLocale, {\r\n calendar,\r\n numberingSystem: ns ?? meta.numberingSystem,\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n ...intlOpts,\r\n }).format(date);\r\n}\r\n"]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// ui/locales/ar.ts
|
|
2
|
+
var arMessages = {
|
|
3
|
+
"general.addNewRow": "\u0625\u0636\u0627\u0641\u0629 \u0635\u0641",
|
|
4
|
+
"general.copy": "\u0646\u0633\u062E",
|
|
5
|
+
"general.cut": "\u0642\u0635",
|
|
6
|
+
"general.paste": "\u0644\u0635\u0642",
|
|
7
|
+
"general.delete": "\u062D\u0630\u0641",
|
|
8
|
+
"general.chooseFromList": "\u0627\u062E\u062A\u0631 \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629",
|
|
9
|
+
"general.toggle": "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644",
|
|
10
|
+
"general.exportToExcel": "\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 Excel",
|
|
11
|
+
"general.exportToExcelSuccess": "\u062A\u0645 \u062A\u0635\u062F\u064A\u0631 Excel \u0628\u0646\u062C\u0627\u062D",
|
|
12
|
+
"general.exportToExcelError": "\u0641\u0634\u0644 \u062A\u0635\u062F\u064A\u0631 Excel",
|
|
13
|
+
"general.exportToPdf": "\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 PDF",
|
|
14
|
+
"general.exportToPdfSuccess": "\u062A\u0645 \u062A\u0635\u062F\u064A\u0631 PDF \u0628\u0646\u062C\u0627\u062D",
|
|
15
|
+
"general.exportToPdfError": "\u0641\u0634\u0644 \u062A\u0635\u062F\u064A\u0631 PDF",
|
|
16
|
+
"general.importFromExcel": "\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0645\u0646 Excel",
|
|
17
|
+
"general.importFromExcelSuccess": "\u062A\u0645 \u0627\u0633\u062A\u064A\u0631\u0627\u062F Excel \u0628\u0646\u062C\u0627\u062D",
|
|
18
|
+
"general.importFromExcelError": "\u0641\u0634\u0644 \u0627\u0633\u062A\u064A\u0631\u0627\u062F Excel",
|
|
19
|
+
"general.selected": "\u0645\u062D\u062F\u062F",
|
|
20
|
+
"general.search": "\u0628\u062D\u062B",
|
|
21
|
+
"general.selectField": "\u0627\u062E\u062A\u0631",
|
|
22
|
+
"general.selectPlaceholder": "\u0627\u062E\u062A\u0631",
|
|
23
|
+
"general.choice": "\u0627\u062E\u062A\u0631 \u0627\u0644\u0639\u0645\u0648\u062F",
|
|
24
|
+
"general.prev": "\u0627\u0644\u0633\u0627\u0628\u0642",
|
|
25
|
+
"general.next": "\u0627\u0644\u062A\u0627\u0644\u064A",
|
|
26
|
+
"general.noData": "\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A",
|
|
27
|
+
"general.loading": "\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644\u2026",
|
|
28
|
+
"general.footerTotal": "\u0627\u0644\u0645\u062C\u0645\u0648\u0639",
|
|
29
|
+
"general.footerAvg": "\u0627\u0644\u0645\u062A\u0648\u0633\u0637",
|
|
30
|
+
"general.replicateRow": "\u062A\u0643\u0631\u0627\u0631 \u0627\u0644\u0635\u0641",
|
|
31
|
+
"general.edit": "\u062A\u0639\u062F\u064A\u0644",
|
|
32
|
+
"general.rowEdit": "\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0635\u0641",
|
|
33
|
+
"general.row": "\u0635\u0641",
|
|
34
|
+
"general.selectRow": "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0635\u0641",
|
|
35
|
+
"general.save": "\u062D\u0641\u0638",
|
|
36
|
+
"general.notActive": "\u063A\u064A\u0631 \u0646\u0634\u0637",
|
|
37
|
+
"general.add": "\u0625\u0636\u0627\u0641\u0629",
|
|
38
|
+
"general.themeDark": "\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062F\u0627\u0643\u0646",
|
|
39
|
+
"general.themeLight": "\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0641\u0627\u062A\u062D",
|
|
40
|
+
"general.toolbar": "\u0634\u0631\u064A\u0637 \u0627\u0644\u0623\u062F\u0648\u0627\u062A",
|
|
41
|
+
"general.filter": "\u062A\u0635\u0641\u064A\u0629",
|
|
42
|
+
"general.filterApply": "\u062A\u0637\u0628\u064A\u0642",
|
|
43
|
+
"general.filterClear": "\u0645\u0633\u062D",
|
|
44
|
+
"general.filterActive": "\u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0646\u0634\u0637\u0629",
|
|
45
|
+
"general.rowsIn": "\u0635\u0641\u0648\u0641 \u0641\u064A",
|
|
46
|
+
"general.page": "\u0635\u0641\u062D\u0627\u062A",
|
|
47
|
+
"general.validationInRow": "\u0641\u064A \u0627\u0644\u0635\u0641",
|
|
48
|
+
"general.validationInColumn": "\u0641\u064A \u0627\u0644\u0639\u0645\u0648\u062F",
|
|
49
|
+
"general.loadMore": "\u0639\u0631\u0636 \u0627\u0644\u0645\u0632\u064A\u062F ({visible} \u0645\u0646 {total})",
|
|
50
|
+
"general.searchFound": "\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 {count} \u0646\u062A\u064A\u062C\u0629",
|
|
51
|
+
"general.searchNotFound": "\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",
|
|
52
|
+
"general.searchPosition": "{current} \u0645\u0646 {total}",
|
|
53
|
+
"columnMenu.open": "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0639\u0645\u0648\u062F",
|
|
54
|
+
"columnMenu.sortAsc": "\u0641\u0631\u0632 \u062A\u0635\u0627\u0639\u062F\u064A",
|
|
55
|
+
"columnMenu.sortDesc": "\u0641\u0631\u0632 \u062A\u0646\u0627\u0632\u0644\u064A",
|
|
56
|
+
"columnMenu.sortNone": "\u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0641\u0631\u0632",
|
|
57
|
+
"columnMenu.filter": "\u062A\u0635\u0641\u064A\u0629\u2026",
|
|
58
|
+
"columnMenu.hideColumn": "\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0639\u0645\u0648\u062F",
|
|
59
|
+
"columnMenu.pinStart": "\u062A\u062B\u0628\u064A\u062A \u0644\u0644\u0628\u062F\u0627\u064A\u0629",
|
|
60
|
+
"columnMenu.pinEnd": "\u062A\u062B\u0628\u064A\u062A \u0644\u0644\u0646\u0647\u0627\u064A\u0629",
|
|
61
|
+
"columnMenu.pinNone": "\u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u062B\u0628\u064A\u062A",
|
|
62
|
+
"columnMenu.autoSize": "\u062A\u062D\u062C\u064A\u0645 \u062A\u0644\u0642\u0627\u0626\u064A",
|
|
63
|
+
"columnMenu.columnsPanel": "\u0625\u0639\u062F\u0627\u062F \u0627\u0644\u0623\u0639\u0645\u062F\u0629",
|
|
64
|
+
"a11y.sortedAsc": "\u062A\u0645 \u0627\u0644\u0641\u0631\u0632 \u062D\u0633\u0628 {column} \u062A\u0635\u0627\u0639\u062F\u064A\u0627\u064B",
|
|
65
|
+
"a11y.sortedDesc": "\u062A\u0645 \u0627\u0644\u0641\u0631\u0632 \u062D\u0633\u0628 {column} \u062A\u0646\u0627\u0632\u0644\u064A\u0627\u064B",
|
|
66
|
+
"a11y.sortCleared": "\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0641\u0631\u0632",
|
|
67
|
+
"a11y.filterResult": "{visible} \u0645\u0646 {total} \u0635\u0641 \u0628\u0639\u062F \u0627\u0644\u062A\u0635\u0641\u064A\u0629",
|
|
68
|
+
"a11y.filterCleared": "\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",
|
|
69
|
+
"a11y.rowsSelected": "\u062A\u0645 \u062A\u062D\u062F\u064A\u062F {count} \u0635\u0641",
|
|
70
|
+
"a11y.selectionCleared": "\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u062D\u062F\u064A\u062F",
|
|
71
|
+
"a11y.validationError": "\u062E\u0637\u0623 \u0641\u064A \u0627\u0644\u062A\u062D\u0642\u0642: {message}",
|
|
72
|
+
"a11y.validationGeneric": "\u062E\u0637\u0623 \u0641\u064A \u0627\u0644\u062A\u062D\u0642\u0642",
|
|
73
|
+
"history.title": "\u0627\u0644\u0633\u062C\u0644",
|
|
74
|
+
"history.empty": "\u0644\u0627 \u064A\u0648\u062C\u062F \u0633\u062C\u0644 \u0628\u0639\u062F. \u0639\u062F\u0651\u0644 \u062E\u0644\u064A\u0629 \u0644\u0625\u0636\u0627\u0641\u0629 \u0623\u062D\u062F\u0627\u062B.",
|
|
75
|
+
"history.severity": "\u0627\u0644\u0634\u062F\u0629",
|
|
76
|
+
"history.category": "\u0627\u0644\u0641\u0626\u0629",
|
|
77
|
+
"history.filterAll": "\u0627\u0644\u0643\u0644",
|
|
78
|
+
"history.severity.info": "\u0645\u0639\u0644\u0648\u0645\u0629",
|
|
79
|
+
"history.severity.warning": "\u062A\u062D\u0630\u064A\u0631",
|
|
80
|
+
"history.severity.error": "\u062E\u0637\u0623",
|
|
81
|
+
"history.category.data": "\u0628\u064A\u0627\u0646\u0627\u062A",
|
|
82
|
+
"history.category.structure": "\u0628\u0646\u064A\u0629",
|
|
83
|
+
"history.category.view": "\u0639\u0631\u0636",
|
|
84
|
+
"history.category.system": "\u0646\u0638\u0627\u0645",
|
|
85
|
+
"history.restore": "\u0627\u0633\u062A\u0639\u0627\u062F\u0629 \u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",
|
|
86
|
+
"offline.online": "\u0645\u062A\u0635\u0644",
|
|
87
|
+
"offline.offline": "\u063A\u064A\u0631 \u0645\u062A\u0635\u0644",
|
|
88
|
+
"offline.pendingCount": "{count} \u062A\u063A\u064A\u064A\u0631\u0627\u062A \u063A\u064A\u0631 \u0645\u062D\u0641\u0648\u0638\u0629",
|
|
89
|
+
"offline.pendingEmpty": "\u062A\u0645 \u062D\u0641\u0638 \u0643\u0644 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A \u0645\u062D\u0644\u064A\u0627\u064B",
|
|
90
|
+
"sync.policy": "\u0633\u064A\u0627\u0633\u0629 \u0627\u0644\u062A\u0639\u0627\u0631\u0636",
|
|
91
|
+
"sync.policy.lastWriteWins": "\u0622\u062E\u0631 \u0643\u062A\u0627\u0628\u0629 \u062A\u0641\u0648\u0632",
|
|
92
|
+
"sync.policy.serverWins": "\u0627\u0644\u062E\u0627\u062F\u0645 \u064A\u0641\u0648\u0632",
|
|
93
|
+
"sync.policy.manual": "\u064A\u062F\u0648\u064A",
|
|
94
|
+
"sync.now": "\u0645\u0632\u0627\u0645\u0646\u0629 \u0627\u0644\u0622\u0646",
|
|
95
|
+
"sync.syncing": "\u062C\u0627\u0631\u064D \u0627\u0644\u0645\u0632\u0627\u0645\u0646\u0629\u2026",
|
|
96
|
+
"sync.unavailable": "\u0646\u0642\u0644 \u0627\u0644\u0645\u0632\u0627\u0645\u0646\u0629 \u063A\u064A\u0631 \u0645\u0647\u064A\u0623",
|
|
97
|
+
"sync.result": "\u0623\u064F\u0631\u0633\u0644 {pushed}\u060C \u0627\u0633\u062A\u064F\u0644\u0645 {pulled}\u060C \u062A\u0639\u0627\u0631\u0636\u0627\u062A {conflicts}",
|
|
98
|
+
"sync.local": "\u0645\u062D\u0644\u064A",
|
|
99
|
+
"sync.remote": "\u062E\u0627\u062F\u0645",
|
|
100
|
+
"sync.keepLocal": "\u0627\u0644\u0625\u0628\u0642\u0627\u0621 \u0639\u0644\u0649 \u0627\u0644\u0645\u062D\u0644\u064A",
|
|
101
|
+
"sync.keepRemote": "\u0627\u0644\u0625\u0628\u0642\u0627\u0621 \u0639\u0644\u0649 \u0627\u0644\u062E\u0627\u062F\u0645",
|
|
102
|
+
"date.pickDate": "\u0627\u062E\u062A\u0631 \u062A\u0627\u0631\u064A\u062E\u0627\u064B",
|
|
103
|
+
"date.pickRange": "\u0627\u062E\u062A\u0631 \u0646\u0637\u0627\u0642\u0627\u064B",
|
|
104
|
+
"date.clear": "\u0645\u0633\u062D",
|
|
105
|
+
"date.calendar": "\u062A\u0642\u0648\u064A\u0645 \u062C\u0644\u0627\u0644\u064A",
|
|
106
|
+
"date.prevMonth": "\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0633\u0627\u0628\u0642",
|
|
107
|
+
"date.nextMonth": "\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u062A\u0627\u0644\u064A"
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export { arMessages };
|
|
111
|
+
//# sourceMappingURL=chunk-TN4MG6FY.js.map
|
|
112
|
+
//# sourceMappingURL=chunk-TN4MG6FY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../ui/locales/ar.ts"],"names":[],"mappings":"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","file":"chunk-TN4MG6FY.js","sourcesContent":["import type { ERPTableMessages } from './types';\r\n\r\n/** Arabic (ar) message pack (PR-127). */\r\nexport const arMessages: ERPTableMessages = {\r\n 'general.addNewRow': 'إضافة صف',\r\n 'general.copy': 'نسخ',\r\n 'general.cut': 'قص',\r\n 'general.paste': 'لصق',\r\n 'general.delete': 'حذف',\r\n 'general.chooseFromList': 'اختر من القائمة',\r\n 'general.toggle': 'تحديد الكل',\r\n 'general.exportToExcel': 'تصدير إلى Excel',\r\n 'general.exportToExcelSuccess': 'تم تصدير Excel بنجاح',\r\n 'general.exportToExcelError': 'فشل تصدير Excel',\r\n 'general.exportToPdf': 'تصدير إلى PDF',\r\n 'general.exportToPdfSuccess': 'تم تصدير PDF بنجاح',\r\n 'general.exportToPdfError': 'فشل تصدير PDF',\r\n 'general.importFromExcel': 'استيراد من Excel',\r\n 'general.importFromExcelSuccess': 'تم استيراد Excel بنجاح',\r\n 'general.importFromExcelError': 'فشل استيراد Excel',\r\n 'general.selected': 'محدد',\r\n 'general.search': 'بحث',\r\n 'general.selectField': 'اختر',\r\n 'general.selectPlaceholder': 'اختر',\r\n 'general.choice': 'اختر العمود',\r\n 'general.prev': 'السابق',\r\n 'general.next': 'التالي',\r\n 'general.noData': 'لا توجد بيانات',\r\n 'general.loading': 'جارٍ التحميل…',\r\n 'general.footerTotal': 'المجموع',\r\n 'general.footerAvg': 'المتوسط',\r\n 'general.replicateRow': 'تكرار الصف',\r\n 'general.edit': 'تعديل',\r\n 'general.rowEdit': 'تعديل الصف',\r\n 'general.row': 'صف',\r\n 'general.selectRow': 'تحديد الصف',\r\n 'general.save': 'حفظ',\r\n 'general.notActive': 'غير نشط',\r\n 'general.add': 'إضافة',\r\n 'general.themeDark': 'الوضع الداكن',\r\n 'general.themeLight': 'الوضع الفاتح',\r\n 'general.toolbar': 'شريط الأدوات',\r\n 'general.filter': 'تصفية',\r\n 'general.filterApply': 'تطبيق',\r\n 'general.filterClear': 'مسح',\r\n 'general.filterActive': 'التصفية نشطة',\r\n 'general.rowsIn': 'صفوف في',\r\n 'general.page': 'صفحات',\r\n 'general.validationInRow': 'في الصف',\r\n 'general.validationInColumn': 'في العمود',\r\n 'general.loadMore': 'عرض المزيد ({visible} من {total})',\r\n 'general.searchFound': 'تم العثور على {count} نتيجة',\r\n 'general.searchNotFound': 'لا توجد نتائج',\r\n 'general.searchPosition': '{current} من {total}',\r\n 'columnMenu.open': 'قائمة العمود',\r\n 'columnMenu.sortAsc': 'فرز تصاعدي',\r\n 'columnMenu.sortDesc': 'فرز تنازلي',\r\n 'columnMenu.sortNone': 'إلغاء الفرز',\r\n 'columnMenu.filter': 'تصفية…',\r\n 'columnMenu.hideColumn': 'إخفاء العمود',\r\n 'columnMenu.pinStart': 'تثبيت للبداية',\r\n 'columnMenu.pinEnd': 'تثبيت للنهاية',\r\n 'columnMenu.pinNone': 'إلغاء التثبيت',\r\n 'columnMenu.autoSize': 'تحجيم تلقائي',\r\n 'columnMenu.columnsPanel': 'إعداد الأعمدة',\r\n 'a11y.sortedAsc': 'تم الفرز حسب {column} تصاعدياً',\r\n 'a11y.sortedDesc': 'تم الفرز حسب {column} تنازلياً',\r\n 'a11y.sortCleared': 'تم إلغاء الفرز',\r\n 'a11y.filterResult': '{visible} من {total} صف بعد التصفية',\r\n 'a11y.filterCleared': 'تم إلغاء التصفية',\r\n 'a11y.rowsSelected': 'تم تحديد {count} صف',\r\n 'a11y.selectionCleared': 'تم إلغاء التحديد',\r\n 'a11y.validationError': 'خطأ في التحقق: {message}',\r\n 'a11y.validationGeneric': 'خطأ في التحقق',\r\n 'history.title': 'السجل',\r\n 'history.empty': 'لا يوجد سجل بعد. عدّل خلية لإضافة أحداث.',\r\n 'history.severity': 'الشدة',\r\n 'history.category': 'الفئة',\r\n 'history.filterAll': 'الكل',\r\n 'history.severity.info': 'معلومة',\r\n 'history.severity.warning': 'تحذير',\r\n 'history.severity.error': 'خطأ',\r\n 'history.category.data': 'بيانات',\r\n 'history.category.structure': 'بنية',\r\n 'history.category.view': 'عرض',\r\n 'history.category.system': 'نظام',\r\n 'history.restore': 'استعادة القيمة السابقة',\r\n 'offline.online': 'متصل',\r\n 'offline.offline': 'غير متصل',\r\n 'offline.pendingCount': '{count} تغييرات غير محفوظة',\r\n 'offline.pendingEmpty': 'تم حفظ كل التغييرات محلياً',\r\n 'sync.policy': 'سياسة التعارض',\r\n 'sync.policy.lastWriteWins': 'آخر كتابة تفوز',\r\n 'sync.policy.serverWins': 'الخادم يفوز',\r\n 'sync.policy.manual': 'يدوي',\r\n 'sync.now': 'مزامنة الآن',\r\n 'sync.syncing': 'جارٍ المزامنة…',\r\n 'sync.unavailable': 'نقل المزامنة غير مهيأ',\r\n 'sync.result': 'أُرسل {pushed}، استُلم {pulled}، تعارضات {conflicts}',\r\n 'sync.local': 'محلي',\r\n 'sync.remote': 'خادم',\r\n 'sync.keepLocal': 'الإبقاء على المحلي',\r\n 'sync.keepRemote': 'الإبقاء على الخادم',\r\n 'date.pickDate': 'اختر تاريخاً',\r\n 'date.pickRange': 'اختر نطاقاً',\r\n 'date.clear': 'مسح',\r\n 'date.calendar': 'تقويم جلالي',\r\n 'date.prevMonth': 'الشهر السابق',\r\n 'date.nextMonth': 'الشهر التالي',\r\n};\r\n\r\nexport default arMessages;\r\n"]}
|