@pnp/sp 2.8.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/LICENSE +25 -25
  2. package/appcatalog/index.d.ts +8 -8
  3. package/appcatalog/index.js +30 -30
  4. package/appcatalog/types.d.ts +81 -81
  5. package/appcatalog/types.d.ts.map +1 -1
  6. package/appcatalog/types.js +177 -177
  7. package/appcatalog/types.js.map +1 -1
  8. package/appcatalog/web.d.ts +16 -16
  9. package/appcatalog/web.js +6 -6
  10. package/attachments/index.d.ts +2 -2
  11. package/attachments/index.js +2 -2
  12. package/attachments/item.d.ts +12 -12
  13. package/attachments/item.js +4 -4
  14. package/attachments/types.d.ts +92 -92
  15. package/attachments/types.js +240 -240
  16. package/batch.d.ts +17 -17
  17. package/batch.js +223 -223
  18. package/clientside-pages/funcs.d.ts +22 -22
  19. package/clientside-pages/funcs.js +25 -25
  20. package/clientside-pages/index.d.ts +2 -2
  21. package/clientside-pages/index.js +2 -2
  22. package/clientside-pages/types.d.ts +496 -494
  23. package/clientside-pages/types.d.ts.map +1 -1
  24. package/clientside-pages/types.js +1496 -1487
  25. package/clientside-pages/types.js.map +1 -1
  26. package/clientside-pages/web.d.ts +41 -41
  27. package/clientside-pages/web.js +57 -57
  28. package/column-defaults/folder.d.ts +27 -27
  29. package/column-defaults/folder.js +82 -82
  30. package/column-defaults/index.d.ts +3 -3
  31. package/column-defaults/index.js +2 -2
  32. package/column-defaults/list.d.ts +19 -19
  33. package/column-defaults/list.js +198 -198
  34. package/column-defaults/types.d.ts +21 -21
  35. package/column-defaults/types.js +1 -1
  36. package/comments/clientside-page.d.ts +57 -57
  37. package/comments/clientside-page.d.ts.map +1 -1
  38. package/comments/clientside-page.js +136 -136
  39. package/comments/index.d.ts +2 -2
  40. package/comments/index.js +2 -2
  41. package/comments/item.d.ts +29 -29
  42. package/comments/item.js +47 -47
  43. package/comments/item.js.map +1 -1
  44. package/comments/types.d.ts +107 -107
  45. package/comments/types.d.ts.map +1 -1
  46. package/comments/types.js +145 -145
  47. package/comments/types.js.map +1 -1
  48. package/content-types/index.d.ts +4 -4
  49. package/content-types/index.js +4 -4
  50. package/content-types/item.d.ts +12 -12
  51. package/content-types/item.js +4 -4
  52. package/content-types/list.d.ts +12 -12
  53. package/content-types/list.js +4 -4
  54. package/content-types/types.d.ts +107 -107
  55. package/content-types/types.js +166 -166
  56. package/content-types/web.d.ts +12 -12
  57. package/content-types/web.js +4 -4
  58. package/decorators.d.ts +11 -11
  59. package/decorators.js +28 -28
  60. package/features/index.d.ts +3 -3
  61. package/features/index.js +3 -3
  62. package/features/site.d.ts +12 -12
  63. package/features/site.js +4 -4
  64. package/features/types.d.ts +47 -47
  65. package/features/types.js +109 -109
  66. package/features/web.d.ts +12 -12
  67. package/features/web.js +4 -4
  68. package/fields/index.d.ts +4 -4
  69. package/fields/index.js +4 -4
  70. package/fields/list.d.ts +12 -12
  71. package/fields/list.js +4 -4
  72. package/fields/types.d.ts +368 -368
  73. package/fields/types.js +624 -624
  74. package/fields/web.d.ts +17 -17
  75. package/fields/web.js +5 -5
  76. package/files/folder.d.ts +12 -12
  77. package/files/folder.js +4 -4
  78. package/files/index.d.ts +4 -4
  79. package/files/index.js +4 -4
  80. package/files/item.d.ts +12 -12
  81. package/files/item.js +4 -4
  82. package/files/types.d.ts +421 -421
  83. package/files/types.js +853 -853
  84. package/files/types.js.map +1 -1
  85. package/files/web.d.ts +35 -35
  86. package/files/web.js +15 -15
  87. package/folders/index.d.ts +4 -4
  88. package/folders/index.js +4 -4
  89. package/folders/item.d.ts +9 -9
  90. package/folders/item.js +4 -4
  91. package/folders/list.d.ts +12 -12
  92. package/folders/list.js +4 -4
  93. package/folders/types.d.ts +207 -207
  94. package/folders/types.js +433 -433
  95. package/folders/types.js.map +1 -1
  96. package/folders/web.d.ts +39 -39
  97. package/folders/web.js +15 -15
  98. package/forms/index.d.ts +2 -2
  99. package/forms/index.js +2 -2
  100. package/forms/list.d.ts +9 -9
  101. package/forms/list.js +4 -4
  102. package/forms/types.d.ts +35 -35
  103. package/forms/types.js +41 -41
  104. package/hubsites/index.d.ts +12 -12
  105. package/hubsites/index.js +15 -15
  106. package/hubsites/site.d.ts +26 -26
  107. package/hubsites/site.js +39 -39
  108. package/hubsites/types.d.ts +55 -55
  109. package/hubsites/types.d.ts.map +1 -1
  110. package/hubsites/types.js +53 -53
  111. package/hubsites/web.d.ts +21 -21
  112. package/hubsites/web.js +23 -23
  113. package/index.d.ts +14 -14
  114. package/index.js +13 -13
  115. package/items/index.d.ts +2 -2
  116. package/items/index.js +2 -2
  117. package/items/list.d.ts +9 -9
  118. package/items/list.js +4 -4
  119. package/items/types.d.ts +226 -226
  120. package/items/types.js +549 -549
  121. package/lists/index.d.ts +2 -2
  122. package/lists/index.js +2 -2
  123. package/lists/types.d.ts +495 -495
  124. package/lists/types.js +522 -522
  125. package/lists/types.js.map +1 -1
  126. package/lists/web.d.ts +43 -43
  127. package/lists/web.js +27 -27
  128. package/navigation/index.d.ts +8 -8
  129. package/navigation/index.js +14 -14
  130. package/navigation/types.d.ts +154 -154
  131. package/navigation/types.js +219 -219
  132. package/navigation/web.d.ts +13 -13
  133. package/navigation/web.js +4 -4
  134. package/odata.d.ts +5 -5
  135. package/odata.js +90 -90
  136. package/odata.js.map +1 -1
  137. package/operations.d.ts +9 -9
  138. package/operations.js +63 -63
  139. package/package.json +4 -4
  140. package/presets/all.d.ts +72 -72
  141. package/presets/all.js +72 -72
  142. package/presets/core.d.ts +11 -11
  143. package/presets/core.js +11 -11
  144. package/profiles/index.d.ts +7 -7
  145. package/profiles/index.js +13 -13
  146. package/profiles/types.d.ts +357 -357
  147. package/profiles/types.js +454 -454
  148. package/readme.md +21 -21
  149. package/regional-settings/content-type.d.ts +7 -7
  150. package/regional-settings/content-type.js +4 -4
  151. package/regional-settings/field.d.ts +7 -7
  152. package/regional-settings/field.js +4 -4
  153. package/regional-settings/funcs.d.ts +2 -2
  154. package/regional-settings/funcs.js +8 -8
  155. package/regional-settings/index.d.ts +6 -6
  156. package/regional-settings/index.js +6 -6
  157. package/regional-settings/list.d.ts +7 -7
  158. package/regional-settings/list.js +4 -4
  159. package/regional-settings/types.d.ts +111 -111
  160. package/regional-settings/types.js +159 -159
  161. package/regional-settings/user-custom-actions.d.ts +7 -7
  162. package/regional-settings/user-custom-actions.js +4 -4
  163. package/regional-settings/web.d.ts +12 -12
  164. package/regional-settings/web.js +7 -7
  165. package/related-items/index.d.ts +1 -1
  166. package/related-items/index.js +1 -1
  167. package/related-items/types.d.ts +76 -76
  168. package/related-items/types.js +103 -103
  169. package/related-items/web.d.ts +12 -12
  170. package/related-items/web.js +9 -9
  171. package/rest.d.ts +44 -44
  172. package/rest.js +72 -72
  173. package/search/index.d.ts +30 -30
  174. package/search/index.js +25 -25
  175. package/search/query.d.ts +62 -62
  176. package/search/query.js +302 -302
  177. package/search/suggest.d.ts +76 -76
  178. package/search/suggest.js +66 -66
  179. package/search/types.d.ts +426 -426
  180. package/search/types.js +57 -57
  181. package/security/funcs.d.ts +43 -43
  182. package/security/funcs.js +142 -142
  183. package/security/index.d.ts +4 -4
  184. package/security/index.js +4 -4
  185. package/security/item.d.ts +7 -7
  186. package/security/item.js +14 -14
  187. package/security/list.d.ts +7 -7
  188. package/security/list.js +14 -14
  189. package/security/types.d.ts +318 -318
  190. package/security/types.js +399 -399
  191. package/security/web.d.ts +9 -9
  192. package/security/web.js +15 -15
  193. package/sharepointqueryable.d.ts +135 -135
  194. package/sharepointqueryable.js +265 -265
  195. package/sharing/file.d.ts +18 -18
  196. package/sharing/file.js +116 -116
  197. package/sharing/folder.d.ts +9 -9
  198. package/sharing/folder.js +136 -136
  199. package/sharing/funcs.d.ts +62 -62
  200. package/sharing/funcs.js +239 -239
  201. package/sharing/funcs.js.map +1 -1
  202. package/sharing/index.d.ts +5 -5
  203. package/sharing/index.js +5 -5
  204. package/sharing/item.d.ts +16 -16
  205. package/sharing/item.js +15 -15
  206. package/sharing/types.d.ts +583 -583
  207. package/sharing/types.js +113 -113
  208. package/sharing/web.d.ts +19 -19
  209. package/sharing/web.js +76 -76
  210. package/site-designs/index.d.ts +8 -8
  211. package/site-designs/index.js +14 -14
  212. package/site-designs/types.d.ts +319 -319
  213. package/site-designs/types.js +203 -203
  214. package/site-designs/web.d.ts +25 -25
  215. package/site-designs/web.js +11 -11
  216. package/site-groups/index.d.ts +2 -2
  217. package/site-groups/index.js +2 -2
  218. package/site-groups/types.d.ts +89 -89
  219. package/site-groups/types.js +125 -125
  220. package/site-groups/web.d.ts +40 -40
  221. package/site-groups/web.js +30 -30
  222. package/site-scripts/index.d.ts +9 -9
  223. package/site-scripts/index.js +15 -15
  224. package/site-scripts/list.d.ts +12 -12
  225. package/site-scripts/list.js +24 -24
  226. package/site-scripts/types.d.ts +183 -183
  227. package/site-scripts/types.js +141 -141
  228. package/site-scripts/web.d.ts +13 -13
  229. package/site-scripts/web.js +5 -5
  230. package/site-users/index.d.ts +2 -2
  231. package/site-users/index.js +2 -2
  232. package/site-users/types.d.ts +138 -138
  233. package/site-users/types.js +122 -122
  234. package/site-users/web.d.ts +31 -31
  235. package/site-users/web.js +27 -27
  236. package/sites/index.d.ts +7 -7
  237. package/sites/index.js +13 -13
  238. package/sites/types.d.ts +147 -147
  239. package/sites/types.js +321 -321
  240. package/social/index.d.ts +10 -10
  241. package/social/index.js +13 -13
  242. package/social/types.d.ts +309 -309
  243. package/social/types.js +322 -322
  244. package/sphttpclient.d.ts +18 -18
  245. package/sphttpclient.js +189 -189
  246. package/splibconfig.d.ts +22 -22
  247. package/splibconfig.js +13 -13
  248. package/sputilities/index.d.ts +7 -7
  249. package/sputilities/index.js +13 -13
  250. package/sputilities/types.d.ts +130 -130
  251. package/sputilities/types.js +118 -118
  252. package/subscriptions/index.d.ts +2 -2
  253. package/subscriptions/index.js +2 -2
  254. package/subscriptions/list.d.ts +13 -13
  255. package/subscriptions/list.js +4 -4
  256. package/subscriptions/types.d.ts +54 -54
  257. package/subscriptions/types.js +111 -111
  258. package/taxonomy/index.d.ts +7 -7
  259. package/taxonomy/index.js +13 -13
  260. package/taxonomy/types.d.ts +200 -200
  261. package/taxonomy/types.js +347 -347
  262. package/taxonomy/types.js.map +1 -1
  263. package/telemetry.d.ts +12 -12
  264. package/telemetry.js +48 -48
  265. package/types.d.ts +218 -218
  266. package/types.js +79 -79
  267. package/user-custom-actions/index.d.ts +4 -4
  268. package/user-custom-actions/index.js +4 -4
  269. package/user-custom-actions/list.d.ts +12 -12
  270. package/user-custom-actions/list.js +4 -4
  271. package/user-custom-actions/site.d.ts +12 -12
  272. package/user-custom-actions/site.js +4 -4
  273. package/user-custom-actions/types.d.ts +82 -82
  274. package/user-custom-actions/types.js +93 -93
  275. package/user-custom-actions/web.d.ts +15 -15
  276. package/user-custom-actions/web.js +4 -4
  277. package/utils/escapeQueryStrValue.d.ts +1 -1
  278. package/utils/escapeQueryStrValue.js +19 -19
  279. package/utils/extractweburl.d.ts +1 -1
  280. package/utils/extractweburl.js +15 -15
  281. package/utils/file-names.d.ts +17 -17
  282. package/utils/file-names.js +38 -38
  283. package/utils/metadata.d.ts +5 -5
  284. package/utils/metadata.js +5 -5
  285. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  286. package/utils/objectToSPKeyValueCollection.js +16 -16
  287. package/utils/toResourcePath.d.ts +7 -7
  288. package/utils/toResourcePath.js +6 -6
  289. package/utils/toabsoluteurl.d.ts +7 -7
  290. package/utils/toabsoluteurl.js +61 -61
  291. package/views/index.d.ts +2 -2
  292. package/views/index.js +2 -2
  293. package/views/list.d.ts +23 -23
  294. package/views/list.js +8 -8
  295. package/views/types.d.ts +140 -140
  296. package/views/types.js +184 -184
  297. package/webparts/file.d.ts +15 -15
  298. package/webparts/file.js +6 -6
  299. package/webparts/index.d.ts +2 -2
  300. package/webparts/index.js +2 -2
  301. package/webparts/types.d.ts +83 -83
  302. package/webparts/types.js +117 -117
  303. package/webs/index.d.ts +16 -16
  304. package/webs/index.js +16 -16
  305. package/webs/types.d.ts +210 -210
  306. package/webs/types.js +295 -295
package/lists/types.js CHANGED
@@ -1,523 +1,523 @@
1
- import { __awaiter, __decorate, __extends, __generator, __read, __spreadArray } from "tslib";
2
- import { assign, dateAdd, hOP, isArray, objectDefinedNotNull } from "@pnp/common";
3
- import { body, headers } from "@pnp/odata";
4
- import { SharePointQueryable, SharePointQueryableCollection, _SharePointQueryableInstance, _SharePointQueryableCollection, spInvokableFactory, deleteableWithETag, } from "../sharepointqueryable.js";
5
- import { odataUrlFrom } from "../odata.js";
6
- import { metadata } from "../utils/metadata.js";
7
- import { defaultPath } from "../decorators.js";
8
- import { spPost } from "../operations.js";
9
- import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
10
- import { tag } from "../telemetry.js";
11
- import { toResourcePath } from "../utils/toResourcePath.js";
12
- var _Lists = /** @class */ (function (_super) {
13
- __extends(_Lists, _super);
14
- function _Lists() {
15
- return _super !== null && _super.apply(this, arguments) || this;
16
- }
17
- /**
18
- * Gets a list from the collection by guid id
19
- *
20
- * @param id The Id of the list (GUID)
21
- */
22
- _Lists.prototype.getById = function (id) {
23
- return tag.configure(List(this).concat("('" + id + "')"), "ls.getById");
24
- };
25
- /**
26
- * Gets a list from the collection by title
27
- *
28
- * @param title The title of the list
29
- */
30
- _Lists.prototype.getByTitle = function (title) {
31
- return tag.configure(List(this, "getByTitle('" + escapeQueryStrValue(title) + "')"), "ls.getByTitle");
32
- };
33
- /**
34
- * Adds a new list to the collection
35
- *
36
- * @param title The new list's title
37
- * @param description The new list's description
38
- * @param template The list template value
39
- * @param enableContentTypes If true content types will be allowed and enabled, otherwise they will be disallowed and not enabled
40
- * @param additionalSettings Will be passed as part of the list creation body
41
- */
42
- _Lists.prototype.add = function (title, desc, template, enableContentTypes, additionalSettings) {
43
- if (desc === void 0) { desc = ""; }
44
- if (template === void 0) { template = 100; }
45
- if (enableContentTypes === void 0) { enableContentTypes = false; }
46
- if (additionalSettings === void 0) { additionalSettings = {}; }
47
- return __awaiter(this, void 0, void 0, function () {
48
- var addSettings, data;
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
51
- case 0:
52
- addSettings = Object.assign({
53
- "AllowContentTypes": enableContentTypes,
54
- "BaseTemplate": template,
55
- "ContentTypesEnabled": enableContentTypes,
56
- "Description": desc,
57
- "Title": title,
58
- }, metadata("SP.List"), additionalSettings);
59
- return [4 /*yield*/, spPost(this, body(addSettings))];
60
- case 1:
61
- data = _a.sent();
62
- return [2 /*return*/, { data: data, list: this.getByTitle(addSettings.Title) }];
63
- }
64
- });
65
- });
66
- };
67
- /**
68
- * Ensures that the specified list exists in the collection (note: this method not supported for batching)
69
- *
70
- * @param title The new list's title
71
- * @param desc The new list's description
72
- * @param template The list template value
73
- * @param enableContentTypes If true content types will be allowed and enabled, otherwise they will be disallowed and not enabled
74
- * @param additionalSettings Will be passed as part of the list creation body or used to update an existing list
75
- */
76
- _Lists.prototype.ensure = function (title, desc, template, enableContentTypes, additionalSettings) {
77
- if (desc === void 0) { desc = ""; }
78
- if (template === void 0) { template = 100; }
79
- if (enableContentTypes === void 0) { enableContentTypes = false; }
80
- if (additionalSettings === void 0) { additionalSettings = {}; }
81
- return __awaiter(this, void 0, void 0, function () {
82
- var addOrUpdateSettings, list, data, e_1, data;
83
- return __generator(this, function (_a) {
84
- switch (_a.label) {
85
- case 0:
86
- if (this.hasBatch) {
87
- throw Error("The ensure list method is not supported for use in a batch.");
88
- }
89
- addOrUpdateSettings = assign(additionalSettings, { Title: title, Description: desc, ContentTypesEnabled: enableContentTypes }, true);
90
- list = this.getByTitle(addOrUpdateSettings.Title);
91
- _a.label = 1;
92
- case 1:
93
- _a.trys.push([1, 4, , 6]);
94
- // this will throw if the list doesn't exist
95
- return [4 /*yield*/, list.select("Title")()];
96
- case 2:
97
- // this will throw if the list doesn't exist
98
- _a.sent();
99
- return [4 /*yield*/, list.update(addOrUpdateSettings).then(function (r) { return r.data; })];
100
- case 3:
101
- data = _a.sent();
102
- return [2 /*return*/, { created: false, data: data, list: this.getByTitle(addOrUpdateSettings.Title) }];
103
- case 4:
104
- e_1 = _a.sent();
105
- return [4 /*yield*/, this.add(title, desc, template, enableContentTypes, addOrUpdateSettings).then(function (r) { return r.data; })];
106
- case 5:
107
- data = _a.sent();
108
- return [2 /*return*/, { created: true, data: data, list: this.getByTitle(addOrUpdateSettings.Title) }];
109
- case 6: return [2 /*return*/];
110
- }
111
- });
112
- });
113
- };
114
- /**
115
- * Gets a list that is the default asset location for images or other files, which the users upload to their wiki pages.
116
- */
117
- _Lists.prototype.ensureSiteAssetsLibrary = function () {
118
- return __awaiter(this, void 0, void 0, function () {
119
- var json;
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0: return [4 /*yield*/, spPost(this.clone(Lists, "ensuresiteassetslibrary"))];
123
- case 1:
124
- json = _a.sent();
125
- return [2 /*return*/, List(odataUrlFrom(json))];
126
- }
127
- });
128
- });
129
- };
130
- /**
131
- * Gets a list that is the default location for wiki pages.
132
- */
133
- _Lists.prototype.ensureSitePagesLibrary = function () {
134
- return __awaiter(this, void 0, void 0, function () {
135
- var json;
136
- return __generator(this, function (_a) {
137
- switch (_a.label) {
138
- case 0: return [4 /*yield*/, spPost(this.clone(Lists, "ensuresitepageslibrary"))];
139
- case 1:
140
- json = _a.sent();
141
- return [2 /*return*/, List(odataUrlFrom(json))];
142
- }
143
- });
144
- });
145
- };
146
- __decorate([
147
- tag("ls.add")
148
- ], _Lists.prototype, "add", null);
149
- __decorate([
150
- tag("ls.ensure")
151
- ], _Lists.prototype, "ensure", null);
152
- __decorate([
153
- tag("ls.ensureSiteAssetsLibrary")
154
- ], _Lists.prototype, "ensureSiteAssetsLibrary", null);
155
- __decorate([
156
- tag("ls.ensureSitePagesLibrary")
157
- ], _Lists.prototype, "ensureSitePagesLibrary", null);
158
- _Lists = __decorate([
159
- defaultPath("lists")
160
- ], _Lists);
161
- return _Lists;
162
- }(_SharePointQueryableCollection));
163
- export { _Lists };
164
- export var Lists = spInvokableFactory(_Lists);
165
- var _List = /** @class */ (function (_super) {
166
- __extends(_List, _super);
167
- function _List() {
168
- var _this = _super !== null && _super.apply(this, arguments) || this;
169
- _this.delete = deleteableWithETag("l");
170
- return _this;
171
- }
172
- Object.defineProperty(_List.prototype, "effectiveBasePermissions", {
173
- /**
174
- * Gets the effective base permissions of this list
175
- *
176
- */
177
- get: function () {
178
- return tag.configure(SharePointQueryable(this, "EffectiveBasePermissions"), "l.effectiveBasePermissions");
179
- },
180
- enumerable: false,
181
- configurable: true
182
- });
183
- Object.defineProperty(_List.prototype, "eventReceivers", {
184
- /**
185
- * Gets the event receivers attached to this list
186
- *
187
- */
188
- get: function () {
189
- return tag.configure(SharePointQueryableCollection(this, "EventReceivers"), "l.eventReceivers");
190
- },
191
- enumerable: false,
192
- configurable: true
193
- });
194
- Object.defineProperty(_List.prototype, "relatedFields", {
195
- /**
196
- * Gets the related fields of this list
197
- *
198
- */
199
- get: function () {
200
- return tag.configure(SharePointQueryable(this, "getRelatedFields"), "l.relatedFields");
201
- },
202
- enumerable: false,
203
- configurable: true
204
- });
205
- Object.defineProperty(_List.prototype, "informationRightsManagementSettings", {
206
- /**
207
- * Gets the IRM settings for this list
208
- *
209
- */
210
- get: function () {
211
- return tag.configure(SharePointQueryable(this, "InformationRightsManagementSettings"), "l.informationRightsManagementSettings");
212
- },
213
- enumerable: false,
214
- configurable: true
215
- });
216
- /**
217
- * Updates this list intance with the supplied properties
218
- *
219
- * @param properties A plain object hash of values to update for the list
220
- * @param eTag Value used in the IF-Match header, by default "*"
221
- */
222
- _List.prototype.update = function (properties, eTag) {
223
- if (eTag === void 0) { eTag = "*"; }
224
- return __awaiter(this, void 0, void 0, function () {
225
- var postBody, data, list;
226
- return __generator(this, function (_a) {
227
- switch (_a.label) {
228
- case 0:
229
- postBody = body(assign(metadata("SP.List"), properties), headers({
230
- "IF-Match": eTag,
231
- "X-HTTP-Method": "MERGE",
232
- }));
233
- return [4 /*yield*/, spPost(this, postBody)];
234
- case 1:
235
- data = _a.sent();
236
- list = hOP(properties, "Title") ? this.getParent(List, this.parentUrl, "getByTitle('" + properties.Title + "')") : List(this);
237
- return [2 /*return*/, {
238
- data: data,
239
- list: list,
240
- }];
241
- }
242
- });
243
- });
244
- };
245
- /**
246
- * Returns the collection of changes from the change log that have occurred within the list, based on the specified query.
247
- * @param query A query that is performed against the change log.
248
- */
249
- _List.prototype.getChanges = function (query) {
250
- return spPost(this.clone(List, "getchanges"), body({ query: assign(metadata("SP.ChangeQuery"), query) }));
251
- };
252
- /**
253
- * Returns the collection of items in the list based on the provided CamlQuery
254
- * @param query A query that is performed against the list
255
- * @param expands An expanded array of n items that contains fields to expand in the CamlQuery
256
- */
257
- _List.prototype.getItemsByCAMLQuery = function (query) {
258
- var expands = [];
259
- for (var _i = 1; _i < arguments.length; _i++) {
260
- expands[_i - 1] = arguments[_i];
261
- }
262
- var q = this.clone(List, "getitems");
263
- return spPost(q.expand.apply(q, __spreadArray([], __read(expands))), body({ query: assign(metadata("SP.CamlQuery"), query) }));
264
- };
265
- /**
266
- * See: https://msdn.microsoft.com/en-us/library/office/dn292554.aspx
267
- * @param query An object that defines the change log item query
268
- */
269
- _List.prototype.getListItemChangesSinceToken = function (query) {
270
- var o = this.clone(List, "getlistitemchangessincetoken").usingParser({
271
- parse: function (r) {
272
- return r.text();
273
- },
274
- });
275
- return spPost(o, body({ "query": assign(metadata("SP.ChangeLogItemQuery"), query) }));
276
- };
277
- /**
278
- * Moves the list to the Recycle Bin and returns the identifier of the new Recycle Bin item.
279
- */
280
- _List.prototype.recycle = function () {
281
- return __awaiter(this, void 0, void 0, function () {
282
- var data;
283
- return __generator(this, function (_a) {
284
- switch (_a.label) {
285
- case 0: return [4 /*yield*/, spPost(this.clone(List, "recycle"))];
286
- case 1:
287
- data = _a.sent();
288
- return [2 /*return*/, hOP(data, "Recycle") ? data.Recycle : data];
289
- }
290
- });
291
- });
292
- };
293
- /**
294
- * Renders list data based on the view xml provided
295
- * @param viewXml A string object representing a view xml
296
- */
297
- _List.prototype.renderListData = function (viewXml) {
298
- return __awaiter(this, void 0, void 0, function () {
299
- var q, data;
300
- return __generator(this, function (_a) {
301
- switch (_a.label) {
302
- case 0:
303
- q = this.clone(List, "renderlistdata(@viewXml)");
304
- q.query.set("@viewXml", "'" + viewXml + "'");
305
- return [4 /*yield*/, spPost(q)];
306
- case 1:
307
- data = _a.sent();
308
- // data will be a string, so we parse it again
309
- return [2 /*return*/, JSON.parse(hOP(data, "RenderListData") ? data.RenderListData : data)];
310
- }
311
- });
312
- });
313
- };
314
- /**
315
- * Returns the data for the specified query view
316
- *
317
- * @param parameters The parameters to be used to render list data as JSON string.
318
- * @param overrideParams The parameters that are used to override and extend the regular SPRenderListDataParameters.
319
- * @param query Allows setting of query parameters
320
- */
321
- _List.prototype.renderListDataAsStream = function (parameters, overrideParams, query) {
322
- if (overrideParams === void 0) { overrideParams = null; }
323
- if (query === void 0) { query = new Map(); }
324
- if (hOP(parameters, "RenderOptions") && isArray(parameters.RenderOptions)) {
325
- parameters.RenderOptions = parameters.RenderOptions.reduce(function (v, c) { return v + c; });
326
- }
327
- var bodyOptions = { parameters: assign(metadata("SP.RenderListDataParameters"), parameters) };
328
- if (objectDefinedNotNull(overrideParams)) {
329
- bodyOptions = assign(bodyOptions, { overrideParameters: assign(metadata("SP.RenderListDataOverrideParameters"), overrideParams) });
330
- }
331
- var clone = this.clone(List, "RenderListDataAsStream", true, true);
332
- if (query && query.size > 0) {
333
- query.forEach(function (v, k) { return clone.query.set(k, v); });
334
- }
335
- return spPost(clone, body(bodyOptions));
336
- };
337
- /**
338
- * Gets the field values and field schema attributes for a list item.
339
- * @param itemId Item id of the item to render form data for
340
- * @param formId The id of the form
341
- * @param mode Enum representing the control mode of the form (Display, Edit, New)
342
- */
343
- _List.prototype.renderListFormData = function (itemId, formId, mode) {
344
- return __awaiter(this, void 0, void 0, function () {
345
- var data;
346
- return __generator(this, function (_a) {
347
- switch (_a.label) {
348
- case 0: return [4 /*yield*/, spPost(this.clone(List, "renderlistformdata(itemid=" + itemId + ", formid='" + formId + "', mode='" + mode + "')"))];
349
- case 1:
350
- data = _a.sent();
351
- // data will be a string, so we parse it again
352
- return [2 /*return*/, JSON.parse(hOP(data, "RenderListFormData") ? data.RenderListFormData : data)];
353
- }
354
- });
355
- });
356
- };
357
- /**
358
- * Reserves a list item ID for idempotent list item creation.
359
- */
360
- _List.prototype.reserveListItemId = function () {
361
- return __awaiter(this, void 0, void 0, function () {
362
- var data;
363
- return __generator(this, function (_a) {
364
- switch (_a.label) {
365
- case 0: return [4 /*yield*/, spPost(this.clone(List, "reservelistitemid"))];
366
- case 1:
367
- data = _a.sent();
368
- return [2 /*return*/, hOP(data, "ReserveListItemId") ? data.ReserveListItemId : data];
369
- }
370
- });
371
- });
372
- };
373
- /**
374
- * Returns the ListItemEntityTypeFullName for this list, used when adding/updating list items. Does not support batching.
375
- */
376
- _List.prototype.getListItemEntityTypeFullName = function () {
377
- // we cache these requests as the entity name doesn't change and we can save traffic
378
- // this is justified as this method generates our second highest number of monthly executions ahead of item add and update
379
- return this.clone(List, null, false).select("ListItemEntityTypeFullName").usingCaching({
380
- expiration: dateAdd(new Date(), "day", 5),
381
- key: "PnPjs-ListEntityName:" + this.toUrl(),
382
- storeName: "local",
383
- })().then(function (o) { return o.ListItemEntityTypeFullName; });
384
- };
385
- /**
386
- * Creates an item using path (in a folder), validates and sets its field values.
387
- *
388
- * @param formValues The fields to change and their new values.
389
- * @param decodedUrl Path decoded url; folder's server relative path.
390
- * @param bNewDocumentUpdate true if the list item is a document being updated after upload; otherwise false.
391
- * @param checkInComment Optional check in comment.
392
- * @param additionalProps Optional set of additional properties LeafName new document file name,
393
- */
394
- _List.prototype.addValidateUpdateItemUsingPath = function (formValues, decodedUrl, bNewDocumentUpdate, checkInComment, additionalProps) {
395
- if (bNewDocumentUpdate === void 0) { bNewDocumentUpdate = false; }
396
- return __awaiter(this, void 0, void 0, function () {
397
- var addProps, res;
398
- return __generator(this, function (_a) {
399
- switch (_a.label) {
400
- case 0:
401
- addProps = {
402
- FolderPath: toResourcePath(decodedUrl),
403
- };
404
- if (objectDefinedNotNull(additionalProps)) {
405
- if (additionalProps.leafName) {
406
- addProps.LeafName = toResourcePath(additionalProps.leafName);
407
- }
408
- if (additionalProps.objectType) {
409
- addProps.UnderlyingObjectType = additionalProps.objectType;
410
- }
411
- }
412
- return [4 /*yield*/, spPost(this.clone(List, "AddValidateUpdateItemUsingPath()"), body({
413
- bNewDocumentUpdate: bNewDocumentUpdate,
414
- checkInComment: checkInComment,
415
- formValues: formValues,
416
- listItemCreateInfo: assign(metadata("SP.ListItemCreationInformationUsingPath"), addProps),
417
- }))];
418
- case 1:
419
- res = _a.sent();
420
- return [2 /*return*/, hOP(res, "AddValidateUpdateItemUsingPath") ? res.AddValidateUpdateItemUsingPath : res];
421
- }
422
- });
423
- });
424
- };
425
- /**
426
- * Gets the parent information for this item's list and web
427
- */
428
- _List.prototype.getParentInfos = function () {
429
- return __awaiter(this, void 0, void 0, function () {
430
- var urlInfo;
431
- return __generator(this, function (_a) {
432
- switch (_a.label) {
433
- case 0: return [4 /*yield*/, this.select("Id", "RootFolder/UniqueId", "RootFolder/ServerRelativeUrl", "RootFolder/ServerRelativePath", "ParentWeb/Id", "ParentWeb/Url", "ParentWeb/ServerRelativeUrl", "ParentWeb/ServerRelativePath").expand("RootFolder", "ParentWeb")()];
434
- case 1:
435
- urlInfo = _a.sent();
436
- return [2 /*return*/, {
437
- List: {
438
- Id: urlInfo.Id,
439
- RootFolderServerRelativePath: urlInfo.RootFolder.ServerRelativePath,
440
- RootFolderServerRelativeUrl: urlInfo.RootFolder.ServerRelativeUrl,
441
- RootFolderUniqueId: urlInfo.RootFolder.UniqueId,
442
- },
443
- ParentWeb: {
444
- Id: urlInfo.ParentWeb.Id,
445
- ServerRelativePath: urlInfo.ParentWeb.ServerRelativePath,
446
- ServerRelativeUrl: urlInfo.ParentWeb.ServerRelativeUrl,
447
- Url: urlInfo.ParentWeb.Url,
448
- },
449
- }];
450
- }
451
- });
452
- });
453
- };
454
- __decorate([
455
- tag("l.update")
456
- ], _List.prototype, "update", null);
457
- __decorate([
458
- tag("l.getChanges")
459
- ], _List.prototype, "getChanges", null);
460
- __decorate([
461
- tag("l.CAMLQuery")
462
- ], _List.prototype, "getItemsByCAMLQuery", null);
463
- __decorate([
464
- tag("l.ChangesSinceToken")
465
- ], _List.prototype, "getListItemChangesSinceToken", null);
466
- __decorate([
467
- tag("l.recycle")
468
- ], _List.prototype, "recycle", null);
469
- __decorate([
470
- tag("l.renderListData")
471
- ], _List.prototype, "renderListData", null);
472
- __decorate([
473
- tag("l.AsStream")
474
- ], _List.prototype, "renderListDataAsStream", null);
475
- __decorate([
476
- tag("l.renderListFormData")
477
- ], _List.prototype, "renderListFormData", null);
478
- __decorate([
479
- tag("l.reserveListItemId")
480
- ], _List.prototype, "reserveListItemId", null);
481
- __decorate([
482
- tag("l.getListItemEntityTypeFullName")
483
- ], _List.prototype, "getListItemEntityTypeFullName", null);
484
- __decorate([
485
- tag("l.addValidateUpdateItemUsingPath")
486
- ], _List.prototype, "addValidateUpdateItemUsingPath", null);
487
- return _List;
488
- }(_SharePointQueryableInstance));
489
- export { _List };
490
- export var List = spInvokableFactory(_List);
491
- /**
492
- * Enum representing the options of the RenderOptions property on IRenderListDataParameters interface
493
- */
494
- export var RenderListDataOptions;
495
- (function (RenderListDataOptions) {
496
- RenderListDataOptions[RenderListDataOptions["None"] = 0] = "None";
497
- RenderListDataOptions[RenderListDataOptions["ContextInfo"] = 1] = "ContextInfo";
498
- RenderListDataOptions[RenderListDataOptions["ListData"] = 2] = "ListData";
499
- RenderListDataOptions[RenderListDataOptions["ListSchema"] = 4] = "ListSchema";
500
- RenderListDataOptions[RenderListDataOptions["MenuView"] = 8] = "MenuView";
501
- RenderListDataOptions[RenderListDataOptions["ListContentType"] = 16] = "ListContentType";
502
- RenderListDataOptions[RenderListDataOptions["FileSystemItemId"] = 32] = "FileSystemItemId";
503
- RenderListDataOptions[RenderListDataOptions["ClientFormSchema"] = 64] = "ClientFormSchema";
504
- RenderListDataOptions[RenderListDataOptions["QuickLaunch"] = 128] = "QuickLaunch";
505
- RenderListDataOptions[RenderListDataOptions["Spotlight"] = 256] = "Spotlight";
506
- RenderListDataOptions[RenderListDataOptions["Visualization"] = 512] = "Visualization";
507
- RenderListDataOptions[RenderListDataOptions["ViewMetadata"] = 1024] = "ViewMetadata";
508
- RenderListDataOptions[RenderListDataOptions["DisableAutoHyperlink"] = 2048] = "DisableAutoHyperlink";
509
- RenderListDataOptions[RenderListDataOptions["EnableMediaTAUrls"] = 4096] = "EnableMediaTAUrls";
510
- RenderListDataOptions[RenderListDataOptions["ParentInfo"] = 8192] = "ParentInfo";
511
- RenderListDataOptions[RenderListDataOptions["PageContextInfo"] = 16384] = "PageContextInfo";
512
- RenderListDataOptions[RenderListDataOptions["ClientSideComponentManifest"] = 32768] = "ClientSideComponentManifest";
513
- })(RenderListDataOptions || (RenderListDataOptions = {}));
514
- /**
515
- * Determines the display mode of the given control or view
516
- */
517
- export var ControlMode;
518
- (function (ControlMode) {
519
- ControlMode[ControlMode["Display"] = 1] = "Display";
520
- ControlMode[ControlMode["Edit"] = 2] = "Edit";
521
- ControlMode[ControlMode["New"] = 3] = "New";
522
- })(ControlMode || (ControlMode = {}));
1
+ import { __awaiter, __decorate, __extends, __generator, __read, __spreadArray } from "tslib";
2
+ import { assign, dateAdd, hOP, isArray, objectDefinedNotNull } from "@pnp/common";
3
+ import { body, headers } from "@pnp/odata";
4
+ import { SharePointQueryable, SharePointQueryableCollection, _SharePointQueryableInstance, _SharePointQueryableCollection, spInvokableFactory, deleteableWithETag, } from "../sharepointqueryable.js";
5
+ import { odataUrlFrom } from "../odata.js";
6
+ import { metadata } from "../utils/metadata.js";
7
+ import { defaultPath } from "../decorators.js";
8
+ import { spPost } from "../operations.js";
9
+ import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
10
+ import { tag } from "../telemetry.js";
11
+ import { toResourcePath } from "../utils/toResourcePath.js";
12
+ var _Lists = /** @class */ (function (_super) {
13
+ __extends(_Lists, _super);
14
+ function _Lists() {
15
+ return _super !== null && _super.apply(this, arguments) || this;
16
+ }
17
+ /**
18
+ * Gets a list from the collection by guid id
19
+ *
20
+ * @param id The Id of the list (GUID)
21
+ */
22
+ _Lists.prototype.getById = function (id) {
23
+ return tag.configure(List(this).concat("('" + id + "')"), "ls.getById");
24
+ };
25
+ /**
26
+ * Gets a list from the collection by title
27
+ *
28
+ * @param title The title of the list
29
+ */
30
+ _Lists.prototype.getByTitle = function (title) {
31
+ return tag.configure(List(this, "getByTitle('" + escapeQueryStrValue(title) + "')"), "ls.getByTitle");
32
+ };
33
+ /**
34
+ * Adds a new list to the collection
35
+ *
36
+ * @param title The new list's title
37
+ * @param description The new list's description
38
+ * @param template The list template value
39
+ * @param enableContentTypes If true content types will be allowed and enabled, otherwise they will be disallowed and not enabled
40
+ * @param additionalSettings Will be passed as part of the list creation body
41
+ */
42
+ _Lists.prototype.add = function (title, desc, template, enableContentTypes, additionalSettings) {
43
+ if (desc === void 0) { desc = ""; }
44
+ if (template === void 0) { template = 100; }
45
+ if (enableContentTypes === void 0) { enableContentTypes = false; }
46
+ if (additionalSettings === void 0) { additionalSettings = {}; }
47
+ return __awaiter(this, void 0, void 0, function () {
48
+ var addSettings, data;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ addSettings = Object.assign({
53
+ "AllowContentTypes": enableContentTypes,
54
+ "BaseTemplate": template,
55
+ "ContentTypesEnabled": enableContentTypes,
56
+ "Description": desc,
57
+ "Title": title,
58
+ }, metadata("SP.List"), additionalSettings);
59
+ return [4 /*yield*/, spPost(this, body(addSettings))];
60
+ case 1:
61
+ data = _a.sent();
62
+ return [2 /*return*/, { data: data, list: this.getByTitle(addSettings.Title) }];
63
+ }
64
+ });
65
+ });
66
+ };
67
+ /**
68
+ * Ensures that the specified list exists in the collection (note: this method not supported for batching)
69
+ *
70
+ * @param title The new list's title
71
+ * @param desc The new list's description
72
+ * @param template The list template value
73
+ * @param enableContentTypes If true content types will be allowed and enabled, otherwise they will be disallowed and not enabled
74
+ * @param additionalSettings Will be passed as part of the list creation body or used to update an existing list
75
+ */
76
+ _Lists.prototype.ensure = function (title, desc, template, enableContentTypes, additionalSettings) {
77
+ if (desc === void 0) { desc = ""; }
78
+ if (template === void 0) { template = 100; }
79
+ if (enableContentTypes === void 0) { enableContentTypes = false; }
80
+ if (additionalSettings === void 0) { additionalSettings = {}; }
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var addOrUpdateSettings, list, data, e_1, data;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0:
86
+ if (this.hasBatch) {
87
+ throw Error("The ensure list method is not supported for use in a batch.");
88
+ }
89
+ addOrUpdateSettings = assign(additionalSettings, { Title: title, Description: desc, ContentTypesEnabled: enableContentTypes }, true);
90
+ list = this.getByTitle(addOrUpdateSettings.Title);
91
+ _a.label = 1;
92
+ case 1:
93
+ _a.trys.push([1, 4, , 6]);
94
+ // this will throw if the list doesn't exist
95
+ return [4 /*yield*/, list.select("Title")()];
96
+ case 2:
97
+ // this will throw if the list doesn't exist
98
+ _a.sent();
99
+ return [4 /*yield*/, list.update(addOrUpdateSettings).then(function (r) { return r.data; })];
100
+ case 3:
101
+ data = _a.sent();
102
+ return [2 /*return*/, { created: false, data: data, list: this.getByTitle(addOrUpdateSettings.Title) }];
103
+ case 4:
104
+ e_1 = _a.sent();
105
+ return [4 /*yield*/, this.add(title, desc, template, enableContentTypes, addOrUpdateSettings).then(function (r) { return r.data; })];
106
+ case 5:
107
+ data = _a.sent();
108
+ return [2 /*return*/, { created: true, data: data, list: this.getByTitle(addOrUpdateSettings.Title) }];
109
+ case 6: return [2 /*return*/];
110
+ }
111
+ });
112
+ });
113
+ };
114
+ /**
115
+ * Gets a list that is the default asset location for images or other files, which the users upload to their wiki pages.
116
+ */
117
+ _Lists.prototype.ensureSiteAssetsLibrary = function () {
118
+ return __awaiter(this, void 0, void 0, function () {
119
+ var json;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0: return [4 /*yield*/, spPost(this.clone(Lists, "ensuresiteassetslibrary"))];
123
+ case 1:
124
+ json = _a.sent();
125
+ return [2 /*return*/, List(odataUrlFrom(json))];
126
+ }
127
+ });
128
+ });
129
+ };
130
+ /**
131
+ * Gets a list that is the default location for wiki pages.
132
+ */
133
+ _Lists.prototype.ensureSitePagesLibrary = function () {
134
+ return __awaiter(this, void 0, void 0, function () {
135
+ var json;
136
+ return __generator(this, function (_a) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, spPost(this.clone(Lists, "ensuresitepageslibrary"))];
139
+ case 1:
140
+ json = _a.sent();
141
+ return [2 /*return*/, List(odataUrlFrom(json))];
142
+ }
143
+ });
144
+ });
145
+ };
146
+ __decorate([
147
+ tag("ls.add")
148
+ ], _Lists.prototype, "add", null);
149
+ __decorate([
150
+ tag("ls.ensure")
151
+ ], _Lists.prototype, "ensure", null);
152
+ __decorate([
153
+ tag("ls.ensureSiteAssetsLibrary")
154
+ ], _Lists.prototype, "ensureSiteAssetsLibrary", null);
155
+ __decorate([
156
+ tag("ls.ensureSitePagesLibrary")
157
+ ], _Lists.prototype, "ensureSitePagesLibrary", null);
158
+ _Lists = __decorate([
159
+ defaultPath("lists")
160
+ ], _Lists);
161
+ return _Lists;
162
+ }(_SharePointQueryableCollection));
163
+ export { _Lists };
164
+ export var Lists = spInvokableFactory(_Lists);
165
+ var _List = /** @class */ (function (_super) {
166
+ __extends(_List, _super);
167
+ function _List() {
168
+ var _this = _super !== null && _super.apply(this, arguments) || this;
169
+ _this.delete = deleteableWithETag("l");
170
+ return _this;
171
+ }
172
+ Object.defineProperty(_List.prototype, "effectiveBasePermissions", {
173
+ /**
174
+ * Gets the effective base permissions of this list
175
+ *
176
+ */
177
+ get: function () {
178
+ return tag.configure(SharePointQueryable(this, "EffectiveBasePermissions"), "l.effectiveBasePermissions");
179
+ },
180
+ enumerable: false,
181
+ configurable: true
182
+ });
183
+ Object.defineProperty(_List.prototype, "eventReceivers", {
184
+ /**
185
+ * Gets the event receivers attached to this list
186
+ *
187
+ */
188
+ get: function () {
189
+ return tag.configure(SharePointQueryableCollection(this, "EventReceivers"), "l.eventReceivers");
190
+ },
191
+ enumerable: false,
192
+ configurable: true
193
+ });
194
+ Object.defineProperty(_List.prototype, "relatedFields", {
195
+ /**
196
+ * Gets the related fields of this list
197
+ *
198
+ */
199
+ get: function () {
200
+ return tag.configure(SharePointQueryable(this, "getRelatedFields"), "l.relatedFields");
201
+ },
202
+ enumerable: false,
203
+ configurable: true
204
+ });
205
+ Object.defineProperty(_List.prototype, "informationRightsManagementSettings", {
206
+ /**
207
+ * Gets the IRM settings for this list
208
+ *
209
+ */
210
+ get: function () {
211
+ return tag.configure(SharePointQueryable(this, "InformationRightsManagementSettings"), "l.informationRightsManagementSettings");
212
+ },
213
+ enumerable: false,
214
+ configurable: true
215
+ });
216
+ /**
217
+ * Updates this list intance with the supplied properties
218
+ *
219
+ * @param properties A plain object hash of values to update for the list
220
+ * @param eTag Value used in the IF-Match header, by default "*"
221
+ */
222
+ _List.prototype.update = function (properties, eTag) {
223
+ if (eTag === void 0) { eTag = "*"; }
224
+ return __awaiter(this, void 0, void 0, function () {
225
+ var postBody, data, list;
226
+ return __generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0:
229
+ postBody = body(assign(metadata("SP.List"), properties), headers({
230
+ "IF-Match": eTag,
231
+ "X-HTTP-Method": "MERGE",
232
+ }));
233
+ return [4 /*yield*/, spPost(this, postBody)];
234
+ case 1:
235
+ data = _a.sent();
236
+ list = hOP(properties, "Title") ? this.getParent(List, this.parentUrl, "getByTitle('" + properties.Title + "')") : List(this);
237
+ return [2 /*return*/, {
238
+ data: data,
239
+ list: list,
240
+ }];
241
+ }
242
+ });
243
+ });
244
+ };
245
+ /**
246
+ * Returns the collection of changes from the change log that have occurred within the list, based on the specified query.
247
+ * @param query A query that is performed against the change log.
248
+ */
249
+ _List.prototype.getChanges = function (query) {
250
+ return spPost(this.clone(List, "getchanges"), body({ query: assign(metadata("SP.ChangeQuery"), query) }));
251
+ };
252
+ /**
253
+ * Returns the collection of items in the list based on the provided CamlQuery
254
+ * @param query A query that is performed against the list
255
+ * @param expands An expanded array of n items that contains fields to expand in the CamlQuery
256
+ */
257
+ _List.prototype.getItemsByCAMLQuery = function (query) {
258
+ var expands = [];
259
+ for (var _i = 1; _i < arguments.length; _i++) {
260
+ expands[_i - 1] = arguments[_i];
261
+ }
262
+ var q = this.clone(List, "getitems");
263
+ return spPost(q.expand.apply(q, __spreadArray([], __read(expands), false)), body({ query: assign(metadata("SP.CamlQuery"), query) }));
264
+ };
265
+ /**
266
+ * See: https://msdn.microsoft.com/en-us/library/office/dn292554.aspx
267
+ * @param query An object that defines the change log item query
268
+ */
269
+ _List.prototype.getListItemChangesSinceToken = function (query) {
270
+ var o = this.clone(List, "getlistitemchangessincetoken").usingParser({
271
+ parse: function (r) {
272
+ return r.text();
273
+ },
274
+ });
275
+ return spPost(o, body({ "query": assign(metadata("SP.ChangeLogItemQuery"), query) }));
276
+ };
277
+ /**
278
+ * Moves the list to the Recycle Bin and returns the identifier of the new Recycle Bin item.
279
+ */
280
+ _List.prototype.recycle = function () {
281
+ return __awaiter(this, void 0, void 0, function () {
282
+ var data;
283
+ return __generator(this, function (_a) {
284
+ switch (_a.label) {
285
+ case 0: return [4 /*yield*/, spPost(this.clone(List, "recycle"))];
286
+ case 1:
287
+ data = _a.sent();
288
+ return [2 /*return*/, hOP(data, "Recycle") ? data.Recycle : data];
289
+ }
290
+ });
291
+ });
292
+ };
293
+ /**
294
+ * Renders list data based on the view xml provided
295
+ * @param viewXml A string object representing a view xml
296
+ */
297
+ _List.prototype.renderListData = function (viewXml) {
298
+ return __awaiter(this, void 0, void 0, function () {
299
+ var q, data;
300
+ return __generator(this, function (_a) {
301
+ switch (_a.label) {
302
+ case 0:
303
+ q = this.clone(List, "renderlistdata(@viewXml)");
304
+ q.query.set("@viewXml", "'" + viewXml + "'");
305
+ return [4 /*yield*/, spPost(q)];
306
+ case 1:
307
+ data = _a.sent();
308
+ // data will be a string, so we parse it again
309
+ return [2 /*return*/, JSON.parse(hOP(data, "RenderListData") ? data.RenderListData : data)];
310
+ }
311
+ });
312
+ });
313
+ };
314
+ /**
315
+ * Returns the data for the specified query view
316
+ *
317
+ * @param parameters The parameters to be used to render list data as JSON string.
318
+ * @param overrideParams The parameters that are used to override and extend the regular SPRenderListDataParameters.
319
+ * @param query Allows setting of query parameters
320
+ */
321
+ _List.prototype.renderListDataAsStream = function (parameters, overrideParams, query) {
322
+ if (overrideParams === void 0) { overrideParams = null; }
323
+ if (query === void 0) { query = new Map(); }
324
+ if (hOP(parameters, "RenderOptions") && isArray(parameters.RenderOptions)) {
325
+ parameters.RenderOptions = parameters.RenderOptions.reduce(function (v, c) { return v + c; });
326
+ }
327
+ var bodyOptions = { parameters: assign(metadata("SP.RenderListDataParameters"), parameters) };
328
+ if (objectDefinedNotNull(overrideParams)) {
329
+ bodyOptions = assign(bodyOptions, { overrideParameters: assign(metadata("SP.RenderListDataOverrideParameters"), overrideParams) });
330
+ }
331
+ var clone = this.clone(List, "RenderListDataAsStream", true, true);
332
+ if (query && query.size > 0) {
333
+ query.forEach(function (v, k) { return clone.query.set(k, v); });
334
+ }
335
+ return spPost(clone, body(bodyOptions));
336
+ };
337
+ /**
338
+ * Gets the field values and field schema attributes for a list item.
339
+ * @param itemId Item id of the item to render form data for
340
+ * @param formId The id of the form
341
+ * @param mode Enum representing the control mode of the form (Display, Edit, New)
342
+ */
343
+ _List.prototype.renderListFormData = function (itemId, formId, mode) {
344
+ return __awaiter(this, void 0, void 0, function () {
345
+ var data;
346
+ return __generator(this, function (_a) {
347
+ switch (_a.label) {
348
+ case 0: return [4 /*yield*/, spPost(this.clone(List, "renderlistformdata(itemid=" + itemId + ", formid='" + formId + "', mode='" + mode + "')"))];
349
+ case 1:
350
+ data = _a.sent();
351
+ // data will be a string, so we parse it again
352
+ return [2 /*return*/, JSON.parse(hOP(data, "RenderListFormData") ? data.RenderListFormData : data)];
353
+ }
354
+ });
355
+ });
356
+ };
357
+ /**
358
+ * Reserves a list item ID for idempotent list item creation.
359
+ */
360
+ _List.prototype.reserveListItemId = function () {
361
+ return __awaiter(this, void 0, void 0, function () {
362
+ var data;
363
+ return __generator(this, function (_a) {
364
+ switch (_a.label) {
365
+ case 0: return [4 /*yield*/, spPost(this.clone(List, "reservelistitemid"))];
366
+ case 1:
367
+ data = _a.sent();
368
+ return [2 /*return*/, hOP(data, "ReserveListItemId") ? data.ReserveListItemId : data];
369
+ }
370
+ });
371
+ });
372
+ };
373
+ /**
374
+ * Returns the ListItemEntityTypeFullName for this list, used when adding/updating list items. Does not support batching.
375
+ */
376
+ _List.prototype.getListItemEntityTypeFullName = function () {
377
+ // we cache these requests as the entity name doesn't change and we can save traffic
378
+ // this is justified as this method generates our second highest number of monthly executions ahead of item add and update
379
+ return this.clone(List, null, false).select("ListItemEntityTypeFullName").usingCaching({
380
+ expiration: dateAdd(new Date(), "day", 5),
381
+ key: "PnPjs-ListEntityName:" + this.toUrl(),
382
+ storeName: "local",
383
+ })().then(function (o) { return o.ListItemEntityTypeFullName; });
384
+ };
385
+ /**
386
+ * Creates an item using path (in a folder), validates and sets its field values.
387
+ *
388
+ * @param formValues The fields to change and their new values.
389
+ * @param decodedUrl Path decoded url; folder's server relative path.
390
+ * @param bNewDocumentUpdate true if the list item is a document being updated after upload; otherwise false.
391
+ * @param checkInComment Optional check in comment.
392
+ * @param additionalProps Optional set of additional properties LeafName new document file name,
393
+ */
394
+ _List.prototype.addValidateUpdateItemUsingPath = function (formValues, decodedUrl, bNewDocumentUpdate, checkInComment, additionalProps) {
395
+ if (bNewDocumentUpdate === void 0) { bNewDocumentUpdate = false; }
396
+ return __awaiter(this, void 0, void 0, function () {
397
+ var addProps, res;
398
+ return __generator(this, function (_a) {
399
+ switch (_a.label) {
400
+ case 0:
401
+ addProps = {
402
+ FolderPath: toResourcePath(decodedUrl),
403
+ };
404
+ if (objectDefinedNotNull(additionalProps)) {
405
+ if (additionalProps.leafName) {
406
+ addProps.LeafName = toResourcePath(additionalProps.leafName);
407
+ }
408
+ if (additionalProps.objectType) {
409
+ addProps.UnderlyingObjectType = additionalProps.objectType;
410
+ }
411
+ }
412
+ return [4 /*yield*/, spPost(this.clone(List, "AddValidateUpdateItemUsingPath()"), body({
413
+ bNewDocumentUpdate: bNewDocumentUpdate,
414
+ checkInComment: checkInComment,
415
+ formValues: formValues,
416
+ listItemCreateInfo: assign(metadata("SP.ListItemCreationInformationUsingPath"), addProps),
417
+ }))];
418
+ case 1:
419
+ res = _a.sent();
420
+ return [2 /*return*/, hOP(res, "AddValidateUpdateItemUsingPath") ? res.AddValidateUpdateItemUsingPath : res];
421
+ }
422
+ });
423
+ });
424
+ };
425
+ /**
426
+ * Gets the parent information for this item's list and web
427
+ */
428
+ _List.prototype.getParentInfos = function () {
429
+ return __awaiter(this, void 0, void 0, function () {
430
+ var urlInfo;
431
+ return __generator(this, function (_a) {
432
+ switch (_a.label) {
433
+ case 0: return [4 /*yield*/, this.select("Id", "RootFolder/UniqueId", "RootFolder/ServerRelativeUrl", "RootFolder/ServerRelativePath", "ParentWeb/Id", "ParentWeb/Url", "ParentWeb/ServerRelativeUrl", "ParentWeb/ServerRelativePath").expand("RootFolder", "ParentWeb")()];
434
+ case 1:
435
+ urlInfo = _a.sent();
436
+ return [2 /*return*/, {
437
+ List: {
438
+ Id: urlInfo.Id,
439
+ RootFolderServerRelativePath: urlInfo.RootFolder.ServerRelativePath,
440
+ RootFolderServerRelativeUrl: urlInfo.RootFolder.ServerRelativeUrl,
441
+ RootFolderUniqueId: urlInfo.RootFolder.UniqueId,
442
+ },
443
+ ParentWeb: {
444
+ Id: urlInfo.ParentWeb.Id,
445
+ ServerRelativePath: urlInfo.ParentWeb.ServerRelativePath,
446
+ ServerRelativeUrl: urlInfo.ParentWeb.ServerRelativeUrl,
447
+ Url: urlInfo.ParentWeb.Url,
448
+ },
449
+ }];
450
+ }
451
+ });
452
+ });
453
+ };
454
+ __decorate([
455
+ tag("l.update")
456
+ ], _List.prototype, "update", null);
457
+ __decorate([
458
+ tag("l.getChanges")
459
+ ], _List.prototype, "getChanges", null);
460
+ __decorate([
461
+ tag("l.CAMLQuery")
462
+ ], _List.prototype, "getItemsByCAMLQuery", null);
463
+ __decorate([
464
+ tag("l.ChangesSinceToken")
465
+ ], _List.prototype, "getListItemChangesSinceToken", null);
466
+ __decorate([
467
+ tag("l.recycle")
468
+ ], _List.prototype, "recycle", null);
469
+ __decorate([
470
+ tag("l.renderListData")
471
+ ], _List.prototype, "renderListData", null);
472
+ __decorate([
473
+ tag("l.AsStream")
474
+ ], _List.prototype, "renderListDataAsStream", null);
475
+ __decorate([
476
+ tag("l.renderListFormData")
477
+ ], _List.prototype, "renderListFormData", null);
478
+ __decorate([
479
+ tag("l.reserveListItemId")
480
+ ], _List.prototype, "reserveListItemId", null);
481
+ __decorate([
482
+ tag("l.getListItemEntityTypeFullName")
483
+ ], _List.prototype, "getListItemEntityTypeFullName", null);
484
+ __decorate([
485
+ tag("l.addValidateUpdateItemUsingPath")
486
+ ], _List.prototype, "addValidateUpdateItemUsingPath", null);
487
+ return _List;
488
+ }(_SharePointQueryableInstance));
489
+ export { _List };
490
+ export var List = spInvokableFactory(_List);
491
+ /**
492
+ * Enum representing the options of the RenderOptions property on IRenderListDataParameters interface
493
+ */
494
+ export var RenderListDataOptions;
495
+ (function (RenderListDataOptions) {
496
+ RenderListDataOptions[RenderListDataOptions["None"] = 0] = "None";
497
+ RenderListDataOptions[RenderListDataOptions["ContextInfo"] = 1] = "ContextInfo";
498
+ RenderListDataOptions[RenderListDataOptions["ListData"] = 2] = "ListData";
499
+ RenderListDataOptions[RenderListDataOptions["ListSchema"] = 4] = "ListSchema";
500
+ RenderListDataOptions[RenderListDataOptions["MenuView"] = 8] = "MenuView";
501
+ RenderListDataOptions[RenderListDataOptions["ListContentType"] = 16] = "ListContentType";
502
+ RenderListDataOptions[RenderListDataOptions["FileSystemItemId"] = 32] = "FileSystemItemId";
503
+ RenderListDataOptions[RenderListDataOptions["ClientFormSchema"] = 64] = "ClientFormSchema";
504
+ RenderListDataOptions[RenderListDataOptions["QuickLaunch"] = 128] = "QuickLaunch";
505
+ RenderListDataOptions[RenderListDataOptions["Spotlight"] = 256] = "Spotlight";
506
+ RenderListDataOptions[RenderListDataOptions["Visualization"] = 512] = "Visualization";
507
+ RenderListDataOptions[RenderListDataOptions["ViewMetadata"] = 1024] = "ViewMetadata";
508
+ RenderListDataOptions[RenderListDataOptions["DisableAutoHyperlink"] = 2048] = "DisableAutoHyperlink";
509
+ RenderListDataOptions[RenderListDataOptions["EnableMediaTAUrls"] = 4096] = "EnableMediaTAUrls";
510
+ RenderListDataOptions[RenderListDataOptions["ParentInfo"] = 8192] = "ParentInfo";
511
+ RenderListDataOptions[RenderListDataOptions["PageContextInfo"] = 16384] = "PageContextInfo";
512
+ RenderListDataOptions[RenderListDataOptions["ClientSideComponentManifest"] = 32768] = "ClientSideComponentManifest";
513
+ })(RenderListDataOptions || (RenderListDataOptions = {}));
514
+ /**
515
+ * Determines the display mode of the given control or view
516
+ */
517
+ export var ControlMode;
518
+ (function (ControlMode) {
519
+ ControlMode[ControlMode["Display"] = 1] = "Display";
520
+ ControlMode[ControlMode["Edit"] = 2] = "Edit";
521
+ ControlMode[ControlMode["New"] = 3] = "New";
522
+ })(ControlMode || (ControlMode = {}));
523
523
  //# sourceMappingURL=types.js.map