@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/ApiClient/ApiClientBase.d.ts +5 -5
- package/dist/ApiClient/ApiClientBase.js +13 -13
- package/dist/ApiClient/ReadApiClient.d.ts +16 -16
- package/dist/ApiClient/ReadApiClient.js +24 -24
- package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
- package/dist/ApiClient/UpdateableApiClient.js +33 -33
- package/dist/AppServices/AppService.d.ts +46 -46
- package/dist/AppServices/AppService.js +25 -25
- package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
- package/dist/AppServices/Config/ConfigModel.js +28 -17
- package/dist/AppServices/Config/ConfigService.d.ts +15 -15
- package/dist/AppServices/Config/ConfigService.js +49 -53
- package/dist/AppServices/Module.d.ts +11 -11
- package/dist/AppServices/Module.js +13 -13
- package/dist/AppServices/NeoContainer.d.ts +22 -22
- package/dist/AppServices/NeoContainer.js +42 -42
- package/dist/AppServices/NeoModule.d.ts +3 -3
- package/dist/AppServices/NeoModule.js +30 -30
- package/dist/AppServices/NeoTypes.d.ts +61 -61
- package/dist/AppServices/NeoTypes.js +42 -42
- package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
- package/dist/AppServices/ServiceIdentifier.js +38 -39
- package/dist/AppServices/index.d.ts +7 -7
- package/dist/AppServices/index.js +7 -7
- package/dist/Components/AnimationHelper.d.ts +69 -69
- package/dist/Components/AnimationHelper.js +182 -182
- package/dist/Components/BootstrapHelpers.d.ts +8 -8
- package/dist/Components/BootstrapHelpers.js +30 -30
- package/dist/Components/BootstrapTypes.d.ts +35 -35
- package/dist/Components/BootstrapTypes.js +1 -1
- package/dist/Components/ButtonOptions.d.ts +63 -61
- package/dist/Components/ButtonOptions.js +1 -1
- package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
- package/dist/Components/ContextMenu/ContextMenu.js +1 -1
- package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
- package/dist/Components/ContextMenu/MenuUtils.js +34 -34
- package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
- package/dist/Components/DatePicker/DatePicker.js +502 -487
- package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
- package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
- package/dist/Components/ErrorHandler.d.ts +59 -55
- package/dist/Components/ErrorHandler.js +210 -138
- package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
- package/dist/Components/FileManager/BoundFileManager.js +60 -60
- package/dist/Components/FileManager/FileManager.d.ts +80 -78
- package/dist/Components/FileManager/FileManager.js +277 -257
- package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
- package/dist/Components/FileManager/FileUploadBatch.js +83 -82
- package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
- package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
- package/dist/Components/FormOptions.d.ts +34 -34
- package/dist/Components/FormOptions.js +1 -1
- package/dist/Components/ICollapsableOptions.d.ts +11 -11
- package/dist/Components/ICollapsableOptions.js +1 -1
- package/dist/Components/Modal/ModalHelper.d.ts +31 -31
- package/dist/Components/Modal/ModalHelper.js +174 -174
- package/dist/Components/Modal/ModalOptions.d.ts +61 -61
- package/dist/Components/Modal/ModalOptions.js +1 -1
- package/dist/Components/Modal/ModalStore.d.ts +32 -32
- package/dist/Components/Modal/ModalStore.js +82 -82
- package/dist/Components/Modal/ModalUtils.d.ts +61 -61
- package/dist/Components/Modal/ModalUtils.js +109 -109
- package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
- package/dist/Components/Notifications/INotificationHelper.js +1 -1
- package/dist/Components/Notifications/Notification.d.ts +32 -32
- package/dist/Components/Notifications/Notification.js +26 -27
- package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
- package/dist/Components/Notifications/NotificationHelper.js +111 -112
- package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
- package/dist/Components/Notifications/NotificationStore.js +78 -79
- package/dist/Components/PositionHelper.d.ts +10 -10
- package/dist/Components/PositionHelper.js +43 -43
- package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
- package/dist/Components/TaskRunner/Decorators.js +24 -24
- package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
- package/dist/Components/TaskRunner/ProgressState.js +71 -72
- package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
- package/dist/Components/TaskRunner/TaskRunner.js +253 -244
- package/dist/Components/TooltipOptions.d.ts +8 -8
- package/dist/Components/TooltipOptions.js +1 -1
- package/dist/Components/index.d.ts +22 -22
- package/dist/Components/index.js +13 -13
- package/dist/ConnectionManager.d.ts +45 -45
- package/dist/ConnectionManager.js +60 -61
- package/dist/Data/ApiDataSource.d.ts +46 -46
- package/dist/Data/ApiDataSource.js +140 -144
- package/dist/Data/AsyncDataSource.d.ts +35 -35
- package/dist/Data/AsyncDataSource.js +79 -80
- package/dist/Data/CacheService.d.ts +40 -40
- package/dist/Data/CacheService.js +63 -64
- package/dist/Data/DataCacheEntry.d.ts +42 -42
- package/dist/Data/DataCacheEntry.js +80 -80
- package/dist/Data/DataView.d.ts +43 -43
- package/dist/Data/DataView.js +173 -172
- package/dist/Data/Deserialiser.d.ts +42 -42
- package/dist/Data/Deserialiser.js +255 -255
- package/dist/Data/Paging/PageManager.d.ts +167 -167
- package/dist/Data/Paging/PageManager.js +323 -323
- package/dist/Data/Paging/PageRequest.d.ts +24 -24
- package/dist/Data/Paging/PageRequest.js +38 -39
- package/dist/Data/Paging/PageResult.d.ts +10 -10
- package/dist/Data/Paging/PageResult.js +14 -14
- package/dist/Data/Serialiser.d.ts +41 -41
- package/dist/Data/Serialiser.js +201 -201
- package/dist/Data/SortOperation.d.ts +8 -8
- package/dist/Data/SortOperation.js +26 -26
- package/dist/Data/StaticDataSource.d.ts +9 -9
- package/dist/Data/StaticDataSource.js +27 -27
- package/dist/Data/WindowedDataView.d.ts +8 -8
- package/dist/Data/WindowedDataView.js +49 -50
- package/dist/Data/index.d.ts +15 -15
- package/dist/Data/index.js +15 -15
- package/dist/Dates/DateUtils.d.ts +47 -47
- package/dist/Dates/DateUtils.js +226 -226
- package/dist/Dates/TimeSpan.d.ts +24 -24
- package/dist/Dates/TimeSpan.js +46 -46
- package/dist/DebounceHelper.d.ts +44 -38
- package/dist/DebounceHelper.js +122 -95
- package/dist/Extensions.d.ts +82 -82
- package/dist/Extensions.js +182 -182
- package/dist/FileUtils.d.ts +6 -6
- package/dist/FileUtils.js +37 -37
- package/dist/Globals.d.ts +19 -19
- package/dist/Globals.js +41 -41
- package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
- package/dist/JsonSchema/ClassMetadata.js +53 -53
- package/dist/JsonSchema/JsonData.d.ts +16 -16
- package/dist/JsonSchema/JsonData.js +97 -97
- package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
- package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
- package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
- package/dist/JsonSchema/PropertyMetadata.js +8 -8
- package/dist/JsonSchema/TypeCache.d.ts +16 -16
- package/dist/JsonSchema/TypeCache.js +44 -44
- package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
- package/dist/JsonSchema/TypeMetadata.js +170 -170
- package/dist/JsonSchema/index.d.ts +7 -7
- package/dist/JsonSchema/index.js +6 -6
- package/dist/Localisation/ILocalisationService.d.ts +11 -11
- package/dist/Localisation/ILocalisationService.js +1 -1
- package/dist/Localisation/LocalisationService.d.ts +4 -4
- package/dist/Localisation/LocalisationService.js +17 -17
- package/dist/Localisation/index.d.ts +1 -1
- package/dist/Localisation/index.js +1 -1
- package/dist/Misc.d.ts +6 -6
- package/dist/Misc.js +6 -6
- package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
- package/dist/Model/BaseModels/AuditValues.js +46 -48
- package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
- package/dist/Model/BaseModels/CriteriaBase.js +45 -34
- package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
- package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
- package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
- package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
- package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
- package/dist/Model/BaseModels/UserEvent.js +36 -32
- package/dist/Model/BindableBase.d.ts +46 -40
- package/dist/Model/BindableBase.js +79 -76
- package/dist/Model/Decorators.d.ts +47 -44
- package/dist/Model/Decorators.js +182 -177
- package/dist/Model/EnumHelper.d.ts +54 -54
- package/dist/Model/EnumHelper.js +104 -100
- package/dist/Model/IAutoRunner.d.ts +5 -5
- package/dist/Model/IAutoRunner.js +1 -1
- package/dist/Model/IModelBase.d.ts +92 -79
- package/dist/Model/IModelBase.js +1 -1
- package/dist/Model/IModelCreatorBase.d.ts +9 -9
- package/dist/Model/IModelCreatorBase.js +1 -1
- package/dist/Model/List.d.ts +79 -77
- package/dist/Model/List.js +208 -198
- package/dist/Model/LookupBase.d.ts +13 -6
- package/dist/Model/LookupBase.js +19 -10
- package/dist/Model/Misc.d.ts +83 -81
- package/dist/Model/Misc.js +59 -59
- package/dist/Model/ModelBase.d.ts +88 -86
- package/dist/Model/ModelBase.js +182 -180
- package/dist/Model/ModelCreatorBase.d.ts +24 -23
- package/dist/Model/ModelCreatorBase.js +92 -92
- package/dist/Model/ModelFieldInfo.d.ts +29 -12
- package/dist/Model/ModelFieldInfo.js +35 -26
- package/dist/Model/ModelGraphTraverser.d.ts +35 -35
- package/dist/Model/ModelGraphTraverser.js +101 -99
- package/dist/Model/NeoModel.d.ts +6 -6
- package/dist/Model/NeoModel.js +13 -13
- package/dist/Model/NeoTypeInfo.d.ts +52 -41
- package/dist/Model/NeoTypeInfo.js +300 -250
- package/dist/Model/ObservableProperty.d.ts +8 -8
- package/dist/Model/ObservableProperty.js +41 -41
- package/dist/Model/ObservableValue.d.ts +9 -9
- package/dist/Model/ObservableValue.js +25 -26
- package/dist/Model/PropertyInfo.d.ts +83 -81
- package/dist/Model/PropertyInfo.js +138 -137
- package/dist/Model/PropertyInstance.d.ts +84 -48
- package/dist/Model/PropertyInstance.js +173 -113
- package/dist/Model/ValueObject.d.ts +3 -3
- package/dist/Model/ValueObject.js +10 -10
- package/dist/Model/index.d.ts +15 -14
- package/dist/Model/index.js +13 -12
- package/dist/NumberUtils.d.ts +63 -49
- package/dist/NumberUtils.js +247 -197
- package/dist/Routing/IMenuItemProvider.d.ts +9 -9
- package/dist/Routing/IMenuItemProvider.js +1 -1
- package/dist/Routing/IMenuRoute.d.ts +18 -18
- package/dist/Routing/IMenuRoute.js +1 -1
- package/dist/Routing/INavigationHelper.d.ts +7 -7
- package/dist/Routing/INavigationHelper.js +1 -1
- package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
- package/dist/Routing/IPageLeaveHandler.js +7 -7
- package/dist/Routing/IRoute.d.ts +27 -27
- package/dist/Routing/IRoute.js +1 -1
- package/dist/Routing/IRouteSecurityService.d.ts +14 -14
- package/dist/Routing/IRouteSecurityService.js +1 -1
- package/dist/Routing/MenuItemProvider.d.ts +17 -17
- package/dist/Routing/MenuItemProvider.js +53 -54
- package/dist/Routing/RouteSecurityService.d.ts +18 -18
- package/dist/Routing/RouteSecurityService.js +35 -36
- package/dist/Routing/index.d.ts +7 -7
- package/dist/Routing/index.js +3 -3
- package/dist/Security/IAuthenticationService.d.ts +41 -36
- package/dist/Security/IAuthenticationService.js +1 -1
- package/dist/Security/IAuthorisationService.d.ts +11 -11
- package/dist/Security/IAuthorisationService.js +1 -1
- package/dist/Security/ILoginErrorHandler.d.ts +4 -4
- package/dist/Security/ILoginErrorHandler.js +1 -1
- package/dist/Security/ISecurityService.d.ts +10 -10
- package/dist/Security/ISecurityService.js +1 -1
- package/dist/Security/IUser.d.ts +10 -10
- package/dist/Security/IUser.js +1 -1
- package/dist/Security/IUserRole.d.ts +6 -6
- package/dist/Security/IUserRole.js +1 -1
- package/dist/Security/LoginErrorHandler.d.ts +15 -15
- package/dist/Security/LoginErrorHandler.js +97 -98
- package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
- package/dist/Security/Oidc/OidcAuthService.js +216 -189
- package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
- package/dist/Security/Oidc/OidcTypes.js +1 -1
- package/dist/Security/Oidc/OidcUser.d.ts +9 -9
- package/dist/Security/Oidc/OidcUser.js +33 -33
- package/dist/Security/SecurityService.d.ts +12 -12
- package/dist/Security/SecurityService.js +33 -34
- package/dist/Security/SignInResult.d.ts +13 -13
- package/dist/Security/SignInResult.js +8 -8
- package/dist/Security/User.d.ts +12 -12
- package/dist/Security/User.js +24 -24
- package/dist/Security/index.d.ts +10 -10
- package/dist/Security/index.js +5 -5
- package/dist/Settings.d.ts +71 -57
- package/dist/Settings.js +100 -87
- package/dist/SignalR/HubBase.d.ts +70 -70
- package/dist/SignalR/HubBase.js +164 -164
- package/dist/SignalR/HubReceiver.d.ts +11 -11
- package/dist/SignalR/HubReceiver.js +25 -25
- package/dist/SignalR/HubSubscription.d.ts +12 -12
- package/dist/SignalR/HubSubscription.js +14 -14
- package/dist/SignalR/index.d.ts +3 -3
- package/dist/SignalR/index.js +1 -1
- package/dist/StringUtils.d.ts +7 -7
- package/dist/StringUtils.js +24 -24
- package/dist/Utils.d.ts +81 -80
- package/dist/Utils.js +220 -218
- package/dist/Validation/Decorators.d.ts +12 -12
- package/dist/Validation/Decorators.js +52 -52
- package/dist/Validation/DisplayHelper.d.ts +20 -19
- package/dist/Validation/DisplayHelper.js +104 -104
- package/dist/Validation/Misc.d.ts +10 -10
- package/dist/Validation/Misc.js +11 -11
- package/dist/Validation/ModelProxy.d.ts +20 -20
- package/dist/Validation/ModelProxy.js +46 -46
- package/dist/Validation/RuleContext.d.ts +86 -86
- package/dist/Validation/RuleContext.js +130 -130
- package/dist/Validation/Rules.d.ts +70 -70
- package/dist/Validation/Rules.js +177 -177
- package/dist/Validation/ValidationHelpers.d.ts +12 -12
- package/dist/Validation/ValidationHelpers.js +57 -57
- package/dist/Validation/ValidationRules.d.ts +18 -18
- package/dist/Validation/ValidationRules.js +34 -34
- package/dist/Validation/ValidationState.d.ts +42 -42
- package/dist/Validation/ValidationState.js +74 -74
- package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
- package/dist/Validation/Validators/IModelValidator.js +1 -1
- package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
- package/dist/Validation/Validators/IPropertyValidator.js +15 -15
- package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
- package/dist/Validation/Validators/ModelValidator.js +143 -137
- package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
- package/dist/Validation/Validators/PropertyValidator.js +64 -67
- package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
- package/dist/Validation/Validators/RuleValidator.js +51 -55
- package/dist/Validation/index.d.ts +9 -9
- package/dist/Validation/index.js +7 -7
- package/dist/Views/IViewBase.d.ts +5 -5
- package/dist/Views/IViewBase.js +1 -1
- package/dist/index.d.ts +37 -36
- package/dist/index.js +44 -43
- package/package.json +11 -10
|
@@ -1,323 +1,323 @@
|
|
|
1
|
-
import { __awaiter, __decorate, __extends, __generator, __metadata } from "tslib";
|
|
2
|
-
import { PageRequest } from './PageRequest';
|
|
3
|
-
import NeoModel from '../../Model/NeoModel';
|
|
4
|
-
import { DataViewBase } from '../DataView';
|
|
5
|
-
import { Misc, AppServices } from '../../';
|
|
6
|
-
import { Observable } from '../../Model/Decorators';
|
|
7
|
-
import { SortOperation } from '../SortOperation';
|
|
8
|
-
import List from '../../Model/List';
|
|
9
|
-
var PageManager = /** @class */ (function (_super) {
|
|
10
|
-
__extends(PageManager, _super);
|
|
11
|
-
function PageManager(criteria, modelType, dataSource, options) {
|
|
12
|
-
var _this = _super.call(this, []) || this;
|
|
13
|
-
_this.modelType = modelType;
|
|
14
|
-
_this.dataSource = dataSource;
|
|
15
|
-
_this.hasInitialised = false;
|
|
16
|
-
_this._totalRecords = -1;
|
|
17
|
-
_this.currentData = new List(_this.modelType);
|
|
18
|
-
_this.initialFetchState = "none";
|
|
19
|
-
_this.options = options || {};
|
|
20
|
-
_this.allowSort = _this.options.allowSort !== false;
|
|
21
|
-
_this.performsRemoteSorting = true;
|
|
22
|
-
_this.pageRequest = new PageRequest(criteria);
|
|
23
|
-
_this.pageRequest.pageSize = _this.options.pageSize || 20;
|
|
24
|
-
// Create an instance of model type so that we know about its properties.
|
|
25
|
-
void new modelType();
|
|
26
|
-
if (options) {
|
|
27
|
-
if (options.sortBy) {
|
|
28
|
-
_this.setSortOperations(options.sortBy, options.sortAscending);
|
|
29
|
-
}
|
|
30
|
-
_this.taskRunner = options.taskRunner;
|
|
31
|
-
}
|
|
32
|
-
if (!options || !options.taskRunner) {
|
|
33
|
-
_this.taskRunner = Misc.Globals.appService.get(AppServices.NeoTypes.TaskRunner);
|
|
34
|
-
}
|
|
35
|
-
if (!_this.options.pageSizeOptions) {
|
|
36
|
-
_this.options.pageSizeOptions = Misc.Settings.pager.pageSizeOptions;
|
|
37
|
-
}
|
|
38
|
-
return _this;
|
|
39
|
-
}
|
|
40
|
-
Object.defineProperty(PageManager.prototype, "criteria", {
|
|
41
|
-
/**
|
|
42
|
-
* Gets or sets the criteria.
|
|
43
|
-
*/
|
|
44
|
-
get: function () {
|
|
45
|
-
return this.pageRequest.criteria;
|
|
46
|
-
},
|
|
47
|
-
set: function (value) {
|
|
48
|
-
this.pageRequest.criteria = value;
|
|
49
|
-
},
|
|
50
|
-
enumerable: false,
|
|
51
|
-
configurable: true
|
|
52
|
-
});
|
|
53
|
-
Object.defineProperty(PageManager.prototype, "hasFetched", {
|
|
54
|
-
/**
|
|
55
|
-
* Returns the state of the initial data request. Does not change after the first request has been made.
|
|
56
|
-
* Note, this will return null while loading, so you should check against a boolean value. E.g. if (hasFetched === false)
|
|
57
|
-
*/
|
|
58
|
-
get: function () {
|
|
59
|
-
if (this.initialFetchState === "loading") {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
return this.initialFetchState === "complete";
|
|
63
|
-
},
|
|
64
|
-
enumerable: false,
|
|
65
|
-
configurable: true
|
|
66
|
-
});
|
|
67
|
-
Object.defineProperty(PageManager.prototype, "pageNo", {
|
|
68
|
-
/**
|
|
69
|
-
* Gets or sets the 1 based page number.
|
|
70
|
-
*/
|
|
71
|
-
get: function () {
|
|
72
|
-
return this.pageRequest.pageIndex + 1;
|
|
73
|
-
},
|
|
74
|
-
set: function (value) {
|
|
75
|
-
var newIndex = Math.max(1, Math.min(this.totalPages, value)) - 1;
|
|
76
|
-
if (this.pageRequest.pageIndex !== newIndex) {
|
|
77
|
-
this.pageRequest.pageIndex = newIndex;
|
|
78
|
-
this.refreshData(false);
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
enumerable: false,
|
|
82
|
-
configurable: true
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(PageManager.prototype, "pageSize", {
|
|
85
|
-
get: function () {
|
|
86
|
-
return this.pageRequest.pageSize;
|
|
87
|
-
},
|
|
88
|
-
set: function (value) {
|
|
89
|
-
var prevSize = this.pageRequest.pageSize;
|
|
90
|
-
var prevPageNo = this.pageNo;
|
|
91
|
-
if (value !== prevSize) {
|
|
92
|
-
this.pageRequest.pageSize = value;
|
|
93
|
-
// Adjust the page no so we show the same records, this will re-fetch data.
|
|
94
|
-
this.pageNo = Math.floor((this.pageRequest.pageIndex * prevSize + 1) / value) + 1;
|
|
95
|
-
if (this.pageNo === prevPageNo) {
|
|
96
|
-
this.refreshData(false);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
enumerable: false,
|
|
101
|
-
configurable: true
|
|
102
|
-
});
|
|
103
|
-
Object.defineProperty(PageManager.prototype, "totalRecords", {
|
|
104
|
-
get: function () {
|
|
105
|
-
return this._totalRecords;
|
|
106
|
-
},
|
|
107
|
-
enumerable: false,
|
|
108
|
-
configurable: true
|
|
109
|
-
});
|
|
110
|
-
Object.defineProperty(PageManager.prototype, "totalPages", {
|
|
111
|
-
/** Gets the total number of pages based on the total number of records. */
|
|
112
|
-
get: function () {
|
|
113
|
-
if (this.totalRecords <= 0) {
|
|
114
|
-
return 1;
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return Math.ceil(this.totalRecords / this.pageRequest.pageSize);
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
enumerable: false,
|
|
121
|
-
configurable: true
|
|
122
|
-
});
|
|
123
|
-
/**
|
|
124
|
-
* Called by the pager component on first display. Will fetch data if options.fetchInitial is set to true.
|
|
125
|
-
*/
|
|
126
|
-
PageManager.prototype.initialise = function () {
|
|
127
|
-
if (!this.hasInitialised) {
|
|
128
|
-
this.hasInitialised = true;
|
|
129
|
-
if (this.options.fetchInitial) {
|
|
130
|
-
this.refreshData(true, this.options.initialTaskRunner);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Refresh the data by calling the api endpoint with the current criteria.
|
|
136
|
-
* Note: the page index will be reset to zero. Use this when your criteria has changed
|
|
137
|
-
* @param getCount True if criteria has changed, and the total number of records needs to be refetched.
|
|
138
|
-
* @param taskRunner Optional alternate task runner to use.
|
|
139
|
-
*/
|
|
140
|
-
PageManager.prototype.refreshData = function (getCount, taskRunner) {
|
|
141
|
-
if (getCount === void 0) { getCount = true; }
|
|
142
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
143
|
-
var request;
|
|
144
|
-
return __generator(this, function (_a) {
|
|
145
|
-
switch (_a.label) {
|
|
146
|
-
case 0:
|
|
147
|
-
if (getCount) {
|
|
148
|
-
// Reset the page index when the no of records returned is expected to change (e.g. when filtering).
|
|
149
|
-
this.pageRequest.pageIndex = 0;
|
|
150
|
-
}
|
|
151
|
-
this.pageRequest.noCount = !getCount;
|
|
152
|
-
this.pageRequest.sortColumns = this.sortInfo;
|
|
153
|
-
request = this.pageRequest.toQueryObject();
|
|
154
|
-
if (this.options.beforeFetch)
|
|
155
|
-
this.options.beforeFetch(request);
|
|
156
|
-
if (!taskRunner)
|
|
157
|
-
taskRunner = this.taskRunner;
|
|
158
|
-
if (this.initialFetchState === "none") {
|
|
159
|
-
this.initialFetchState = "loading";
|
|
160
|
-
}
|
|
161
|
-
return [4 /*yield*/, taskRunner.waitFor(this.fetchAndSetData(request))];
|
|
162
|
-
case 1:
|
|
163
|
-
_a.sent();
|
|
164
|
-
return [2 /*return*/];
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Refresh the data by calling the api endpoint with the current criteria.
|
|
171
|
-
* This will not reset the page index, and will not update the total record count, therefore should only be called if your criteria has not changed since the last full fetch using refreshData().
|
|
172
|
-
* @param taskRunner Optional alternate task runner to use.
|
|
173
|
-
*/
|
|
174
|
-
PageManager.prototype.refreshPage = function (taskRunner) {
|
|
175
|
-
return this.refreshData(false, taskRunner);
|
|
176
|
-
};
|
|
177
|
-
PageManager.prototype.fetchAndSetData = function (request) {
|
|
178
|
-
var _a;
|
|
179
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
180
|
-
var response, data;
|
|
181
|
-
return __generator(this, function (_b) {
|
|
182
|
-
switch (_b.label) {
|
|
183
|
-
case 0: return [4 /*yield*/, this.dataSource(request)];
|
|
184
|
-
case 1:
|
|
185
|
-
response = _b.sent();
|
|
186
|
-
if ((_a = response.data) === null || _a === void 0 ? void 0 : _a.entityList) {
|
|
187
|
-
data = response.data;
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
data = response;
|
|
191
|
-
}
|
|
192
|
-
return [4 /*yield*/, this.setData(data.entityList, data.total)];
|
|
193
|
-
case 2:
|
|
194
|
-
_b.sent();
|
|
195
|
-
return [2 /*return*/];
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
};
|
|
200
|
-
/* Will set the data to the provided list. This will still invoke the `afterFetch` */
|
|
201
|
-
PageManager.prototype.setData = function (pageRecords, totalRecords) {
|
|
202
|
-
if (totalRecords === void 0) { totalRecords = 0; }
|
|
203
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
204
|
-
var newData, task;
|
|
205
|
-
return __generator(this, function (_a) {
|
|
206
|
-
switch (_a.label) {
|
|
207
|
-
case 0:
|
|
208
|
-
if (totalRecords >= 0) {
|
|
209
|
-
this._totalRecords = totalRecords;
|
|
210
|
-
}
|
|
211
|
-
newData = List.fromJSArray(this.modelType, pageRecords, this.options.deserialiseOptions);
|
|
212
|
-
if (!this.options.afterFetch) return [3 /*break*/, 2];
|
|
213
|
-
task = this.options.afterFetch(newData);
|
|
214
|
-
if (!(task !== void 0)) return [3 /*break*/, 2];
|
|
215
|
-
return [4 /*yield*/, task];
|
|
216
|
-
case 1:
|
|
217
|
-
_a.sent();
|
|
218
|
-
_a.label = 2;
|
|
219
|
-
case 2:
|
|
220
|
-
this.currentData = newData;
|
|
221
|
-
this.initialFetchState = "complete";
|
|
222
|
-
return [2 /*return*/];
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Resets the page manager to its initial state and clears the current data.
|
|
229
|
-
*/
|
|
230
|
-
PageManager.prototype.reset = function () {
|
|
231
|
-
this.initialFetchState = "none";
|
|
232
|
-
this.data.set([]);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
*
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
*
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
PageManager
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
1
|
+
import { __awaiter, __decorate, __extends, __generator, __metadata } from "tslib";
|
|
2
|
+
import { PageRequest } from './PageRequest';
|
|
3
|
+
import NeoModel from '../../Model/NeoModel';
|
|
4
|
+
import { DataViewBase } from '../DataView';
|
|
5
|
+
import { Misc, AppServices } from '../../';
|
|
6
|
+
import { Observable } from '../../Model/Decorators';
|
|
7
|
+
import { SortOperation } from '../SortOperation';
|
|
8
|
+
import List from '../../Model/List';
|
|
9
|
+
export var PageManager = /** @class */ (function (_super) {
|
|
10
|
+
__extends(PageManager, _super);
|
|
11
|
+
function PageManager(criteria, modelType, dataSource, options) {
|
|
12
|
+
var _this = _super.call(this, []) || this;
|
|
13
|
+
_this.modelType = modelType;
|
|
14
|
+
_this.dataSource = dataSource;
|
|
15
|
+
_this.hasInitialised = false;
|
|
16
|
+
_this._totalRecords = -1;
|
|
17
|
+
_this.currentData = new List(_this.modelType);
|
|
18
|
+
_this.initialFetchState = "none";
|
|
19
|
+
_this.options = options || {};
|
|
20
|
+
_this.allowSort = _this.options.allowSort !== false;
|
|
21
|
+
_this.performsRemoteSorting = true;
|
|
22
|
+
_this.pageRequest = new PageRequest(criteria);
|
|
23
|
+
_this.pageRequest.pageSize = _this.options.pageSize || 20;
|
|
24
|
+
// Create an instance of model type so that we know about its properties.
|
|
25
|
+
void new modelType();
|
|
26
|
+
if (options) {
|
|
27
|
+
if (options.sortBy) {
|
|
28
|
+
_this.setSortOperations(options.sortBy, options.sortAscending);
|
|
29
|
+
}
|
|
30
|
+
_this.taskRunner = options.taskRunner;
|
|
31
|
+
}
|
|
32
|
+
if (!options || !options.taskRunner) {
|
|
33
|
+
_this.taskRunner = Misc.Globals.appService.get(AppServices.NeoTypes.TaskRunner);
|
|
34
|
+
}
|
|
35
|
+
if (!_this.options.pageSizeOptions) {
|
|
36
|
+
_this.options.pageSizeOptions = Misc.Settings.pager.pageSizeOptions;
|
|
37
|
+
}
|
|
38
|
+
return _this;
|
|
39
|
+
}
|
|
40
|
+
Object.defineProperty(PageManager.prototype, "criteria", {
|
|
41
|
+
/**
|
|
42
|
+
* Gets or sets the criteria.
|
|
43
|
+
*/
|
|
44
|
+
get: function () {
|
|
45
|
+
return this.pageRequest.criteria;
|
|
46
|
+
},
|
|
47
|
+
set: function (value) {
|
|
48
|
+
this.pageRequest.criteria = value;
|
|
49
|
+
},
|
|
50
|
+
enumerable: false,
|
|
51
|
+
configurable: true
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(PageManager.prototype, "hasFetched", {
|
|
54
|
+
/**
|
|
55
|
+
* Returns the state of the initial data request. Does not change after the first request has been made.
|
|
56
|
+
* Note, this will return null while loading, so you should check against a boolean value. E.g. if (hasFetched === false)
|
|
57
|
+
*/
|
|
58
|
+
get: function () {
|
|
59
|
+
if (this.initialFetchState === "loading") {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return this.initialFetchState === "complete";
|
|
63
|
+
},
|
|
64
|
+
enumerable: false,
|
|
65
|
+
configurable: true
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(PageManager.prototype, "pageNo", {
|
|
68
|
+
/**
|
|
69
|
+
* Gets or sets the 1 based page number.
|
|
70
|
+
*/
|
|
71
|
+
get: function () {
|
|
72
|
+
return this.pageRequest.pageIndex + 1;
|
|
73
|
+
},
|
|
74
|
+
set: function (value) {
|
|
75
|
+
var newIndex = Math.max(1, Math.min(this.totalPages, value)) - 1;
|
|
76
|
+
if (this.pageRequest.pageIndex !== newIndex) {
|
|
77
|
+
this.pageRequest.pageIndex = newIndex;
|
|
78
|
+
this.refreshData(false);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
enumerable: false,
|
|
82
|
+
configurable: true
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(PageManager.prototype, "pageSize", {
|
|
85
|
+
get: function () {
|
|
86
|
+
return this.pageRequest.pageSize;
|
|
87
|
+
},
|
|
88
|
+
set: function (value) {
|
|
89
|
+
var prevSize = this.pageRequest.pageSize;
|
|
90
|
+
var prevPageNo = this.pageNo;
|
|
91
|
+
if (value !== prevSize) {
|
|
92
|
+
this.pageRequest.pageSize = value;
|
|
93
|
+
// Adjust the page no so we show the same records, this will re-fetch data.
|
|
94
|
+
this.pageNo = Math.floor((this.pageRequest.pageIndex * prevSize + 1) / value) + 1;
|
|
95
|
+
if (this.pageNo === prevPageNo) {
|
|
96
|
+
this.refreshData(false);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
enumerable: false,
|
|
101
|
+
configurable: true
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(PageManager.prototype, "totalRecords", {
|
|
104
|
+
get: function () {
|
|
105
|
+
return this._totalRecords;
|
|
106
|
+
},
|
|
107
|
+
enumerable: false,
|
|
108
|
+
configurable: true
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(PageManager.prototype, "totalPages", {
|
|
111
|
+
/** Gets the total number of pages based on the total number of records. */
|
|
112
|
+
get: function () {
|
|
113
|
+
if (this.totalRecords <= 0) {
|
|
114
|
+
return 1;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return Math.ceil(this.totalRecords / this.pageRequest.pageSize);
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
enumerable: false,
|
|
121
|
+
configurable: true
|
|
122
|
+
});
|
|
123
|
+
/**
|
|
124
|
+
* Called by the pager component on first display. Will fetch data if options.fetchInitial is set to true.
|
|
125
|
+
*/
|
|
126
|
+
PageManager.prototype.initialise = function () {
|
|
127
|
+
if (!this.hasInitialised) {
|
|
128
|
+
this.hasInitialised = true;
|
|
129
|
+
if (this.options.fetchInitial) {
|
|
130
|
+
this.refreshData(true, this.options.initialTaskRunner);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Refresh the data by calling the api endpoint with the current criteria.
|
|
136
|
+
* Note: the page index will be reset to zero. Use this when your criteria has changed
|
|
137
|
+
* @param getCount True if criteria has changed, and the total number of records needs to be refetched.
|
|
138
|
+
* @param taskRunner Optional alternate task runner to use.
|
|
139
|
+
*/
|
|
140
|
+
PageManager.prototype.refreshData = function (getCount, taskRunner) {
|
|
141
|
+
if (getCount === void 0) { getCount = true; }
|
|
142
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
143
|
+
var request;
|
|
144
|
+
return __generator(this, function (_a) {
|
|
145
|
+
switch (_a.label) {
|
|
146
|
+
case 0:
|
|
147
|
+
if (getCount) {
|
|
148
|
+
// Reset the page index when the no of records returned is expected to change (e.g. when filtering).
|
|
149
|
+
this.pageRequest.pageIndex = 0;
|
|
150
|
+
}
|
|
151
|
+
this.pageRequest.noCount = !getCount;
|
|
152
|
+
this.pageRequest.sortColumns = this.sortInfo;
|
|
153
|
+
request = this.pageRequest.toQueryObject();
|
|
154
|
+
if (this.options.beforeFetch)
|
|
155
|
+
this.options.beforeFetch(request);
|
|
156
|
+
if (!taskRunner)
|
|
157
|
+
taskRunner = this.taskRunner;
|
|
158
|
+
if (this.initialFetchState === "none") {
|
|
159
|
+
this.initialFetchState = "loading";
|
|
160
|
+
}
|
|
161
|
+
return [4 /*yield*/, taskRunner.waitFor(this.fetchAndSetData(request))];
|
|
162
|
+
case 1:
|
|
163
|
+
_a.sent();
|
|
164
|
+
return [2 /*return*/];
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Refresh the data by calling the api endpoint with the current criteria.
|
|
171
|
+
* This will not reset the page index, and will not update the total record count, therefore should only be called if your criteria has not changed since the last full fetch using refreshData().
|
|
172
|
+
* @param taskRunner Optional alternate task runner to use.
|
|
173
|
+
*/
|
|
174
|
+
PageManager.prototype.refreshPage = function (taskRunner) {
|
|
175
|
+
return this.refreshData(false, taskRunner);
|
|
176
|
+
};
|
|
177
|
+
PageManager.prototype.fetchAndSetData = function (request) {
|
|
178
|
+
var _a;
|
|
179
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
180
|
+
var response, data;
|
|
181
|
+
return __generator(this, function (_b) {
|
|
182
|
+
switch (_b.label) {
|
|
183
|
+
case 0: return [4 /*yield*/, this.dataSource(request)];
|
|
184
|
+
case 1:
|
|
185
|
+
response = _b.sent();
|
|
186
|
+
if ((_a = response.data) === null || _a === void 0 ? void 0 : _a.entityList) {
|
|
187
|
+
data = response.data;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
data = response;
|
|
191
|
+
}
|
|
192
|
+
return [4 /*yield*/, this.setData(data.entityList, data.total)];
|
|
193
|
+
case 2:
|
|
194
|
+
_b.sent();
|
|
195
|
+
return [2 /*return*/];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
/* Will set the data to the provided list. This will still invoke the `afterFetch` */
|
|
201
|
+
PageManager.prototype.setData = function (pageRecords, totalRecords) {
|
|
202
|
+
if (totalRecords === void 0) { totalRecords = 0; }
|
|
203
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
204
|
+
var newData, task;
|
|
205
|
+
return __generator(this, function (_a) {
|
|
206
|
+
switch (_a.label) {
|
|
207
|
+
case 0:
|
|
208
|
+
if (totalRecords >= 0) {
|
|
209
|
+
this._totalRecords = totalRecords;
|
|
210
|
+
}
|
|
211
|
+
newData = List.fromJSArray(this.modelType, pageRecords, this.options.deserialiseOptions);
|
|
212
|
+
if (!this.options.afterFetch) return [3 /*break*/, 2];
|
|
213
|
+
task = this.options.afterFetch(newData);
|
|
214
|
+
if (!(task !== void 0)) return [3 /*break*/, 2];
|
|
215
|
+
return [4 /*yield*/, task];
|
|
216
|
+
case 1:
|
|
217
|
+
_a.sent();
|
|
218
|
+
_a.label = 2;
|
|
219
|
+
case 2:
|
|
220
|
+
this.currentData = newData;
|
|
221
|
+
this.initialFetchState = "complete";
|
|
222
|
+
return [2 /*return*/];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Resets the page manager to its initial state and clears the current data.
|
|
229
|
+
*/
|
|
230
|
+
PageManager.prototype.reset = function () {
|
|
231
|
+
this.initialFetchState = "none";
|
|
232
|
+
this.data.set([]);
|
|
233
|
+
this._totalRecords = 0;
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Resets the sort properties. A new sort property can be provided.
|
|
237
|
+
* If the provided sort property matches the first existing sort property, and sortAscending is undefined, then the current sort order will be reversed.
|
|
238
|
+
*/
|
|
239
|
+
PageManager.prototype.resetSort = function (property, sortAscending) {
|
|
240
|
+
_super.prototype.resetSort.call(this, property, sortAscending);
|
|
241
|
+
this.refreshData(false);
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Adds a sort property.
|
|
245
|
+
* If the property already exists, the sort direction of the property will be reversed.
|
|
246
|
+
*/
|
|
247
|
+
PageManager.prototype.addSort = function (property, sortAscending) {
|
|
248
|
+
_super.prototype.addSort.call(this, property, sortAscending);
|
|
249
|
+
this.refreshData(false);
|
|
250
|
+
};
|
|
251
|
+
/** Sets a single or multiple sort operations. Does not refresh data. */
|
|
252
|
+
PageManager.prototype.setSortOperations = function (sortBy, sortAscending) {
|
|
253
|
+
this.sortInfo = [];
|
|
254
|
+
var metaData = this.modelType.neo.meta;
|
|
255
|
+
if (sortBy instanceof Array) {
|
|
256
|
+
for (var i = 0; i < sortBy.length; i++) {
|
|
257
|
+
this.sortInfo.push(new SortOperation(metaData[sortBy[i]].propertyInfo, sortAscending === undefined || sortAscending[i] !== false));
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
this.sortInfo.push(new SortOperation(metaData[sortBy].propertyInfo, sortAscending !== false));
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
Object.defineProperty(PageManager.prototype, "rawItems", {
|
|
265
|
+
get: function () {
|
|
266
|
+
return this.currentData;
|
|
267
|
+
},
|
|
268
|
+
enumerable: false,
|
|
269
|
+
configurable: true
|
|
270
|
+
});
|
|
271
|
+
PageManager.prototype.getItems = function () {
|
|
272
|
+
return this.currentData;
|
|
273
|
+
};
|
|
274
|
+
Object.defineProperty(PageManager.prototype, "data", {
|
|
275
|
+
/**
|
|
276
|
+
* Returns the current list.
|
|
277
|
+
*/
|
|
278
|
+
get: function () {
|
|
279
|
+
return this.currentData;
|
|
280
|
+
},
|
|
281
|
+
enumerable: false,
|
|
282
|
+
configurable: true
|
|
283
|
+
});
|
|
284
|
+
Object.defineProperty(PageManager.prototype, "pageSizeOptions", {
|
|
285
|
+
get: function () {
|
|
286
|
+
return this.options.pageSizeOptions;
|
|
287
|
+
},
|
|
288
|
+
enumerable: false,
|
|
289
|
+
configurable: true
|
|
290
|
+
});
|
|
291
|
+
PageManager.prototype.getMetaItem = function () {
|
|
292
|
+
return new this.modelType();
|
|
293
|
+
};
|
|
294
|
+
PageManager.prototype.firstPage = function () {
|
|
295
|
+
this.pageNo = 1;
|
|
296
|
+
};
|
|
297
|
+
PageManager.prototype.previousPage = function () {
|
|
298
|
+
this.pageNo -= 1;
|
|
299
|
+
};
|
|
300
|
+
PageManager.prototype.nextPage = function () {
|
|
301
|
+
this.pageNo += 1;
|
|
302
|
+
};
|
|
303
|
+
PageManager.prototype.lastPage = function () {
|
|
304
|
+
this.pageNo = this.totalPages;
|
|
305
|
+
};
|
|
306
|
+
__decorate([
|
|
307
|
+
Observable(),
|
|
308
|
+
__metadata("design:type", Number)
|
|
309
|
+
], PageManager.prototype, "_totalRecords", void 0);
|
|
310
|
+
__decorate([
|
|
311
|
+
Observable(),
|
|
312
|
+
__metadata("design:type", Object)
|
|
313
|
+
], PageManager.prototype, "currentData", void 0);
|
|
314
|
+
__decorate([
|
|
315
|
+
Observable(),
|
|
316
|
+
__metadata("design:type", String)
|
|
317
|
+
], PageManager.prototype, "initialFetchState", void 0);
|
|
318
|
+
PageManager = __decorate([
|
|
319
|
+
NeoModel,
|
|
320
|
+
__metadata("design:paramtypes", [Object, Function, Function, Object])
|
|
321
|
+
], PageManager);
|
|
322
|
+
return PageManager;
|
|
323
|
+
}(DataViewBase));
|