aurelia-syncfusion-ej2-bridge 1.0.5 → 1.0.7

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 (173) hide show
  1. package/README.md +35 -34
  2. package/package.json +106 -106
  3. package/.vscode/extensions.json +0 -10
  4. package/.vscode/launch.json +0 -31
  5. package/.vscode/settings.json +0 -5
  6. package/dist/commonjs/common/constants.d.ts +0 -4
  7. package/dist/commonjs/common/constants.js +0 -7
  8. package/dist/commonjs/common/controlBase.d.ts +0 -37
  9. package/dist/commonjs/common/controlBase.js +0 -161
  10. package/dist/commonjs/common/controlContainer.d.ts +0 -10
  11. package/dist/commonjs/common/controlContainer.js +0 -19
  12. package/dist/commonjs/common/syncfusionWrapper.d.ts +0 -15
  13. package/dist/commonjs/common/syncfusionWrapper.js +0 -44
  14. package/dist/commonjs/configBuider.d.ts +0 -41
  15. package/dist/commonjs/configBuider.js +0 -224
  16. package/dist/commonjs/controlBindings.d.ts +0 -150
  17. package/dist/commonjs/controlBindings.js +0 -184
  18. package/dist/commonjs/index.d.ts +0 -6
  19. package/dist/commonjs/index.js +0 -17
  20. package/dist/commonjs/interfaces/IEJ2WidgetBridge.d.ts +0 -6
  21. package/dist/commonjs/interfaces/IEJ2WidgetBridge.js +0 -2
  22. package/dist/commonjs/interfaces/IEj2Uploader.d.ts +0 -17
  23. package/dist/commonjs/interfaces/IEj2Uploader.js +0 -2
  24. package/dist/commonjs/utilities/decorator.d.ts +0 -2
  25. package/dist/commonjs/utilities/decorator.js +0 -63
  26. package/dist/commonjs/widgets/accordion/ej2-accordion.d.ts +0 -7
  27. package/dist/commonjs/widgets/accordion/ej2-accordion.js +0 -31
  28. package/dist/commonjs/widgets/autoComplete/ej2-autoComplete.d.ts +0 -7
  29. package/dist/commonjs/widgets/autoComplete/ej2-autoComplete.js +0 -29
  30. package/dist/commonjs/widgets/button/ej2-button.d.ts +0 -14
  31. package/dist/commonjs/widgets/button/ej2-button.js +0 -55
  32. package/dist/commonjs/widgets/checkbox/ej2-checkbox-list.d.ts +0 -17
  33. package/dist/commonjs/widgets/checkbox/ej2-checkbox-list.js +0 -77
  34. package/dist/commonjs/widgets/checkbox/ej2-checkbox.d.ts +0 -12
  35. package/dist/commonjs/widgets/checkbox/ej2-checkbox.js +0 -58
  36. package/dist/commonjs/widgets/comboBox/ej2-comboBox.d.ts +0 -8
  37. package/dist/commonjs/widgets/comboBox/ej2-comboBox.js +0 -35
  38. package/dist/commonjs/widgets/dashboardLayout/ej2-dashboardLayout.d.ts +0 -7
  39. package/dist/commonjs/widgets/dashboardLayout/ej2-dashboardLayout.js +0 -29
  40. package/dist/commonjs/widgets/datePicker/ej2-DatePicker.d.ts +0 -8
  41. package/dist/commonjs/widgets/datePicker/ej2-DatePicker.js +0 -35
  42. package/dist/commonjs/widgets/dateRangePicker/ej2-dateRangePicker.d.ts +0 -8
  43. package/dist/commonjs/widgets/dateRangePicker/ej2-dateRangePicker.js +0 -37
  44. package/dist/commonjs/widgets/dateTimePicker/ej2-dateTimePicker.d.ts +0 -8
  45. package/dist/commonjs/widgets/dateTimePicker/ej2-dateTimePicker.js +0 -35
  46. package/dist/commonjs/widgets/dropDownList/ej2-dropDownList.d.ts +0 -9
  47. package/dist/commonjs/widgets/dropDownList/ej2-dropDownList.js +0 -39
  48. package/dist/commonjs/widgets/dropDownTree/ej2-dropDownTree.d.ts +0 -8
  49. package/dist/commonjs/widgets/dropDownTree/ej2-dropDownTree.js +0 -35
  50. package/dist/commonjs/widgets/fileManager/ej2-fileManager.d.ts +0 -9
  51. package/dist/commonjs/widgets/fileManager/ej2-fileManager.js +0 -34
  52. package/dist/commonjs/widgets/grid/ej2-grid.d.ts +0 -8
  53. package/dist/commonjs/widgets/grid/ej2-grid.js +0 -97
  54. package/dist/commonjs/widgets/listView/ej2-listView.d.ts +0 -8
  55. package/dist/commonjs/widgets/listView/ej2-listView.js +0 -34
  56. package/dist/commonjs/widgets/maskedTextBox/ej2-maskedTextBox.d.ts +0 -8
  57. package/dist/commonjs/widgets/maskedTextBox/ej2-maskedTextBox.js +0 -37
  58. package/dist/commonjs/widgets/multiSelect/ej2-multiSelect.d.ts +0 -10
  59. package/dist/commonjs/widgets/multiSelect/ej2-multiSelect.js +0 -44
  60. package/dist/commonjs/widgets/numericTextBox/ej2-numericTextBox.d.ts +0 -8
  61. package/dist/commonjs/widgets/numericTextBox/ej2-numericTextBox.js +0 -35
  62. package/dist/commonjs/widgets/pager/ej2-pager.d.ts +0 -7
  63. package/dist/commonjs/widgets/pager/ej2-pager.js +0 -29
  64. package/dist/commonjs/widgets/progressButton/ej2-progress-button.d.ts +0 -17
  65. package/dist/commonjs/widgets/progressButton/ej2-progress-button.js +0 -64
  66. package/dist/commonjs/widgets/radio/ej2-radio.d.ts +0 -13
  67. package/dist/commonjs/widgets/radio/ej2-radio.js +0 -54
  68. package/dist/commonjs/widgets/richTextEditor/ej2-richTextEditor.d.ts +0 -8
  69. package/dist/commonjs/widgets/richTextEditor/ej2-richTextEditor.js +0 -32
  70. package/dist/commonjs/widgets/schedule/ej2-schedule.d.ts +0 -8
  71. package/dist/commonjs/widgets/schedule/ej2-schedule.js +0 -32
  72. package/dist/commonjs/widgets/sidebar/ej2-sidebar.d.ts +0 -7
  73. package/dist/commonjs/widgets/sidebar/ej2-sidebar.js +0 -30
  74. package/dist/commonjs/widgets/slider/ej2-slider.d.ts +0 -10
  75. package/dist/commonjs/widgets/slider/ej2-slider.js +0 -52
  76. package/dist/commonjs/widgets/splitter/ej2-splitter.d.ts +0 -7
  77. package/dist/commonjs/widgets/splitter/ej2-splitter.js +0 -29
  78. package/dist/commonjs/widgets/switch/ej2-switch.d.ts +0 -11
  79. package/dist/commonjs/widgets/switch/ej2-switch.js +0 -52
  80. package/dist/commonjs/widgets/textBox/ej2-textBox.d.ts +0 -8
  81. package/dist/commonjs/widgets/textBox/ej2-textBox.js +0 -37
  82. package/dist/commonjs/widgets/timePicker/ej2-timePicker.d.ts +0 -8
  83. package/dist/commonjs/widgets/timePicker/ej2-timePicker.js +0 -35
  84. package/dist/commonjs/widgets/timeline/ej2-timeline.d.ts +0 -7
  85. package/dist/commonjs/widgets/timeline/ej2-timeline.js +0 -29
  86. package/dist/commonjs/widgets/treeView/ej2-treeView.d.ts +0 -7
  87. package/dist/commonjs/widgets/treeView/ej2-treeView.js +0 -29
  88. package/dist/commonjs/widgets/uploader/ej2-uploader.d.ts +0 -50
  89. package/dist/commonjs/widgets/uploader/ej2-uploader.js +0 -357
  90. package/dist/native-modules/common/constants.d.ts +0 -4
  91. package/dist/native-modules/common/constants.js +0 -4
  92. package/dist/native-modules/common/controlBase.d.ts +0 -37
  93. package/dist/native-modules/common/controlBase.js +0 -158
  94. package/dist/native-modules/common/controlContainer.d.ts +0 -10
  95. package/dist/native-modules/common/controlContainer.js +0 -15
  96. package/dist/native-modules/common/syncfusionWrapper.d.ts +0 -15
  97. package/dist/native-modules/common/syncfusionWrapper.js +0 -40
  98. package/dist/native-modules/configBuider.d.ts +0 -41
  99. package/dist/native-modules/configBuider.js +0 -220
  100. package/dist/native-modules/controlBindings.d.ts +0 -150
  101. package/dist/native-modules/controlBindings.js +0 -181
  102. package/dist/native-modules/index.d.ts +0 -6
  103. package/dist/native-modules/index.js +0 -12
  104. package/dist/native-modules/interfaces/IEJ2WidgetBridge.d.ts +0 -6
  105. package/dist/native-modules/interfaces/IEJ2WidgetBridge.js +0 -1
  106. package/dist/native-modules/interfaces/IEj2Uploader.d.ts +0 -17
  107. package/dist/native-modules/interfaces/IEj2Uploader.js +0 -1
  108. package/dist/native-modules/utilities/decorator.d.ts +0 -2
  109. package/dist/native-modules/utilities/decorator.js +0 -59
  110. package/dist/native-modules/widgets/accordion/ej2-accordion.d.ts +0 -7
  111. package/dist/native-modules/widgets/accordion/ej2-accordion.js +0 -28
  112. package/dist/native-modules/widgets/autoComplete/ej2-autoComplete.d.ts +0 -7
  113. package/dist/native-modules/widgets/autoComplete/ej2-autoComplete.js +0 -26
  114. package/dist/native-modules/widgets/button/ej2-button.d.ts +0 -14
  115. package/dist/native-modules/widgets/button/ej2-button.js +0 -52
  116. package/dist/native-modules/widgets/checkbox/ej2-checkbox-list.d.ts +0 -17
  117. package/dist/native-modules/widgets/checkbox/ej2-checkbox-list.js +0 -74
  118. package/dist/native-modules/widgets/checkbox/ej2-checkbox.d.ts +0 -12
  119. package/dist/native-modules/widgets/checkbox/ej2-checkbox.js +0 -55
  120. package/dist/native-modules/widgets/comboBox/ej2-comboBox.d.ts +0 -8
  121. package/dist/native-modules/widgets/comboBox/ej2-comboBox.js +0 -32
  122. package/dist/native-modules/widgets/dashboardLayout/ej2-dashboardLayout.d.ts +0 -7
  123. package/dist/native-modules/widgets/dashboardLayout/ej2-dashboardLayout.js +0 -26
  124. package/dist/native-modules/widgets/datePicker/ej2-DatePicker.d.ts +0 -8
  125. package/dist/native-modules/widgets/datePicker/ej2-DatePicker.js +0 -32
  126. package/dist/native-modules/widgets/dateRangePicker/ej2-dateRangePicker.d.ts +0 -8
  127. package/dist/native-modules/widgets/dateRangePicker/ej2-dateRangePicker.js +0 -34
  128. package/dist/native-modules/widgets/dateTimePicker/ej2-dateTimePicker.d.ts +0 -8
  129. package/dist/native-modules/widgets/dateTimePicker/ej2-dateTimePicker.js +0 -32
  130. package/dist/native-modules/widgets/dropDownList/ej2-dropDownList.d.ts +0 -9
  131. package/dist/native-modules/widgets/dropDownList/ej2-dropDownList.js +0 -36
  132. package/dist/native-modules/widgets/dropDownTree/ej2-dropDownTree.d.ts +0 -8
  133. package/dist/native-modules/widgets/dropDownTree/ej2-dropDownTree.js +0 -32
  134. package/dist/native-modules/widgets/fileManager/ej2-fileManager.d.ts +0 -9
  135. package/dist/native-modules/widgets/fileManager/ej2-fileManager.js +0 -31
  136. package/dist/native-modules/widgets/grid/ej2-grid.d.ts +0 -8
  137. package/dist/native-modules/widgets/grid/ej2-grid.js +0 -94
  138. package/dist/native-modules/widgets/listView/ej2-listView.d.ts +0 -8
  139. package/dist/native-modules/widgets/listView/ej2-listView.js +0 -31
  140. package/dist/native-modules/widgets/maskedTextBox/ej2-maskedTextBox.d.ts +0 -8
  141. package/dist/native-modules/widgets/maskedTextBox/ej2-maskedTextBox.js +0 -34
  142. package/dist/native-modules/widgets/multiSelect/ej2-multiSelect.d.ts +0 -10
  143. package/dist/native-modules/widgets/multiSelect/ej2-multiSelect.js +0 -41
  144. package/dist/native-modules/widgets/numericTextBox/ej2-numericTextBox.d.ts +0 -8
  145. package/dist/native-modules/widgets/numericTextBox/ej2-numericTextBox.js +0 -32
  146. package/dist/native-modules/widgets/pager/ej2-pager.d.ts +0 -7
  147. package/dist/native-modules/widgets/pager/ej2-pager.js +0 -26
  148. package/dist/native-modules/widgets/progressButton/ej2-progress-button.d.ts +0 -17
  149. package/dist/native-modules/widgets/progressButton/ej2-progress-button.js +0 -61
  150. package/dist/native-modules/widgets/radio/ej2-radio.d.ts +0 -13
  151. package/dist/native-modules/widgets/radio/ej2-radio.js +0 -51
  152. package/dist/native-modules/widgets/richTextEditor/ej2-richTextEditor.d.ts +0 -8
  153. package/dist/native-modules/widgets/richTextEditor/ej2-richTextEditor.js +0 -29
  154. package/dist/native-modules/widgets/schedule/ej2-schedule.d.ts +0 -8
  155. package/dist/native-modules/widgets/schedule/ej2-schedule.js +0 -29
  156. package/dist/native-modules/widgets/sidebar/ej2-sidebar.d.ts +0 -7
  157. package/dist/native-modules/widgets/sidebar/ej2-sidebar.js +0 -27
  158. package/dist/native-modules/widgets/slider/ej2-slider.d.ts +0 -10
  159. package/dist/native-modules/widgets/slider/ej2-slider.js +0 -46
  160. package/dist/native-modules/widgets/splitter/ej2-splitter.d.ts +0 -7
  161. package/dist/native-modules/widgets/splitter/ej2-splitter.js +0 -26
  162. package/dist/native-modules/widgets/switch/ej2-switch.d.ts +0 -11
  163. package/dist/native-modules/widgets/switch/ej2-switch.js +0 -49
  164. package/dist/native-modules/widgets/textBox/ej2-textBox.d.ts +0 -8
  165. package/dist/native-modules/widgets/textBox/ej2-textBox.js +0 -34
  166. package/dist/native-modules/widgets/timePicker/ej2-timePicker.d.ts +0 -8
  167. package/dist/native-modules/widgets/timePicker/ej2-timePicker.js +0 -32
  168. package/dist/native-modules/widgets/timeline/ej2-timeline.d.ts +0 -7
  169. package/dist/native-modules/widgets/timeline/ej2-timeline.js +0 -26
  170. package/dist/native-modules/widgets/treeView/ej2-treeView.d.ts +0 -7
  171. package/dist/native-modules/widgets/treeView/ej2-treeView.js +0 -26
  172. package/dist/native-modules/widgets/uploader/ej2-uploader.d.ts +0 -50
  173. package/dist/native-modules/widgets/uploader/ej2-uploader.js +0 -354
@@ -1,354 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
- return new (P || (P = Promise))(function (resolve, reject) {
13
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
- step((generator = generator.apply(thisArg, _arguments || [])).next());
17
- });
18
- };
19
- import { constants } from '../../common/constants';
20
- import { Uploader } from "@syncfusion/ej2-inputs";
21
- import { SyncfusionWrapper } from "../../common/syncfusionWrapper";
22
- import { generateBindables } from "../../utilities/decorator";
23
- import { bindable } from 'aurelia-framework';
24
- import { v4 as uuid } from "uuid";
25
- import { inlineView, customElement } from 'aurelia-framework';
26
- let Ej2Uploader = class Ej2Uploader extends SyncfusionWrapper {
27
- constructor() {
28
- super(...arguments);
29
- this._filesProperty = `${constants.bindablePrefix}files`;
30
- this.originalFiles = null;
31
- this._filesCollectionSubscription = null;
32
- this._privateIdProperty = "__id";
33
- this.syncfusionWidgetType = Uploader;
34
- this.mapAdditionalFilePropertiesToFiles = true;
35
- this.sendAdditionalFilePropertiesAsFormData = true;
36
- this.metadata = null;
37
- this.formDataProperty = "metadata";
38
- this.metadataGenerator = null;
39
- this.uploadResultModel = null;
40
- this.dataAdapter = null;
41
- this.autoRemoveServerFiles = true;
42
- this.context = null;
43
- this.files = null;
44
- this.firstBind = true;
45
- this.serverDelete = true;
46
- }
47
- get _files() {
48
- return this[this._filesProperty];
49
- }
50
- onWrapperCreated() {
51
- this.widget.uploading = (args) => { this.onFileUpload(args); };
52
- this.widget.success = (args) => { this.success(args); };
53
- this.widget.failure = (args) => { this.failure(args); };
54
- this.widget.removing = (args) => { this.removing(args); };
55
- this.widget.change = (args) => { this.change(); };
56
- if (this.dataAdapter) {
57
- if (this.dataAdapter.remove) {
58
- let _this = this;
59
- this.widget.removeUploadedFile = function async(file, eventArgs, removeDirectly, custom) {
60
- let formData = new FormData();
61
- let selectedFiles = file;
62
- _this.widget.trigger("removing", eventArgs, function (eventArgs) {
63
- _this.widget.removingEventCallback(eventArgs, formData, selectedFiles, file);
64
- });
65
- };
66
- this.widget.asyncSettings.removeUrl = null;
67
- }
68
- }
69
- }
70
- onfilesChanged() {
71
- if (!this.firstBind) {
72
- this.widget.clearAll();
73
- this.recreate();
74
- }
75
- }
76
- recreating() {
77
- this._filesCollectionSubscription.dispose();
78
- this[this._filesProperty].splice(0, this[this._filesProperty].length, ...this.originalFiles);
79
- }
80
- recreated() {
81
- this.initializeFileCollection();
82
- this._filesCollectionSubscription = this.createFilesCollectionSubscription();
83
- }
84
- initializeFileCollection() {
85
- if (this.files && Array.isArray(this.files)) {
86
- this.widget.files.push(...JSON.parse(JSON.stringify(this.files)));
87
- }
88
- if (this.widget.files) {
89
- let extraProperties = [];
90
- let widgetFiles = this.widget.getFilesData();
91
- if (this.mapAdditionalFilePropertiesToFiles) {
92
- extraProperties = this.getAdditionalFileProperties();
93
- }
94
- for (let i = 0; i < widgetFiles.length; i++) {
95
- const file = widgetFiles[i];
96
- this.initializeFile(file, i, extraProperties);
97
- }
98
- }
99
- }
100
- initializeFile(widgetFile, i, extraProperties) {
101
- let __id = uuid();
102
- widgetFile[this._privateIdProperty] = __id;
103
- this._files[i][this._privateIdProperty] = __id;
104
- extraProperties.forEach((prop) => {
105
- widgetFile[prop] = this._files[i][prop];
106
- });
107
- }
108
- onWidgetCreated() {
109
- this.initializeFileCollection();
110
- this._filesCollectionSubscription = this.createFilesCollectionSubscription();
111
- this.subscriptions.push(this._filesCollectionSubscription);
112
- }
113
- onBind() {
114
- this.firstBind = false;
115
- this.subscriptions.push(this.bindingEngine.propertyObserver(this, "files").subscribe(() => { this.onfilesChanged(); }));
116
- if (this[this._filesProperty] && Array.isArray(this[this._filesProperty])) {
117
- this.originalFiles = JSON.parse(JSON.stringify(this[this._filesProperty]));
118
- }
119
- else if (this.files && Array.isArray(this.files)) {
120
- this.originalFiles = JSON.parse(JSON.stringify(this.files));
121
- }
122
- else {
123
- this.originalFiles = [];
124
- }
125
- }
126
- createFilesCollectionSubscription() {
127
- if (!this._files) {
128
- this[this._filesProperty] = [];
129
- }
130
- return this.bindingEngine.collectionObserver(this._files).subscribe((changed) => { });
131
- }
132
- change() {
133
- if (this.autoRemoveServerFiles) {
134
- this.getFilesThatWereRemoved().forEach((file) => {
135
- this.removing({
136
- filesData: [file],
137
- customFormData: null,
138
- event: null,
139
- cancel: false
140
- });
141
- });
142
- }
143
- }
144
- getFilesThatWereRemoved() {
145
- let filesToRemove = [];
146
- let widgetFiles = this.widget.getFilesData();
147
- if (this[this._filesProperty].length !== widgetFiles.length) {
148
- for (let i = 0; i < this[this._filesProperty].length; i++) {
149
- const file = this[this._filesProperty][i];
150
- if (!widgetFiles.find((x) => x[this._privateIdProperty] === file[this._privateIdProperty])) {
151
- filesToRemove.push(file);
152
- }
153
- }
154
- }
155
- return filesToRemove;
156
- }
157
- removeAll() {
158
- this.widget.getFilesData().forEach((file) => {
159
- this.removeFile(file);
160
- });
161
- }
162
- removeFile(file) {
163
- this.widget.remove(file);
164
- }
165
- removing(args) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- let event = new CustomEvent("on-removing", {
168
- bubbles: true,
169
- detail: args
170
- });
171
- this.element.dispatchEvent(event);
172
- if (args.cancel) {
173
- return;
174
- }
175
- if (this.dataAdapter && this.dataAdapter.remove) {
176
- try {
177
- if (this.serverDelete) {
178
- yield this.dataAdapter.remove.call(this.context || this.bindingContext, args.filesData[0]);
179
- }
180
- this.onRemoveSuccess(args);
181
- this.onWidgetRemoveComplete(null, args);
182
- }
183
- catch (error) {
184
- this.onWidgetRemoveFailed(error, args);
185
- }
186
- }
187
- });
188
- }
189
- onWidgetRemoveComplete(response, args) {
190
- this.widget.removeCompleted(response, args.filesData[0], false);
191
- }
192
- onWidgetRemoveFailed(e, args) {
193
- this.widget.removeFailed(e, args.filesData[0], false);
194
- }
195
- onRemoveSuccess(args) {
196
- let _file = args.filesData[0];
197
- let index = this[this._filesProperty].findIndex((x) => x.__id === _file.__id);
198
- if (index !== -1) {
199
- const removedFile = this[this._filesProperty].splice(index, 1)[0];
200
- let event = new CustomEvent("on-remove-success", {
201
- bubbles: true,
202
- detail: { args: args, removedFile: removedFile }
203
- });
204
- this.element.dispatchEvent(event);
205
- }
206
- }
207
- success(args) {
208
- if (args.operation === "upload") {
209
- let response = JSON.parse(args.e.target.response);
210
- let _uploadedFile = args.file;
211
- let fileName = _uploadedFile.name.substr(0, _uploadedFile.name.length - (_uploadedFile.type.length + 1));
212
- let additionalProperties = {};
213
- additionalProperties[this._privateIdProperty] = uuid();
214
- if (this.uploadResultModel) {
215
- for (let prop in this.uploadResultModel) {
216
- additionalProperties[this.uploadResultModel[prop]] = response[prop];
217
- }
218
- }
219
- let file = {
220
- name: fileName,
221
- size: _uploadedFile.size,
222
- type: `.${_uploadedFile.type}`
223
- };
224
- Object.assign(_uploadedFile, additionalProperties);
225
- Object.assign(file, additionalProperties);
226
- if (this[this._filesProperty] === null) {
227
- this[this._filesProperty] = [];
228
- }
229
- this[this._filesProperty].push(file);
230
- let uploadedEvent = new CustomEvent("on-uploaded", {
231
- bubbles: true,
232
- detail: { args: args, uploadedFile: file }
233
- });
234
- this.element.dispatchEvent(uploadedEvent);
235
- }
236
- else if (args.operation === "remove") {
237
- }
238
- let successEvent = new CustomEvent("on-success", {
239
- bubbles: true,
240
- detail: args
241
- });
242
- this.element.dispatchEvent(successEvent);
243
- }
244
- failure(args) {
245
- let event = new CustomEvent("on-failure", {
246
- bubbles: true,
247
- detail: args
248
- });
249
- this.element.dispatchEvent(event);
250
- }
251
- getAdditionalFileProperties() {
252
- let extraProperties = [];
253
- if (this[this._filesProperty] && this[this._filesProperty].length > 0) {
254
- for (let prop in this[this._filesProperty][0]) {
255
- if (prop !== "name" && prop !== "size" && prop !== "type") {
256
- extraProperties.push(prop);
257
- }
258
- }
259
- }
260
- return extraProperties;
261
- }
262
- onFileUpload(args) {
263
- let _metadata = this.createMetadata(args.fileData);
264
- if (_metadata) {
265
- if (this.formDataProperty) {
266
- let formData = {};
267
- formData[this.formDataProperty] = JSON.stringify(_metadata);
268
- args.customFormData = [formData];
269
- }
270
- else {
271
- let formData = [];
272
- for (let prop in _metadata) {
273
- let kvp = {};
274
- kvp[prop] = _metadata[prop];
275
- formData.push(kvp);
276
- }
277
- args.customFormData = formData;
278
- }
279
- }
280
- let event = new CustomEvent("on-uploading", {
281
- bubbles: true,
282
- detail: args
283
- });
284
- this.element.dispatchEvent(event);
285
- }
286
- createMetadata(file) {
287
- let _metadata = null;
288
- if (this.sendAdditionalFilePropertiesAsFormData) {
289
- if (_metadata === null) {
290
- _metadata = {};
291
- }
292
- let props = this.getAdditionalFileProperties();
293
- props.forEach((prop) => {
294
- _metadata[prop] = file[prop];
295
- });
296
- }
297
- if (this.metadata !== null) {
298
- if (_metadata === null) {
299
- _metadata = {};
300
- }
301
- Object.assign(_metadata, this.metadata);
302
- }
303
- if (this.metadataGenerator) {
304
- if (_metadata === null) {
305
- _metadata = {};
306
- }
307
- let _generatedMetadata = this.metadataGenerator.call(this.context || this.bindingContext, file);
308
- Object.assign(_metadata, _generatedMetadata);
309
- }
310
- return _metadata;
311
- }
312
- };
313
- __decorate([
314
- bindable,
315
- __metadata("design:type", Object)
316
- ], Ej2Uploader.prototype, "metadata", void 0);
317
- __decorate([
318
- bindable,
319
- __metadata("design:type", Object)
320
- ], Ej2Uploader.prototype, "formDataProperty", void 0);
321
- __decorate([
322
- bindable,
323
- __metadata("design:type", Function)
324
- ], Ej2Uploader.prototype, "metadataGenerator", void 0);
325
- __decorate([
326
- bindable,
327
- __metadata("design:type", Object)
328
- ], Ej2Uploader.prototype, "uploadResultModel", void 0);
329
- __decorate([
330
- bindable,
331
- __metadata("design:type", Object)
332
- ], Ej2Uploader.prototype, "dataAdapter", void 0);
333
- __decorate([
334
- bindable,
335
- __metadata("design:type", Object)
336
- ], Ej2Uploader.prototype, "autoRemoveServerFiles", void 0);
337
- __decorate([
338
- bindable,
339
- __metadata("design:type", Object)
340
- ], Ej2Uploader.prototype, "context", void 0);
341
- __decorate([
342
- bindable,
343
- __metadata("design:type", Array)
344
- ], Ej2Uploader.prototype, "files", void 0);
345
- __decorate([
346
- bindable,
347
- __metadata("design:type", Boolean)
348
- ], Ej2Uploader.prototype, "serverDelete", void 0);
349
- Ej2Uploader = __decorate([
350
- generateBindables("uploader"),
351
- inlineView(`<template><input element.ref="widgetElement" type="file" name="UploadFiles" /></template>`),
352
- customElement('ej2-uploader')
353
- ], Ej2Uploader);
354
- export { Ej2Uploader };