@wavemaker-ai/variables 1.0.0-rc.309
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/index.d.ts +14 -0
- package/index.js +15 -0
- package/index.js.map +1 -0
- package/npm-shrinkwrap.json +1994 -0
- package/package-lock.json +1994 -0
- package/package.json +48 -0
- package/scripts/build.d.ts +1 -0
- package/scripts/build.js +183 -0
- package/scripts/build.js.map +1 -0
- package/src/advanced-options.d.ts +4 -0
- package/src/advanced-options.js +2 -0
- package/src/advanced-options.js.map +1 -0
- package/src/constants/variables.constants.d.ts +307 -0
- package/src/constants/variables.constants.js +334 -0
- package/src/constants/variables.constants.js.map +1 -0
- package/src/factory/variable-manager.factory.d.ts +3 -0
- package/src/factory/variable-manager.factory.js +26 -0
- package/src/factory/variable-manager.factory.js.map +1 -0
- package/src/manager/action/timer-action.manager.d.ts +4 -0
- package/src/manager/action/timer-action.manager.js +38 -0
- package/src/manager/action/timer-action.manager.js.map +1 -0
- package/src/manager/variable/base-variable.manager.d.ts +24 -0
- package/src/manager/variable/base-variable.manager.js +79 -0
- package/src/manager/variable/base-variable.manager.js.map +1 -0
- package/src/manager/variable/crud-variable.manager.d.ts +85 -0
- package/src/manager/variable/crud-variable.manager.js +415 -0
- package/src/manager/variable/crud-variable.manager.js.map +1 -0
- package/src/manager/variable/live-variable.manager.d.ts +154 -0
- package/src/manager/variable/live-variable.manager.js +1078 -0
- package/src/manager/variable/live-variable.manager.js.map +1 -0
- package/src/manager/variable/model-variable.manager.d.ts +4 -0
- package/src/manager/variable/model-variable.manager.js +56 -0
- package/src/manager/variable/model-variable.manager.js.map +1 -0
- package/src/manager/variable/service-variable.manager.d.ts +113 -0
- package/src/manager/variable/service-variable.manager.js +713 -0
- package/src/manager/variable/service-variable.manager.js.map +1 -0
- package/src/model/action/timer-action.d.ts +12 -0
- package/src/model/action/timer-action.js +60 -0
- package/src/model/action/timer-action.js.map +1 -0
- package/src/model/base-action.d.ts +32 -0
- package/src/model/base-action.js +89 -0
- package/src/model/base-action.js.map +1 -0
- package/src/model/base-variable.d.ts +58 -0
- package/src/model/base-variable.js +180 -0
- package/src/model/base-variable.js.map +1 -0
- package/src/model/crud-create.d.ts +8 -0
- package/src/model/crud-create.js +17 -0
- package/src/model/crud-create.js.map +1 -0
- package/src/model/crud-delete.d.ts +8 -0
- package/src/model/crud-delete.js +17 -0
- package/src/model/crud-delete.js.map +1 -0
- package/src/model/crud-list.d.ts +8 -0
- package/src/model/crud-list.js +17 -0
- package/src/model/crud-list.js.map +1 -0
- package/src/model/crud-update.d.ts +8 -0
- package/src/model/crud-update.js +17 -0
- package/src/model/crud-update.js.map +1 -0
- package/src/model/variable/api-aware-variable.d.ts +23 -0
- package/src/model/variable/api-aware-variable.js +25 -0
- package/src/model/variable/api-aware-variable.js.map +1 -0
- package/src/model/variable/crud-variable.d.ts +30 -0
- package/src/model/variable/crud-variable.js +181 -0
- package/src/model/variable/crud-variable.js.map +1 -0
- package/src/model/variable/live-variable.d.ts +40 -0
- package/src/model/variable/live-variable.js +262 -0
- package/src/model/variable/live-variable.js.map +1 -0
- package/src/model/variable/model-variable.d.ts +11 -0
- package/src/model/variable/model-variable.js +83 -0
- package/src/model/variable/model-variable.js.map +1 -0
- package/src/model/variable/service-variable.d.ts +35 -0
- package/src/model/variable/service-variable.js +147 -0
- package/src/model/variable/service-variable.js.map +1 -0
- package/src/types/date-formatter.d.ts +3 -0
- package/src/types/date-formatter.js +2 -0
- package/src/types/date-formatter.js.map +1 -0
- package/src/types/event-notifier.d.ts +9 -0
- package/src/types/event-notifier.js +25 -0
- package/src/types/event-notifier.js.map +1 -0
- package/src/types/http-client.service.d.ts +8 -0
- package/src/types/http-client.service.js +2 -0
- package/src/types/http-client.service.js.map +1 -0
- package/src/types/types.d.ts +50 -0
- package/src/types/types.js +54 -0
- package/src/types/types.js.map +1 -0
- package/src/util/dataset-util.d.ts +27 -0
- package/src/util/dataset-util.js +147 -0
- package/src/util/dataset-util.js.map +1 -0
- package/src/util/file-upload.util.d.ts +11 -0
- package/src/util/file-upload.util.js +183 -0
- package/src/util/file-upload.util.js.map +1 -0
- package/src/util/inflight-queue.d.ts +35 -0
- package/src/util/inflight-queue.js +102 -0
- package/src/util/inflight-queue.js.map +1 -0
- package/src/util/notify-promise.d.ts +3 -0
- package/src/util/notify-promise.js +37 -0
- package/src/util/notify-promise.js.map +1 -0
- package/src/util/oAuth.utils.d.ts +3 -0
- package/src/util/oAuth.utils.js +11 -0
- package/src/util/oAuth.utils.js.map +1 -0
- package/src/util/utils.d.ts +69 -0
- package/src/util/utils.js +364 -0
- package/src/util/utils.js.map +1 -0
- package/src/util/variable/live-variable.http.utils.d.ts +21 -0
- package/src/util/variable/live-variable.http.utils.js +212 -0
- package/src/util/variable/live-variable.http.utils.js.map +1 -0
- package/src/util/variable/live-variable.utils.d.ts +72 -0
- package/src/util/variable/live-variable.utils.js +667 -0
- package/src/util/variable/live-variable.utils.js.map +1 -0
- package/src/util/variable/pagination.utils.d.ts +91 -0
- package/src/util/variable/pagination.utils.js +493 -0
- package/src/util/variable/pagination.utils.js.map +1 -0
- package/src/util/variable/service-variable.utils.d.ts +17 -0
- package/src/util/variable/service-variable.utils.js +394 -0
- package/src/util/variable/service-variable.utils.js.map +1 -0
- package/src/util/variable/variables.utils.d.ts +120 -0
- package/src/util/variable/variables.utils.js +544 -0
- package/src/util/variable/variables.utils.js.map +1 -0
- package/src/wm-namespace.d.ts +11 -0
- package/src/wm-namespace.js +13 -0
- package/src/wm-namespace.js.map +1 -0
- package/webpack.config.d.ts +21 -0
- package/webpack.config.js +28 -0
- package/webpack.config.js.map +1 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var DefaultEventNotifier = /** @class */ (function () {
|
|
2
|
+
function DefaultEventNotifier() {
|
|
3
|
+
this.listeners = {};
|
|
4
|
+
}
|
|
5
|
+
DefaultEventNotifier.prototype.notify = function (event, args) {
|
|
6
|
+
if (this.listeners[event]) {
|
|
7
|
+
this.listeners[event].forEach(function (l) {
|
|
8
|
+
l && l.apply(null, args);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
DefaultEventNotifier.prototype.subscribe = function (event, fn) {
|
|
13
|
+
var _this = this;
|
|
14
|
+
this.listeners[event] = this.listeners[event] || [];
|
|
15
|
+
this.listeners[event].push(fn);
|
|
16
|
+
return function () {
|
|
17
|
+
var eventListeners = _this.listeners[event];
|
|
18
|
+
var i = eventListeners.findIndex(function (fni) { return fni === fn; });
|
|
19
|
+
eventListeners.splice(i, 1);
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
return DefaultEventNotifier;
|
|
23
|
+
}());
|
|
24
|
+
export { DefaultEventNotifier };
|
|
25
|
+
//# sourceMappingURL=event-notifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-notifier.js","sourceRoot":"./","sources":["src/types/event-notifier.ts"],"names":[],"mappings":"AAAA;IAAA;QACY,cAAS,GAAG,EAAS,CAAC;IAmBlC,CAAC;IAjBU,qCAAM,GAAb,UAAc,KAAa,EAAE,IAAW;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,CAAW;gBACtC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,wCAAS,GAAhB,UAAiB,KAAa,EAAE,EAAY;QAA5C,iBAQC;QAPG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACH,IAAM,cAAc,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAM,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,UAAC,GAAa,IAAK,OAAA,GAAG,KAAK,EAAE,EAAV,CAAU,CAAC,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC;IACN,CAAC;IACL,2BAAC;AAAD,CAAC,AApBD,IAoBC","sourcesContent":["export class DefaultEventNotifier implements EventNotifier {\n private listeners = {} as any;\n\n public notify(event: string, args: any[]) {\n if (this.listeners[event]) {\n this.listeners[event].forEach((l: Function) => {\n l && l.apply(null, args);\n });\n }\n }\n\n public subscribe(event: string, fn: Function) {\n this.listeners[event] = this.listeners[event] || [];\n this.listeners[event].push(fn);\n return () => {\n const eventListeners = this.listeners[event];\n const i = eventListeners.findIndex((fni: Function) => fni === fn);\n eventListeners.splice(i, 1);\n };\n }\n}\n\nexport interface EventNotifier {\n notify: (event: string, args: any[]) => void;\n subscribe: (event: string, fn: Function) => Function;\n}"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface HttpClientService {
|
|
2
|
+
send: (options: any, variable: any) => void;
|
|
3
|
+
sendCallAsObservable?: (options: any) => void;
|
|
4
|
+
getLocale?: () => void;
|
|
5
|
+
sendCall: (options: any, variable: any) => void;
|
|
6
|
+
cancel: (variable: any, $file?: any) => void;
|
|
7
|
+
uploadFile: (url: any, data: any, variable: any, options?: any) => void;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.service.js","sourceRoot":"./","sources":["src/types/http-client.service.ts"],"names":[],"mappings":"","sourcesContent":["export interface HttpClientService {\n send: (options, variable) => void;\n sendCallAsObservable?: (options) => void;\n getLocale?: () => void;\n sendCall: (options, variable) => void;\n cancel: (variable, $file?) => void;\n uploadFile: (url: any, data: any, variable: any, options?: any) => void;\n}\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare class IDataSource {
|
|
2
|
+
execute: (operation: Operation, options?: any) => boolean | string | Promise<any>;
|
|
3
|
+
}
|
|
4
|
+
declare enum Operation {
|
|
5
|
+
LIST_RECORDS = "listRecords",
|
|
6
|
+
UPDATE_RECORD = "updateRecord",
|
|
7
|
+
INSERT_RECORD = "insertRecord",
|
|
8
|
+
DELETE_RECORD = "deleteRecord",
|
|
9
|
+
INVOKE = "invoke",
|
|
10
|
+
UPDATE = "update",
|
|
11
|
+
NOTIFY = "notify",
|
|
12
|
+
IS_API_AWARE = "isApiAware",
|
|
13
|
+
SUPPORTS_CRUD = "supportsCRUD",
|
|
14
|
+
SUPPORTS_DISTINCT_API = "supportsDistinctAPI",
|
|
15
|
+
IS_PAGEABLE = "isPageable",
|
|
16
|
+
IS_SORTABLE = "isSortable",
|
|
17
|
+
GET_OPERATION_TYPE = "getOperationType",
|
|
18
|
+
GET_RELATED_PRIMARY_KEYS = "getRelatedTablePrimaryKeys",
|
|
19
|
+
GET_ENTITY_NAME = "getEntityName",
|
|
20
|
+
SET_INPUT = "setinput",
|
|
21
|
+
GET_RELATED_TABLE_DATA = "getRelatedTableData",
|
|
22
|
+
GET_DISTINCT_DATA_BY_FIELDS = "getDistinctDataByFields",
|
|
23
|
+
GET_AGGREGATED_DATA = "getAggregatedData",
|
|
24
|
+
GET_MATCH_MODE = "getMatchMode",
|
|
25
|
+
DOWNLOAD = "download",
|
|
26
|
+
GET_NAME = "getName",
|
|
27
|
+
GET_PROPERTIES_MAP = "getPropertiesMap",
|
|
28
|
+
GET_PRIMARY_KEY = "getPrimaryKey",
|
|
29
|
+
GET_BLOB_URL = "getBlobURL",
|
|
30
|
+
SUPPORTS_SERVER_FILTER = "supportsServerFilter",
|
|
31
|
+
GET_OPTIONS = "getOptions",
|
|
32
|
+
SEARCH_RECORDS = "searchRecords",
|
|
33
|
+
GET_REQUEST_PARAMS = "getRequestParams",
|
|
34
|
+
GET_PAGING_OPTIONS = "getPagingOptions",
|
|
35
|
+
FETCH_DISTINCT_VALUES = "fetchDistinctValues",
|
|
36
|
+
GET_UNIQUE_IDENTIFIER = "getUniqueIdentifier",
|
|
37
|
+
GET_CONTEXT_IDENTIFIER = "getContextIdentifier",
|
|
38
|
+
IS_UPDATE_REQUIRED = "isUpdateRequired",
|
|
39
|
+
ADD_ITEM = "addItem",
|
|
40
|
+
SET_ITEM = "setItem",
|
|
41
|
+
REMOVE_ITEM = "removeItem",
|
|
42
|
+
IS_BOUND_TO_LOCALE = "isBoundToLocale",
|
|
43
|
+
GET_DEFAULT_LOCALE = "getDefaultLocale",
|
|
44
|
+
CANCEL = "cancel",
|
|
45
|
+
SET_PAGINATION = "setPagination"
|
|
46
|
+
}
|
|
47
|
+
export declare const DataSource: {
|
|
48
|
+
Operation: typeof Operation;
|
|
49
|
+
};
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var IDataSource = /** @class */ (function () {
|
|
2
|
+
function IDataSource() {
|
|
3
|
+
}
|
|
4
|
+
return IDataSource;
|
|
5
|
+
}());
|
|
6
|
+
export { IDataSource };
|
|
7
|
+
var Operation;
|
|
8
|
+
(function (Operation) {
|
|
9
|
+
Operation["LIST_RECORDS"] = "listRecords";
|
|
10
|
+
Operation["UPDATE_RECORD"] = "updateRecord";
|
|
11
|
+
Operation["INSERT_RECORD"] = "insertRecord";
|
|
12
|
+
Operation["DELETE_RECORD"] = "deleteRecord";
|
|
13
|
+
Operation["INVOKE"] = "invoke";
|
|
14
|
+
Operation["UPDATE"] = "update";
|
|
15
|
+
Operation["NOTIFY"] = "notify";
|
|
16
|
+
Operation["IS_API_AWARE"] = "isApiAware";
|
|
17
|
+
Operation["SUPPORTS_CRUD"] = "supportsCRUD";
|
|
18
|
+
Operation["SUPPORTS_DISTINCT_API"] = "supportsDistinctAPI";
|
|
19
|
+
Operation["IS_PAGEABLE"] = "isPageable";
|
|
20
|
+
Operation["IS_SORTABLE"] = "isSortable";
|
|
21
|
+
Operation["GET_OPERATION_TYPE"] = "getOperationType";
|
|
22
|
+
Operation["GET_RELATED_PRIMARY_KEYS"] = "getRelatedTablePrimaryKeys";
|
|
23
|
+
Operation["GET_ENTITY_NAME"] = "getEntityName";
|
|
24
|
+
Operation["SET_INPUT"] = "setinput";
|
|
25
|
+
Operation["GET_RELATED_TABLE_DATA"] = "getRelatedTableData";
|
|
26
|
+
Operation["GET_DISTINCT_DATA_BY_FIELDS"] = "getDistinctDataByFields";
|
|
27
|
+
Operation["GET_AGGREGATED_DATA"] = "getAggregatedData";
|
|
28
|
+
Operation["GET_MATCH_MODE"] = "getMatchMode";
|
|
29
|
+
Operation["DOWNLOAD"] = "download";
|
|
30
|
+
Operation["GET_NAME"] = "getName";
|
|
31
|
+
Operation["GET_PROPERTIES_MAP"] = "getPropertiesMap";
|
|
32
|
+
Operation["GET_PRIMARY_KEY"] = "getPrimaryKey";
|
|
33
|
+
Operation["GET_BLOB_URL"] = "getBlobURL";
|
|
34
|
+
Operation["SUPPORTS_SERVER_FILTER"] = "supportsServerFilter";
|
|
35
|
+
Operation["GET_OPTIONS"] = "getOptions";
|
|
36
|
+
Operation["SEARCH_RECORDS"] = "searchRecords";
|
|
37
|
+
Operation["GET_REQUEST_PARAMS"] = "getRequestParams";
|
|
38
|
+
Operation["GET_PAGING_OPTIONS"] = "getPagingOptions";
|
|
39
|
+
Operation["FETCH_DISTINCT_VALUES"] = "fetchDistinctValues";
|
|
40
|
+
Operation["GET_UNIQUE_IDENTIFIER"] = "getUniqueIdentifier";
|
|
41
|
+
Operation["GET_CONTEXT_IDENTIFIER"] = "getContextIdentifier";
|
|
42
|
+
Operation["IS_UPDATE_REQUIRED"] = "isUpdateRequired";
|
|
43
|
+
Operation["ADD_ITEM"] = "addItem";
|
|
44
|
+
Operation["SET_ITEM"] = "setItem";
|
|
45
|
+
Operation["REMOVE_ITEM"] = "removeItem";
|
|
46
|
+
Operation["IS_BOUND_TO_LOCALE"] = "isBoundToLocale";
|
|
47
|
+
Operation["GET_DEFAULT_LOCALE"] = "getDefaultLocale";
|
|
48
|
+
Operation["CANCEL"] = "cancel";
|
|
49
|
+
Operation["SET_PAGINATION"] = "setPagination";
|
|
50
|
+
})(Operation || (Operation = {}));
|
|
51
|
+
export var DataSource = {
|
|
52
|
+
Operation: Operation
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"./","sources":["src/types/types.ts"],"names":[],"mappings":"AAAA;IAAA;IAEA,CAAC;IAAD,kBAAC;AAAD,CAAC,AAFD,IAEC;;AAED,IAAK,SA0CJ;AA1CD,WAAK,SAAS;IACV,yCAA4B,CAAA;IAC5B,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,wCAA2B,CAAA;IAC3B,2CAA8B,CAAA;IAC9B,0DAA6C,CAAA;IAC7C,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,oDAAuC,CAAA;IACvC,oEAAuD,CAAA;IACvD,8CAAiC,CAAA;IACjC,mCAAsB,CAAA;IACtB,2DAA8C,CAAA;IAC9C,oEAAuD,CAAA;IACvD,sDAAyC,CAAA;IACzC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,iCAAoB,CAAA;IACpB,oDAAuC,CAAA;IACvC,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;IAC/C,uCAA0B,CAAA;IAC1B,6CAAgC,CAAA;IAChC,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,0DAA6C,CAAA;IAC7C,0DAA6C,CAAA;IAC7C,4DAA+C,CAAA;IAC/C,oDAAuC,CAAA;IACvC,iCAAoB,CAAA;IACpB,iCAAoB,CAAA;IACpB,uCAA0B,CAAA;IAC1B,mDAAsC,CAAA;IACtC,oDAAuC,CAAA;IACvC,8BAAiB,CAAA;IACjB,6CAAgC,CAAA;AACpC,CAAC,EA1CI,SAAS,KAAT,SAAS,QA0Cb;AAED,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,SAAS,WAAA;CACZ,CAAC","sourcesContent":["export class IDataSource {\n execute: (operation: Operation, options?: any) => boolean | string | Promise<any>;\n}\n\nenum Operation {\n LIST_RECORDS = 'listRecords',\n UPDATE_RECORD = 'updateRecord',\n INSERT_RECORD = 'insertRecord',\n DELETE_RECORD = 'deleteRecord',\n INVOKE = 'invoke',\n UPDATE = 'update',\n NOTIFY = 'notify',\n IS_API_AWARE = 'isApiAware',\n SUPPORTS_CRUD = 'supportsCRUD',\n SUPPORTS_DISTINCT_API = 'supportsDistinctAPI',\n IS_PAGEABLE = 'isPageable',\n IS_SORTABLE = \"isSortable\",\n GET_OPERATION_TYPE = 'getOperationType',\n GET_RELATED_PRIMARY_KEYS = 'getRelatedTablePrimaryKeys',\n GET_ENTITY_NAME = 'getEntityName',\n SET_INPUT = 'setinput',\n GET_RELATED_TABLE_DATA = 'getRelatedTableData',\n GET_DISTINCT_DATA_BY_FIELDS = 'getDistinctDataByFields',\n GET_AGGREGATED_DATA = 'getAggregatedData',\n GET_MATCH_MODE = 'getMatchMode',\n DOWNLOAD = 'download',\n GET_NAME = 'getName',\n GET_PROPERTIES_MAP = 'getPropertiesMap',\n GET_PRIMARY_KEY = 'getPrimaryKey',\n GET_BLOB_URL = 'getBlobURL',\n SUPPORTS_SERVER_FILTER = 'supportsServerFilter',\n GET_OPTIONS = 'getOptions',\n SEARCH_RECORDS = 'searchRecords',\n GET_REQUEST_PARAMS = 'getRequestParams',\n GET_PAGING_OPTIONS = 'getPagingOptions',\n FETCH_DISTINCT_VALUES = 'fetchDistinctValues',\n GET_UNIQUE_IDENTIFIER = 'getUniqueIdentifier',\n GET_CONTEXT_IDENTIFIER = 'getContextIdentifier',\n IS_UPDATE_REQUIRED = 'isUpdateRequired',\n ADD_ITEM = 'addItem',\n SET_ITEM = 'setItem',\n REMOVE_ITEM = 'removeItem',\n IS_BOUND_TO_LOCALE = 'isBoundToLocale',\n GET_DEFAULT_LOCALE = 'getDefaultLocale',\n CANCEL = 'cancel',\n SET_PAGINATION = 'setPagination'\n}\n\nexport const DataSource = {\n Operation\n};"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default class DatasetUtil {
|
|
2
|
+
static isValidDataset(dataSet: any, isList?: boolean): any;
|
|
3
|
+
static getValue(dataSet: any, key: any, index: any, isList?: boolean): any;
|
|
4
|
+
static setValue(dataSet: any, key: any, value: any, isList?: boolean): any;
|
|
5
|
+
static getItem(dataSet: any, index: any, isList?: boolean): any;
|
|
6
|
+
/**
|
|
7
|
+
* This method is used to find target node
|
|
8
|
+
* @param dataSet: provided dataSet
|
|
9
|
+
* @param options: provided options
|
|
10
|
+
* @returns {any} targetnode
|
|
11
|
+
*/
|
|
12
|
+
private static getTargetNode;
|
|
13
|
+
static setItem(dataSet: any, i: any, value: any, options?: any): any;
|
|
14
|
+
static addItem(dataSet: any, value: any, index: any, options?: any): any;
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param dataSet
|
|
18
|
+
* @param i, can be index value of the object/element in array
|
|
19
|
+
* or
|
|
20
|
+
* the whole object which needs to be removed
|
|
21
|
+
* @param exactMatch
|
|
22
|
+
* @returns {any}
|
|
23
|
+
*/
|
|
24
|
+
static removeItem(dataSet: any, i: any, options: any): any;
|
|
25
|
+
static getValidDataset(isList?: boolean): {};
|
|
26
|
+
static getCount(dataSet: any, isList?: boolean): any;
|
|
27
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { isArray, get, isUndefined, isObject, findIndex, set, isBoolean, isEqual } from 'lodash-es';
|
|
2
|
+
var DatasetUtil = /** @class */ (function () {
|
|
3
|
+
function DatasetUtil() {
|
|
4
|
+
}
|
|
5
|
+
DatasetUtil.isValidDataset = function (dataSet, isList) {
|
|
6
|
+
if (!dataSet) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
// check array type dataset for list type variable
|
|
10
|
+
if (isList && !isArray(dataSet)) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
// change the dataSet
|
|
14
|
+
return dataSet;
|
|
15
|
+
};
|
|
16
|
+
DatasetUtil.getValue = function (dataSet, key, index, isList) {
|
|
17
|
+
index = index || 0;
|
|
18
|
+
// return the value against the specified key
|
|
19
|
+
return isList ? dataSet[index][key] : dataSet[key];
|
|
20
|
+
};
|
|
21
|
+
DatasetUtil.setValue = function (dataSet, key, value, isList) {
|
|
22
|
+
// check param sanity
|
|
23
|
+
if (key && !isList) {
|
|
24
|
+
dataSet[key] = value;
|
|
25
|
+
}
|
|
26
|
+
// return the new dataSet
|
|
27
|
+
return dataSet;
|
|
28
|
+
};
|
|
29
|
+
DatasetUtil.getItem = function (dataSet, index, isList) {
|
|
30
|
+
// return the object against the specified index
|
|
31
|
+
return isList ? dataSet[index] : dataSet;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* This method is used to find target node
|
|
35
|
+
* @param dataSet: provided dataSet
|
|
36
|
+
* @param options: provided options
|
|
37
|
+
* @returns {any} targetnode
|
|
38
|
+
*/
|
|
39
|
+
DatasetUtil.getTargetNode = function (dataSet, options) {
|
|
40
|
+
dataSet = options.parentIndex !== undefined ? dataSet[options.parentIndex] : dataSet;
|
|
41
|
+
return get(dataSet, options.path);
|
|
42
|
+
};
|
|
43
|
+
DatasetUtil.setItem = function (dataSet, i, value, options) {
|
|
44
|
+
var index;
|
|
45
|
+
// check param sanity
|
|
46
|
+
if (isUndefined(i) || !options.isList) {
|
|
47
|
+
return dataSet;
|
|
48
|
+
}
|
|
49
|
+
if (isObject(i)) {
|
|
50
|
+
index = findIndex(dataSet, i);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
index = i;
|
|
54
|
+
}
|
|
55
|
+
if (options.path) {
|
|
56
|
+
var innerArray = DatasetUtil.getTargetNode(dataSet, options);
|
|
57
|
+
// Fix for [WMS-31138]: If the "i" value is not an object, use it directly as the index
|
|
58
|
+
var innerElemindex = isObject(i) ? findIndex(innerArray, i) : i;
|
|
59
|
+
if (innerElemindex > -1) {
|
|
60
|
+
innerArray[innerElemindex] = value;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
if (index > -1) {
|
|
65
|
+
// set the value against the specified index
|
|
66
|
+
dataSet[index] = value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// return the new dataSet
|
|
70
|
+
return dataSet;
|
|
71
|
+
};
|
|
72
|
+
DatasetUtil.addItem = function (dataSet, value, index, options) {
|
|
73
|
+
// check param sanity
|
|
74
|
+
if (isUndefined(value) || !options.isList) {
|
|
75
|
+
return dataSet;
|
|
76
|
+
}
|
|
77
|
+
// set the value against the specified index
|
|
78
|
+
if (options.path) {
|
|
79
|
+
var innerArray = DatasetUtil.getTargetNode(dataSet, options);
|
|
80
|
+
if (innerArray) {
|
|
81
|
+
// check for index sanity
|
|
82
|
+
index = index !== undefined ? index : innerArray.length;
|
|
83
|
+
innerArray.splice(index, 0, value);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
options.parentIndex !== undefined ? set(dataSet[options.parentIndex], options.path, [value]) : set(dataSet, options.path, [value]);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// check for index sanity
|
|
91
|
+
index = index !== undefined ? index : dataSet.length;
|
|
92
|
+
dataSet.splice(index, 0, value);
|
|
93
|
+
}
|
|
94
|
+
// return the new dataSet
|
|
95
|
+
return dataSet;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
*
|
|
99
|
+
* @param dataSet
|
|
100
|
+
* @param i, can be index value of the object/element in array
|
|
101
|
+
* or
|
|
102
|
+
* the whole object which needs to be removed
|
|
103
|
+
* @param exactMatch
|
|
104
|
+
* @returns {any}
|
|
105
|
+
*/
|
|
106
|
+
DatasetUtil.removeItem = function (dataSet, i, options) {
|
|
107
|
+
var index, exactMatch;
|
|
108
|
+
// check for index sanity
|
|
109
|
+
i = i !== undefined ? i : dataSet.length - 1;
|
|
110
|
+
if (isBoolean(options)) {
|
|
111
|
+
exactMatch = options;
|
|
112
|
+
}
|
|
113
|
+
if (isObject(options)) {
|
|
114
|
+
exactMatch = options.exactMatch;
|
|
115
|
+
}
|
|
116
|
+
if (isObject(i)) {
|
|
117
|
+
if (options.path) {
|
|
118
|
+
var innerArray = DatasetUtil.getTargetNode(dataSet, options);
|
|
119
|
+
var innerElemindex = findIndex(innerArray, i);
|
|
120
|
+
if (innerElemindex > -1 && (!exactMatch || (exactMatch && isEqual(innerArray[innerElemindex], i)))) {
|
|
121
|
+
innerArray.splice(innerElemindex, 1);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
index = findIndex(dataSet, i);
|
|
126
|
+
// When exactMatch property is set to true delete only when every property values are same*/
|
|
127
|
+
if (index > -1 && (!exactMatch || (exactMatch && isEqual(dataSet[index], i)))) {
|
|
128
|
+
dataSet.splice(index, 1);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
dataSet.splice(i, 1);
|
|
134
|
+
}
|
|
135
|
+
// return the new dataSet
|
|
136
|
+
return dataSet;
|
|
137
|
+
};
|
|
138
|
+
DatasetUtil.getValidDataset = function (isList) {
|
|
139
|
+
return isList ? [] : {};
|
|
140
|
+
};
|
|
141
|
+
DatasetUtil.getCount = function (dataSet, isList) {
|
|
142
|
+
return isList ? dataSet.length : Object.keys(dataSet).length;
|
|
143
|
+
};
|
|
144
|
+
return DatasetUtil;
|
|
145
|
+
}());
|
|
146
|
+
export default DatasetUtil;
|
|
147
|
+
//# sourceMappingURL=dataset-util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-util.js","sourceRoot":"./","sources":["src/util/dataset-util.ts"],"names":[],"mappings":"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","sourcesContent":["import {isArray, get, isUndefined, isObject, findIndex, set, isBoolean, isEqual} from 'lodash-es';\n\nexport default class DatasetUtil {\n\n static isValidDataset(dataSet: any, isList?: boolean) {\n if (!dataSet) {\n return false;\n }\n\n // check array type dataset for list type variable\n if (isList && !isArray(dataSet)) {\n return false;\n }\n\n // change the dataSet\n return dataSet;\n }\n\n static getValue(dataSet: any, key: any, index: any, isList?: boolean) {\n index = index || 0;\n\n // return the value against the specified key\n return isList ? dataSet[index][key] : dataSet[key];\n }\n\n static setValue(dataSet: any, key: any, value: any, isList?: boolean) {\n // check param sanity\n if (key && !isList) {\n dataSet[key] = value;\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n static getItem(dataSet: any, index: any, isList?: boolean) {\n // return the object against the specified index\n return isList ? dataSet[index] : dataSet;\n }\n\n /**\n * This method is used to find target node\n * @param dataSet: provided dataSet\n * @param options: provided options\n * @returns {any} targetnode\n */\n private static getTargetNode(dataSet: any, options: any) {\n dataSet = options.parentIndex !== undefined ? dataSet[options.parentIndex] : dataSet;\n return get(dataSet, options.path);\n }\n\n static setItem(dataSet: any, i: any, value: any, options?: any) {\n let index;\n\n // check param sanity\n if (isUndefined(i) || !options.isList) {\n return dataSet;\n }\n\n if (isObject(i)) {\n index = findIndex(dataSet, i);\n } else {\n index = i;\n }\n\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n // Fix for [WMS-31138]: If the \"i\" value is not an object, use it directly as the index\n const innerElemindex = isObject(i) ? findIndex(innerArray, i) : i;\n if (innerElemindex > -1) {\n innerArray[innerElemindex] = value;\n }\n } else {\n if (index > -1) {\n // set the value against the specified index\n dataSet[index] = value;\n }\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n static addItem(dataSet: any, value: any, index: any, options?: any) {\n // check param sanity\n if (isUndefined(value) || !options.isList) {\n return dataSet;\n }\n\n // set the value against the specified index\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n if (innerArray) {\n // check for index sanity\n index = index !== undefined ? index : innerArray.length;\n innerArray.splice(index, 0, value);\n } else {\n options.parentIndex !== undefined ? set(dataSet[options.parentIndex], options.path, [value]) : set(dataSet, options.path, [value]);\n }\n\n } else {\n // check for index sanity\n index = index !== undefined ? index : dataSet.length;\n dataSet.splice(index, 0, value);\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n /**\n *\n * @param dataSet\n * @param i, can be index value of the object/element in array\n * or\n * the whole object which needs to be removed\n * @param exactMatch\n * @returns {any}\n */\n static removeItem(dataSet: any, i: any, options: any) {\n let index, exactMatch;\n // check for index sanity\n i = i !== undefined ? i : dataSet.length - 1;\n\n if (isBoolean(options)) {\n exactMatch = options;\n }\n if (isObject(options)) {\n exactMatch = options.exactMatch;\n }\n\n if (isObject(i)) {\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n const innerElemindex = findIndex(innerArray, i);\n if (innerElemindex > -1 && (!exactMatch || (exactMatch && isEqual(innerArray[innerElemindex], i)))) {\n innerArray.splice(innerElemindex, 1);\n }\n } else {\n index = findIndex(dataSet, i);\n // When exactMatch property is set to true delete only when every property values are same*/\n if (index > -1 && (!exactMatch || (exactMatch && isEqual(dataSet[index], i)))) {\n dataSet.splice(index, 1);\n }\n }\n } else {\n dataSet.splice(i, 1);\n }\n // return the new dataSet\n return dataSet;\n }\n\n static getValidDataset(isList?: boolean) {\n return isList ? [] : {};\n }\n\n static getCount(dataSet: any, isList?: boolean) {\n return isList ? dataSet.length : Object.keys(dataSet).length;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NotifyPromise } from './notify-promise';
|
|
2
|
+
/**
|
|
3
|
+
* This function uploads the file to the given url endpoint.
|
|
4
|
+
*
|
|
5
|
+
* @param file file to upload
|
|
6
|
+
* @param url http endpoint to which the file has to be submitted.
|
|
7
|
+
* @param options
|
|
8
|
+
* @returns a promise to listen for success, event, onProgress.
|
|
9
|
+
* One can also abort the upload by simply calling abort function.
|
|
10
|
+
*/
|
|
11
|
+
export declare function upload(files: any, variable: any, fd: any, config: any, options?: any): NotifyPromise;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import { triggerFn } from './utils';
|
|
17
|
+
import { NotifyPromise } from './notify-promise';
|
|
18
|
+
import { isArray, forEach, isObject, find, extend } from 'lodash-es';
|
|
19
|
+
var UPLOAD_STATUS;
|
|
20
|
+
(function (UPLOAD_STATUS) {
|
|
21
|
+
UPLOAD_STATUS["QUEUED"] = "queued";
|
|
22
|
+
UPLOAD_STATUS["IN_PROGRESS"] = "inprogress";
|
|
23
|
+
UPLOAD_STATUS["SUCCESS"] = "success";
|
|
24
|
+
UPLOAD_STATUS["ERROR"] = "error";
|
|
25
|
+
UPLOAD_STATUS["ABORTED"] = "abort";
|
|
26
|
+
})(UPLOAD_STATUS || (UPLOAD_STATUS = {}));
|
|
27
|
+
function transformEvent(event) {
|
|
28
|
+
event.target = event.target || {
|
|
29
|
+
status: event.responseCode,
|
|
30
|
+
response: event.response
|
|
31
|
+
};
|
|
32
|
+
return event;
|
|
33
|
+
}
|
|
34
|
+
var FileTransferObject = /** @class */ (function () {
|
|
35
|
+
function FileTransferObject(file, transferFn, promise, abortFn) {
|
|
36
|
+
this.name = file.name;
|
|
37
|
+
this.size = file.size || '';
|
|
38
|
+
this.status = UPLOAD_STATUS.QUEUED;
|
|
39
|
+
this.transferFn = transferFn;
|
|
40
|
+
this.promise = promise;
|
|
41
|
+
this.abortFn = abortFn;
|
|
42
|
+
}
|
|
43
|
+
FileTransferObject.prototype.start = function () {
|
|
44
|
+
if (this.status === UPLOAD_STATUS.QUEUED) {
|
|
45
|
+
this.status = UPLOAD_STATUS.IN_PROGRESS;
|
|
46
|
+
triggerFn(this.transferFn);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
FileTransferObject.prototype.then = function (onSuccess, onError, onProgress) {
|
|
50
|
+
var self = this;
|
|
51
|
+
this.promise.then(function (event) {
|
|
52
|
+
self.status = UPLOAD_STATUS.SUCCESS;
|
|
53
|
+
triggerFn(onSuccess, event);
|
|
54
|
+
}, function (event) {
|
|
55
|
+
self.status = UPLOAD_STATUS.ERROR;
|
|
56
|
+
triggerFn(onError, event);
|
|
57
|
+
}, function (event) {
|
|
58
|
+
self.progress = Math.round(event.loaded / event.total * 100);
|
|
59
|
+
triggerFn(onProgress, event);
|
|
60
|
+
});
|
|
61
|
+
return this;
|
|
62
|
+
};
|
|
63
|
+
FileTransferObject.prototype.finally = function (onFinal) {
|
|
64
|
+
this.promise.finally(onFinal);
|
|
65
|
+
};
|
|
66
|
+
/* aborts the file upload */
|
|
67
|
+
FileTransferObject.prototype.abort = function () {
|
|
68
|
+
this.status = UPLOAD_STATUS.ABORTED;
|
|
69
|
+
triggerFn(this.abortFn);
|
|
70
|
+
this.finally();
|
|
71
|
+
};
|
|
72
|
+
return FileTransferObject;
|
|
73
|
+
}());
|
|
74
|
+
var AjaxFileTransferObject = /** @class */ (function (_super) {
|
|
75
|
+
__extends(AjaxFileTransferObject, _super);
|
|
76
|
+
function AjaxFileTransferObject(file, transferFn, promise, abortFn) {
|
|
77
|
+
return _super.call(this, file, transferFn, promise, abortFn) || this;
|
|
78
|
+
}
|
|
79
|
+
return AjaxFileTransferObject;
|
|
80
|
+
}(FileTransferObject));
|
|
81
|
+
/* upload file using fileTransfer */
|
|
82
|
+
function uploadWithFileTransfer(file, url, options) { }
|
|
83
|
+
function appendFileToFormData(file, fd, options) {
|
|
84
|
+
/* append file to form data */
|
|
85
|
+
if (isArray(file)) {
|
|
86
|
+
forEach(file, function (fileObject) {
|
|
87
|
+
fd.append(options.paramName, fileObject.content || fileObject, fileObject.name);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
else if (isObject(file)) {
|
|
91
|
+
fd.append(options.paramName, file.content || file, file.name);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/* upload file with ajax calling */
|
|
95
|
+
function uploadWithAjax(file, variable, fd, url, options) {
|
|
96
|
+
var cloneFD = new FormData();
|
|
97
|
+
var iterate = function (value, key) {
|
|
98
|
+
var fileObject = (isArray(value) ? value[0] : value);
|
|
99
|
+
if (!(fileObject instanceof File || fileObject instanceof Blob)) {
|
|
100
|
+
cloneFD.append(key, value);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
// The foreeach method on form data doesn't exist in IE. Hence we check if it exists
|
|
104
|
+
// or else use the lodash forEach
|
|
105
|
+
if (fd.forEach) {
|
|
106
|
+
fd.forEach(iterate);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
forEach(fd, iterate);
|
|
110
|
+
}
|
|
111
|
+
appendFileToFormData(file, cloneFD, options);
|
|
112
|
+
var promise = new NotifyPromise(function (resolve, reject, notify) {
|
|
113
|
+
// ToDo - variable seperation
|
|
114
|
+
variable.httpService.uploadFile(url, cloneFD, variable, { notify: notify }).then(function (data) {
|
|
115
|
+
resolve(data);
|
|
116
|
+
}, function (error) {
|
|
117
|
+
reject(error);
|
|
118
|
+
});
|
|
119
|
+
file._uploadProgress = variable.request;
|
|
120
|
+
});
|
|
121
|
+
return promise;
|
|
122
|
+
}
|
|
123
|
+
/* upload the file - IE9 support */
|
|
124
|
+
// function uploadWithIframe(file, url, options) {}
|
|
125
|
+
/* upload the next file depending on the status */
|
|
126
|
+
function starNextFileTransfer(fts) {
|
|
127
|
+
var ft = find(fts, function (f) {
|
|
128
|
+
return f.status === UPLOAD_STATUS.QUEUED;
|
|
129
|
+
});
|
|
130
|
+
if (ft) {
|
|
131
|
+
ft.start();
|
|
132
|
+
ft.finally(starNextFileTransfer.bind(undefined, fts));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/* upload the max no of files at once i.e. two at once based on max*/
|
|
136
|
+
function startFileTransfers(fts, max) {
|
|
137
|
+
var i = 0;
|
|
138
|
+
var len = fts.length;
|
|
139
|
+
while (i < max && i < len) {
|
|
140
|
+
starNextFileTransfer(fts);
|
|
141
|
+
i++;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function isMobileApp() {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* This function uploads the file to the given url endpoint.
|
|
149
|
+
*
|
|
150
|
+
* @param file file to upload
|
|
151
|
+
* @param url http endpoint to which the file has to be submitted.
|
|
152
|
+
* @param options
|
|
153
|
+
* @returns a promise to listen for success, event, onProgress.
|
|
154
|
+
* One can also abort the upload by simply calling abort function.
|
|
155
|
+
*/
|
|
156
|
+
export function upload(files, variable, fd, config, options) {
|
|
157
|
+
options = extend({
|
|
158
|
+
'paramName': config.fileParamName
|
|
159
|
+
}, options);
|
|
160
|
+
return uploadWithAjax(files, variable, fd, config.url, options);
|
|
161
|
+
// let fileTransfers = [],
|
|
162
|
+
// url = config.uploadUrl;
|
|
163
|
+
// options = extend({
|
|
164
|
+
// 'paramName' : config.fileParamName
|
|
165
|
+
// }, options);
|
|
166
|
+
//
|
|
167
|
+
// if (isMobileApp()) {
|
|
168
|
+
// forEach(files, function (file) {
|
|
169
|
+
// fileTransfers.push(uploadWithFileTransfer(file, url, options));
|
|
170
|
+
// });
|
|
171
|
+
// } else if ((window as any).FormData) {
|
|
172
|
+
// forEach(files, function (file) {
|
|
173
|
+
// fileTransfers.push(uploadWithAjax(file, url, options));
|
|
174
|
+
// });
|
|
175
|
+
// } else {
|
|
176
|
+
// forEach(files, function (file) {
|
|
177
|
+
// fileTransfers.push(uploadWithIframe(file, url, options));
|
|
178
|
+
// });
|
|
179
|
+
// }
|
|
180
|
+
// startFileTransfers(fileTransfers, 2);
|
|
181
|
+
// return fileTransfers;
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=file-upload.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload.util.js","sourceRoot":"./","sources":["src/util/file-upload.util.ts"],"names":[],"mappings":"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","sourcesContent":["import { triggerFn } from './utils';\n\nimport { NotifyPromise } from './notify-promise';\n\nimport {isArray, forEach, isObject, find, extend} from 'lodash-es';\n\nenum UPLOAD_STATUS {\n QUEUED = 'queued',\n IN_PROGRESS = 'inprogress',\n SUCCESS = 'success',\n ERROR = 'error',\n ABORTED = 'abort'\n}\n\nfunction transformEvent(event: any) {\n event.target = event.target || {\n status: event.responseCode,\n response: event.response\n };\n return event;\n}\n\nclass FileTransferObject {\n name: string;\n size: string;\n status: string;\n transferFn: Function;\n abortFn: Function;\n promise: any;\n progress: number;\n\n constructor(file: any, transferFn: any, promise: any, abortFn: any) {\n this.name = file.name;\n this.size = file.size || '';\n this.status = UPLOAD_STATUS.QUEUED;\n this.transferFn = transferFn;\n this.promise = promise;\n this.abortFn = abortFn;\n }\n\n start() {\n if (this.status === UPLOAD_STATUS.QUEUED) {\n this.status = UPLOAD_STATUS.IN_PROGRESS;\n triggerFn(this.transferFn);\n }\n }\n\n then(onSuccess: any, onError: any, onProgress: any) {\n const self = this;\n this.promise.then(function (event: any) {\n self.status = UPLOAD_STATUS.SUCCESS;\n triggerFn(onSuccess, event);\n }, function (event: any) {\n self.status = UPLOAD_STATUS.ERROR;\n triggerFn(onError, event);\n }, function (event: any) {\n self.progress = Math.round(event.loaded / event.total * 100);\n triggerFn(onProgress, event);\n });\n return this;\n }\n\n finally(onFinal?: any) {\n this.promise.finally(onFinal);\n }\n\n /* aborts the file upload */\n abort() {\n this.status = UPLOAD_STATUS.ABORTED;\n triggerFn(this.abortFn);\n this.finally();\n }\n\n}\n\nclass AjaxFileTransferObject extends FileTransferObject {\n constructor(file: any, transferFn: any, promise: any, abortFn: any) {\n super(file, transferFn, promise, abortFn);\n }\n}\n\n/* upload file using fileTransfer */\nfunction uploadWithFileTransfer(file: any, url: any, options: any) {}\n\nfunction appendFileToFormData(file: any, fd: any, options: any) {\n /* append file to form data */\n if (isArray(file)) {\n forEach(file, function (fileObject: any) {\n fd.append(options.paramName, fileObject.content || fileObject, fileObject.name);\n });\n } else if (isObject(file)) {\n fd.append(options.paramName, file.content || file, file.name);\n }\n}\n\n/* upload file with ajax calling */\nfunction uploadWithAjax(file: any, variable: any, fd: any, url: any, options: any) {\n const cloneFD = new FormData();\n const iterate = (value: any, key: any) => {\n const fileObject = (isArray(value) ? value[0] : value);\n if (!(fileObject instanceof File || fileObject instanceof Blob)) {\n cloneFD.append(key, value);\n }\n };\n // The foreeach method on form data doesn't exist in IE. Hence we check if it exists\n // or else use the lodash forEach\n if (fd.forEach) {\n fd.forEach(iterate);\n } else {\n forEach(fd, iterate);\n }\n appendFileToFormData(file, cloneFD, options);\n\n const promise = new NotifyPromise((resolve: any, reject: any, notify: any) => {\n // ToDo - variable seperation\n variable.httpService.uploadFile(url, cloneFD, variable, {notify: notify}).then((data: any) => {\n resolve(data);\n }, (error: any) => {\n reject(error);\n });\n file._uploadProgress = variable.request;\n });\n\n return promise;\n}\n\n/* upload the file - IE9 support */\n// function uploadWithIframe(file, url, options) {}\n\n/* upload the next file depending on the status */\nfunction starNextFileTransfer(fts: any) {\n const ft = find(fts, function (f: any) {\n return f.status === UPLOAD_STATUS.QUEUED;\n });\n if (ft) {\n ft.start();\n ft.finally(starNextFileTransfer.bind(undefined, fts));\n }\n}\n\n/* upload the max no of files at once i.e. two at once based on max*/\nfunction startFileTransfers(fts: any, max: any) {\n let i = 0;\n const len = fts.length;\n while (i < max && i < len) {\n starNextFileTransfer(fts);\n i++;\n }\n}\n\nfunction isMobileApp() {\n return false;\n}\n\n/**\n * This function uploads the file to the given url endpoint.\n *\n * @param file file to upload\n * @param url http endpoint to which the file has to be submitted.\n * @param options\n * @returns a promise to listen for success, event, onProgress.\n * One can also abort the upload by simply calling abort function.\n */\nexport function upload(files: any, variable: any, fd: any, config: any, options?: any) {\n options = extend({\n 'paramName' : config.fileParamName\n }, options);\n return uploadWithAjax(files, variable, fd, config.url, options);\n // let fileTransfers = [],\n // url = config.uploadUrl;\n // options = extend({\n // 'paramName' : config.fileParamName\n // }, options);\n //\n // if (isMobileApp()) {\n // forEach(files, function (file) {\n // fileTransfers.push(uploadWithFileTransfer(file, url, options));\n // });\n // } else if ((window as any).FormData) {\n // forEach(files, function (file) {\n // fileTransfers.push(uploadWithAjax(file, url, options));\n // });\n // } else {\n // forEach(files, function (file) {\n // fileTransfers.push(uploadWithIframe(file, url, options));\n // });\n // }\n // startFileTransfers(fileTransfers, 2);\n // return fileTransfers;\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
declare class InflightQueue {
|
|
2
|
+
requestsQueue: Map<any, any>;
|
|
3
|
+
/**
|
|
4
|
+
* pushes the process against a variable in its queue
|
|
5
|
+
* @param variable
|
|
6
|
+
* @param {{resolve: (value?: any) => void; reject: (reason?: any) => void}} param2
|
|
7
|
+
* the resolve callback will be called on
|
|
8
|
+
*/
|
|
9
|
+
private addToQueue;
|
|
10
|
+
/**
|
|
11
|
+
* Calls the reject method against the passed process
|
|
12
|
+
* @param process
|
|
13
|
+
*/
|
|
14
|
+
private rejectProcess;
|
|
15
|
+
/**
|
|
16
|
+
* clears the queue against a variable
|
|
17
|
+
* @param variable
|
|
18
|
+
*/
|
|
19
|
+
clear(variable: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* executes the n/w calls for a specified variable pushed in its respective queue (pushed while it was inFlight)
|
|
22
|
+
* @param variable
|
|
23
|
+
*/
|
|
24
|
+
process(variable: any): void;
|
|
25
|
+
/**
|
|
26
|
+
* initializes the queue against a variable and makes the first process call
|
|
27
|
+
* If already initialized and a process in queue is in progress, the queue is not processed.
|
|
28
|
+
* To process the next item in the queue, the process method has to be called from the caller.
|
|
29
|
+
* @param variable
|
|
30
|
+
* @returns {Promise<any>}
|
|
31
|
+
*/
|
|
32
|
+
submit(variable: any): Promise<unknown>;
|
|
33
|
+
}
|
|
34
|
+
export declare const $queue: InflightQueue;
|
|
35
|
+
export {};
|