@open-mercato/core 0.9.1-develop.7462.1.94c09f158f → 0.9.1-develop.7466.1.2b0cea0016
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/.turbo/turbo-build.log +1 -1
- package/dist/modules/customers/components/detail/ActivitiesSection.js +8 -1
- package/dist/modules/customers/components/detail/ActivitiesSection.js.map +2 -2
- package/dist/modules/staff/backend/staff/time-tracking/entries/page.js +2 -2
- package/dist/modules/staff/backend/staff/time-tracking/entries/page.js.map +2 -2
- package/dist/modules/staff/lib/time-tracking-ui/TimeEntryDialog.js +3 -2
- package/dist/modules/staff/lib/time-tracking-ui/TimeEntryDialog.js.map +2 -2
- package/dist/modules/staff/lib/time-tracking-ui/reportLinks.js +9 -0
- package/dist/modules/staff/lib/time-tracking-ui/reportLinks.js.map +7 -0
- package/package.json +7 -7
- package/src/modules/customers/components/detail/ActivitiesSection.tsx +8 -1
- package/src/modules/staff/backend/staff/time-tracking/entries/page.tsx +2 -2
- package/src/modules/staff/lib/time-tracking-ui/TimeEntryDialog.tsx +3 -2
- package/src/modules/staff/lib/time-tracking-ui/reportLinks.ts +5 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/modules/staff/lib/time-tracking-ui/reportLinks.ts"],
|
|
4
|
+
"sourcesContent": ["export const REPORTS_PATH = '/backend/staff/time-tracking/reports'\n\nexport function reportDetailHref(reportId: string): string {\n return `${REPORTS_PATH}/${encodeURIComponent(reportId)}`\n}\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,eAAe;AAErB,SAAS,iBAAiB,UAA0B;AACzD,SAAO,GAAG,YAAY,IAAI,mBAAmB,QAAQ,CAAC;AACxD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-mercato/core",
|
|
3
|
-
"version": "0.9.1-develop.
|
|
3
|
+
"version": "0.9.1-develop.7466.1.2b0cea0016",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -264,16 +264,16 @@
|
|
|
264
264
|
"zod": "^4.4.3"
|
|
265
265
|
},
|
|
266
266
|
"peerDependencies": {
|
|
267
|
-
"@open-mercato/ai-assistant": "0.9.1-develop.
|
|
268
|
-
"@open-mercato/shared": "0.9.1-develop.
|
|
269
|
-
"@open-mercato/ui": "0.9.1-develop.
|
|
267
|
+
"@open-mercato/ai-assistant": "0.9.1-develop.7466.1.2b0cea0016",
|
|
268
|
+
"@open-mercato/shared": "0.9.1-develop.7466.1.2b0cea0016",
|
|
269
|
+
"@open-mercato/ui": "0.9.1-develop.7466.1.2b0cea0016",
|
|
270
270
|
"react": "^19.0.0",
|
|
271
271
|
"react-dom": "^19.0.0"
|
|
272
272
|
},
|
|
273
273
|
"devDependencies": {
|
|
274
|
-
"@open-mercato/ai-assistant": "0.9.1-develop.
|
|
275
|
-
"@open-mercato/shared": "0.9.1-develop.
|
|
276
|
-
"@open-mercato/ui": "0.9.1-develop.
|
|
274
|
+
"@open-mercato/ai-assistant": "0.9.1-develop.7466.1.2b0cea0016",
|
|
275
|
+
"@open-mercato/shared": "0.9.1-develop.7466.1.2b0cea0016",
|
|
276
|
+
"@open-mercato/ui": "0.9.1-develop.7466.1.2b0cea0016",
|
|
277
277
|
"@testing-library/dom": "^10.4.1",
|
|
278
278
|
"@testing-library/jest-dom": "^7.0.1",
|
|
279
279
|
"@testing-library/react": "^16.3.3",
|
|
@@ -109,6 +109,7 @@ export function ActivitiesSection({
|
|
|
109
109
|
useCanonicalInteractions = false,
|
|
110
110
|
onActionChange,
|
|
111
111
|
onLoadingChange,
|
|
112
|
+
onDataRefresh,
|
|
112
113
|
refreshKey = 0,
|
|
113
114
|
onEditActivity,
|
|
114
115
|
runGuardedMutation,
|
|
@@ -294,8 +295,14 @@ export function ActivitiesSection({
|
|
|
294
295
|
} catch (err) {
|
|
295
296
|
logger.warn('Mark done failed', { component: 'ActivitiesSection', activityId, err })
|
|
296
297
|
flash(t('customers.activities.actions.markDoneError', 'Could not mark activity as done'), 'error')
|
|
298
|
+
return
|
|
299
|
+
}
|
|
300
|
+
try {
|
|
301
|
+
await Promise.resolve(onDataRefresh?.())
|
|
302
|
+
} catch (err) {
|
|
303
|
+
logger.warn('Parent refresh after mark done failed', { component: 'ActivitiesSection', activityId, err })
|
|
297
304
|
}
|
|
298
|
-
}, [loadActivities, runGuardedMutation, t])
|
|
305
|
+
}, [loadActivities, onDataRefresh, runGuardedMutation, t])
|
|
299
306
|
|
|
300
307
|
const resolvedUserIdsRef = React.useRef(new Set<string>())
|
|
301
308
|
|
|
@@ -81,6 +81,7 @@ import { useT } from '@open-mercato/shared/lib/i18n/context'
|
|
|
81
81
|
import { useOrganizationScopeVersion } from '@open-mercato/shared/lib/frontend/useOrganizationScope'
|
|
82
82
|
import { createLogger } from '@open-mercato/shared/lib/logger'
|
|
83
83
|
import { TimeEntryDialog } from '../../../../lib/time-tracking-ui/TimeEntryDialog'
|
|
84
|
+
import { REPORTS_PATH, reportDetailHref } from '../../../../lib/time-tracking-ui/reportLinks'
|
|
84
85
|
import { TimeEntryDurationCell } from '../../../../lib/time-tracking-ui/TimeEntryDurationCell'
|
|
85
86
|
import { TimeEntriesSummaryFooter } from '../../../../lib/time-tracking-ui/TimeEntriesSummaryFooter'
|
|
86
87
|
import {
|
|
@@ -120,7 +121,6 @@ const MANAGE_ALL_FEATURE = 'staff.timesheets.manage_all'
|
|
|
120
121
|
* ordinary filter values, so they carry a removable chip like anything else.
|
|
121
122
|
*/
|
|
122
123
|
const DEEP_LINK_PARAMS = ['taskId', 'ids'] as const
|
|
123
|
-
const REPORTS_PATH = '/backend/staff/time-tracking/reports'
|
|
124
124
|
const MUTATION_CONTEXT_ID = 'staff.time_tracking.entriesList'
|
|
125
125
|
const RESOURCE_KIND = 'staff.timesheets.time_entry'
|
|
126
126
|
|
|
@@ -1171,7 +1171,7 @@ export default function TimeTrackingEntriesPage() {
|
|
|
1171
1171
|
id: 'show-report',
|
|
1172
1172
|
label: labels.showReport,
|
|
1173
1173
|
href: row.lockedReportId
|
|
1174
|
-
?
|
|
1174
|
+
? reportDetailHref(row.lockedReportId)
|
|
1175
1175
|
: REPORTS_PATH,
|
|
1176
1176
|
},
|
|
1177
1177
|
]}
|
|
@@ -56,6 +56,7 @@ import { useT } from '@open-mercato/shared/lib/i18n/context'
|
|
|
56
56
|
import { useOrganizationScopeVersion } from '@open-mercato/shared/lib/frontend/useOrganizationScope'
|
|
57
57
|
import { createLogger } from '@open-mercato/shared/lib/logger'
|
|
58
58
|
import { DurationInput } from './DurationInput'
|
|
59
|
+
import { reportDetailHref } from './reportLinks'
|
|
59
60
|
import { formatDuration } from '../time-tracking/duration'
|
|
60
61
|
import { parseClock } from '../time-tracking/interval'
|
|
61
62
|
import { applicableRate, entryAmount } from '../time-tracking/cost'
|
|
@@ -102,7 +103,7 @@ function fieldValueSnapshot(value: unknown): string {
|
|
|
102
103
|
}
|
|
103
104
|
export const RATES_FEATURE = 'staff.timesheets.rates.view'
|
|
104
105
|
export const ENTRIES_LIST_PATH = '/backend/staff/time-tracking/entries'
|
|
105
|
-
export
|
|
106
|
+
export { REPORTS_PATH } from './reportLinks'
|
|
106
107
|
|
|
107
108
|
const DIALOG_QUERY_ROOT = ['staff', 'time-tracking', 'entry-dialog'] as const
|
|
108
109
|
const DIRECTORY_PAGE_SIZE = 100
|
|
@@ -1390,7 +1391,7 @@ function DefaultTimeEntryDialog({
|
|
|
1390
1391
|
className="mt-2"
|
|
1391
1392
|
data-testid="entry-dialog-locked-report"
|
|
1392
1393
|
onClick={() =>
|
|
1393
|
-
window.open(
|
|
1394
|
+
window.open(reportDetailHref(lockedReportId), '_blank', 'noopener')
|
|
1394
1395
|
}
|
|
1395
1396
|
>
|
|
1396
1397
|
{t('staff.time_tracking.entryDialog.locked.showReport', 'Show the report')}
|