microsoft-graph 2.2.2 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/errors/NotImplementedError.d.ts +4 -0
- package/dist/errors/NotImplementedError.d.ts.map +1 -0
- package/dist/errors/NotImplementedError.js +6 -0
- package/dist/graphApi.js +12 -6
- package/dist/models/Address.d.ts +8 -0
- package/dist/models/Address.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/AccessToken.js → models/Address.js} +0 -0
- package/dist/models/Box.d.ts +5 -0
- package/dist/models/Box.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveId.js → models/Box.js} +0 -0
- package/dist/models/Cell.d.ts +4 -0
- package/dist/models/Cell.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveItemId.js → models/Cell.js} +0 -0
- package/dist/models/Column.d.ts +2 -0
- package/dist/models/Column.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveItemPath.js → models/Column.js} +0 -0
- package/dist/models/ColumnIndex.d.ts +4 -0
- package/dist/models/ColumnIndex.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveItemRef.js → models/ColumnIndex.js} +0 -0
- package/dist/models/RangeAddress.d.ts +7 -0
- package/dist/models/RangeAddress.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveRef.js → models/RangeAddress.js} +0 -0
- package/dist/models/Row.d.ts +2 -0
- package/dist/models/Row.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/GraphOperation.js → models/Row.js} +0 -0
- package/dist/models/RowIndex.d.ts +4 -0
- package/dist/models/RowIndex.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/GraphOptions.js → models/RowIndex.js} +0 -0
- package/dist/models/WorkbookRangeRef.d.ts +2 -2
- package/dist/models/WorkbookRangeRef.d.ts.map +1 -1
- package/dist/operations/workbookRange/clearWorkbookRange.test.js +13 -21
- package/dist/operations/workbookRange/deleteWorkbookRange.test.js +13 -17
- package/dist/operations/workbookRange/getWorkbookRangeFormat.d.ts +6 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.js +21 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.test.d.ts +2 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.test.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.test.js +33 -0
- package/dist/operations/workbookRange/getWorkbookUsedRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/getWorkbookUsedRange.js +4 -0
- package/dist/operations/workbookRange/getWorkbookUsedRange.test.js +6 -12
- package/dist/operations/workbookRange/getWorkbookVisibleRange.test.js +6 -12
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.d.ts +6 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.js +21 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.d.ts +2 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.js +32 -0
- package/dist/operations/workbookRange/insertWorkbookCells.d.ts +2 -2
- package/dist/operations/workbookRange/insertWorkbookCells.d.ts.map +1 -1
- package/dist/operations/workbookRange/insertWorkbookCells.js +4 -0
- package/dist/operations/workbookRange/insertWorkbookCells.test.js +1 -2
- package/dist/operations/workbookRange/updateWorkbookRange.test.js +7 -13
- package/dist/operations/workbookTable/createWorkbookTable.test.js +3 -3
- package/dist/operations/workbookTable/getWorkbookTable.test.js +3 -3
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.js +4 -0
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.test.js +3 -3
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.js +4 -0
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.test.js +3 -3
- package/dist/operations/workbookTable/listWorkbookTableColumns.test.js +3 -3
- package/dist/operations/workbookTable/listWorkbookTableRows.test.js +3 -3
- package/dist/operations/workbookTable/listWorkbookTables.test.js +4 -4
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.js +1 -0
- package/dist/operations/workbookWorksheet/updateWorkbookWorksheet.test.js +6 -3
- package/dist/services/address.d.ts +12 -1
- package/dist/services/address.d.ts.map +1 -1
- package/dist/services/address.js +134 -2
- package/dist/services/address.test.d.ts +2 -0
- package/dist/services/address.test.d.ts.map +1 -0
- package/dist/services/address.test.js +82 -0
- package/dist/services/httpStatus.d.ts +1 -0
- package/dist/services/httpStatus.d.ts.map +1 -1
- package/dist/services/httpStatus.js +3 -0
- package/dist/services/workbookRange.d.ts +2 -2
- package/dist/services/workbookRange.d.ts.map +1 -1
- package/dist/services/workbookRangeAddress.d.ts +2 -2
- package/dist/services/workbookRangeAddress.d.ts.map +1 -1
- package/dist/services/workbookWorksheet.d.ts +1 -0
- package/dist/services/workbookWorksheet.d.ts.map +1 -1
- package/dist/services/workbookWorksheet.js +3 -0
- package/dist/tasks/getRangeLastUsedCell.d.ts.map +1 -1
- package/dist/tasks/getRangeLastUsedCell.js +5 -5
- package/dist/tasks/getWorkbookTableVisibleBody.test.js +3 -0
- package/dist/tasks/setColumnHidden.d.ts +2 -1
- package/dist/tasks/setColumnHidden.d.ts.map +1 -1
- package/dist/tasks/setColumnHidden.js +1 -1
- package/dist/tasks/setRowHidden.d.ts +2 -1
- package/dist/tasks/setRowHidden.d.ts.map +1 -1
- package/dist/tasks/setRowHidden.js +1 -1
- package/dist/tasks/setWorkbookTableBodyVisibleRows.d.ts +4 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.d.ts.map +1 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.js +39 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.test.d.ts +2 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.test.d.ts.map +1 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.test.js +83 -0
- package/package.json +49 -521
- package/vitest.config.ts +2 -2
- package/dist/docs/getItem.js +0 -11
- package/dist/microsoftGraph/errors/BadTemplateError.js +0 -6
- package/dist/microsoftGraph/errors/InvalidArgumentError.js +0 -6
- package/dist/microsoftGraph/errors/RequestFailedError.js +0 -6
- package/dist/microsoftGraph/graphApi.js +0 -49
- package/dist/microsoftGraph/helpers/openSite.js +0 -12
- package/dist/microsoftGraph/helpers/openWorkbook.js +0 -23
- package/dist/microsoftGraph/helpers/openWorksheet.js +0 -7
- package/dist/microsoftGraph/models/HostName.js +0 -1
- package/dist/microsoftGraph/models/Scope.js +0 -1
- package/dist/microsoftGraph/models/SiteId.js +0 -1
- package/dist/microsoftGraph/models/SiteName.js +0 -1
- package/dist/microsoftGraph/models/SiteRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookNamedRangeRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRangeAddress.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRangeName.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRangeRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookSessionId.js +0 -1
- package/dist/microsoftGraph/models/WorkbookWorksheetId.js +0 -1
- package/dist/microsoftGraph/models/WorkbookWorksheetRef.js +0 -1
- package/dist/microsoftGraph/models/regenerate-dtos.js +0 -68
- package/dist/microsoftGraph/operations/drive/createFolder.js +0 -17
- package/dist/microsoftGraph/operations/drive/listDrives.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/copyDriveItem.js +0 -20
- package/dist/microsoftGraph/operations/driveItem/deleteDriveItem.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/getDriveItem.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/getDriveItemByPath.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/listDriveItems.js +0 -11
- package/dist/microsoftGraph/operations/site/getSite.js +0 -11
- package/dist/microsoftGraph/operations/site/getSiteByName.js +0 -11
- package/dist/microsoftGraph/operations/site/listSites.js +0 -11
- package/dist/microsoftGraph/operations/site/searchSites.js +0 -11
- package/dist/microsoftGraph/operations/workbook/createWorkbook.js +0 -14
- package/dist/microsoftGraph/operations/workbook/deleteWorkbook.js +0 -5
- package/dist/microsoftGraph/operations/workbookRange/clearWorkbookRange.js +0 -16
- package/dist/microsoftGraph/operations/workbookRange/deleteWorkbookRange.js +0 -16
- package/dist/microsoftGraph/operations/workbookRange/getWorkbookNamedRange.js +0 -13
- package/dist/microsoftGraph/operations/workbookRange/getWorkbookRange.js +0 -13
- package/dist/microsoftGraph/operations/workbookRange/getWorkbookUsedRange.js +0 -13
- package/dist/microsoftGraph/operations/workbookRange/insertWorkbookCells.js +0 -16
- package/dist/microsoftGraph/operations/workbookRange/updateWorkbookNamedRange.js +0 -14
- package/dist/microsoftGraph/operations/workbookRange/updateWorkbookRange.js +0 -14
- package/dist/microsoftGraph/operations/workbookSession/closeWorkbookSession.js +0 -17
- package/dist/microsoftGraph/operations/workbookSession/createWorkbookSession.js +0 -15
- package/dist/microsoftGraph/operations/workbookSession/refreshWorkbookSession.js +0 -18
- package/dist/microsoftGraph/operations/workbookWorksheet/createWorkbookWorksheet.js +0 -16
- package/dist/microsoftGraph/operations/workbookWorksheet/deleteWorkbookWorksheet.js +0 -13
- package/dist/microsoftGraph/operations/workbookWorksheet/listWorkbookWorksheets.js +0 -13
- package/dist/microsoftGraph/operations/workbookWorksheet/updateWorkbookWorksheet.js +0 -14
- package/dist/microsoftGraph/services/accessToken.js +0 -12
- package/dist/microsoftGraph/services/configuration.js +0 -20
- package/dist/microsoftGraph/services/sharepointUrl.js +0 -23
- package/dist/microsoftGraph/services/stringCaseConversion.js +0 -3
- package/dist/microsoftGraph/services/templatedPaths.js +0 -19
- package/dist/models/WorkbookRangeAddress.d.ts +0 -10
- package/dist/models/WorkbookRangeAddress.d.ts.map +0 -1
- package/dist/models/WorkbookRangeAddress.js +0 -1
- package/dist/operations/driveItem/copyDriveItem.d.ts +0 -5
- package/dist/operations/driveItem/copyDriveItem.d.ts.map +0 -1
- package/dist/operations/driveItem/copyDriveItem.js +0 -21
- package/dist/operations/driveItem/copyDriveItem.test.d.ts +0 -2
- package/dist/operations/driveItem/copyDriveItem.test.d.ts.map +0 -1
- package/dist/operations/driveItem/copyDriveItem.test.js +0 -28
- package/dist/operations/user/userSendMail.test.d.ts +0 -2
- package/dist/operations/user/userSendMail.test.d.ts.map +0 -1
- package/dist/operations/user/userSendMail.test.js +0 -17
- package/dist/services/configuration.d.ts +0 -7
- package/dist/services/configuration.d.ts.map +0 -1
- package/dist/services/configuration.js +0 -20
- package/dist/tasks/endSessionAndDeleteWorkbook.d.ts +0 -3
- package/dist/tasks/endSessionAndDeleteWorkbook.d.ts.map +0 -1
- package/dist/tasks/endSessionAndDeleteWorkbook.js +0 -6
- package/dist/tasks/getWorkbookWorksheetRefByName.d.ts +0 -5
- package/dist/tasks/getWorkbookWorksheetRefByName.d.ts.map +0 -1
- package/dist/tasks/getWorkbookWorksheetRefByName.js +0 -10
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbookRangeAddress.d.ts","sourceRoot":"","sources":["../../src/services/workbookRangeAddress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"workbookRangeAddress.d.ts","sourceRoot":"","sources":["../../src/services/workbookRangeAddress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAItF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY,CAMxF"}
|
|
@@ -3,4 +3,5 @@ import type { WorkbookWorksheetId } from "../models/WorkbookWorksheetId.ts";
|
|
|
3
3
|
import type { WorkbookWorksheetRef } from "../models/WorkbookWorksheetRef.ts";
|
|
4
4
|
export declare const defaultWorkbookWorksheetId: WorkbookWorksheetId;
|
|
5
5
|
export declare function createWorkbookWorksheetRef(workbookRef: WorkbookRef, worksheetId: WorkbookWorksheetId | undefined): WorkbookWorksheetRef;
|
|
6
|
+
export declare function createDefaultWorkbookWorksheetRef(workbookRef: WorkbookRef): WorkbookWorksheetRef;
|
|
6
7
|
//# sourceMappingURL=workbookWorksheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbookWorksheet.d.ts","sourceRoot":"","sources":["../../src/services/workbookWorksheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,eAAO,MAAM,0BAA0B,EAA+C,mBAAmB,CAAC;AAE1G,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,GAAG,SAAS,GAAG,oBAAoB,CAavI"}
|
|
1
|
+
{"version":3,"file":"workbookWorksheet.d.ts","sourceRoot":"","sources":["../../src/services/workbookWorksheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,eAAO,MAAM,0BAA0B,EAA+C,mBAAmB,CAAC;AAE1G,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,GAAG,SAAS,GAAG,oBAAoB,CAavI;AAED,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,CAEhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRangeLastUsedCell.d.ts","sourceRoot":"","sources":["../../src/tasks/getRangeLastUsedCell.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getRangeLastUsedCell.d.ts","sourceRoot":"","sources":["../../src/tasks/getRangeLastUsedCell.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE,0EAA0E;AAC1E,wBAA8B,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAyClM"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ProtocolError from "../errors/ProtocolError.js";
|
|
2
|
-
import getWorkbookWorksheetRange from "../operations/
|
|
3
|
-
import {
|
|
2
|
+
import getWorkbookWorksheetRange from "../operations/workbookRange/getWorkbookWorksheetRange.js";
|
|
3
|
+
import { indexesToCellAddress } from "../services/address.js";
|
|
4
4
|
/** Get the last used cell (ie, the most-lower-right) in a given range. */
|
|
5
5
|
export default async function getRangeLastUsedCell(rangeRef) {
|
|
6
6
|
// TODO: Consider adding chunking if the range is too large
|
|
@@ -14,18 +14,18 @@ export default async function getRangeLastUsedCell(rangeRef) {
|
|
|
14
14
|
if (values === undefined) {
|
|
15
15
|
throw new ProtocolError("Range values missing");
|
|
16
16
|
}
|
|
17
|
-
for (let rowIndex = rowCount - 1; rowIndex >= 0; rowIndex--) {
|
|
17
|
+
for (let rowIndex = (rowCount - 1); rowIndex >= 0; rowIndex--) {
|
|
18
18
|
const row = values[rowIndex];
|
|
19
19
|
if (row === undefined) {
|
|
20
20
|
throw new ProtocolError("Row missing");
|
|
21
21
|
}
|
|
22
|
-
for (let columnIndex = columnCount - 1; columnIndex >= 0; columnIndex--) {
|
|
22
|
+
for (let columnIndex = (columnCount - 1); columnIndex >= 0; columnIndex--) {
|
|
23
23
|
const cell = row[columnIndex];
|
|
24
24
|
if (cell === undefined) {
|
|
25
25
|
throw new ProtocolError("Cell missing");
|
|
26
26
|
}
|
|
27
27
|
if (cell !== null && cell !== "") {
|
|
28
|
-
const address =
|
|
28
|
+
const address = indexesToCellAddress(rowIndex, columnIndex);
|
|
29
29
|
return {
|
|
30
30
|
value: cell,
|
|
31
31
|
address,
|
|
@@ -5,6 +5,7 @@ import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange
|
|
|
5
5
|
import createWorkbookTable from "../operations/workbookTable/createWorkbookTable.js";
|
|
6
6
|
import { getDefaultDriveRef } from "../services/drive.js";
|
|
7
7
|
import { driveItemPath } from "../services/driveItem.js";
|
|
8
|
+
import { sleep } from "../services/sleep.js";
|
|
8
9
|
import { generateTempFileName } from "../services/temporaryFiles.js";
|
|
9
10
|
import { createWorkbookRangeRef } from "../services/workbookRange.js";
|
|
10
11
|
import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../services/workbookWorksheet.js";
|
|
@@ -41,6 +42,7 @@ describe("getWorkbookTableVisibleBody", () => {
|
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
44
|
it("omits hidden rows from the visible body range of a table", async () => {
|
|
45
|
+
// TODO: This test is flappy and I haven't worked out why yet
|
|
44
46
|
const workbookName = generateTempFileName("xlsx");
|
|
45
47
|
const workbookPath = driveItemPath(workbookName);
|
|
46
48
|
const driveRef = getDefaultDriveRef();
|
|
@@ -60,6 +62,7 @@ describe("getWorkbookTableVisibleBody", () => {
|
|
|
60
62
|
const hiddenRange = createWorkbookRangeRef(worksheetRef, "2:2");
|
|
61
63
|
await updateWorkbookRange(hiddenRange, { rowHidden: true });
|
|
62
64
|
await calculateWorkbook(workbook);
|
|
65
|
+
await sleep(2000);
|
|
63
66
|
const visibleBodyRange = await getWorkbookTableVisibleBody(table);
|
|
64
67
|
expect(visibleBodyRange.values).toEqual([
|
|
65
68
|
["Value5", "Value6", "Value7", "Value8"],
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { WorkbookRange } from "@microsoft/microsoft-graph-types";
|
|
1
2
|
import type { WorkbookRangeRef } from "../models/WorkbookRangeRef.ts";
|
|
2
3
|
/** Hide or show one or more columns. */
|
|
3
|
-
export default function setColumnHidden(rangeRef: WorkbookRangeRef, hidden: boolean): Promise<
|
|
4
|
+
export default function setColumnHidden(rangeRef: WorkbookRangeRef, hidden: boolean): Promise<WorkbookRange & WorkbookRangeRef>;
|
|
4
5
|
//# sourceMappingURL=setColumnHidden.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setColumnHidden.d.ts","sourceRoot":"","sources":["../../src/tasks/setColumnHidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,wCAAwC;AACxC,wBAA8B,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"setColumnHidden.d.ts","sourceRoot":"","sources":["../../src/tasks/setColumnHidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,wCAAwC;AACxC,wBAA8B,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAIpI"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.js";
|
|
2
2
|
/** Hide or show one or more columns. */
|
|
3
3
|
export default async function setColumnHidden(rangeRef, hidden) {
|
|
4
|
-
await updateWorkbookRange(rangeRef, {
|
|
4
|
+
return await updateWorkbookRange(rangeRef, {
|
|
5
5
|
columnHidden: hidden,
|
|
6
6
|
});
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { WorkbookRange } from "@microsoft/microsoft-graph-types";
|
|
1
2
|
import type { WorkbookRangeRef } from "../models/WorkbookRangeRef.ts";
|
|
2
3
|
/** Hide or show one or more rows. */
|
|
3
|
-
export default function setRowHidden(rangeRef: WorkbookRangeRef, hidden: boolean): Promise<
|
|
4
|
+
export default function setRowHidden(rangeRef: WorkbookRangeRef, hidden: boolean): Promise<WorkbookRange & WorkbookRangeRef>;
|
|
4
5
|
//# sourceMappingURL=setRowHidden.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setRowHidden.d.ts","sourceRoot":"","sources":["../../src/tasks/setRowHidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,qCAAqC;AACrC,wBAA8B,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"setRowHidden.d.ts","sourceRoot":"","sources":["../../src/tasks/setRowHidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,qCAAqC;AACrC,wBAA8B,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAIjI"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.js";
|
|
2
2
|
/** Hide or show one or more rows. */
|
|
3
3
|
export default async function setRowHidden(rangeRef, hidden) {
|
|
4
|
-
await updateWorkbookRange(rangeRef, {
|
|
4
|
+
return await updateWorkbookRange(rangeRef, {
|
|
5
5
|
rowHidden: hidden,
|
|
6
6
|
});
|
|
7
7
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { WorkbookTableRef } from "../models/WorkbookTableRef.ts";
|
|
2
|
+
/** Overwrite visible rows of a workbook table with the provided 2D array of values, inserting new rows at the end if needed. THIS IS SLOW as it must check each rows visibility. */
|
|
3
|
+
export declare function setWorkbookTableBodyVisibleRows(tableRef: WorkbookTableRef, values: string[][]): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=setWorkbookTableBodyVisibleRows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setWorkbookTableBodyVisibleRows.d.ts","sourceRoot":"","sources":["../../src/tasks/setWorkbookTableBodyVisibleRows.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQtE,oLAAoL;AACpL,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCnH"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import InvalidArgumentError from "../errors/InvalidArgumentError.js";
|
|
2
|
+
import NeverError from "../errors/NeverError.js";
|
|
3
|
+
import getWorkbookWorksheetRange from "../operations/workbookRange/getWorkbookWorksheetRange.js";
|
|
4
|
+
import insertWorkbookCells from "../operations/workbookRange/insertWorkbookCells.js";
|
|
5
|
+
import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.js";
|
|
6
|
+
import getWorkbookTableBodyRange from "../operations/workbookTable/getWorkbookTableBodyRange.js";
|
|
7
|
+
import { cellAddressToIndexes, getAddressFirstCell, getAddressLastCell, indexesToBoxRangeAddress } from "../services/address.js";
|
|
8
|
+
import { createWorkbookRangeRef } from "../services/workbookRange.js";
|
|
9
|
+
/** Overwrite visible rows of a workbook table with the provided 2D array of values, inserting new rows at the end if needed. THIS IS SLOW as it must check each rows visibility. */
|
|
10
|
+
export async function setWorkbookTableBodyVisibleRows(tableRef, values) {
|
|
11
|
+
const visibleRange = await getWorkbookTableBodyRange(tableRef);
|
|
12
|
+
if (values.some((row) => row.length !== visibleRange.columnCount)) {
|
|
13
|
+
throw new InvalidArgumentError(`Invalid number of columns in input values. Expected all rows to have ${visibleRange.columnCount}.`);
|
|
14
|
+
}
|
|
15
|
+
const [startRowIndex, startColumnIndex] = cellAddressToIndexes(getAddressFirstCell(visibleRange.address));
|
|
16
|
+
const [endRowIndex, endColumnIndex] = cellAddressToIndexes(getAddressLastCell(visibleRange.address));
|
|
17
|
+
if (endColumnIndex - startColumnIndex + 1 !== visibleRange.columnCount) {
|
|
18
|
+
throw new NeverError("Insane address");
|
|
19
|
+
}
|
|
20
|
+
let currentRowIndex = startRowIndex;
|
|
21
|
+
for (const srcRowValues of values) {
|
|
22
|
+
let dstRowRef;
|
|
23
|
+
let dstRow;
|
|
24
|
+
let dstRowHidden = false;
|
|
25
|
+
do {
|
|
26
|
+
dstRowRef = createWorkbookRangeRef(tableRef, indexesToBoxRangeAddress(currentRowIndex, startColumnIndex, currentRowIndex, endColumnIndex));
|
|
27
|
+
if (currentRowIndex > endRowIndex) {
|
|
28
|
+
await insertWorkbookCells(dstRowRef, dstRowRef.address, "Down");
|
|
29
|
+
dstRowHidden = false;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
dstRow = await getWorkbookWorksheetRange(dstRowRef);
|
|
33
|
+
dstRowHidden = dstRow.rowHidden ?? false;
|
|
34
|
+
}
|
|
35
|
+
currentRowIndex++;
|
|
36
|
+
} while (dstRowHidden);
|
|
37
|
+
await updateWorkbookRange(dstRowRef, { values: [srcRowValues] });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setWorkbookTableBodyVisibleRows.test.d.ts","sourceRoot":"","sources":["../../src/tasks/setWorkbookTableBodyVisibleRows.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import calculateWorkbook from "../operations/workbook/calculateWorkbook.js";
|
|
3
|
+
import createWorkbook from "../operations/workbook/createWorkbook.js";
|
|
4
|
+
import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.js";
|
|
5
|
+
import createWorkbookTable from "../operations/workbookTable/createWorkbookTable.js";
|
|
6
|
+
import { getDefaultDriveRef } from "../services/drive.js";
|
|
7
|
+
import { driveItemPath } from "../services/driveItem.js";
|
|
8
|
+
import { generateTempFileName } from "../services/temporaryFiles.js";
|
|
9
|
+
import { createWorkbookRangeRef } from "../services/workbookRange.js";
|
|
10
|
+
import { createDefaultWorkbookWorksheetRef } from "../services/workbookWorksheet.js";
|
|
11
|
+
import deleteDriveItemWithRetry from "./deleteDriveItemWithRetry.js";
|
|
12
|
+
import { getWorkbookTableVisibleBody } from "./getWorkbookTableVisibleBody.js";
|
|
13
|
+
import setRowHidden from "./setRowHidden.js";
|
|
14
|
+
import { setWorkbookTableBodyVisibleRows } from "./setWorkbookTableBodyVisibleRows.js";
|
|
15
|
+
describe("setWorkbookTableBodyVisibleRows", () => {
|
|
16
|
+
it("writes input rows to visible rows of a table", { timeout: 30000 }, async () => {
|
|
17
|
+
const workbookName = generateTempFileName("xlsx");
|
|
18
|
+
const workbookPath = driveItemPath(workbookName);
|
|
19
|
+
const driveRef = getDefaultDriveRef();
|
|
20
|
+
const workbook = await createWorkbook(driveRef, workbookPath);
|
|
21
|
+
try {
|
|
22
|
+
const worksheetRef = createDefaultWorkbookWorksheetRef(workbook);
|
|
23
|
+
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:D4");
|
|
24
|
+
const table = await createWorkbookTable(rangeRef, true);
|
|
25
|
+
await updateWorkbookRange(rangeRef, {
|
|
26
|
+
values: [
|
|
27
|
+
["Header1", "Header2", "Header3", "Header4"],
|
|
28
|
+
["OldValue1", "OldValue2", "OldValue3", "OldValue4"],
|
|
29
|
+
["OldValue5", "OldValue6", "OldValue7", "OldValue8"], // <== Will be hidden and therefore preserved
|
|
30
|
+
["OldValue9", "OldValue10", "OldValue11", "OldValue12"],
|
|
31
|
+
],
|
|
32
|
+
});
|
|
33
|
+
await setRowHidden(createWorkbookRangeRef(worksheetRef, "A3:A3"), true);
|
|
34
|
+
await calculateWorkbook(workbook);
|
|
35
|
+
await setWorkbookTableBodyVisibleRows(table, [
|
|
36
|
+
["NewValue1", "NewValue2", "NewValue3", "NewValue4"],
|
|
37
|
+
["NewValue5", "NewValue6", "NewValue7", "NewValue8"],
|
|
38
|
+
]);
|
|
39
|
+
const visibleBodyRange = await getWorkbookTableVisibleBody(table);
|
|
40
|
+
expect(visibleBodyRange.values).toEqual([
|
|
41
|
+
["NewValue1", "NewValue2", "NewValue3", "NewValue4"],
|
|
42
|
+
["OldValue5", "OldValue6", "OldValue7", "OldValue8"],
|
|
43
|
+
["NewValue5", "NewValue6", "NewValue7", "NewValue8"],
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
await deleteDriveItemWithRetry(workbook);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
it("writes input rows to visible rows of a table with insert", { timeout: 30000 }, async () => {
|
|
51
|
+
const workbookName = generateTempFileName("xlsx");
|
|
52
|
+
const workbookPath = driveItemPath(workbookName);
|
|
53
|
+
const driveRef = getDefaultDriveRef();
|
|
54
|
+
const workbook = await createWorkbook(driveRef, workbookPath);
|
|
55
|
+
try {
|
|
56
|
+
const worksheetRef = createDefaultWorkbookWorksheetRef(workbook);
|
|
57
|
+
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:D3");
|
|
58
|
+
const table = await createWorkbookTable(rangeRef, true);
|
|
59
|
+
await updateWorkbookRange(rangeRef, {
|
|
60
|
+
values: [
|
|
61
|
+
["Header1", "Header2", "Header3", "Header4"],
|
|
62
|
+
["OldValue1", "OldValue2", "OldValue3", "OldValue4"],
|
|
63
|
+
["OldValue5", "OldValue6", "OldValue7", "OldValue8"], // <== Will be hidden and therefore preserved
|
|
64
|
+
],
|
|
65
|
+
});
|
|
66
|
+
await setRowHidden(createWorkbookRangeRef(worksheetRef, "A3:A3"), true);
|
|
67
|
+
await calculateWorkbook(workbook);
|
|
68
|
+
await setWorkbookTableBodyVisibleRows(table, [
|
|
69
|
+
["NewValue1", "NewValue2", "NewValue3", "NewValue4"],
|
|
70
|
+
["NewValue5", "NewValue6", "NewValue7", "NewValue8"],
|
|
71
|
+
]);
|
|
72
|
+
const visibleBodyRange = await getWorkbookTableVisibleBody(table);
|
|
73
|
+
expect(visibleBodyRange.values).toEqual([
|
|
74
|
+
["NewValue1", "NewValue2", "NewValue3", "NewValue4"],
|
|
75
|
+
["OldValue5", "OldValue6", "OldValue7", "OldValue8"],
|
|
76
|
+
["NewValue5", "NewValue6", "NewValue7", "NewValue8"],
|
|
77
|
+
]);
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
await deleteDriveItemWithRetry(workbook);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|