@oneblink/apps-react 11.1.1-beta.2 → 11.1.2-beta.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.
@@ -59,6 +59,8 @@ export type FormStoreFilters = {
59
59
  dateTime?: FormStoreFilter<string>;
60
60
  /** Filter results by the calendar event cancelled reason */
61
61
  cancelledReason?: FormStoreFilter<string>;
62
+ /** Filter results by the calendar name */
63
+ calendarName?: FormStoreFilter<string>;
62
64
  };
63
65
  };
64
66
  export type FormStoreParameters = {
@@ -1 +1 @@
1
- {"version":3,"file":"form-store-service.js","sourceRoot":"","sources":["../../src/apps/form-store-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,EACL,eAAe,EACf,aAAa,EACb,WAAW,EAEX,cAAc,GACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,OAAO,MAAM,WAAW,CAAA;AAmF/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,WAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,sBAAsB,EAClD;YACE,MAAM;SACP,EACD,WAAW,CACZ,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,gBAMuB,EACvB,WAAwB;IAKxB,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAG5C,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAA;QAC5E,OAAO;YACL,gBAAgB,EAAE,WAAW;YAC7B,IAAI;SACL,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,gBAGuB,EACvB,WAAyB;IAEzB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,QAAQ,IAAI,MAAM,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAA;IACvC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,oBAAoB,EAChD;QACE,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACtC,MAAM,EAAE,WAAW;KACpB,CACF,CAAA;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACxC,cAAc,EAAE,QAAQ,CAAC,MAAM;SAChC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { saveAs } from 'file-saver'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport {\n generateHeaders,\n searchRequest,\n postRequest,\n HTTPError,\n fetchWithError,\n} from './services/fetch'\nimport tenants from './tenants'\n\n/** Filter for a single property in a Form Store Record */\nexport type FormStoreFilter<T> = {\n $regex?: string\n $options?: string\n $eq?: T\n $gte?: T\n $gt?: T\n $lt?: T\n $lte?: T\n $in?: string[]\n $elemMatch?: {\n $in?: string[]\n }\n}\n\n/** Filters available for filter Form Store Records */\nexport type FormStoreFilters = {\n /** Filter results by the date/time they were completed */\n dateTimeCompleted?: FormStoreFilter<string>\n /** Filter results by the date/time they were submitted */\n dateTimeSubmitted?: FormStoreFilter<string>\n /** Filter results by the user that submitted */\n submittedBy?: FormStoreFilter<string>\n /** Filter results by the submissionId, must be a valid GUID */\n submissionId?: FormStoreFilter<string>\n /** Filter results by the externalId */\n externalId?: FormStoreFilter<string>\n /** Filter results by the submission data */\n submission?: Record<string, FormStoreFilter<unknown> | undefined>\n /** Filter results by the task that was completed by submitting a form */\n task?: {\n /** Filter results by the task name */\n name?: FormStoreFilter<string>\n }\n /** Filter results by the task action that was used to complete a task */\n taskAction?: {\n /** Filter results by the task action label */\n label?: FormStoreFilter<string>\n }\n /** Filter results by the task group that included the task */\n taskGroup?: {\n /** Filter results by the task group name */\n name?: FormStoreFilter<string>\n }\n /** Filter results by the task group instance that included the task */\n taskGroupInstance?: {\n /** Filter results by the task group instance label */\n label?: FormStoreFilter<string>\n }\n /** Filter results by the forms app used to submit */\n formsAppId?: {\n $in: (number | null)[]\n }\n /** Filter results by the calendar event */\n calendarEvent?: {\n /** Filter results by the calendar event title */\n name?: FormStoreFilter<string>\n /** Filter results by the calendar event date and time */\n dateTime?: FormStoreFilter<string>\n /** Filter results by the calendar event cancelled reason */\n cancelledReason?: FormStoreFilter<string>\n }\n}\n\nexport type FormStoreParameters = {\n /** Filters available for filter Form Store Records */\n filters?: FormStoreFilters\n /**\n * Unwind repeatable set entries to denormalise data, this makes data cleaner\n * for tabular data purposes\n */\n unwindRepeatableSets?: boolean\n /** Sort the results by multiple properties */\n sorting?: Array<{\n /** Property to sort by */\n property: string\n /** Sorting direction */\n direction: 'ascending' | 'descending'\n }>\n}\n\n/**\n * Get the available form elements for a form to display form store records\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const { formElements } =\n * await formStoreService.getFormStoreDefinition(formId)\n * ```\n *\n * @param formId The identified of the form you want to get the definition of\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function getFormStoreDefinition(\n formId: number,\n abortSignal?: AbortSignal,\n): Promise<{ formElements: FormTypes.FormElementWithName[] }> {\n try {\n return await searchRequest(\n `${tenants.current.apiOrigin}/form-store/elements`,\n {\n formId,\n },\n abortSignal,\n )\n } catch (err) {\n const error = err as HTTPError\n throw new OneBlinkAppsError(error.message, {\n httpStatusCode: error.status,\n originalError: error,\n })\n }\n}\n\n/**\n * Search for Form Store Records\n *\n * #### Example\n *\n * ```js\n * const { formStoreRecords } =\n * await formStoreService.searchFormStoreRecords({\n * formId: 1,\n * paging: {\n * limit: 50,\n * offset: 0,\n * },\n * })\n * ```\n *\n * @param searchParameters Search parameters for filtering, sorting, and paging\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function searchFormStoreRecords(\n searchParameters: {\n formId: number\n paging: {\n limit: number\n offset: number\n }\n } & FormStoreParameters,\n abortSignal: AbortSignal,\n): Promise<{\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n meta: { limit: number; offset: number; nextOffset?: number }\n}> {\n try {\n const { submissions, meta } = await postRequest<{\n submissions: SubmissionTypes.FormStoreRecord[]\n meta: { limit: number; offset: number; nextOffset?: number }\n }>(`${tenants.current.apiOrigin}/form-store`, searchParameters, abortSignal)\n return {\n formStoreRecords: submissions,\n meta,\n }\n } catch (err) {\n const error = err as HTTPError\n throw new OneBlinkAppsError(error.message, {\n httpStatusCode: error.status,\n originalError: error,\n })\n }\n}\n\n/**\n * Export Form Store Records as a CSV file. This function will download the file\n * automatically.\n *\n * #### Example\n *\n * ```js\n * await formStoreService.exportFormStoreRecords({\n * formId: 1,\n * })\n * ```\n *\n * @param fileName Name of the file to download. \".csv\" will be added to the end\n * of the file name if not passed\n * @param searchParameters Search parameters for filtering, sorting, and\n * including columns\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function exportFormStoreRecords(\n fileName: string,\n searchParameters: {\n formId: number\n includeColumns?: string[]\n } & FormStoreParameters,\n abortSignal?: AbortSignal,\n): Promise<void> {\n if (!fileName.toLowerCase().endsWith('.csv')) {\n fileName += '.csv'\n }\n const headers = await generateHeaders()\n headers.Accept = 'text/csv'\n const response = await fetchWithError(\n `${tenants.current.apiOrigin}/form-store/export`,\n {\n method: 'POST',\n headers,\n mode: 'cors',\n cache: 'default',\n body: JSON.stringify(searchParameters),\n signal: abortSignal,\n },\n )\n if (response.ok) {\n const blob = await response.blob()\n saveAs(blob, fileName)\n } else {\n const body = await response.json()\n throw new OneBlinkAppsError(body.message, {\n httpStatusCode: response.status,\n })\n }\n}\n"]}
1
+ {"version":3,"file":"form-store-service.js","sourceRoot":"","sources":["../../src/apps/form-store-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,EACL,eAAe,EACf,aAAa,EACb,WAAW,EAEX,cAAc,GACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,OAAO,MAAM,WAAW,CAAA;AAqF/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,WAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,sBAAsB,EAClD;YACE,MAAM;SACP,EACD,WAAW,CACZ,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,gBAMuB,EACvB,WAAwB;IAKxB,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAG5C,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAA;QAC5E,OAAO;YACL,gBAAgB,EAAE,WAAW;YAC7B,IAAI;SACL,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,gBAGuB,EACvB,WAAyB;IAEzB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,QAAQ,IAAI,MAAM,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAA;IACvC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,oBAAoB,EAChD;QACE,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACtC,MAAM,EAAE,WAAW;KACpB,CACF,CAAA;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACxC,cAAc,EAAE,QAAQ,CAAC,MAAM;SAChC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { saveAs } from 'file-saver'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport {\n generateHeaders,\n searchRequest,\n postRequest,\n HTTPError,\n fetchWithError,\n} from './services/fetch'\nimport tenants from './tenants'\n\n/** Filter for a single property in a Form Store Record */\nexport type FormStoreFilter<T> = {\n $regex?: string\n $options?: string\n $eq?: T\n $gte?: T\n $gt?: T\n $lt?: T\n $lte?: T\n $in?: string[]\n $elemMatch?: {\n $in?: string[]\n }\n}\n\n/** Filters available for filter Form Store Records */\nexport type FormStoreFilters = {\n /** Filter results by the date/time they were completed */\n dateTimeCompleted?: FormStoreFilter<string>\n /** Filter results by the date/time they were submitted */\n dateTimeSubmitted?: FormStoreFilter<string>\n /** Filter results by the user that submitted */\n submittedBy?: FormStoreFilter<string>\n /** Filter results by the submissionId, must be a valid GUID */\n submissionId?: FormStoreFilter<string>\n /** Filter results by the externalId */\n externalId?: FormStoreFilter<string>\n /** Filter results by the submission data */\n submission?: Record<string, FormStoreFilter<unknown> | undefined>\n /** Filter results by the task that was completed by submitting a form */\n task?: {\n /** Filter results by the task name */\n name?: FormStoreFilter<string>\n }\n /** Filter results by the task action that was used to complete a task */\n taskAction?: {\n /** Filter results by the task action label */\n label?: FormStoreFilter<string>\n }\n /** Filter results by the task group that included the task */\n taskGroup?: {\n /** Filter results by the task group name */\n name?: FormStoreFilter<string>\n }\n /** Filter results by the task group instance that included the task */\n taskGroupInstance?: {\n /** Filter results by the task group instance label */\n label?: FormStoreFilter<string>\n }\n /** Filter results by the forms app used to submit */\n formsAppId?: {\n $in: (number | null)[]\n }\n /** Filter results by the calendar event */\n calendarEvent?: {\n /** Filter results by the calendar event title */\n name?: FormStoreFilter<string>\n /** Filter results by the calendar event date and time */\n dateTime?: FormStoreFilter<string>\n /** Filter results by the calendar event cancelled reason */\n cancelledReason?: FormStoreFilter<string>\n /** Filter results by the calendar name */\n calendarName?: FormStoreFilter<string>\n }\n}\n\nexport type FormStoreParameters = {\n /** Filters available for filter Form Store Records */\n filters?: FormStoreFilters\n /**\n * Unwind repeatable set entries to denormalise data, this makes data cleaner\n * for tabular data purposes\n */\n unwindRepeatableSets?: boolean\n /** Sort the results by multiple properties */\n sorting?: Array<{\n /** Property to sort by */\n property: string\n /** Sorting direction */\n direction: 'ascending' | 'descending'\n }>\n}\n\n/**\n * Get the available form elements for a form to display form store records\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const { formElements } =\n * await formStoreService.getFormStoreDefinition(formId)\n * ```\n *\n * @param formId The identified of the form you want to get the definition of\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function getFormStoreDefinition(\n formId: number,\n abortSignal?: AbortSignal,\n): Promise<{ formElements: FormTypes.FormElementWithName[] }> {\n try {\n return await searchRequest(\n `${tenants.current.apiOrigin}/form-store/elements`,\n {\n formId,\n },\n abortSignal,\n )\n } catch (err) {\n const error = err as HTTPError\n throw new OneBlinkAppsError(error.message, {\n httpStatusCode: error.status,\n originalError: error,\n })\n }\n}\n\n/**\n * Search for Form Store Records\n *\n * #### Example\n *\n * ```js\n * const { formStoreRecords } =\n * await formStoreService.searchFormStoreRecords({\n * formId: 1,\n * paging: {\n * limit: 50,\n * offset: 0,\n * },\n * })\n * ```\n *\n * @param searchParameters Search parameters for filtering, sorting, and paging\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function searchFormStoreRecords(\n searchParameters: {\n formId: number\n paging: {\n limit: number\n offset: number\n }\n } & FormStoreParameters,\n abortSignal: AbortSignal,\n): Promise<{\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n meta: { limit: number; offset: number; nextOffset?: number }\n}> {\n try {\n const { submissions, meta } = await postRequest<{\n submissions: SubmissionTypes.FormStoreRecord[]\n meta: { limit: number; offset: number; nextOffset?: number }\n }>(`${tenants.current.apiOrigin}/form-store`, searchParameters, abortSignal)\n return {\n formStoreRecords: submissions,\n meta,\n }\n } catch (err) {\n const error = err as HTTPError\n throw new OneBlinkAppsError(error.message, {\n httpStatusCode: error.status,\n originalError: error,\n })\n }\n}\n\n/**\n * Export Form Store Records as a CSV file. This function will download the file\n * automatically.\n *\n * #### Example\n *\n * ```js\n * await formStoreService.exportFormStoreRecords({\n * formId: 1,\n * })\n * ```\n *\n * @param fileName Name of the file to download. \".csv\" will be added to the end\n * of the file name if not passed\n * @param searchParameters Search parameters for filtering, sorting, and\n * including columns\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function exportFormStoreRecords(\n fileName: string,\n searchParameters: {\n formId: number\n includeColumns?: string[]\n } & FormStoreParameters,\n abortSignal?: AbortSignal,\n): Promise<void> {\n if (!fileName.toLowerCase().endsWith('.csv')) {\n fileName += '.csv'\n }\n const headers = await generateHeaders()\n headers.Accept = 'text/csv'\n const response = await fetchWithError(\n `${tenants.current.apiOrigin}/form-store/export`,\n {\n method: 'POST',\n headers,\n mode: 'cors',\n cache: 'default',\n body: JSON.stringify(searchParameters),\n signal: abortSignal,\n },\n )\n if (response.ok) {\n const blob = await response.blob()\n saveAs(blob, fileName)\n } else {\n const body = await response.json()\n throw new OneBlinkAppsError(body.message, {\n httpStatusCode: response.status,\n })\n }\n}\n"]}
@@ -42,7 +42,7 @@ export default function useFormStoreTable({ form, formStoreRecords, parameters,
42
42
  ];
43
43
  }, [form.formsAppIds, getFormsAppLabel]);
44
44
  const columns = React.useMemo(() => {
45
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15;
45
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19;
46
46
  return generateColumns({
47
47
  sorting: parameters.sorting,
48
48
  filters: parameters.filters,
@@ -364,17 +364,50 @@ export default function useFormStoreTable({ form, formStoreRecords, parameters,
364
364
  return (_jsxs(_Fragment, { children: [(_a = formStoreRecord.calendarEvent) === null || _a === void 0 ? void 0 : _a.name, ((_b = formStoreRecord.calendarEvent) === null || _b === void 0 ? void 0 : _b.name) && (_jsx(TableCellCopyButton, { text: (_c = formStoreRecord.calendarEvent) === null || _c === void 0 ? void 0 : _c.name }))] }));
365
365
  },
366
366
  },
367
+ {
368
+ id: 'CALENDAR_EVENT_CALENDAR_NAME',
369
+ header: 'Calendar Booking - Calendar Name',
370
+ meta: {
371
+ sorting: {
372
+ property: 'calendarEvent.calendarName',
373
+ direction: (_9 = (_8 = parameters.sorting) === null || _8 === void 0 ? void 0 : _8.find(({ property }) => property === 'calendarEvent.calendarName')) === null || _9 === void 0 ? void 0 : _9.direction,
374
+ },
375
+ filter: {
376
+ type: 'TEXT',
377
+ value: (_11 = (_10 = parameters.filters) === null || _10 === void 0 ? void 0 : _10.calendarEvent) === null || _11 === void 0 ? void 0 : _11.calendarName,
378
+ onChange: (newValue) => {
379
+ onChangeParameters((currentParameters) => {
380
+ var _a;
381
+ return ({
382
+ ...currentParameters,
383
+ filters: {
384
+ ...currentParameters.filters,
385
+ calendarEvent: {
386
+ ...(_a = currentParameters.filters) === null || _a === void 0 ? void 0 : _a.calendarEvent,
387
+ calendarName: newValue,
388
+ },
389
+ },
390
+ });
391
+ }, true);
392
+ },
393
+ },
394
+ },
395
+ cell: ({ row: { original: formStoreRecord } }) => {
396
+ var _a, _b, _c;
397
+ return (_jsxs(_Fragment, { children: [(_a = formStoreRecord.calendarEvent) === null || _a === void 0 ? void 0 : _a.calendarName, ((_b = formStoreRecord.calendarEvent) === null || _b === void 0 ? void 0 : _b.calendarName) && (_jsx(TableCellCopyButton, { text: (_c = formStoreRecord.calendarEvent) === null || _c === void 0 ? void 0 : _c.calendarName }))] }));
398
+ },
399
+ },
367
400
  {
368
401
  id: 'CALENDAR_EVENT_DATE_TIME',
369
402
  header: 'Calendar Booking - Event Date Time',
370
403
  meta: {
371
404
  sorting: {
372
405
  property: 'calendarEvent.dateTime',
373
- direction: (_9 = (_8 = parameters.sorting) === null || _8 === void 0 ? void 0 : _8.find(({ property }) => property === 'calendarEvent.dateTime')) === null || _9 === void 0 ? void 0 : _9.direction,
406
+ direction: (_13 = (_12 = parameters.sorting) === null || _12 === void 0 ? void 0 : _12.find(({ property }) => property === 'calendarEvent.dateTime')) === null || _13 === void 0 ? void 0 : _13.direction,
374
407
  },
375
408
  filter: {
376
409
  type: 'DATETIME',
377
- value: (_11 = (_10 = parameters.filters) === null || _10 === void 0 ? void 0 : _10.calendarEvent) === null || _11 === void 0 ? void 0 : _11.dateTime,
410
+ value: (_15 = (_14 = parameters.filters) === null || _14 === void 0 ? void 0 : _14.calendarEvent) === null || _15 === void 0 ? void 0 : _15.dateTime,
378
411
  onChange: (newValue) => {
379
412
  onChangeParameters((currentParameters) => {
380
413
  var _a;
@@ -411,11 +444,11 @@ export default function useFormStoreTable({ form, formStoreRecords, parameters,
411
444
  meta: {
412
445
  sorting: {
413
446
  property: 'calendarEvent.cancelledReason',
414
- direction: (_13 = (_12 = parameters.sorting) === null || _12 === void 0 ? void 0 : _12.find(({ property }) => property === 'calendarEvent.cancelledReason')) === null || _13 === void 0 ? void 0 : _13.direction,
447
+ direction: (_17 = (_16 = parameters.sorting) === null || _16 === void 0 ? void 0 : _16.find(({ property }) => property === 'calendarEvent.cancelledReason')) === null || _17 === void 0 ? void 0 : _17.direction,
415
448
  },
416
449
  filter: {
417
450
  type: 'TEXT',
418
- value: (_15 = (_14 = parameters.filters) === null || _14 === void 0 ? void 0 : _14.calendarEvent) === null || _15 === void 0 ? void 0 : _15.cancelledReason,
451
+ value: (_19 = (_18 = parameters.filters) === null || _18 === void 0 ? void 0 : _18.calendarEvent) === null || _19 === void 0 ? void 0 : _19.cancelledReason,
419
452
  onChange: (newValue) => {
420
453
  onChangeParameters((currentParameters) => {
421
454
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"useFormStoreTable.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/useFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { isValid } from 'date-fns'\nimport { formStoreService, localisationService } from '../../../apps'\nimport {\n useReactTable,\n getCoreRowModel,\n OnChangeFn,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport { format } from 'date-fns'\nimport generateColumns from './generateColumns'\nimport ActionedByTableCell from './ActionedByTableCell'\nimport TableCellCopyButton from './TableCellCopyButton'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport { FormStoreElementsContext } from '../OneBlinkFormStoreProvider'\nimport getVersionedFormTableState, { FormTableState } from './getVersionedState'\n\nconst defaultColumn = {\n minSize: 150,\n size: 225,\n}\n\nconst localStorageKey = (formId: number) =>\n `REACT_TABLE_STATE_FORM_STORE_${formId}`\n\nexport default function useFormStoreTable({\n form,\n formStoreRecords,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n getFormsAppLabel,\n}: {\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n form: FormTypes.Form\n parameters: formStoreService.FormStoreParameters\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n onRefresh: () => void\n submissionIdValidationMessage?: string\n getFormsAppLabel?: (formsAppId: number | null) => string\n}) {\n // Resets parameters on form change\n React.useEffect(() => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: undefined,\n sorting: [\n {\n property: 'dateTimeSubmitted',\n direction: 'descending',\n },\n ],\n }),\n false,\n )\n }, [form, onChangeParameters])\n\n const formElements = React.useContext(FormStoreElementsContext)\n\n const formsAppOptions = React.useMemo(() => {\n if (!getFormsAppLabel) return undefined\n return [\n ...form.formsAppIds.map((id) => ({\n value: id,\n label: getFormsAppLabel(id),\n })),\n { value: null, label: getFormsAppLabel(null) },\n ]\n }, [form.formsAppIds, getFormsAppLabel])\n\n const columns = React.useMemo(() => {\n return generateColumns<SubmissionTypes.FormStoreRecord>({\n sorting: parameters.sorting,\n filters: parameters.filters,\n unwindRepeatableSets: parameters.unwindRepeatableSets,\n formElements,\n parentElementNames: [],\n onChangeParameters,\n allowCopy: true,\n initialColumns: [\n {\n id: 'COMPLETED_AT',\n header: 'Completion Date Time',\n meta: {\n sorting: {\n property: 'dateTimeCompleted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeCompleted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeCompleted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeCompleted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.dateTimeCompleted) {\n return null\n }\n const text = format(\n new Date(formStoreRecord.dateTimeCompleted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_AT',\n header: 'Submission Date Time',\n meta: {\n sorting: {\n property: 'dateTimeSubmitted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeSubmitted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeSubmitted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeSubmitted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const text = format(\n new Date(formStoreRecord.dateTimeSubmitted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_BY',\n header: 'Submitted By',\n meta: {\n sorting: undefined,\n filter: {\n type: 'TEXT',\n value: parameters.filters?.submittedBy as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submittedBy: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <ActionedByTableCell\n userProfile={formStoreRecord.user}\n developerKey={formStoreRecord.key}\n variant=\"outlined\"\n />\n ),\n },\n {\n id: 'SUBMISSION_ID',\n header: 'Submission Id',\n meta: {\n sorting: undefined,\n filter: {\n type: 'SUBMISSION_ID',\n value: parameters.filters?.submissionId as\n | { $eq: string }\n | undefined,\n validationMessage: submissionIdValidationMessage,\n isInvalid: !!submissionIdValidationMessage,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submissionId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.submissionId}\n <TableCellCopyButton text={formStoreRecord.submissionId} />\n </>\n ),\n },\n {\n id: 'EXTERNAL_ID',\n header: 'External Id',\n meta: {\n sorting: {\n property: 'externalId',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'externalId',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.externalId as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n externalId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.externalId}\n {formStoreRecord.externalId && (\n <TableCellCopyButton text={formStoreRecord.externalId} />\n )}\n </>\n ),\n },\n ...(formsAppOptions && getFormsAppLabel\n ? [\n {\n id: 'FORMS_APP_ID',\n header: 'App',\n meta: {\n sorting: undefined,\n filter: {\n type: 'FORMS_APP_ID' as const,\n options: formsAppOptions,\n value: parameters.filters?.formsAppId as\n | { $in: (number | null)[] }\n | undefined,\n onChange: (\n newValue?: formStoreService.FormStoreFilter<unknown>,\n shouldDebounce?: boolean,\n ) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n formsAppId: newValue as\n | { $in: (number | null)[] }\n | undefined,\n },\n }),\n shouldDebounce ?? false,\n )\n },\n },\n },\n cell: ({\n row: { original: formStoreRecord },\n }: {\n row: { original: SubmissionTypes.FormStoreRecord }\n }) => {\n const text = getFormsAppLabel(\n formStoreRecord.formsAppId ?? null,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n ]\n : []),\n {\n id: 'TASK_GROUP',\n header: 'Task Group',\n meta: {\n sorting: {\n property: 'taskGroup.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroup.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroup?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroup: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroup?.name}\n {formStoreRecord.taskGroup?.name && (\n <TableCellCopyButton text={formStoreRecord.taskGroup?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP_INSTANCE',\n header: 'Task Group Instance',\n meta: {\n sorting: {\n property: 'taskGroupInstance.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroupInstance.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroupInstance?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroupInstance: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroupInstance?.label}\n {formStoreRecord.taskGroupInstance?.label && (\n <TableCellCopyButton\n text={formStoreRecord.taskGroupInstance?.label}\n />\n )}\n </>\n ),\n },\n {\n id: 'TASK',\n header: 'Task',\n meta: {\n sorting: {\n property: 'task.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'task.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.task?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n task: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.task?.name}\n {formStoreRecord.task?.name && (\n <TableCellCopyButton text={formStoreRecord.task?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_ACTION',\n header: 'Task Action',\n meta: {\n sorting: {\n property: 'taskAction.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskAction.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskAction?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskAction: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskAction?.label}\n {formStoreRecord.taskAction?.label && (\n <TableCellCopyButton text={formStoreRecord.taskAction?.label} />\n )}\n </>\n ),\n },\n {\n id: 'CALENDAR_EVENT_TITLE',\n header: 'Calendar Booking - Event Title',\n meta: {\n sorting: {\n property: 'calendarEvent.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.calendarEvent?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n name: newValue,\n },\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.calendarEvent?.name}\n {formStoreRecord.calendarEvent?.name && (\n <TableCellCopyButton\n text={formStoreRecord.calendarEvent?.name}\n />\n )}\n </>\n ),\n },\n {\n id: 'CALENDAR_EVENT_DATE_TIME',\n header: 'Calendar Booking - Event Date Time',\n meta: {\n sorting: {\n property: 'calendarEvent.dateTime',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.dateTime',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.calendarEvent?.dateTime as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n dateTime: newValue,\n },\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.calendarEvent?.dateTime) {\n return null\n }\n const calendarEventDate = new Date(\n formStoreRecord.calendarEvent?.dateTime,\n )\n if (!isValid(calendarEventDate)) {\n return null\n }\n const text = format(\n calendarEventDate,\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'CALENDAR_EVENT_CANCELLED_REASON',\n header: 'Calendar Booking - Cancelled Reason',\n meta: {\n sorting: {\n property: 'calendarEvent.cancelledReason',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.cancelledReason',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.calendarEvent?.cancelledReason as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n cancelledReason: newValue,\n },\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.calendarEvent?.cancelledReason}\n {formStoreRecord.calendarEvent?.cancelledReason && (\n <TableCellCopyButton\n text={formStoreRecord.calendarEvent?.cancelledReason}\n />\n )}\n </>\n ),\n },\n ],\n })\n }, [\n formElements,\n formsAppOptions,\n getFormsAppLabel,\n onChangeParameters,\n parameters,\n submissionIdValidationMessage,\n ])\n\n const [initialState] = React.useState<FormTableState | undefined>(() => {\n const text = localStorage.getItem(localStorageKey(form.id))\n return getVersionedFormTableState(\n text\n ? JSON.parse(text)\n : {\n formId: form.id,\n },\n )\n })\n\n const transformedSorting = React.useMemo(() => {\n return parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n )\n }, [parameters.sorting, columns])\n\n const onSortingChange: OnChangeFn<SortingState> = React.useCallback(\n (updaterOrValue) => {\n const sortingState =\n typeof updaterOrValue === 'function'\n ? updaterOrValue(\n // transform the parameters sorting state to the tanstack sorting state\n parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n ) ?? [],\n )\n : updaterOrValue\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n // transform the tanstack sorting state to the parameters sorting state\n sorting: sortingState.reduce<\n NonNullable<formStoreService.FormStoreParameters['sorting']>\n >((memo, { id, desc }) => {\n const column = columns.find((column) => column.id === id)\n if (column?.meta?.sorting?.property) {\n memo.push({\n property: column.meta.sorting.property,\n direction: desc ? 'descending' : 'ascending',\n })\n }\n return memo\n }, []),\n }),\n false,\n )\n },\n [onChangeParameters, parameters.sorting, columns],\n )\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>(initialState?.columnVisibility || {})\n\n // eslint-disable-next-line react-hooks/incompatible-library\n const table = useReactTable({\n meta: {\n defaultHiddenColumnsVersion: initialState?.defaultHiddenColumnsVersion,\n formId: form.id,\n },\n columns,\n columnResizeMode: 'onChange',\n data: formStoreRecords,\n defaultColumn,\n state: {\n sorting: transformedSorting,\n columnVisibility,\n },\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange,\n manualFiltering: true,\n initialState,\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const state = table.getState()\n\n React.useEffect(() => {\n if (table.options.meta?.formId !== form.id) {\n // If the form id changes, do not save the state from the previous form over the that of the new form\n return\n }\n if (!state.columnSizing.isResizingColumn) {\n const storageKey = localStorageKey(form.id)\n const augmentedState = {\n ...state,\n hiddenColumns: Object.entries(state.columnVisibility)\n .filter(([, isVisible]) => !isVisible)\n .map(([column]) => column),\n formId: table.options.meta?.formId,\n }\n localStorage.setItem(storageKey, JSON.stringify(augmentedState))\n }\n }, [form.id, state, table.options.meta?.formId])\n\n return {\n ...table,\n form,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n } as const\n}\n"]}
1
+ {"version":3,"file":"useFormStoreTable.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/useFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { isValid } from 'date-fns'\nimport { formStoreService, localisationService } from '../../../apps'\nimport {\n useReactTable,\n getCoreRowModel,\n OnChangeFn,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport { format } from 'date-fns'\nimport generateColumns from './generateColumns'\nimport ActionedByTableCell from './ActionedByTableCell'\nimport TableCellCopyButton from './TableCellCopyButton'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport { FormStoreElementsContext } from '../OneBlinkFormStoreProvider'\nimport getVersionedFormTableState, { FormTableState } from './getVersionedState'\n\nconst defaultColumn = {\n minSize: 150,\n size: 225,\n}\n\nconst localStorageKey = (formId: number) =>\n `REACT_TABLE_STATE_FORM_STORE_${formId}`\n\nexport default function useFormStoreTable({\n form,\n formStoreRecords,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n getFormsAppLabel,\n}: {\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n form: FormTypes.Form\n parameters: formStoreService.FormStoreParameters\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n onRefresh: () => void\n submissionIdValidationMessage?: string\n getFormsAppLabel?: (formsAppId: number | null) => string\n}) {\n // Resets parameters on form change\n React.useEffect(() => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: undefined,\n sorting: [\n {\n property: 'dateTimeSubmitted',\n direction: 'descending',\n },\n ],\n }),\n false,\n )\n }, [form, onChangeParameters])\n\n const formElements = React.useContext(FormStoreElementsContext)\n\n const formsAppOptions = React.useMemo(() => {\n if (!getFormsAppLabel) return undefined\n return [\n ...form.formsAppIds.map((id) => ({\n value: id,\n label: getFormsAppLabel(id),\n })),\n { value: null, label: getFormsAppLabel(null) },\n ]\n }, [form.formsAppIds, getFormsAppLabel])\n\n const columns = React.useMemo(() => {\n return generateColumns<SubmissionTypes.FormStoreRecord>({\n sorting: parameters.sorting,\n filters: parameters.filters,\n unwindRepeatableSets: parameters.unwindRepeatableSets,\n formElements,\n parentElementNames: [],\n onChangeParameters,\n allowCopy: true,\n initialColumns: [\n {\n id: 'COMPLETED_AT',\n header: 'Completion Date Time',\n meta: {\n sorting: {\n property: 'dateTimeCompleted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeCompleted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeCompleted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeCompleted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.dateTimeCompleted) {\n return null\n }\n const text = format(\n new Date(formStoreRecord.dateTimeCompleted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_AT',\n header: 'Submission Date Time',\n meta: {\n sorting: {\n property: 'dateTimeSubmitted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeSubmitted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeSubmitted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeSubmitted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const text = format(\n new Date(formStoreRecord.dateTimeSubmitted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_BY',\n header: 'Submitted By',\n meta: {\n sorting: undefined,\n filter: {\n type: 'TEXT',\n value: parameters.filters?.submittedBy as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submittedBy: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <ActionedByTableCell\n userProfile={formStoreRecord.user}\n developerKey={formStoreRecord.key}\n variant=\"outlined\"\n />\n ),\n },\n {\n id: 'SUBMISSION_ID',\n header: 'Submission Id',\n meta: {\n sorting: undefined,\n filter: {\n type: 'SUBMISSION_ID',\n value: parameters.filters?.submissionId as\n | { $eq: string }\n | undefined,\n validationMessage: submissionIdValidationMessage,\n isInvalid: !!submissionIdValidationMessage,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submissionId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.submissionId}\n <TableCellCopyButton text={formStoreRecord.submissionId} />\n </>\n ),\n },\n {\n id: 'EXTERNAL_ID',\n header: 'External Id',\n meta: {\n sorting: {\n property: 'externalId',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'externalId',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.externalId as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n externalId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.externalId}\n {formStoreRecord.externalId && (\n <TableCellCopyButton text={formStoreRecord.externalId} />\n )}\n </>\n ),\n },\n ...(formsAppOptions && getFormsAppLabel\n ? [\n {\n id: 'FORMS_APP_ID',\n header: 'App',\n meta: {\n sorting: undefined,\n filter: {\n type: 'FORMS_APP_ID' as const,\n options: formsAppOptions,\n value: parameters.filters?.formsAppId as\n | { $in: (number | null)[] }\n | undefined,\n onChange: (\n newValue?: formStoreService.FormStoreFilter<unknown>,\n shouldDebounce?: boolean,\n ) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n formsAppId: newValue as\n | { $in: (number | null)[] }\n | undefined,\n },\n }),\n shouldDebounce ?? false,\n )\n },\n },\n },\n cell: ({\n row: { original: formStoreRecord },\n }: {\n row: { original: SubmissionTypes.FormStoreRecord }\n }) => {\n const text = getFormsAppLabel(\n formStoreRecord.formsAppId ?? null,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n ]\n : []),\n {\n id: 'TASK_GROUP',\n header: 'Task Group',\n meta: {\n sorting: {\n property: 'taskGroup.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroup.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroup?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroup: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroup?.name}\n {formStoreRecord.taskGroup?.name && (\n <TableCellCopyButton text={formStoreRecord.taskGroup?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP_INSTANCE',\n header: 'Task Group Instance',\n meta: {\n sorting: {\n property: 'taskGroupInstance.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroupInstance.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroupInstance?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroupInstance: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroupInstance?.label}\n {formStoreRecord.taskGroupInstance?.label && (\n <TableCellCopyButton\n text={formStoreRecord.taskGroupInstance?.label}\n />\n )}\n </>\n ),\n },\n {\n id: 'TASK',\n header: 'Task',\n meta: {\n sorting: {\n property: 'task.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'task.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.task?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n task: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.task?.name}\n {formStoreRecord.task?.name && (\n <TableCellCopyButton text={formStoreRecord.task?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_ACTION',\n header: 'Task Action',\n meta: {\n sorting: {\n property: 'taskAction.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskAction.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskAction?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskAction: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskAction?.label}\n {formStoreRecord.taskAction?.label && (\n <TableCellCopyButton text={formStoreRecord.taskAction?.label} />\n )}\n </>\n ),\n },\n {\n id: 'CALENDAR_EVENT_TITLE',\n header: 'Calendar Booking - Event Title',\n meta: {\n sorting: {\n property: 'calendarEvent.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.calendarEvent?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n name: newValue,\n },\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.calendarEvent?.name}\n {formStoreRecord.calendarEvent?.name && (\n <TableCellCopyButton\n text={formStoreRecord.calendarEvent?.name}\n />\n )}\n </>\n ),\n },\n {\n id: 'CALENDAR_EVENT_CALENDAR_NAME',\n header: 'Calendar Booking - Calendar Name',\n meta: {\n sorting: {\n property: 'calendarEvent.calendarName',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.calendarName',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.calendarEvent?.calendarName as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n calendarName: newValue,\n },\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.calendarEvent?.calendarName}\n {formStoreRecord.calendarEvent?.calendarName && (\n <TableCellCopyButton\n text={formStoreRecord.calendarEvent?.calendarName}\n />\n )}\n </>\n ),\n },\n {\n id: 'CALENDAR_EVENT_DATE_TIME',\n header: 'Calendar Booking - Event Date Time',\n meta: {\n sorting: {\n property: 'calendarEvent.dateTime',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.dateTime',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.calendarEvent?.dateTime as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n dateTime: newValue,\n },\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.calendarEvent?.dateTime) {\n return null\n }\n const calendarEventDate = new Date(\n formStoreRecord.calendarEvent?.dateTime,\n )\n if (!isValid(calendarEventDate)) {\n return null\n }\n const text = format(\n calendarEventDate,\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'CALENDAR_EVENT_CANCELLED_REASON',\n header: 'Calendar Booking - Cancelled Reason',\n meta: {\n sorting: {\n property: 'calendarEvent.cancelledReason',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'calendarEvent.cancelledReason',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.calendarEvent?.cancelledReason as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n calendarEvent: {\n ...currentParameters.filters?.calendarEvent,\n cancelledReason: newValue,\n },\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.calendarEvent?.cancelledReason}\n {formStoreRecord.calendarEvent?.cancelledReason && (\n <TableCellCopyButton\n text={formStoreRecord.calendarEvent?.cancelledReason}\n />\n )}\n </>\n ),\n },\n ],\n })\n }, [\n formElements,\n formsAppOptions,\n getFormsAppLabel,\n onChangeParameters,\n parameters,\n submissionIdValidationMessage,\n ])\n\n const [initialState] = React.useState<FormTableState | undefined>(() => {\n const text = localStorage.getItem(localStorageKey(form.id))\n return getVersionedFormTableState(\n text\n ? JSON.parse(text)\n : {\n formId: form.id,\n },\n )\n })\n\n const transformedSorting = React.useMemo(() => {\n return parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n )\n }, [parameters.sorting, columns])\n\n const onSortingChange: OnChangeFn<SortingState> = React.useCallback(\n (updaterOrValue) => {\n const sortingState =\n typeof updaterOrValue === 'function'\n ? updaterOrValue(\n // transform the parameters sorting state to the tanstack sorting state\n parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n ) ?? [],\n )\n : updaterOrValue\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n // transform the tanstack sorting state to the parameters sorting state\n sorting: sortingState.reduce<\n NonNullable<formStoreService.FormStoreParameters['sorting']>\n >((memo, { id, desc }) => {\n const column = columns.find((column) => column.id === id)\n if (column?.meta?.sorting?.property) {\n memo.push({\n property: column.meta.sorting.property,\n direction: desc ? 'descending' : 'ascending',\n })\n }\n return memo\n }, []),\n }),\n false,\n )\n },\n [onChangeParameters, parameters.sorting, columns],\n )\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>(initialState?.columnVisibility || {})\n\n // eslint-disable-next-line react-hooks/incompatible-library\n const table = useReactTable({\n meta: {\n defaultHiddenColumnsVersion: initialState?.defaultHiddenColumnsVersion,\n formId: form.id,\n },\n columns,\n columnResizeMode: 'onChange',\n data: formStoreRecords,\n defaultColumn,\n state: {\n sorting: transformedSorting,\n columnVisibility,\n },\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange,\n manualFiltering: true,\n initialState,\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const state = table.getState()\n\n React.useEffect(() => {\n if (table.options.meta?.formId !== form.id) {\n // If the form id changes, do not save the state from the previous form over the that of the new form\n return\n }\n if (!state.columnSizing.isResizingColumn) {\n const storageKey = localStorageKey(form.id)\n const augmentedState = {\n ...state,\n hiddenColumns: Object.entries(state.columnVisibility)\n .filter(([, isVisible]) => !isVisible)\n .map(([column]) => column),\n formId: table.options.meta?.formId,\n }\n localStorage.setItem(storageKey, JSON.stringify(augmentedState))\n }\n }, [form.id, state, table.options.meta?.formId])\n\n return {\n ...table,\n form,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n } as const\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oneblink/apps-react",
3
3
  "description": "Helper functions for OneBlink apps in ReactJS.",
4
- "version": "11.1.1-beta.2",
4
+ "version": "11.1.2-beta.1",
5
5
  "author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/oneblink/apps-react/issues"