@pnp/sp 2.10.0 → 2.11.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 (294) 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.js +177 -177
  6. package/appcatalog/web.d.ts +16 -16
  7. package/appcatalog/web.js +6 -6
  8. package/attachments/index.d.ts +2 -2
  9. package/attachments/index.js +2 -2
  10. package/attachments/item.d.ts +12 -12
  11. package/attachments/item.js +4 -4
  12. package/attachments/types.d.ts +92 -92
  13. package/attachments/types.js +240 -240
  14. package/batch.d.ts +17 -17
  15. package/batch.js +223 -223
  16. package/clientside-pages/funcs.d.ts +22 -22
  17. package/clientside-pages/funcs.js +25 -25
  18. package/clientside-pages/index.d.ts +2 -2
  19. package/clientside-pages/index.js +2 -2
  20. package/clientside-pages/types.d.ts +496 -496
  21. package/clientside-pages/types.js +1496 -1496
  22. package/clientside-pages/web.d.ts +41 -41
  23. package/clientside-pages/web.js +57 -57
  24. package/column-defaults/folder.d.ts +27 -27
  25. package/column-defaults/folder.js +82 -82
  26. package/column-defaults/index.d.ts +3 -3
  27. package/column-defaults/index.js +2 -2
  28. package/column-defaults/list.d.ts +19 -19
  29. package/column-defaults/list.js +198 -198
  30. package/column-defaults/types.d.ts +21 -21
  31. package/column-defaults/types.js +1 -1
  32. package/comments/clientside-page.d.ts +57 -57
  33. package/comments/clientside-page.d.ts.map +1 -1
  34. package/comments/clientside-page.js +136 -136
  35. package/comments/index.d.ts +2 -2
  36. package/comments/index.js +2 -2
  37. package/comments/item.d.ts +29 -29
  38. package/comments/item.js +47 -47
  39. package/comments/types.d.ts +107 -107
  40. package/comments/types.d.ts.map +1 -1
  41. package/comments/types.js +145 -145
  42. package/comments/types.js.map +1 -1
  43. package/content-types/index.d.ts +4 -4
  44. package/content-types/index.js +4 -4
  45. package/content-types/item.d.ts +12 -12
  46. package/content-types/item.js +4 -4
  47. package/content-types/list.d.ts +12 -12
  48. package/content-types/list.js +4 -4
  49. package/content-types/types.d.ts +107 -107
  50. package/content-types/types.js +166 -166
  51. package/content-types/web.d.ts +12 -12
  52. package/content-types/web.js +4 -4
  53. package/decorators.d.ts +11 -11
  54. package/decorators.js +28 -28
  55. package/features/index.d.ts +3 -3
  56. package/features/index.js +3 -3
  57. package/features/site.d.ts +12 -12
  58. package/features/site.js +4 -4
  59. package/features/types.d.ts +47 -47
  60. package/features/types.js +109 -109
  61. package/features/web.d.ts +12 -12
  62. package/features/web.js +4 -4
  63. package/fields/index.d.ts +4 -4
  64. package/fields/index.js +4 -4
  65. package/fields/list.d.ts +12 -12
  66. package/fields/list.js +4 -4
  67. package/fields/types.d.ts +368 -368
  68. package/fields/types.js +624 -624
  69. package/fields/web.d.ts +17 -17
  70. package/fields/web.js +5 -5
  71. package/files/folder.d.ts +12 -12
  72. package/files/folder.js +4 -4
  73. package/files/index.d.ts +4 -4
  74. package/files/index.js +4 -4
  75. package/files/item.d.ts +12 -12
  76. package/files/item.js +4 -4
  77. package/files/types.d.ts +421 -421
  78. package/files/types.js +853 -853
  79. package/files/web.d.ts +35 -35
  80. package/files/web.js +15 -15
  81. package/folders/index.d.ts +4 -4
  82. package/folders/index.js +4 -4
  83. package/folders/item.d.ts +9 -9
  84. package/folders/item.js +4 -4
  85. package/folders/list.d.ts +12 -12
  86. package/folders/list.js +4 -4
  87. package/folders/types.d.ts +207 -207
  88. package/folders/types.js +433 -433
  89. package/folders/web.d.ts +39 -39
  90. package/folders/web.js +15 -15
  91. package/forms/index.d.ts +2 -2
  92. package/forms/index.js +2 -2
  93. package/forms/list.d.ts +9 -9
  94. package/forms/list.js +4 -4
  95. package/forms/types.d.ts +35 -35
  96. package/forms/types.js +41 -41
  97. package/hubsites/index.d.ts +12 -12
  98. package/hubsites/index.js +15 -15
  99. package/hubsites/site.d.ts +26 -26
  100. package/hubsites/site.js +39 -39
  101. package/hubsites/types.d.ts +55 -55
  102. package/hubsites/types.js +53 -53
  103. package/hubsites/web.d.ts +21 -21
  104. package/hubsites/web.js +23 -23
  105. package/index.d.ts +14 -14
  106. package/index.js +13 -13
  107. package/items/index.d.ts +2 -2
  108. package/items/index.js +2 -2
  109. package/items/list.d.ts +9 -9
  110. package/items/list.js +4 -4
  111. package/items/types.d.ts +226 -226
  112. package/items/types.js +549 -549
  113. package/lists/index.d.ts +2 -2
  114. package/lists/index.js +2 -2
  115. package/lists/types.d.ts +495 -495
  116. package/lists/types.js +522 -522
  117. package/lists/web.d.ts +43 -43
  118. package/lists/web.js +27 -27
  119. package/navigation/index.d.ts +8 -8
  120. package/navigation/index.js +14 -14
  121. package/navigation/types.d.ts +154 -154
  122. package/navigation/types.js +219 -219
  123. package/navigation/web.d.ts +13 -13
  124. package/navigation/web.js +4 -4
  125. package/odata.d.ts +5 -5
  126. package/odata.js +90 -90
  127. package/operations.d.ts +9 -9
  128. package/operations.js +63 -63
  129. package/package.json +4 -4
  130. package/presets/all.d.ts +72 -72
  131. package/presets/all.js +72 -72
  132. package/presets/core.d.ts +11 -11
  133. package/presets/core.js +11 -11
  134. package/profiles/index.d.ts +7 -7
  135. package/profiles/index.js +13 -13
  136. package/profiles/types.d.ts +357 -357
  137. package/profiles/types.js +454 -454
  138. package/readme.md +21 -21
  139. package/regional-settings/content-type.d.ts +7 -7
  140. package/regional-settings/content-type.js +4 -4
  141. package/regional-settings/field.d.ts +7 -7
  142. package/regional-settings/field.js +4 -4
  143. package/regional-settings/funcs.d.ts +2 -2
  144. package/regional-settings/funcs.js +8 -8
  145. package/regional-settings/index.d.ts +6 -6
  146. package/regional-settings/index.js +6 -6
  147. package/regional-settings/list.d.ts +7 -7
  148. package/regional-settings/list.js +4 -4
  149. package/regional-settings/types.d.ts +111 -111
  150. package/regional-settings/types.js +159 -159
  151. package/regional-settings/user-custom-actions.d.ts +7 -7
  152. package/regional-settings/user-custom-actions.js +4 -4
  153. package/regional-settings/web.d.ts +12 -12
  154. package/regional-settings/web.js +7 -7
  155. package/related-items/index.d.ts +1 -1
  156. package/related-items/index.js +1 -1
  157. package/related-items/types.d.ts +76 -76
  158. package/related-items/types.js +103 -103
  159. package/related-items/web.d.ts +12 -12
  160. package/related-items/web.js +9 -9
  161. package/rest.d.ts +44 -44
  162. package/rest.js +72 -72
  163. package/search/index.d.ts +30 -30
  164. package/search/index.js +25 -25
  165. package/search/query.d.ts +62 -62
  166. package/search/query.js +302 -302
  167. package/search/suggest.d.ts +76 -76
  168. package/search/suggest.js +66 -66
  169. package/search/types.d.ts +426 -426
  170. package/search/types.js +57 -57
  171. package/security/funcs.d.ts +43 -43
  172. package/security/funcs.js +142 -142
  173. package/security/index.d.ts +4 -4
  174. package/security/index.js +4 -4
  175. package/security/item.d.ts +7 -7
  176. package/security/item.js +14 -14
  177. package/security/list.d.ts +7 -7
  178. package/security/list.js +14 -14
  179. package/security/types.d.ts +318 -318
  180. package/security/types.js +399 -399
  181. package/security/web.d.ts +9 -9
  182. package/security/web.js +15 -15
  183. package/sharepointqueryable.d.ts +135 -135
  184. package/sharepointqueryable.js +265 -265
  185. package/sharing/file.d.ts +18 -18
  186. package/sharing/file.js +116 -116
  187. package/sharing/folder.d.ts +9 -9
  188. package/sharing/folder.js +136 -136
  189. package/sharing/funcs.d.ts +62 -62
  190. package/sharing/funcs.js +239 -239
  191. package/sharing/index.d.ts +5 -5
  192. package/sharing/index.js +5 -5
  193. package/sharing/item.d.ts +16 -16
  194. package/sharing/item.js +15 -15
  195. package/sharing/types.d.ts +583 -583
  196. package/sharing/types.js +113 -113
  197. package/sharing/web.d.ts +19 -19
  198. package/sharing/web.js +76 -76
  199. package/site-designs/index.d.ts +8 -8
  200. package/site-designs/index.js +14 -14
  201. package/site-designs/types.d.ts +319 -319
  202. package/site-designs/types.js +203 -203
  203. package/site-designs/web.d.ts +25 -25
  204. package/site-designs/web.js +11 -11
  205. package/site-groups/index.d.ts +2 -2
  206. package/site-groups/index.js +2 -2
  207. package/site-groups/types.d.ts +89 -89
  208. package/site-groups/types.js +125 -125
  209. package/site-groups/web.d.ts +40 -40
  210. package/site-groups/web.js +30 -30
  211. package/site-scripts/index.d.ts +9 -9
  212. package/site-scripts/index.js +15 -15
  213. package/site-scripts/list.d.ts +12 -12
  214. package/site-scripts/list.js +24 -24
  215. package/site-scripts/types.d.ts +183 -183
  216. package/site-scripts/types.js +141 -141
  217. package/site-scripts/web.d.ts +13 -13
  218. package/site-scripts/web.js +5 -5
  219. package/site-users/index.d.ts +2 -2
  220. package/site-users/index.js +2 -2
  221. package/site-users/types.d.ts +138 -138
  222. package/site-users/types.js +122 -122
  223. package/site-users/web.d.ts +31 -31
  224. package/site-users/web.js +27 -27
  225. package/sites/index.d.ts +7 -7
  226. package/sites/index.js +13 -13
  227. package/sites/types.d.ts +147 -147
  228. package/sites/types.js +321 -321
  229. package/social/index.d.ts +10 -10
  230. package/social/index.js +13 -13
  231. package/social/types.d.ts +309 -309
  232. package/social/types.js +322 -322
  233. package/sphttpclient.d.ts +18 -18
  234. package/sphttpclient.js +189 -189
  235. package/splibconfig.d.ts +22 -22
  236. package/splibconfig.js +13 -13
  237. package/sputilities/index.d.ts +7 -7
  238. package/sputilities/index.js +13 -13
  239. package/sputilities/types.d.ts +130 -130
  240. package/sputilities/types.js +118 -118
  241. package/subscriptions/index.d.ts +2 -2
  242. package/subscriptions/index.js +2 -2
  243. package/subscriptions/list.d.ts +13 -13
  244. package/subscriptions/list.js +4 -4
  245. package/subscriptions/types.d.ts +54 -54
  246. package/subscriptions/types.js +111 -111
  247. package/taxonomy/index.d.ts +7 -7
  248. package/taxonomy/index.js +13 -13
  249. package/taxonomy/types.d.ts +200 -200
  250. package/taxonomy/types.js +347 -347
  251. package/telemetry.d.ts +12 -12
  252. package/telemetry.js +48 -48
  253. package/types.d.ts +218 -218
  254. package/types.js +79 -79
  255. package/user-custom-actions/index.d.ts +4 -4
  256. package/user-custom-actions/index.js +4 -4
  257. package/user-custom-actions/list.d.ts +12 -12
  258. package/user-custom-actions/list.js +4 -4
  259. package/user-custom-actions/site.d.ts +12 -12
  260. package/user-custom-actions/site.js +4 -4
  261. package/user-custom-actions/types.d.ts +82 -82
  262. package/user-custom-actions/types.js +93 -93
  263. package/user-custom-actions/web.d.ts +15 -15
  264. package/user-custom-actions/web.js +4 -4
  265. package/utils/escapeQueryStrValue.d.ts +1 -1
  266. package/utils/escapeQueryStrValue.js +19 -19
  267. package/utils/extractweburl.d.ts +1 -1
  268. package/utils/extractweburl.js +15 -15
  269. package/utils/file-names.d.ts +17 -17
  270. package/utils/file-names.js +38 -38
  271. package/utils/metadata.d.ts +5 -5
  272. package/utils/metadata.js +5 -5
  273. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  274. package/utils/objectToSPKeyValueCollection.js +16 -16
  275. package/utils/toResourcePath.d.ts +7 -7
  276. package/utils/toResourcePath.js +6 -6
  277. package/utils/toabsoluteurl.d.ts +7 -7
  278. package/utils/toabsoluteurl.js +61 -61
  279. package/views/index.d.ts +2 -2
  280. package/views/index.js +2 -2
  281. package/views/list.d.ts +23 -23
  282. package/views/list.js +8 -8
  283. package/views/types.d.ts +140 -140
  284. package/views/types.js +184 -184
  285. package/webparts/file.d.ts +15 -15
  286. package/webparts/file.js +6 -6
  287. package/webparts/index.d.ts +2 -2
  288. package/webparts/index.js +2 -2
  289. package/webparts/types.d.ts +83 -83
  290. package/webparts/types.js +117 -117
  291. package/webs/index.d.ts +16 -16
  292. package/webs/index.js +16 -16
  293. package/webs/types.d.ts +210 -210
  294. package/webs/types.js +295 -295
@@ -1,199 +1,199 @@
1
- import { __awaiter, __generator } from "tslib";
2
- import { addProp, TextParser, headers, body } from "@pnp/odata";
3
- import { _List, List } from "../lists/types.js";
4
- import { Folder } from "../folders/types.js";
5
- import { combine, isArray } from "@pnp/common";
6
- import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
7
- import { Logger } from "@pnp/logging";
8
- import { spPost } from "../operations.js";
9
- import { SharePointQueryableCollection } from "../presets/all.js";
10
- addProp(_List, "rootFolder", Folder, "rootFolder");
11
- _List.prototype.getDefaultColumnValues = function () {
12
- return __awaiter(this, void 0, void 0, function () {
13
- var pathPart, webUrl, path, baseFilePath, xml, e_1, matches, tags;
14
- return __generator(this, function (_a) {
15
- switch (_a.label) {
16
- case 0: return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
17
- case 1:
18
- pathPart = _a.sent();
19
- return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
20
- case 2:
21
- webUrl = _a.sent();
22
- path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms/client_LocationBasedDefaults.html");
23
- baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFileByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')");
24
- xml = "";
25
- _a.label = 3;
26
- case 3:
27
- _a.trys.push([3, 5, , 6]);
28
- return [4 /*yield*/, Folder(baseFilePath, "$value").usingParser(new TextParser())(headers({ "binaryStringResponseBody": "true" }))];
29
- case 4:
30
- xml = _a.sent();
31
- return [3 /*break*/, 6];
32
- case 5:
33
- e_1 = _a.sent();
34
- // if this call fails we assume it is because the file is 404
35
- if (e_1 && e_1.status && e_1.status === 404) {
36
- // return an empty array
37
- return [2 /*return*/, []];
38
- }
39
- throw e_1;
40
- case 6:
41
- matches = xml.match(/<a.*?<\/a>/ig);
42
- tags = matches === null ? [] : matches.map(function (t) { return t.trim(); });
43
- // now we need to turn these tags of form into objects
44
- // <a href="/sites/dev/My%20Title"><DefaultValue FieldName="TextField">Test</DefaultValue></a>
45
- return [2 /*return*/, tags.reduce(function (defVals, t) {
46
- var m = /<a href="(.*?)">/ig.exec(t);
47
- // if things worked out captures are:
48
- // 0: whole string
49
- // 1: ENCODED server relative path
50
- if (m.length < 1) {
51
- // this indicates an error somewhere, but we have no way to meaningfully recover
52
- // perhaps the way the tags are stored has changed on the server? Check that first.
53
- Logger.write("Could not parse default column value from '" + t + "'", 2 /* Warning */);
54
- return null;
55
- }
56
- // return the parsed out values
57
- var subMatches = t.match(/<DefaultValue.*?<\/DefaultValue>/ig);
58
- var subTags = subMatches === null ? [] : subMatches.map(function (st) { return st.trim(); });
59
- subTags.map(function (st) {
60
- var sm = /<DefaultValue FieldName="(.*?)">(.*?)<\/DefaultValue>/ig.exec(st);
61
- // if things worked out captures are:
62
- // 0: whole string
63
- // 1: Field internal name
64
- // 2: Default value as string
65
- if (sm.length < 1) {
66
- Logger.write("Could not parse default column value from '" + st + "'", 2 /* Warning */);
67
- }
68
- else {
69
- defVals.push({
70
- name: sm[1],
71
- path: decodeURIComponent(m[1]),
72
- value: sm[2],
73
- });
74
- }
75
- });
76
- return defVals;
77
- }, []).filter(function (v) { return v !== null; })];
78
- }
79
- });
80
- });
81
- };
82
- _List.prototype.setDefaultColumnValues = function (defaults) {
83
- return __awaiter(this, void 0, void 0, function () {
84
- var fieldDefs, defaultsByPath, i, paths, pathDefaults, j, pathFields, tags, href, pathDefault, xml, pathPart, webUrl, path, baseFilePath, existingReceivers;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
87
- case 0: return [4 /*yield*/, SharePointQueryableCollection(this, "fields").select("InternalName", "TypeAsString").filter("Hidden ne true")()];
88
- case 1:
89
- fieldDefs = _a.sent();
90
- defaultsByPath = {};
91
- for (i = 0; i < defaults.length; i++) {
92
- if (defaultsByPath[defaults[i].path] == null) {
93
- defaultsByPath[defaults[i].path] = [defaults[i]];
94
- }
95
- else {
96
- defaultsByPath[defaults[i].path].push(defaults[i]);
97
- }
98
- }
99
- paths = Object.getOwnPropertyNames(defaultsByPath);
100
- pathDefaults = [];
101
- // For each path, group field defaults
102
- for (j = 0; j < paths.length; j++) {
103
- pathFields = defaultsByPath[paths[j]];
104
- tags = pathFields.map(function (fieldDefault) {
105
- var index = fieldDefs.findIndex(function (fd) { return fd.InternalName === fieldDefault.name; });
106
- if (index < 0) {
107
- throw Error("Field '" + fieldDefault.name + "' does not exist in the list. Please check the internal field name. Failed to set defaults.");
108
- }
109
- var fieldDef = fieldDefs[index];
110
- var value = "";
111
- switch (fieldDef.TypeAsString) {
112
- case "Boolean":
113
- case "Currency":
114
- case "Text":
115
- case "DateTime":
116
- case "Number":
117
- case "Choice":
118
- case "User":
119
- if (isArray(fieldDefault.value)) {
120
- throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
121
- }
122
- value = "" + fieldDefault.value;
123
- break;
124
- case "MultiChoice":
125
- if (isArray(fieldDefault.value)) {
126
- value = fieldDefault.value.map(function (v) { return "" + v; }).join(";");
127
- }
128
- else {
129
- value = "" + fieldDefault.value;
130
- }
131
- break;
132
- case "UserMulti":
133
- if (isArray(fieldDefault.value)) {
134
- value = fieldDefault.value.map(function (v) { return "" + v; }).join(";#");
135
- }
136
- else {
137
- value = "" + fieldDefault.value;
138
- }
139
- break;
140
- case "Taxonomy":
141
- case "TaxonomyFieldType":
142
- if (isArray(fieldDefault.value)) {
143
- throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
144
- }
145
- else {
146
- value = fieldDefault.value.wssId + ";#" + fieldDefault.value.termName + "|" + fieldDefault.value.termId;
147
- }
148
- break;
149
- case "TaxonomyMulti":
150
- case "TaxonomyFieldTypeMulti":
151
- if (isArray(fieldDefault.value)) {
152
- value = fieldDefault.value.map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
153
- }
154
- else {
155
- value = [fieldDefault.value].map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
156
- }
157
- break;
158
- }
159
- return "<DefaultValue FieldName=\"" + fieldDefault.name + "\">" + value + "</DefaultValue>";
160
- });
161
- href = pathFields[0].path.replace(/ /gi, "%20");
162
- pathDefault = "<a href=\"" + href + "\">" + tags.join("") + "</a>";
163
- pathDefaults.push(pathDefault);
164
- }
165
- xml = "<MetadataDefaults>" + pathDefaults.join("") + "</MetadataDefaults>";
166
- return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
167
- case 2:
168
- pathPart = _a.sent();
169
- return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
170
- case 3:
171
- webUrl = _a.sent();
172
- path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms");
173
- baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFolderByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')", "files");
174
- return [4 /*yield*/, spPost(Folder(baseFilePath, "add(overwrite=true,url='client_LocationBasedDefaults.html')"), { body: xml })];
175
- case 4:
176
- _a.sent();
177
- return [4 /*yield*/, this.eventReceivers.filter("ReceiverName eq 'LocationBasedMetadataDefaultsReceiver ItemAdded'").select("ReceiverId")()];
178
- case 5:
179
- existingReceivers = _a.sent();
180
- if (!(existingReceivers.length < 1)) return [3 /*break*/, 7];
181
- return [4 /*yield*/, spPost(List(this.eventReceivers, "add"), body({
182
- eventReceiverCreationInformation: {
183
- EventType: 10001,
184
- ReceiverAssembly: "Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c",
185
- ReceiverClass: "Microsoft.Office.DocumentManagement.LocationBasedMetadataDefaultsReceiver",
186
- ReceiverName: "LocationBasedMetadataDefaultsReceiver ItemAdded",
187
- SequenceNumber: 1000,
188
- Synchronization: 1,
189
- },
190
- }))];
191
- case 6:
192
- _a.sent();
193
- _a.label = 7;
194
- case 7: return [2 /*return*/];
195
- }
196
- });
197
- });
198
- };
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { addProp, TextParser, headers, body } from "@pnp/odata";
3
+ import { _List, List } from "../lists/types.js";
4
+ import { Folder } from "../folders/types.js";
5
+ import { combine, isArray } from "@pnp/common";
6
+ import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
7
+ import { Logger } from "@pnp/logging";
8
+ import { spPost } from "../operations.js";
9
+ import { SharePointQueryableCollection } from "../presets/all.js";
10
+ addProp(_List, "rootFolder", Folder, "rootFolder");
11
+ _List.prototype.getDefaultColumnValues = function () {
12
+ return __awaiter(this, void 0, void 0, function () {
13
+ var pathPart, webUrl, path, baseFilePath, xml, e_1, matches, tags;
14
+ return __generator(this, function (_a) {
15
+ switch (_a.label) {
16
+ case 0: return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
17
+ case 1:
18
+ pathPart = _a.sent();
19
+ return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
20
+ case 2:
21
+ webUrl = _a.sent();
22
+ path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms/client_LocationBasedDefaults.html");
23
+ baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFileByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')");
24
+ xml = "";
25
+ _a.label = 3;
26
+ case 3:
27
+ _a.trys.push([3, 5, , 6]);
28
+ return [4 /*yield*/, Folder(baseFilePath, "$value").usingParser(new TextParser())(headers({ "binaryStringResponseBody": "true" }))];
29
+ case 4:
30
+ xml = _a.sent();
31
+ return [3 /*break*/, 6];
32
+ case 5:
33
+ e_1 = _a.sent();
34
+ // if this call fails we assume it is because the file is 404
35
+ if (e_1 && e_1.status && e_1.status === 404) {
36
+ // return an empty array
37
+ return [2 /*return*/, []];
38
+ }
39
+ throw e_1;
40
+ case 6:
41
+ matches = xml.match(/<a.*?<\/a>/ig);
42
+ tags = matches === null ? [] : matches.map(function (t) { return t.trim(); });
43
+ // now we need to turn these tags of form into objects
44
+ // <a href="/sites/dev/My%20Title"><DefaultValue FieldName="TextField">Test</DefaultValue></a>
45
+ return [2 /*return*/, tags.reduce(function (defVals, t) {
46
+ var m = /<a href="(.*?)">/ig.exec(t);
47
+ // if things worked out captures are:
48
+ // 0: whole string
49
+ // 1: ENCODED server relative path
50
+ if (m.length < 1) {
51
+ // this indicates an error somewhere, but we have no way to meaningfully recover
52
+ // perhaps the way the tags are stored has changed on the server? Check that first.
53
+ Logger.write("Could not parse default column value from '" + t + "'", 2 /* Warning */);
54
+ return null;
55
+ }
56
+ // return the parsed out values
57
+ var subMatches = t.match(/<DefaultValue.*?<\/DefaultValue>/ig);
58
+ var subTags = subMatches === null ? [] : subMatches.map(function (st) { return st.trim(); });
59
+ subTags.map(function (st) {
60
+ var sm = /<DefaultValue FieldName="(.*?)">(.*?)<\/DefaultValue>/ig.exec(st);
61
+ // if things worked out captures are:
62
+ // 0: whole string
63
+ // 1: Field internal name
64
+ // 2: Default value as string
65
+ if (sm.length < 1) {
66
+ Logger.write("Could not parse default column value from '" + st + "'", 2 /* Warning */);
67
+ }
68
+ else {
69
+ defVals.push({
70
+ name: sm[1],
71
+ path: decodeURIComponent(m[1]),
72
+ value: sm[2],
73
+ });
74
+ }
75
+ });
76
+ return defVals;
77
+ }, []).filter(function (v) { return v !== null; })];
78
+ }
79
+ });
80
+ });
81
+ };
82
+ _List.prototype.setDefaultColumnValues = function (defaults) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var fieldDefs, defaultsByPath, i, paths, pathDefaults, j, pathFields, tags, href, pathDefault, xml, pathPart, webUrl, path, baseFilePath, existingReceivers;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0: return [4 /*yield*/, SharePointQueryableCollection(this, "fields").select("InternalName", "TypeAsString").filter("Hidden ne true")()];
88
+ case 1:
89
+ fieldDefs = _a.sent();
90
+ defaultsByPath = {};
91
+ for (i = 0; i < defaults.length; i++) {
92
+ if (defaultsByPath[defaults[i].path] == null) {
93
+ defaultsByPath[defaults[i].path] = [defaults[i]];
94
+ }
95
+ else {
96
+ defaultsByPath[defaults[i].path].push(defaults[i]);
97
+ }
98
+ }
99
+ paths = Object.getOwnPropertyNames(defaultsByPath);
100
+ pathDefaults = [];
101
+ // For each path, group field defaults
102
+ for (j = 0; j < paths.length; j++) {
103
+ pathFields = defaultsByPath[paths[j]];
104
+ tags = pathFields.map(function (fieldDefault) {
105
+ var index = fieldDefs.findIndex(function (fd) { return fd.InternalName === fieldDefault.name; });
106
+ if (index < 0) {
107
+ throw Error("Field '" + fieldDefault.name + "' does not exist in the list. Please check the internal field name. Failed to set defaults.");
108
+ }
109
+ var fieldDef = fieldDefs[index];
110
+ var value = "";
111
+ switch (fieldDef.TypeAsString) {
112
+ case "Boolean":
113
+ case "Currency":
114
+ case "Text":
115
+ case "DateTime":
116
+ case "Number":
117
+ case "Choice":
118
+ case "User":
119
+ if (isArray(fieldDefault.value)) {
120
+ throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
121
+ }
122
+ value = "" + fieldDefault.value;
123
+ break;
124
+ case "MultiChoice":
125
+ if (isArray(fieldDefault.value)) {
126
+ value = fieldDefault.value.map(function (v) { return "" + v; }).join(";");
127
+ }
128
+ else {
129
+ value = "" + fieldDefault.value;
130
+ }
131
+ break;
132
+ case "UserMulti":
133
+ if (isArray(fieldDefault.value)) {
134
+ value = fieldDefault.value.map(function (v) { return "" + v; }).join(";#");
135
+ }
136
+ else {
137
+ value = "" + fieldDefault.value;
138
+ }
139
+ break;
140
+ case "Taxonomy":
141
+ case "TaxonomyFieldType":
142
+ if (isArray(fieldDefault.value)) {
143
+ throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
144
+ }
145
+ else {
146
+ value = fieldDefault.value.wssId + ";#" + fieldDefault.value.termName + "|" + fieldDefault.value.termId;
147
+ }
148
+ break;
149
+ case "TaxonomyMulti":
150
+ case "TaxonomyFieldTypeMulti":
151
+ if (isArray(fieldDefault.value)) {
152
+ value = fieldDefault.value.map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
153
+ }
154
+ else {
155
+ value = [fieldDefault.value].map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
156
+ }
157
+ break;
158
+ }
159
+ return "<DefaultValue FieldName=\"" + fieldDefault.name + "\">" + value + "</DefaultValue>";
160
+ });
161
+ href = pathFields[0].path.replace(/ /gi, "%20");
162
+ pathDefault = "<a href=\"" + href + "\">" + tags.join("") + "</a>";
163
+ pathDefaults.push(pathDefault);
164
+ }
165
+ xml = "<MetadataDefaults>" + pathDefaults.join("") + "</MetadataDefaults>";
166
+ return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
167
+ case 2:
168
+ pathPart = _a.sent();
169
+ return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
170
+ case 3:
171
+ webUrl = _a.sent();
172
+ path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms");
173
+ baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFolderByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')", "files");
174
+ return [4 /*yield*/, spPost(Folder(baseFilePath, "add(overwrite=true,url='client_LocationBasedDefaults.html')"), { body: xml })];
175
+ case 4:
176
+ _a.sent();
177
+ return [4 /*yield*/, this.eventReceivers.filter("ReceiverName eq 'LocationBasedMetadataDefaultsReceiver ItemAdded'").select("ReceiverId")()];
178
+ case 5:
179
+ existingReceivers = _a.sent();
180
+ if (!(existingReceivers.length < 1)) return [3 /*break*/, 7];
181
+ return [4 /*yield*/, spPost(List(this.eventReceivers, "add"), body({
182
+ eventReceiverCreationInformation: {
183
+ EventType: 10001,
184
+ ReceiverAssembly: "Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c",
185
+ ReceiverClass: "Microsoft.Office.DocumentManagement.LocationBasedMetadataDefaultsReceiver",
186
+ ReceiverName: "LocationBasedMetadataDefaultsReceiver ItemAdded",
187
+ SequenceNumber: 1000,
188
+ Synchronization: 1,
189
+ },
190
+ }))];
191
+ case 6:
192
+ _a.sent();
193
+ _a.label = 7;
194
+ case 7: return [2 /*return*/];
195
+ }
196
+ });
197
+ });
198
+ };
199
199
  //# sourceMappingURL=list.js.map
@@ -1,22 +1,22 @@
1
- export declare type AllowedDefaultColumnValues = number | string | boolean | {
2
- wssId: string;
3
- termName: string;
4
- termId: string;
5
- };
6
- export interface IFieldDefaultProps {
7
- /**
8
- * Internal name of the field
9
- */
10
- name: string;
11
- /**
12
- * The value of the field to set
13
- */
14
- value: AllowedDefaultColumnValues | AllowedDefaultColumnValues[];
15
- }
16
- export interface IFieldDefault extends IFieldDefaultProps {
17
- /**
18
- * The unencoded server relative path for this default
19
- */
20
- path: string;
21
- }
1
+ export declare type AllowedDefaultColumnValues = number | string | boolean | {
2
+ wssId: string;
3
+ termName: string;
4
+ termId: string;
5
+ };
6
+ export interface IFieldDefaultProps {
7
+ /**
8
+ * Internal name of the field
9
+ */
10
+ name: string;
11
+ /**
12
+ * The value of the field to set
13
+ */
14
+ value: AllowedDefaultColumnValues | AllowedDefaultColumnValues[];
15
+ }
16
+ export interface IFieldDefault extends IFieldDefaultProps {
17
+ /**
18
+ * The unencoded server relative path for this default
19
+ */
20
+ path: string;
21
+ }
22
22
  //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=types.js.map
@@ -1,58 +1,58 @@
1
- import { ICommentInfo, IComment, ILikedByInformation } from "./types.js";
2
- import { IItemUpdateResult } from "../items/index.js";
3
- declare module "../clientside-pages/types" {
4
- interface _ClientsidePage {
5
- addComment(info: string | ICommentInfo): Promise<IComment & ICommentInfo>;
6
- getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
7
- clearComments(): Promise<boolean>;
8
- getComments(): Promise<ICommentInfo[]>;
9
- like(): Promise<void>;
10
- unlike(): Promise<void>;
11
- getLikedByInformation(): Promise<ILikedByInformation>;
12
- enableComments(): Promise<IItemUpdateResult>;
13
- disableComments(): Promise<IItemUpdateResult>;
14
- setCommentsOn(on: boolean): Promise<IItemUpdateResult>;
15
- }
16
- interface IClientsidePage {
17
- /**
18
- * Adds a comment to this page
19
- *
20
- * @param info The comment information
21
- */
22
- addComment(info: string | ICommentInfo): Promise<IComment & ICommentInfo>;
23
- /**
24
- *
25
- * @param id gets a comment by id
26
- */
27
- getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
28
- /**
29
- * Deletes all comments for this page
30
- */
31
- clearComments(): Promise<boolean>;
32
- /**
33
- * Gets all the comments for this page
34
- */
35
- getComments(): Promise<ICommentInfo[]>;
36
- /**
37
- * Like this page
38
- */
39
- like(): Promise<void>;
40
- /**
41
- * Unlike this page
42
- */
43
- unlike(): Promise<void>;
44
- /**
45
- * gets list of who likes the page, current user's status, a few other details
46
- */
47
- getLikedByInformation(): Promise<ILikedByInformation>;
48
- /**
49
- * Enables comments for this page
50
- */
51
- enableComments(): Promise<IItemUpdateResult>;
52
- /**
53
- * Disables comments for this page
54
- */
55
- disableComments(): Promise<IItemUpdateResult>;
56
- }
57
- }
1
+ import { ICommentInfo, IComment, ILikedByInformation } from "./types.js";
2
+ import { IItemUpdateResult } from "../items/index.js";
3
+ declare module "../clientside-pages/types" {
4
+ interface _ClientsidePage {
5
+ addComment(info: string | ICommentInfo): Promise<IComment & ICommentInfo>;
6
+ getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
7
+ clearComments(): Promise<boolean>;
8
+ getComments(): Promise<ICommentInfo[]>;
9
+ like(): Promise<void>;
10
+ unlike(): Promise<void>;
11
+ getLikedByInformation(): Promise<ILikedByInformation>;
12
+ enableComments(): Promise<IItemUpdateResult>;
13
+ disableComments(): Promise<IItemUpdateResult>;
14
+ setCommentsOn(on: boolean): Promise<IItemUpdateResult>;
15
+ }
16
+ interface IClientsidePage {
17
+ /**
18
+ * Adds a comment to this page
19
+ *
20
+ * @param info The comment information
21
+ */
22
+ addComment(info: string | Partial<ICommentInfo>): Promise<IComment & ICommentInfo>;
23
+ /**
24
+ *
25
+ * @param id gets a comment by id
26
+ */
27
+ getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
28
+ /**
29
+ * Deletes all comments for this page
30
+ */
31
+ clearComments(): Promise<boolean>;
32
+ /**
33
+ * Gets all the comments for this page
34
+ */
35
+ getComments(): Promise<ICommentInfo[]>;
36
+ /**
37
+ * Like this page
38
+ */
39
+ like(): Promise<void>;
40
+ /**
41
+ * Unlike this page
42
+ */
43
+ unlike(): Promise<void>;
44
+ /**
45
+ * gets list of who likes the page, current user's status, a few other details
46
+ */
47
+ getLikedByInformation(): Promise<ILikedByInformation>;
48
+ /**
49
+ * Enables comments for this page
50
+ */
51
+ enableComments(): Promise<IItemUpdateResult>;
52
+ /**
53
+ * Disables comments for this page
54
+ */
55
+ disableComments(): Promise<IItemUpdateResult>;
56
+ }
57
+ }
58
58
  //# sourceMappingURL=clientside-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientside-page.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/comments/clientside-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAW,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAQ,MAAM,mBAAmB,CAAC;AAI5D,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,eAAe;QACrB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAC1E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;KAC1D;IACD,UAAU,eAAe;QACrB;;;;WAIG;QACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAC1E;;;WAGG;QACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE;;WAEG;QACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC;;WAEG;QACH,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC;;WAEG;QACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB;;WAEG;QACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB;;WAEG;QACH,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD;;WAEG;QACH,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C;;WAEG;QACH,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjD;CACJ"}
1
+ {"version":3,"file":"clientside-page.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/comments/clientside-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAW,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAQ,MAAM,mBAAmB,CAAC;AAI5D,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,eAAe;QACrB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAC1E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;KAC1D;IACD,UAAU,eAAe;QACrB;;;;WAIG;QACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACnF;;;WAGG;QACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE;;WAEG;QACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC;;WAEG;QACH,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC;;WAEG;QACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB;;WAEG;QACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB;;WAEG;QACH,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD;;WAEG;QACH,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C;;WAEG;QACH,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjD;CACJ"}