@easydata/crud 1.4.13 → 1.4.17

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 (61) hide show
  1. package/dist/browser/easydata.css +2186 -2181
  2. package/dist/browser/easydata.css.map +1 -1
  3. package/dist/browser/easydata.js +10903 -11633
  4. package/dist/browser/easydata.js.map +1 -1
  5. package/dist/browser/easydata.min.css +3 -1
  6. package/dist/browser/easydata.min.js +1 -1
  7. package/dist/browser/easydata.min.js.map +1 -1
  8. package/dist/bundles/easydata.crud.js +8447 -8438
  9. package/dist/bundles/easydata.crud.js.map +1 -1
  10. package/dist/bundles/easydata.crud.min.js +1 -1
  11. package/dist/bundles/easydata.crud.min.js.map +1 -1
  12. package/dist/lib/filter/data_filter.d.ts +6 -6
  13. package/dist/lib/filter/data_filter.js +1 -0
  14. package/dist/lib/filter/text_data_filter.d.ts +16 -16
  15. package/dist/lib/filter/text_data_filter.js +122 -122
  16. package/dist/lib/form/entity_edit_form.d.ts +20 -20
  17. package/dist/lib/form/entity_edit_form.js +133 -133
  18. package/dist/lib/form/entity_edit_form.js.map +1 -1
  19. package/dist/lib/form/entity_form_builder.d.ts +27 -27
  20. package/dist/lib/form/entity_form_builder.js +440 -440
  21. package/dist/lib/form/entity_form_builder.js.map +1 -1
  22. package/dist/lib/i18n/text_resources.d.ts +1 -1
  23. package/dist/lib/i18n/text_resources.js +31 -31
  24. package/dist/lib/main/data_context.d.ts +45 -45
  25. package/dist/lib/main/data_context.js +167 -167
  26. package/dist/lib/main/data_context.js.map +1 -1
  27. package/dist/lib/main/easy_data_server_loader.d.ts +11 -11
  28. package/dist/lib/main/easy_data_server_loader.js +43 -43
  29. package/dist/lib/public_api.d.ts +16 -16
  30. package/dist/lib/public_api.js +16 -14
  31. package/dist/lib/public_api.js.map +1 -1
  32. package/dist/lib/utils/utils.d.ts +4 -4
  33. package/dist/lib/utils/utils.js +24 -24
  34. package/dist/lib/utils/utils.js.map +1 -1
  35. package/dist/lib/validators/datetime_validator.d.ts +6 -6
  36. package/dist/lib/validators/datetime_validator.js +45 -43
  37. package/dist/lib/validators/datetime_validator.js.map +1 -1
  38. package/dist/lib/validators/required_validator.d.ts +6 -6
  39. package/dist/lib/validators/required_validator.js +36 -34
  40. package/dist/lib/validators/required_validator.js.map +1 -1
  41. package/dist/lib/validators/type_validator.d.ts +6 -6
  42. package/dist/lib/validators/type_validator.js +46 -44
  43. package/dist/lib/validators/type_validator.js.map +1 -1
  44. package/dist/lib/validators/validator.d.ts +9 -9
  45. package/dist/lib/validators/validator.js +6 -6
  46. package/dist/lib/views/easy_data_view_dispatcher.d.ts +18 -18
  47. package/dist/lib/views/easy_data_view_dispatcher.js +113 -113
  48. package/dist/lib/views/entity_data_view.d.ts +23 -23
  49. package/dist/lib/views/entity_data_view.js +224 -224
  50. package/dist/lib/views/entity_data_view.js.map +1 -1
  51. package/dist/lib/views/options.d.ts +14 -14
  52. package/dist/lib/views/options.js +1 -0
  53. package/dist/lib/views/root_data_view.d.ts +9 -9
  54. package/dist/lib/views/root_data_view.js +48 -48
  55. package/dist/lib/views/root_data_view.js.map +1 -1
  56. package/dist/lib/widgets/progress_bar.d.ts +6 -6
  57. package/dist/lib/widgets/progress_bar.js +15 -15
  58. package/dist/lib/widgets/text_filter_widget.d.ts +24 -24
  59. package/dist/lib/widgets/text_filter_widget.js +213 -213
  60. package/package.json +28 -27
  61. package/webpack.config.js +12 -9
@@ -1,6 +1,6 @@
1
- import { EasyDataTable } from '@easydata/core';
2
- export interface DataFilter {
3
- getValue(): any;
4
- apply(value: any): Promise<EasyDataTable>;
5
- clear(): Promise<EasyDataTable>;
6
- }
1
+ import { EasyDataTable } from '@easydata/core';
2
+ export interface DataFilter {
3
+ getValue(): any;
4
+ apply(value: any): Promise<EasyDataTable>;
5
+ clear(): Promise<EasyDataTable>;
6
+ }
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=data_filter.js.map
@@ -1,16 +1,16 @@
1
- import { DataLoader, EasyDataTable } from '@easydata/core';
2
- import { DataFilter } from './data_filter';
3
- export declare class TextDataFilter implements DataFilter {
4
- private loader;
5
- private sourceTable;
6
- private sourceId;
7
- private isLookup;
8
- private filterValue;
9
- private justServerSide;
10
- constructor(loader: DataLoader, sourceTable: EasyDataTable, sourceId: string, isLookup?: boolean);
11
- getValue(): string;
12
- apply(value: string): Promise<EasyDataTable>;
13
- clear(): Promise<EasyDataTable>;
14
- private applyCore;
15
- private applyInMemoryFilter;
16
- }
1
+ import { DataLoader, EasyDataTable } from '@easydata/core';
2
+ import { DataFilter } from './data_filter';
3
+ export declare class TextDataFilter implements DataFilter {
4
+ private loader;
5
+ private sourceTable;
6
+ private sourceId;
7
+ private isLookup;
8
+ private filterValue;
9
+ private justServerSide;
10
+ constructor(loader: DataLoader, sourceTable: EasyDataTable, sourceId: string, isLookup?: boolean);
11
+ getValue(): string;
12
+ apply(value: string): Promise<EasyDataTable>;
13
+ clear(): Promise<EasyDataTable>;
14
+ private applyCore;
15
+ private applyInMemoryFilter;
16
+ }
@@ -1,123 +1,123 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { EasyDataTable, utils as dataUtils } from '@easydata/core';
13
- var TextDataFilter = /** @class */ (function () {
14
- function TextDataFilter(loader, sourceTable, sourceId, isLookup) {
15
- if (isLookup === void 0) { isLookup = false; }
16
- this.loader = loader;
17
- this.sourceTable = sourceTable;
18
- this.sourceId = sourceId;
19
- this.isLookup = isLookup;
20
- this.filterValue = '';
21
- //turns off client-side search
22
- //for test purposes
23
- this.justServerSide = false;
24
- }
25
- TextDataFilter.prototype.getValue = function () {
26
- return this.filterValue;
27
- };
28
- TextDataFilter.prototype.apply = function (value) {
29
- this.filterValue = value;
30
- if (this.filterValue) {
31
- return this.applyCore();
32
- }
33
- else {
34
- return this.clear();
35
- }
36
- };
37
- TextDataFilter.prototype.clear = function () {
38
- this.filterValue = '';
39
- return Promise.resolve(this.sourceTable);
40
- };
41
- TextDataFilter.prototype.applyCore = function () {
42
- var _this = this;
43
- if (this.sourceTable.getTotal() == this.sourceTable.getCachedCount() && !this.justServerSide) {
44
- return this.applyInMemoryFilter();
45
- }
46
- else {
47
- var filters_1 = [
48
- { class: "__substring", value: this.filterValue }
49
- ];
50
- return this.loader.loadChunk({
51
- offset: 0,
52
- limit: this.sourceTable.chunkSize,
53
- needTotal: true,
54
- filters: filters_1,
55
- sourceId: this.sourceId,
56
- lookup: this.isLookup
57
- })
58
- .then(function (data) {
59
- var filteredTable = new EasyDataTable({
60
- chunkSize: _this.sourceTable.chunkSize,
61
- loader: {
62
- loadChunk: function (params) { return _this.loader
63
- .loadChunk(__assign(__assign({}, params), { filters: filters_1, sourceId: _this.sourceId, lookup: _this.isLookup })); }
64
- }
65
- });
66
- for (var _i = 0, _a = _this.sourceTable.columns.getItems(); _i < _a.length; _i++) {
67
- var col = _a[_i];
68
- filteredTable.columns.add(col);
69
- }
70
- filteredTable.setTotal(data.total);
71
- for (var _b = 0, _c = data.table.getCachedRows(); _b < _c.length; _b++) {
72
- var row = _c[_b];
73
- filteredTable.addRow(row);
74
- }
75
- return filteredTable;
76
- });
77
- }
78
- };
79
- TextDataFilter.prototype.applyInMemoryFilter = function () {
80
- var _this = this;
81
- return new Promise(function (resolve, reject) {
82
- var filteredTable = new EasyDataTable({
83
- chunkSize: _this.sourceTable.chunkSize,
84
- inMemory: true
85
- });
86
- for (var _i = 0, _a = _this.sourceTable.columns.getItems(); _i < _a.length; _i++) {
87
- var col = _a[_i];
88
- filteredTable.columns.add(col);
89
- }
90
- var words = _this.filterValue.split('||').map(function (w) { return w.trim().toLowerCase(); });
91
- var suitableColumns = _this.sourceTable.columns.getItems()
92
- .filter(function (col) { return dataUtils.isNumericType(col.type)
93
- || dataUtils.getStringDataTypes().indexOf(col.type) >= 0; });
94
- var hasEnterance = function (row) {
95
- for (var _i = 0, suitableColumns_1 = suitableColumns; _i < suitableColumns_1.length; _i++) {
96
- var col = suitableColumns_1[_i];
97
- var value = row.getValue(col.id);
98
- if (value) {
99
- var normalized = value.toString().toLowerCase();
100
- for (var _a = 0, words_1 = words; _a < words_1.length; _a++) {
101
- var word = words_1[_a];
102
- if (normalized.indexOf(word) >= 0) {
103
- return true;
104
- }
105
- }
106
- }
107
- }
108
- return false;
109
- };
110
- for (var _b = 0, _c = _this.sourceTable.getCachedRows(); _b < _c.length; _b++) {
111
- var row = _c[_b];
112
- if (hasEnterance(row)) {
113
- filteredTable.addRow(row);
114
- }
115
- }
116
- filteredTable.setTotal(filteredTable.getCachedCount());
117
- resolve(filteredTable);
118
- });
119
- };
120
- return TextDataFilter;
121
- }());
122
- export { TextDataFilter };
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { EasyDataTable, utils as dataUtils } from '@easydata/core';
13
+ var TextDataFilter = /** @class */ (function () {
14
+ function TextDataFilter(loader, sourceTable, sourceId, isLookup) {
15
+ if (isLookup === void 0) { isLookup = false; }
16
+ this.loader = loader;
17
+ this.sourceTable = sourceTable;
18
+ this.sourceId = sourceId;
19
+ this.isLookup = isLookup;
20
+ this.filterValue = '';
21
+ //turns off client-side search
22
+ //for test purposes
23
+ this.justServerSide = false;
24
+ }
25
+ TextDataFilter.prototype.getValue = function () {
26
+ return this.filterValue;
27
+ };
28
+ TextDataFilter.prototype.apply = function (value) {
29
+ this.filterValue = value;
30
+ if (this.filterValue) {
31
+ return this.applyCore();
32
+ }
33
+ else {
34
+ return this.clear();
35
+ }
36
+ };
37
+ TextDataFilter.prototype.clear = function () {
38
+ this.filterValue = '';
39
+ return Promise.resolve(this.sourceTable);
40
+ };
41
+ TextDataFilter.prototype.applyCore = function () {
42
+ var _this = this;
43
+ if (this.sourceTable.getTotal() == this.sourceTable.getCachedCount() && !this.justServerSide) {
44
+ return this.applyInMemoryFilter();
45
+ }
46
+ else {
47
+ var filters_1 = [
48
+ { class: "__substring", value: this.filterValue }
49
+ ];
50
+ return this.loader.loadChunk({
51
+ offset: 0,
52
+ limit: this.sourceTable.chunkSize,
53
+ needTotal: true,
54
+ filters: filters_1,
55
+ sourceId: this.sourceId,
56
+ lookup: this.isLookup
57
+ })
58
+ .then(function (data) {
59
+ var filteredTable = new EasyDataTable({
60
+ chunkSize: _this.sourceTable.chunkSize,
61
+ loader: {
62
+ loadChunk: function (params) { return _this.loader
63
+ .loadChunk(__assign(__assign({}, params), { filters: filters_1, sourceId: _this.sourceId, lookup: _this.isLookup })); }
64
+ }
65
+ });
66
+ for (var _i = 0, _a = _this.sourceTable.columns.getItems(); _i < _a.length; _i++) {
67
+ var col = _a[_i];
68
+ filteredTable.columns.add(col);
69
+ }
70
+ filteredTable.setTotal(data.total);
71
+ for (var _b = 0, _c = data.table.getCachedRows(); _b < _c.length; _b++) {
72
+ var row = _c[_b];
73
+ filteredTable.addRow(row);
74
+ }
75
+ return filteredTable;
76
+ });
77
+ }
78
+ };
79
+ TextDataFilter.prototype.applyInMemoryFilter = function () {
80
+ var _this = this;
81
+ return new Promise(function (resolve, reject) {
82
+ var filteredTable = new EasyDataTable({
83
+ chunkSize: _this.sourceTable.chunkSize,
84
+ inMemory: true
85
+ });
86
+ for (var _i = 0, _a = _this.sourceTable.columns.getItems(); _i < _a.length; _i++) {
87
+ var col = _a[_i];
88
+ filteredTable.columns.add(col);
89
+ }
90
+ var words = _this.filterValue.split('||').map(function (w) { return w.trim().toLowerCase(); });
91
+ var suitableColumns = _this.sourceTable.columns.getItems()
92
+ .filter(function (col) { return dataUtils.isNumericType(col.type)
93
+ || dataUtils.getStringDataTypes().indexOf(col.type) >= 0; });
94
+ var hasEnterance = function (row) {
95
+ for (var _i = 0, suitableColumns_1 = suitableColumns; _i < suitableColumns_1.length; _i++) {
96
+ var col = suitableColumns_1[_i];
97
+ var value = row.getValue(col.id);
98
+ if (value) {
99
+ var normalized = value.toString().toLowerCase();
100
+ for (var _a = 0, words_1 = words; _a < words_1.length; _a++) {
101
+ var word = words_1[_a];
102
+ if (normalized.indexOf(word) >= 0) {
103
+ return true;
104
+ }
105
+ }
106
+ }
107
+ }
108
+ return false;
109
+ };
110
+ for (var _b = 0, _c = _this.sourceTable.getCachedRows(); _b < _c.length; _b++) {
111
+ var row = _c[_b];
112
+ if (hasEnterance(row)) {
113
+ filteredTable.addRow(row);
114
+ }
115
+ }
116
+ filteredTable.setTotal(filteredTable.getCachedCount());
117
+ resolve(filteredTable);
118
+ });
119
+ };
120
+ return TextDataFilter;
121
+ }());
122
+ export { TextDataFilter };
123
123
  //# sourceMappingURL=text_data_filter.js.map
@@ -1,20 +1,20 @@
1
- import { DataContext } from '../main/data_context';
2
- import { Validator } from '../validators/validator';
3
- export declare class EntityEditForm {
4
- private context;
5
- private errorsDiv;
6
- private html;
7
- constructor(context: DataContext);
8
- private validators;
9
- getHtml(): HTMLElement;
10
- private setHtmlInt;
11
- validate(): boolean;
12
- getData(): Promise<any>;
13
- private fileToBase64;
14
- useValidator(...validator: Validator[]): void;
15
- useValidators(validators: Validator[]): void;
16
- private mapValue;
17
- private clearErrors;
18
- private markInputValid;
19
- private validateValue;
20
- }
1
+ import { DataContext } from '../main/data_context';
2
+ import { Validator } from '../validators/validator';
3
+ export declare class EntityEditForm {
4
+ private context;
5
+ private errorsDiv;
6
+ private html;
7
+ constructor(context: DataContext);
8
+ private validators;
9
+ getHtml(): HTMLElement;
10
+ private setHtmlInt;
11
+ validate(): boolean;
12
+ getData(): Promise<any>;
13
+ private fileToBase64;
14
+ useValidator(...validator: Validator[]): void;
15
+ useValidators(validators: Validator[]): void;
16
+ private mapValue;
17
+ private clearErrors;
18
+ private markInputValid;
19
+ private validateValue;
20
+ }
@@ -1,134 +1,134 @@
1
- import { DataType, utils as dataUtils, } from '@easydata/core';
2
- import { domel } from '@easydata/ui';
3
- import * as crudUtils from '../utils/utils';
4
- import { DateTimeValidator } from '../validators/datetime_validator';
5
- var EntityEditForm = /** @class */ (function () {
6
- function EntityEditForm(context) {
7
- this.context = context;
8
- this.validators = [new DateTimeValidator()];
9
- }
10
- EntityEditForm.prototype.getHtml = function () {
11
- return this.html;
12
- };
13
- EntityEditForm.prototype.setHtmlInt = function (html) {
14
- this.html = html;
15
- this.errorsDiv = this.html.querySelector('.errors-block');
16
- };
17
- EntityEditForm.prototype.validate = function () {
18
- this.clearErrors();
19
- var inputs = Array.from(this.html.querySelectorAll('input, select'));
20
- var isValid = true;
21
- for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {
22
- var input = inputs_1[_i];
23
- var attr = this.context.getMetaData().getAttributeById(input.name);
24
- if (input.type === 'checkbox')
25
- continue;
26
- var result = this.validateValue(attr, input.value);
27
- if (!result.successed) {
28
- if (isValid) {
29
- domel(this.errorsDiv)
30
- .addChild('ul');
31
- }
32
- isValid = false;
33
- for (var _a = 0, _b = result.messages; _a < _b.length; _a++) {
34
- var message = _b[_a];
35
- this.errorsDiv.firstElementChild.innerHTML += "<li>" + attr.caption + ": " + message + "</li>";
36
- }
37
- }
38
- this.markInputValid(input, result.successed);
39
- }
40
- return isValid;
41
- };
42
- EntityEditForm.prototype.getData = function () {
43
- var _this = this;
44
- return new Promise(function (resolve, reject) {
45
- var filePromises = [];
46
- var inputs = Array.from(_this.html
47
- .querySelectorAll('input, select, textarea'));
48
- var obj = {};
49
- var _loop_1 = function (input) {
50
- var property = input.name.substring(input.name.lastIndexOf('.') + 1);
51
- var attr = _this.context.getMetaData().getAttributeById(input.name);
52
- if (input.type === 'checkbox') {
53
- obj[property] = input.checked;
54
- }
55
- else if (input.type === 'file') {
56
- filePromises.push(_this.fileToBase64(input.files[0])
57
- .then(function (content) { return obj[property] = content; }));
58
- }
59
- else {
60
- obj[property] = _this.mapValue(attr.dataType, input.value);
61
- }
62
- };
63
- for (var _i = 0, inputs_2 = inputs; _i < inputs_2.length; _i++) {
64
- var input = inputs_2[_i];
65
- _loop_1(input);
66
- }
67
- Promise.all(filePromises)
68
- .then(function () { return resolve(obj); })
69
- .catch(function (e) { return reject(e); });
70
- });
71
- };
72
- EntityEditForm.prototype.fileToBase64 = function (file) {
73
- return new Promise(function (resolve, reject) {
74
- var reader = new FileReader();
75
- reader.readAsDataURL(file);
76
- reader.onload = function () {
77
- var result = reader.result.toString();
78
- resolve(result.substring(result.indexOf(',') + 1));
79
- };
80
- reader.onerror = function (error) { return reject(error); };
81
- });
82
- };
83
- EntityEditForm.prototype.useValidator = function () {
84
- var validator = [];
85
- for (var _i = 0; _i < arguments.length; _i++) {
86
- validator[_i] = arguments[_i];
87
- }
88
- this.useValidators(validator);
89
- };
90
- EntityEditForm.prototype.useValidators = function (validators) {
91
- this.validators = this.validators.concat(validators);
92
- };
93
- EntityEditForm.prototype.mapValue = function (type, value) {
94
- if (dataUtils.getDateDataTypes().indexOf(type) >= 0) {
95
- if (type !== DataType.Time && value && value.length) {
96
- var editFormat = crudUtils.getEditDateTimeFormat(type);
97
- var internalFormat = crudUtils.getInternalDateTimeFormat(type);
98
- var date = dataUtils.strToDateTime(value, editFormat);
99
- return dataUtils.dateTimeToStr(date, internalFormat);
100
- }
101
- return value && value.length ? value : null;
102
- }
103
- if (dataUtils.isIntType(type))
104
- return parseInt(value);
105
- if (dataUtils.isNumericType(type))
106
- return parseFloat(value);
107
- return value;
108
- };
109
- EntityEditForm.prototype.clearErrors = function () {
110
- this.errorsDiv.innerHTML = '';
111
- this.html.querySelectorAll('input, select').forEach(function (el) {
112
- el.classList.remove('is-valid');
113
- el.classList.remove('is-invalid');
114
- });
115
- };
116
- EntityEditForm.prototype.markInputValid = function (input, valid) {
117
- input.classList.add(valid ? 'is-valid' : 'is-invalid');
118
- };
119
- EntityEditForm.prototype.validateValue = function (attr, value) {
120
- var result = { successed: true, messages: [] };
121
- for (var _i = 0, _a = this.validators; _i < _a.length; _i++) {
122
- var validator = _a[_i];
123
- var res = validator.validate(attr, value);
124
- if (!res.successed) {
125
- result.successed = false;
126
- result.messages = result.messages.concat(res.messages);
127
- }
128
- }
129
- return result;
130
- };
131
- return EntityEditForm;
132
- }());
133
- export { EntityEditForm };
1
+ import { DataType, utils as dataUtils, } from '@easydata/core';
2
+ import { domel } from '@easydata/ui';
3
+ import * as crudUtils from '../utils/utils';
4
+ import { DateTimeValidator } from '../validators/datetime_validator';
5
+ var EntityEditForm = /** @class */ (function () {
6
+ function EntityEditForm(context) {
7
+ this.context = context;
8
+ this.validators = [new DateTimeValidator()];
9
+ }
10
+ EntityEditForm.prototype.getHtml = function () {
11
+ return this.html;
12
+ };
13
+ EntityEditForm.prototype.setHtmlInt = function (html) {
14
+ this.html = html;
15
+ this.errorsDiv = this.html.querySelector('.errors-block');
16
+ };
17
+ EntityEditForm.prototype.validate = function () {
18
+ this.clearErrors();
19
+ var inputs = Array.from(this.html.querySelectorAll('input, select'));
20
+ var isValid = true;
21
+ for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {
22
+ var input = inputs_1[_i];
23
+ var attr = this.context.getMetaData().getAttributeById(input.name);
24
+ if (input.type === 'checkbox')
25
+ continue;
26
+ var result = this.validateValue(attr, input.value);
27
+ if (!result.successed) {
28
+ if (isValid) {
29
+ domel(this.errorsDiv)
30
+ .addChild('ul');
31
+ }
32
+ isValid = false;
33
+ for (var _a = 0, _b = result.messages; _a < _b.length; _a++) {
34
+ var message = _b[_a];
35
+ this.errorsDiv.firstElementChild.innerHTML += "<li>".concat(attr.caption, ": ").concat(message, "</li>");
36
+ }
37
+ }
38
+ this.markInputValid(input, result.successed);
39
+ }
40
+ return isValid;
41
+ };
42
+ EntityEditForm.prototype.getData = function () {
43
+ var _this = this;
44
+ return new Promise(function (resolve, reject) {
45
+ var filePromises = [];
46
+ var inputs = Array.from(_this.html
47
+ .querySelectorAll('input, select, textarea'));
48
+ var obj = {};
49
+ var _loop_1 = function (input) {
50
+ var property = input.name.substring(input.name.lastIndexOf('.') + 1);
51
+ var attr = _this.context.getMetaData().getAttributeById(input.name);
52
+ if (input.type === 'checkbox') {
53
+ obj[property] = input.checked;
54
+ }
55
+ else if (input.type === 'file') {
56
+ filePromises.push(_this.fileToBase64(input.files[0])
57
+ .then(function (content) { return obj[property] = content; }));
58
+ }
59
+ else {
60
+ obj[property] = _this.mapValue(attr.dataType, input.value);
61
+ }
62
+ };
63
+ for (var _i = 0, inputs_2 = inputs; _i < inputs_2.length; _i++) {
64
+ var input = inputs_2[_i];
65
+ _loop_1(input);
66
+ }
67
+ Promise.all(filePromises)
68
+ .then(function () { return resolve(obj); })
69
+ .catch(function (e) { return reject(e); });
70
+ });
71
+ };
72
+ EntityEditForm.prototype.fileToBase64 = function (file) {
73
+ return new Promise(function (resolve, reject) {
74
+ var reader = new FileReader();
75
+ reader.readAsDataURL(file);
76
+ reader.onload = function () {
77
+ var result = reader.result.toString();
78
+ resolve(result.substring(result.indexOf(',') + 1));
79
+ };
80
+ reader.onerror = function (error) { return reject(error); };
81
+ });
82
+ };
83
+ EntityEditForm.prototype.useValidator = function () {
84
+ var validator = [];
85
+ for (var _i = 0; _i < arguments.length; _i++) {
86
+ validator[_i] = arguments[_i];
87
+ }
88
+ this.useValidators(validator);
89
+ };
90
+ EntityEditForm.prototype.useValidators = function (validators) {
91
+ this.validators = this.validators.concat(validators);
92
+ };
93
+ EntityEditForm.prototype.mapValue = function (type, value) {
94
+ if (dataUtils.getDateDataTypes().indexOf(type) >= 0) {
95
+ if (type !== DataType.Time && value && value.length) {
96
+ var editFormat = crudUtils.getEditDateTimeFormat(type);
97
+ var internalFormat = crudUtils.getInternalDateTimeFormat(type);
98
+ var date = dataUtils.strToDateTime(value, editFormat);
99
+ return dataUtils.dateTimeToStr(date, internalFormat);
100
+ }
101
+ return value && value.length ? value : null;
102
+ }
103
+ if (dataUtils.isIntType(type))
104
+ return parseInt(value);
105
+ if (dataUtils.isNumericType(type))
106
+ return parseFloat(value);
107
+ return value;
108
+ };
109
+ EntityEditForm.prototype.clearErrors = function () {
110
+ this.errorsDiv.innerHTML = '';
111
+ this.html.querySelectorAll('input, select').forEach(function (el) {
112
+ el.classList.remove('is-valid');
113
+ el.classList.remove('is-invalid');
114
+ });
115
+ };
116
+ EntityEditForm.prototype.markInputValid = function (input, valid) {
117
+ input.classList.add(valid ? 'is-valid' : 'is-invalid');
118
+ };
119
+ EntityEditForm.prototype.validateValue = function (attr, value) {
120
+ var result = { successed: true, messages: [] };
121
+ for (var _i = 0, _a = this.validators; _i < _a.length; _i++) {
122
+ var validator = _a[_i];
123
+ var res = validator.validate(attr, value);
124
+ if (!res.successed) {
125
+ result.successed = false;
126
+ result.messages = result.messages.concat(res.messages);
127
+ }
128
+ }
129
+ return result;
130
+ };
131
+ return EntityEditForm;
132
+ }());
133
+ export { EntityEditForm };
134
134
  //# sourceMappingURL=entity_edit_form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity_edit_form.js","sourceRoot":"","sources":["../../../src/form/entity_edit_form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity_edit_form.js","sourceRoot":"","sources":["../../../src/form/entity_edit_form.ts"],"names":[],"mappings":"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"}