dattatable 2.7.1 → 2.7.3

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 (49) hide show
  1. package/build/common/list.d.ts +8 -1
  2. package/build/common/list.js +73 -3
  3. package/dist/dattatable.js +1 -1
  4. package/dist/dattatable.min.js +1 -1
  5. package/docs/assets/search.js +1 -1
  6. package/docs/classes/AuditLog.html +13 -13
  7. package/docs/classes/CanvasForm.html +17 -17
  8. package/docs/classes/Comments.html +12 -12
  9. package/docs/classes/Dashboard.html +17 -17
  10. package/docs/classes/DataTable.html +11 -11
  11. package/docs/classes/Documents.html +45 -45
  12. package/docs/classes/FilterSlideout.html +14 -14
  13. package/docs/classes/Footer.html +4 -4
  14. package/docs/classes/Header.html +4 -4
  15. package/docs/classes/InstallationRequired.html +12 -12
  16. package/docs/classes/ItemForm.html +47 -47
  17. package/docs/classes/List.html +103 -44
  18. package/docs/classes/LoadingDialog.html +12 -12
  19. package/docs/classes/Modal.html +26 -26
  20. package/docs/classes/Navigation.html +6 -6
  21. package/docs/classes/Timeout.html +7 -7
  22. package/docs/enums/ActionButtonTypes.html +6 -6
  23. package/docs/functions/formatBytes.html +1 -1
  24. package/docs/functions/formatDateValue.html +1 -1
  25. package/docs/functions/formatTimeValue.html +1 -1
  26. package/docs/functions/getFileExt.html +1 -1
  27. package/docs/interfaces/IAuditLogItem.html +9 -9
  28. package/docs/interfaces/IAuditLogItemCreation.html +7 -7
  29. package/docs/interfaces/IAuditLogProps.html +5 -5
  30. package/docs/interfaces/IAuditLogViewProps.html +6 -6
  31. package/docs/interfaces/ICommentsItem.html +6 -6
  32. package/docs/interfaces/IDashboardProps.html +14 -14
  33. package/docs/interfaces/IDataTable.html +7 -7
  34. package/docs/interfaces/IDataTableProps.html +6 -6
  35. package/docs/interfaces/IDocumentsProps.html +25 -25
  36. package/docs/interfaces/IFilterItem.html +5 -5
  37. package/docs/interfaces/IFilterProps.html +4 -4
  38. package/docs/interfaces/IFooterProps.html +6 -6
  39. package/docs/interfaces/IHeaderProps.html +5 -5
  40. package/docs/interfaces/IInstallProps.html +4 -4
  41. package/docs/interfaces/IItemFormCreateProps.html +14 -14
  42. package/docs/interfaces/IItemFormEditProps.html +15 -15
  43. package/docs/interfaces/IItemFormTab.html +8 -8
  44. package/docs/interfaces/IItemFormTabInfo.html +3 -3
  45. package/docs/interfaces/IItemFormViewProps.html +12 -12
  46. package/docs/interfaces/IListProps.html +20 -13
  47. package/docs/interfaces/IShowDialogProps.html +7 -7
  48. package/docs/variables/DattaTable.html +1 -1
  49. package/package.json +1 -1
@@ -4,11 +4,12 @@ import { IItemFormCreateProps, IItemFormEditProps, IItemFormViewProps } from "..
4
4
  export interface IListProps<T = Types.SP.ListItem> {
5
5
  itemQuery?: Types.IODataQuery;
6
6
  listName: string;
7
+ viewName?: string;
7
8
  onInitError?: (...args: any[]) => void;
8
9
  onInitialized?: () => void;
9
10
  onItemsLoaded?: (items?: T[]) => void;
10
11
  onLoadFormError?: (...args: any[]) => void;
11
- onRefreshItems?: (items?: T[]) => void;
12
+ onRefreshItems?: (items?: T[]) => void | PromiseLike<any>;
12
13
  onResetForm?: () => void;
13
14
  webUrl?: string;
14
15
  }
@@ -37,6 +38,10 @@ export declare class List<T = Types.SP.ListItem> {
37
38
  get OData(): Types.IODataQuery;
38
39
  get ViewForm(): import("gd-sprest-bs/src/components/components").IListFormDisplay;
39
40
  get ViewForms(): import("gd-sprest-bs/src/components/components").IListFormDisplay[];
41
+ private _viewName;
42
+ get ViewName(): string;
43
+ private _viewXml;
44
+ get ViewXml(): string;
40
45
  private _webUrl;
41
46
  get WebUrl(): string;
42
47
  /** Private Properties */
@@ -54,6 +59,8 @@ export declare class List<T = Types.SP.ListItem> {
54
59
  private init;
55
60
  private loadItem;
56
61
  private loadItems;
62
+ private loadItemsByQuery;
63
+ private loadItemsByView;
57
64
  refresh(query?: Types.IODataQuery): PromiseLike<T[]>;
58
65
  refreshItem(itemId: number, query?: Types.IODataQuery): PromiseLike<T>;
59
66
  updateItem(itemId: number, values: any): PromiseLike<void>;
@@ -26,6 +26,10 @@ var List = /** @class */ (function () {
26
26
  this._listName = null;
27
27
  // OData query
28
28
  this._odata = null;
29
+ // View name
30
+ this._viewName = null;
31
+ // View Xml
32
+ this._viewXml = null;
29
33
  // Web Url
30
34
  this._webUrl = null;
31
35
  /** Private Properties */
@@ -49,6 +53,7 @@ var List = /** @class */ (function () {
49
53
  this._onItemsLoaded = props.onItemsLoaded;
50
54
  this._onLoadFormError = props.onLoadFormError;
51
55
  this._onResetForm = props.onResetForm;
56
+ this._viewName = props.viewName;
52
57
  this._webUrl = props.webUrl || gd_sprest_bs_1.ContextInfo.webServerRelativeUrl;
53
58
  // Load the list information
54
59
  this.init().then(function () {
@@ -142,6 +147,16 @@ var List = /** @class */ (function () {
142
147
  enumerable: false,
143
148
  configurable: true
144
149
  });
150
+ Object.defineProperty(List.prototype, "ViewName", {
151
+ get: function () { return this._viewName; },
152
+ enumerable: false,
153
+ configurable: true
154
+ });
155
+ Object.defineProperty(List.prototype, "ViewXml", {
156
+ get: function () { return this._viewXml; },
157
+ enumerable: false,
158
+ configurable: true
159
+ });
145
160
  Object.defineProperty(List.prototype, "WebUrl", {
146
161
  get: function () { return this._webUrl; },
147
162
  enumerable: false,
@@ -223,6 +238,17 @@ var List = /** @class */ (function () {
223
238
  }, true);
224
239
  // Wait for the requests to complete
225
240
  list.done(function () {
241
+ // See if the view name is specified
242
+ if (_this.ViewName) {
243
+ // Parse the views
244
+ for (var i = 0; i < _this.ListViews.length; i++) {
245
+ var view = _this.ListViews[i];
246
+ if (view.Title.toLowerCase() == _this.ViewName.toLowerCase()) {
247
+ // Set the view xml
248
+ _this._viewXml = view.ListViewXml;
249
+ }
250
+ }
251
+ }
226
252
  // Resolve the request
227
253
  resolve();
228
254
  });
@@ -272,6 +298,18 @@ var List = /** @class */ (function () {
272
298
  };
273
299
  // Loads the items
274
300
  List.prototype.loadItems = function (query) {
301
+ // See if the view xml exists
302
+ if (this.ViewXml) {
303
+ // Get the items by the view name
304
+ return this.loadItemsByView();
305
+ }
306
+ else {
307
+ // Get the items by odata
308
+ return this.loadItemsByQuery(query);
309
+ }
310
+ };
311
+ // Loads the items by odata query
312
+ List.prototype.loadItemsByQuery = function (query) {
275
313
  var _this = this;
276
314
  if (query === void 0) { query = this.OData; }
277
315
  // Return a promise
@@ -297,6 +335,32 @@ var List = /** @class */ (function () {
297
335
  }, true);
298
336
  });
299
337
  };
338
+ // Loads the items by view name
339
+ List.prototype.loadItemsByView = function () {
340
+ var _this = this;
341
+ // Return a promise
342
+ return new Promise(function (resolve, reject) {
343
+ // See if the items already exist
344
+ if (_this._items) {
345
+ resolve(_this._items);
346
+ return;
347
+ }
348
+ // Query the items
349
+ (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName).getItems(_this.ViewXml).execute(function (items) {
350
+ // Save the items
351
+ _this._items = items.results;
352
+ // Resolve the request
353
+ resolve(_this._items);
354
+ }, function () {
355
+ var args = [];
356
+ for (var _i = 0; _i < arguments.length; _i++) {
357
+ args[_i] = arguments[_i];
358
+ }
359
+ // Reject the request
360
+ reject.apply(void 0, args);
361
+ }, true);
362
+ });
363
+ };
300
364
  // Refresh the data
301
365
  List.prototype.refresh = function (query) {
302
366
  var _this = this;
@@ -308,9 +372,15 @@ var List = /** @class */ (function () {
308
372
  // Load the data
309
373
  _this.loadItems(query).then(function (items) {
310
374
  // Call the event
311
- _this._onRefreshItems ? _this._onRefreshItems(items) : null;
312
- // Resolve the request
313
- resolve(items);
375
+ var callback = _this._onRefreshItems ? _this._onRefreshItems(items) : null;
376
+ if (callback && typeof (callback.then) === "function") {
377
+ // Wait for the request to complete
378
+ callback.then(resolve, reject);
379
+ }
380
+ else {
381
+ // Resolve the request
382
+ resolve(items);
383
+ }
314
384
  }, reject);
315
385
  });
316
386
  };
@@ -104,7 +104,7 @@ eval("\r\nvar __assign = (this && this.__assign) || function () {\r\n __assig
104
104
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
105
105
 
106
106
  "use strict";
107
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.List = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.10.17/node_modules/gd-sprest-bs/build/index.js\");\r\nvar common_1 = __webpack_require__(/*! ../common */ \"./build/common/index.js\");\r\n/**\r\n * List\r\n */\r\nvar List = /** @class */ (function () {\r\n // Constructor\r\n function List(props) {\r\n var _this = this;\r\n // List Content Types Information\r\n this._listContentTypes = null;\r\n // List Fields Information\r\n this._listFields = null;\r\n // List Information\r\n this._listInfo = null;\r\n // List Url\r\n this._listUrl = null;\r\n // List Views Information\r\n this._listViews = null;\r\n // Items\r\n this._items = null;\r\n // List Name\r\n this._listName = null;\r\n // OData query\r\n this._odata = null;\r\n // Web Url\r\n this._webUrl = null;\r\n /** Private Properties */\r\n // Error event when loading the items fail\r\n this._onInitError = null;\r\n // Event triggered when the component is initialized\r\n this._onInitialized = null;\r\n // Items loaded event\r\n this._onItemsLoaded = null;\r\n // Error event when loading a form\r\n this._onLoadFormError = null;\r\n // Refresh event when refreshing the items\r\n this._onRefreshItems = null;\r\n // Event triggered when the form is reset\r\n this._onResetForm = null;\r\n // Save the properties\r\n this._listName = props.listName;\r\n this._odata = props.itemQuery;\r\n this._onInitError = props.onInitError;\r\n this._onInitialized = props.onInitialized;\r\n this._onItemsLoaded = props.onItemsLoaded;\r\n this._onLoadFormError = props.onLoadFormError;\r\n this._onResetForm = props.onResetForm;\r\n this._webUrl = props.webUrl || gd_sprest_bs_1.ContextInfo.webServerRelativeUrl;\r\n // Load the list information\r\n this.init().then(function () {\r\n // Load the items\r\n _this.loadItems().then(function (items) {\r\n // Set the items\r\n _this._items = items;\r\n // Call the event\r\n _this._onInitialized ? _this._onInitialized() : null;\r\n // Call the items loaded event\r\n _this._onItemsLoaded ? _this._onItemsLoaded(_this.Items) : null;\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Call the init error event\r\n _this._onInitError ? _this._onInitError.apply(_this, args) : null;\r\n });\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Call the init error event\r\n _this._onInitError ? _this._onInitError.apply(_this, args) : null;\r\n });\r\n }\r\n Object.defineProperty(List.prototype, \"EditForm\", {\r\n /** Public Properties */\r\n // Reference to the edit form\r\n get: function () { return common_1.ItemForm.EditForm; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"EditForms\", {\r\n // Reference to the edit forms, if tabs are used\r\n get: function () { return common_1.ItemForm.EditForms; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListContentTypes\", {\r\n get: function () { return this._listContentTypes; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListFields\", {\r\n get: function () { return this._listFields; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListInfo\", {\r\n get: function () { return this._listInfo; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListUrl\", {\r\n get: function () { return this._listUrl; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListViews\", {\r\n get: function () { return this._listViews; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"Items\", {\r\n get: function () { return this._items; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListName\", {\r\n get: function () { return this._listName; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"OData\", {\r\n get: function () { return this._odata; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ViewForm\", {\r\n // Reference to the display form\r\n get: function () { return common_1.ItemForm.DisplayForm; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ViewForms\", {\r\n // Reference to the display forms, if tabs are used\r\n get: function () { return common_1.ItemForm.DisplayForms; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"WebUrl\", {\r\n get: function () { return this._webUrl; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Clears the modal or canvas\r\n List.prototype.clear = function () {\r\n // Clear the modal/form\r\n common_1.ItemForm.UseModal ? common_1.Modal.clear() : common_1.CanvasForm.clear();\r\n // Set the list name\r\n common_1.ItemForm.ListName = this.ListName;\r\n // Call the event\r\n this._onResetForm ? this._onResetForm() : null;\r\n };\r\n // Reference to the create item method\r\n List.prototype.createItem = function (values) {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Create the item\r\n _this.ListInfo.Items().add(values).execute(resolve, reject);\r\n });\r\n };\r\n // Displays the new form\r\n List.prototype.newForm = function (props) {\r\n // Clear the modal/canvas\r\n this.clear();\r\n // Display the form\r\n common_1.ItemForm.create(props).then(null, this._onLoadFormError);\r\n };\r\n // Displays the edit form\r\n List.prototype.editForm = function (props) {\r\n // Clear the modal/canvas\r\n this.clear();\r\n // Display the form\r\n common_1.ItemForm.edit(props).then(null, this._onLoadFormError);\r\n };\r\n // Initializes the list component\r\n List.prototype.init = function () {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n var list = (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName);\r\n // Query the list content types\r\n list.execute(function (list) {\r\n // Save the list information\r\n _this._listInfo = list;\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n });\r\n // Get the root folder\r\n list.RootFolder().execute(function (folder) {\r\n // Set the url\r\n _this._listUrl = folder.ServerRelativeUrl;\r\n }, true);\r\n // Query the content types\r\n list.ContentTypes().query({\r\n Expand: [\"FieldLinks\", \"Fields\"]\r\n }).execute(function (cts) {\r\n // Save the content types\r\n _this._listContentTypes = cts.results;\r\n }, true);\r\n // Query the list fields\r\n list.Fields().execute(function (fields) {\r\n // Save the fields\r\n _this._listFields = fields.results;\r\n }, true);\r\n // Query the list views\r\n list.Views().query({\r\n Expand: [\"FieldLinks\", \"Fields\"]\r\n }).execute(function (views) {\r\n // Save the views\r\n _this._listViews = views.results;\r\n }, true);\r\n // Wait for the requests to complete\r\n list.done(function () {\r\n // Resolve the request\r\n resolve();\r\n });\r\n });\r\n };\r\n // Loads the items\r\n List.prototype.loadItem = function (itemId, query) {\r\n var _this = this;\r\n if (query === void 0) { query = this.OData; }\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Query the items\r\n (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName).Items(itemId).query({\r\n Custom: query ? query.Custom : null,\r\n Expand: query ? query.Expand : null,\r\n Select: query ? query.Select : null\r\n }).execute(function (newItem) {\r\n var itemFound = false;\r\n // Parse the items\r\n for (var i = 0; i < _this._items.length; i++) {\r\n var item = _this._items[i];\r\n // See if this is the item\r\n if (itemId == item.Id) {\r\n // Replace the item\r\n _this._items[i] = newItem;\r\n // Set the flag and break from the loop\r\n itemFound = true;\r\n break;\r\n }\r\n }\r\n // See if the item wasn't found\r\n if (!itemFound) {\r\n // Append the item\r\n _this._items.push(newItem);\r\n }\r\n // Resolve the request\r\n resolve(newItem);\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n }, true);\r\n });\r\n };\r\n // Loads the items\r\n List.prototype.loadItems = function (query) {\r\n var _this = this;\r\n if (query === void 0) { query = this.OData; }\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // See if the items exist\r\n if (_this._items) {\r\n resolve(_this._items);\r\n return;\r\n }\r\n // Query the items\r\n (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName).Items().query(query).execute(function (items) {\r\n // Save the items\r\n _this._items = items.results;\r\n // Resolve the request\r\n resolve(_this._items);\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n }, true);\r\n });\r\n };\r\n // Refresh the data\r\n List.prototype.refresh = function (query) {\r\n var _this = this;\r\n if (query === void 0) { query = this.OData; }\r\n // Clear the items\r\n this._items = null;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Load the data\r\n _this.loadItems(query).then(function (items) {\r\n // Call the event\r\n _this._onRefreshItems ? _this._onRefreshItems(items) : null;\r\n // Resolve the request\r\n resolve(items);\r\n }, reject);\r\n });\r\n };\r\n // Refresh the data\r\n List.prototype.refreshItem = function (itemId, query) {\r\n if (query === void 0) { query = this.OData; }\r\n // Load the item\r\n return this.loadItem(itemId, query);\r\n };\r\n // Updates an item\r\n List.prototype.updateItem = function (itemId, values) {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Create the item\r\n _this.ListInfo.Items(itemId).update(values).execute(resolve, reject);\r\n });\r\n };\r\n // Displays the view form\r\n List.prototype.viewForm = function (props) {\r\n // Clear the modal/canvas\r\n this.clear();\r\n // Display the form\r\n common_1.ItemForm.view(props).then(null, this._onLoadFormError);\r\n };\r\n return List;\r\n}());\r\nexports.List = List;\r\n\n\n//# sourceURL=webpack://dattatable/./build/common/list.js?");
107
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.List = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.10.17/node_modules/gd-sprest-bs/build/index.js\");\r\nvar common_1 = __webpack_require__(/*! ../common */ \"./build/common/index.js\");\r\n/**\r\n * List\r\n */\r\nvar List = /** @class */ (function () {\r\n // Constructor\r\n function List(props) {\r\n var _this = this;\r\n // List Content Types Information\r\n this._listContentTypes = null;\r\n // List Fields Information\r\n this._listFields = null;\r\n // List Information\r\n this._listInfo = null;\r\n // List Url\r\n this._listUrl = null;\r\n // List Views Information\r\n this._listViews = null;\r\n // Items\r\n this._items = null;\r\n // List Name\r\n this._listName = null;\r\n // OData query\r\n this._odata = null;\r\n // View name\r\n this._viewName = null;\r\n // View Xml\r\n this._viewXml = null;\r\n // Web Url\r\n this._webUrl = null;\r\n /** Private Properties */\r\n // Error event when loading the items fail\r\n this._onInitError = null;\r\n // Event triggered when the component is initialized\r\n this._onInitialized = null;\r\n // Items loaded event\r\n this._onItemsLoaded = null;\r\n // Error event when loading a form\r\n this._onLoadFormError = null;\r\n // Refresh event when refreshing the items\r\n this._onRefreshItems = null;\r\n // Event triggered when the form is reset\r\n this._onResetForm = null;\r\n // Save the properties\r\n this._listName = props.listName;\r\n this._odata = props.itemQuery;\r\n this._onInitError = props.onInitError;\r\n this._onInitialized = props.onInitialized;\r\n this._onItemsLoaded = props.onItemsLoaded;\r\n this._onLoadFormError = props.onLoadFormError;\r\n this._onResetForm = props.onResetForm;\r\n this._viewName = props.viewName;\r\n this._webUrl = props.webUrl || gd_sprest_bs_1.ContextInfo.webServerRelativeUrl;\r\n // Load the list information\r\n this.init().then(function () {\r\n // Load the items\r\n _this.loadItems().then(function (items) {\r\n // Set the items\r\n _this._items = items;\r\n // Call the event\r\n _this._onInitialized ? _this._onInitialized() : null;\r\n // Call the items loaded event\r\n _this._onItemsLoaded ? _this._onItemsLoaded(_this.Items) : null;\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Call the init error event\r\n _this._onInitError ? _this._onInitError.apply(_this, args) : null;\r\n });\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Call the init error event\r\n _this._onInitError ? _this._onInitError.apply(_this, args) : null;\r\n });\r\n }\r\n Object.defineProperty(List.prototype, \"EditForm\", {\r\n /** Public Properties */\r\n // Reference to the edit form\r\n get: function () { return common_1.ItemForm.EditForm; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"EditForms\", {\r\n // Reference to the edit forms, if tabs are used\r\n get: function () { return common_1.ItemForm.EditForms; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListContentTypes\", {\r\n get: function () { return this._listContentTypes; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListFields\", {\r\n get: function () { return this._listFields; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListInfo\", {\r\n get: function () { return this._listInfo; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListUrl\", {\r\n get: function () { return this._listUrl; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListViews\", {\r\n get: function () { return this._listViews; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"Items\", {\r\n get: function () { return this._items; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ListName\", {\r\n get: function () { return this._listName; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"OData\", {\r\n get: function () { return this._odata; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ViewForm\", {\r\n // Reference to the display form\r\n get: function () { return common_1.ItemForm.DisplayForm; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ViewForms\", {\r\n // Reference to the display forms, if tabs are used\r\n get: function () { return common_1.ItemForm.DisplayForms; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ViewName\", {\r\n get: function () { return this._viewName; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"ViewXml\", {\r\n get: function () { return this._viewXml; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(List.prototype, \"WebUrl\", {\r\n get: function () { return this._webUrl; },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Clears the modal or canvas\r\n List.prototype.clear = function () {\r\n // Clear the modal/form\r\n common_1.ItemForm.UseModal ? common_1.Modal.clear() : common_1.CanvasForm.clear();\r\n // Set the list name\r\n common_1.ItemForm.ListName = this.ListName;\r\n // Call the event\r\n this._onResetForm ? this._onResetForm() : null;\r\n };\r\n // Reference to the create item method\r\n List.prototype.createItem = function (values) {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Create the item\r\n _this.ListInfo.Items().add(values).execute(resolve, reject);\r\n });\r\n };\r\n // Displays the new form\r\n List.prototype.newForm = function (props) {\r\n // Clear the modal/canvas\r\n this.clear();\r\n // Display the form\r\n common_1.ItemForm.create(props).then(null, this._onLoadFormError);\r\n };\r\n // Displays the edit form\r\n List.prototype.editForm = function (props) {\r\n // Clear the modal/canvas\r\n this.clear();\r\n // Display the form\r\n common_1.ItemForm.edit(props).then(null, this._onLoadFormError);\r\n };\r\n // Initializes the list component\r\n List.prototype.init = function () {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n var list = (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName);\r\n // Query the list content types\r\n list.execute(function (list) {\r\n // Save the list information\r\n _this._listInfo = list;\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n });\r\n // Get the root folder\r\n list.RootFolder().execute(function (folder) {\r\n // Set the url\r\n _this._listUrl = folder.ServerRelativeUrl;\r\n }, true);\r\n // Query the content types\r\n list.ContentTypes().query({\r\n Expand: [\"FieldLinks\", \"Fields\"]\r\n }).execute(function (cts) {\r\n // Save the content types\r\n _this._listContentTypes = cts.results;\r\n }, true);\r\n // Query the list fields\r\n list.Fields().execute(function (fields) {\r\n // Save the fields\r\n _this._listFields = fields.results;\r\n }, true);\r\n // Query the list views\r\n list.Views().query({\r\n Expand: [\"FieldLinks\", \"Fields\"]\r\n }).execute(function (views) {\r\n // Save the views\r\n _this._listViews = views.results;\r\n }, true);\r\n // Wait for the requests to complete\r\n list.done(function () {\r\n // See if the view name is specified\r\n if (_this.ViewName) {\r\n // Parse the views\r\n for (var i = 0; i < _this.ListViews.length; i++) {\r\n var view = _this.ListViews[i];\r\n if (view.Title.toLowerCase() == _this.ViewName.toLowerCase()) {\r\n // Set the view xml\r\n _this._viewXml = view.ListViewXml;\r\n }\r\n }\r\n }\r\n // Resolve the request\r\n resolve();\r\n });\r\n });\r\n };\r\n // Loads the items\r\n List.prototype.loadItem = function (itemId, query) {\r\n var _this = this;\r\n if (query === void 0) { query = this.OData; }\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Query the items\r\n (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName).Items(itemId).query({\r\n Custom: query ? query.Custom : null,\r\n Expand: query ? query.Expand : null,\r\n Select: query ? query.Select : null\r\n }).execute(function (newItem) {\r\n var itemFound = false;\r\n // Parse the items\r\n for (var i = 0; i < _this._items.length; i++) {\r\n var item = _this._items[i];\r\n // See if this is the item\r\n if (itemId == item.Id) {\r\n // Replace the item\r\n _this._items[i] = newItem;\r\n // Set the flag and break from the loop\r\n itemFound = true;\r\n break;\r\n }\r\n }\r\n // See if the item wasn't found\r\n if (!itemFound) {\r\n // Append the item\r\n _this._items.push(newItem);\r\n }\r\n // Resolve the request\r\n resolve(newItem);\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n }, true);\r\n });\r\n };\r\n // Loads the items\r\n List.prototype.loadItems = function (query) {\r\n // See if the view xml exists\r\n if (this.ViewXml) {\r\n // Get the items by the view name\r\n return this.loadItemsByView();\r\n }\r\n else {\r\n // Get the items by odata\r\n return this.loadItemsByQuery(query);\r\n }\r\n };\r\n // Loads the items by odata query\r\n List.prototype.loadItemsByQuery = function (query) {\r\n var _this = this;\r\n if (query === void 0) { query = this.OData; }\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // See if the items exist\r\n if (_this._items) {\r\n resolve(_this._items);\r\n return;\r\n }\r\n // Query the items\r\n (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName).Items().query(query).execute(function (items) {\r\n // Save the items\r\n _this._items = items.results;\r\n // Resolve the request\r\n resolve(_this._items);\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n }, true);\r\n });\r\n };\r\n // Loads the items by view name\r\n List.prototype.loadItemsByView = function () {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // See if the items already exist\r\n if (_this._items) {\r\n resolve(_this._items);\r\n return;\r\n }\r\n // Query the items\r\n (0, gd_sprest_bs_1.Web)(_this.WebUrl).Lists(_this.ListName).getItems(_this.ViewXml).execute(function (items) {\r\n // Save the items\r\n _this._items = items.results;\r\n // Resolve the request\r\n resolve(_this._items);\r\n }, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Reject the request\r\n reject.apply(void 0, args);\r\n }, true);\r\n });\r\n };\r\n // Refresh the data\r\n List.prototype.refresh = function (query) {\r\n var _this = this;\r\n if (query === void 0) { query = this.OData; }\r\n // Clear the items\r\n this._items = null;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Load the data\r\n _this.loadItems(query).then(function (items) {\r\n // Call the event\r\n var callback = _this._onRefreshItems ? _this._onRefreshItems(items) : null;\r\n if (callback && typeof (callback.then) === \"function\") {\r\n // Wait for the request to complete\r\n callback.then(resolve, reject);\r\n }\r\n else {\r\n // Resolve the request\r\n resolve(items);\r\n }\r\n }, reject);\r\n });\r\n };\r\n // Refresh the data\r\n List.prototype.refreshItem = function (itemId, query) {\r\n if (query === void 0) { query = this.OData; }\r\n // Load the item\r\n return this.loadItem(itemId, query);\r\n };\r\n // Updates an item\r\n List.prototype.updateItem = function (itemId, values) {\r\n var _this = this;\r\n // Return a promise\r\n return new Promise(function (resolve, reject) {\r\n // Create the item\r\n _this.ListInfo.Items(itemId).update(values).execute(resolve, reject);\r\n });\r\n };\r\n // Displays the view form\r\n List.prototype.viewForm = function (props) {\r\n // Clear the modal/canvas\r\n this.clear();\r\n // Display the form\r\n common_1.ItemForm.view(props).then(null, this._onLoadFormError);\r\n };\r\n return List;\r\n}());\r\nexports.List = List;\r\n\n\n//# sourceURL=webpack://dattatable/./build/common/list.js?");
108
108
 
109
109
  /***/ }),
110
110