@stemy/ngx-utils 11.0.8 → 11.1.0

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 (94) hide show
  1. package/README.md +27 -27
  2. package/bundles/stemy-ngx-utils.umd.js +22 -7
  3. package/bundles/stemy-ngx-utils.umd.js.map +1 -1
  4. package/bundles/stemy-ngx-utils.umd.min.js +1 -1
  5. package/bundles/stemy-ngx-utils.umd.min.js.map +1 -1
  6. package/esm2015/ngx-utils/common-types.js +2 -1
  7. package/esm2015/ngx-utils/ngx-utils.module.js +6 -2
  8. package/esm2015/ngx-utils/services/config.service.js +8 -4
  9. package/esm2015/ngx-utils/services/promise.service.js +4 -1
  10. package/esm2015/ngx-utils/services/static-language.service.js +9 -7
  11. package/esm2015/ngx-utils/utils/unique.utils.js +1 -1
  12. package/esm2015/public_api.js +2 -2
  13. package/fesm2015/stemy-ngx-utils.js +22 -8
  14. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  15. package/ngx-utils/common-types.d.ts +2 -0
  16. package/ngx-utils/services/config.service.d.ts +3 -1
  17. package/ngx-utils/services/promise.service.d.ts +5 -4
  18. package/ngx-utils/services/static-language.service.d.ts +3 -2
  19. package/package.json +1 -1
  20. package/public_api.d.ts +1 -1
  21. package/stemy-ngx-utils.metadata.json +1 -1
  22. package/esm5/ngx-utils/common-types.js +0 -553
  23. package/esm5/ngx-utils/components/dynamic-table/dynamic-table.component.js +0 -285
  24. package/esm5/ngx-utils/components/pagination-menu/pagination-menu.component.js +0 -198
  25. package/esm5/ngx-utils/components/unordered-list/unordered-list.component.js +0 -110
  26. package/esm5/ngx-utils/directives/async-method.directive.js +0 -105
  27. package/esm5/ngx-utils/directives/background.directive.js +0 -91
  28. package/esm5/ngx-utils/directives/dynamic-table-template.directive.js +0 -34
  29. package/esm5/ngx-utils/directives/icon.directive.js +0 -101
  30. package/esm5/ngx-utils/directives/ngx-template-outlet.directive.js +0 -182
  31. package/esm5/ngx-utils/directives/pagination-item.directive.js +0 -70
  32. package/esm5/ngx-utils/directives/pagination.directive.js +0 -148
  33. package/esm5/ngx-utils/directives/resource-if.directive.js +0 -97
  34. package/esm5/ngx-utils/directives/sticky.directive.js +0 -93
  35. package/esm5/ngx-utils/directives/unordered-list-item.directive.js +0 -143
  36. package/esm5/ngx-utils/directives/unordered-list-template.directive.js +0 -54
  37. package/esm5/ngx-utils/ngx-utils.module.js +0 -205
  38. package/esm5/ngx-utils/pipes/chunk.pipe.js +0 -41
  39. package/esm5/ngx-utils/pipes/entries.pipe.js +0 -54
  40. package/esm5/ngx-utils/pipes/extra-item-properties.pipe.js +0 -51
  41. package/esm5/ngx-utils/pipes/filter.pipe.js +0 -65
  42. package/esm5/ngx-utils/pipes/find.pipe.js +0 -51
  43. package/esm5/ngx-utils/pipes/format-number.pipe.js +0 -44
  44. package/esm5/ngx-utils/pipes/get-offset.pipe.js +0 -31
  45. package/esm5/ngx-utils/pipes/get-type.pipe.js +0 -28
  46. package/esm5/ngx-utils/pipes/group-by.pipe.js +0 -48
  47. package/esm5/ngx-utils/pipes/is-type.pipe.js +0 -30
  48. package/esm5/ngx-utils/pipes/join.pipe.js +0 -34
  49. package/esm5/ngx-utils/pipes/keys.pipe.js +0 -35
  50. package/esm5/ngx-utils/pipes/map.pipe.js +0 -52
  51. package/esm5/ngx-utils/pipes/max.pipe.js +0 -45
  52. package/esm5/ngx-utils/pipes/min.pipe.js +0 -45
  53. package/esm5/ngx-utils/pipes/reduce.pipe.js +0 -55
  54. package/esm5/ngx-utils/pipes/remap.pipe.js +0 -51
  55. package/esm5/ngx-utils/pipes/replace.pipe.js +0 -32
  56. package/esm5/ngx-utils/pipes/reverse.pipe.js +0 -38
  57. package/esm5/ngx-utils/pipes/round.pipe.js +0 -44
  58. package/esm5/ngx-utils/pipes/safe-html.pipe.js +0 -54
  59. package/esm5/ngx-utils/pipes/translate.pipe.js +0 -111
  60. package/esm5/ngx-utils/pipes/values.pipe.js +0 -35
  61. package/esm5/ngx-utils/plugins/resize-event.plugin.js +0 -122
  62. package/esm5/ngx-utils/plugins/scroll-event.plugin.js +0 -110
  63. package/esm5/ngx-utils/services/acl.service.js +0 -119
  64. package/esm5/ngx-utils/services/auth.service.js +0 -40
  65. package/esm5/ngx-utils/services/events.service.js +0 -33
  66. package/esm5/ngx-utils/services/formatter.service.js +0 -124
  67. package/esm5/ngx-utils/services/icon.service.js +0 -32
  68. package/esm5/ngx-utils/services/language.service.js +0 -199
  69. package/esm5/ngx-utils/services/promise.service.js +0 -123
  70. package/esm5/ngx-utils/services/state.service.js +0 -271
  71. package/esm5/ngx-utils/services/storage.service.js +0 -100
  72. package/esm5/ngx-utils/services/toaster.service.js +0 -100
  73. package/esm5/ngx-utils/services/universal.service.js +0 -153
  74. package/esm5/ngx-utils/utils/ajax-request-handler.js +0 -73
  75. package/esm5/ngx-utils/utils/array.utils.js +0 -182
  76. package/esm5/ngx-utils/utils/auth.guard.js +0 -205
  77. package/esm5/ngx-utils/utils/canvas.utils.js +0 -668
  78. package/esm5/ngx-utils/utils/date.utils.js +0 -91
  79. package/esm5/ngx-utils/utils/file.utils.js +0 -201
  80. package/esm5/ngx-utils/utils/loader.utils.js +0 -90
  81. package/esm5/ngx-utils/utils/math.utils.js +0 -62
  82. package/esm5/ngx-utils/utils/object.utils.js +0 -513
  83. package/esm5/ngx-utils/utils/observable.utils.js +0 -30
  84. package/esm5/ngx-utils/utils/reflect.utils.js +0 -95
  85. package/esm5/ngx-utils/utils/set.utils.js +0 -48
  86. package/esm5/ngx-utils/utils/string.utils.js +0 -94
  87. package/esm5/ngx-utils/utils/timer.utils.js +0 -100
  88. package/esm5/ngx-utils/utils/unique.utils.js +0 -54
  89. package/esm5/ngx-utils/utils/vector.js +0 -223
  90. package/esm5/public_api.js +0 -73
  91. package/esm5/stemy-ngx-utils.js +0 -11
  92. package/fesm5/stemy-ngx-utils.js +0 -6709
  93. package/fesm5/stemy-ngx-utils.js.map +0 -1
  94. package/typings.d.ts +0 -5
@@ -1,119 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
4
- */
5
- import { Inject, Injectable, Injector } from "@angular/core";
6
- import { StateService } from "./state.service";
7
- import { AUTH_SERVICE } from "../common-types";
8
- import { ObjectUtils } from "../utils/object.utils";
9
- import { AuthGuard } from "../utils/auth.guard";
10
- /** @type {?} */
11
- var emptyGuards = [];
12
- var AclService = /** @class */ (function () {
13
- function AclService(injector, state, auth) {
14
- var _this = this;
15
- this.injector = injector;
16
- this.state = state;
17
- this.auth = auth;
18
- this.components = [];
19
- this.auth.userChanged.subscribe(function () {
20
- _this.components.forEach(function (t) { return t.dirty = true; });
21
- /** @type {?} */
22
- var info = _this.getStateInfo();
23
- /** @type {?} */
24
- var check = info && info.guard instanceof AuthGuard ? info.guard.checkRoute(info.route) : Promise.resolve(true);
25
- check.then(function (result) {
26
- if (result) {
27
- AclService.checkStateDirty(info);
28
- return;
29
- }
30
- ((/** @type {?} */ (info.guard))).getReturnState(info.route).then(function (returnState) {
31
- if (!returnState)
32
- return;
33
- _this.state.navigate(returnState);
34
- });
35
- });
36
- });
37
- this.state.subscribe(function () {
38
- /** @type {?} */
39
- var info = _this.getStateInfo();
40
- AclService.checkStateDirty(info);
41
- });
42
- }
43
- /**
44
- * @param {?} info
45
- * @return {?}
46
- */
47
- AclService.checkStateDirty = /**
48
- * @param {?} info
49
- * @return {?}
50
- */
51
- function (info) {
52
- if (!info || !info.dirty)
53
- return;
54
- info.dirty = false;
55
- if (!ObjectUtils.checkInterface(info.component, {
56
- onUserInitialized: "function",
57
- onUserChanged: "function"
58
- }))
59
- return;
60
- /** @type {?} */
61
- var component = info.component;
62
- if (info.first) {
63
- component.onUserInitialized();
64
- info.first = false;
65
- return;
66
- }
67
- component.onUserChanged();
68
- };
69
- /**
70
- * @return {?}
71
- */
72
- AclService.prototype.getStateInfo = /**
73
- * @return {?}
74
- */
75
- function () {
76
- var _this = this;
77
- /** @type {?} */
78
- var route = this.state.route;
79
- if (!route)
80
- return null;
81
- /** @type {?} */
82
- var info = this.components.find(function (t) { return t.route == _this.state.route; });
83
- if (!info) {
84
- /** @type {?} */
85
- var guardType = (route.canActivate || emptyGuards)[0];
86
- info = {
87
- route: this.state.route,
88
- component: this.state.component,
89
- guard: guardType ? this.injector.get(guardType) : null,
90
- dirty: false,
91
- first: true
92
- };
93
- this.components.push(info);
94
- }
95
- return info;
96
- };
97
- AclService.decorators = [
98
- { type: Injectable }
99
- ];
100
- /** @nocollapse */
101
- AclService.ctorParameters = function () { return [
102
- { type: Injector },
103
- { type: StateService },
104
- { type: undefined, decorators: [{ type: Inject, args: [AUTH_SERVICE,] }] }
105
- ]; };
106
- return AclService;
107
- }());
108
- export { AclService };
109
- if (false) {
110
- /** @type {?} */
111
- AclService.prototype.components;
112
- /** @type {?} */
113
- AclService.prototype.injector;
114
- /** @type {?} */
115
- AclService.prototype.state;
116
- /** @type {?} */
117
- AclService.prototype.auth;
118
- }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RlbXkvbmd4LXV0aWxzLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3NlcnZpY2VzL2FjbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxZQUFZLEVBQStDLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7SUFFeEMsV0FBVyxHQUFVLEVBQUU7QUFFN0I7SUFxQkksb0JBQW1CLFFBQWtCLEVBQVMsS0FBbUIsRUFBK0IsSUFBa0I7UUFBbEgsaUJBcUJDO1FBckJrQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUErQixTQUFJLEdBQUosSUFBSSxDQUFjO1FBQzlHLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM1QixLQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFkLENBQWMsQ0FBQyxDQUFDOztnQkFDdkMsSUFBSSxHQUFHLEtBQUksQ0FBQyxZQUFZLEVBQUU7O2dCQUMxQixLQUFLLEdBQXFCLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxP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O0lBQUUsMEJBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0YXRlU2VydmljZX0gZnJvbSBcIi4vc3RhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FVVEhfU0VSVklDRSwgSUFjbENvbXBvbmVudCwgSUF1dGhTZXJ2aWNlLCBJUm91dGVTdGF0ZUluZm99IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5pbXBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4uL3V0aWxzL2F1dGguZ3VhcmRcIjtcclxuXHJcbmNvbnN0IGVtcHR5R3VhcmRzOiBhbnlbXSA9IFtdO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWNsU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRzOiBJUm91dGVTdGF0ZUluZm9bXTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjaGVja1N0YXRlRGlydHkoaW5mbzogSVJvdXRlU3RhdGVJbmZvKSB7XHJcbiAgICAgICAgaWYgKCFpbmZvIHx8ICFpbmZvLmRpcnR5KSByZXR1cm47XHJcbiAgICAgICAgaW5mby5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuY2hlY2tJbnRlcmZhY2UoaW5mby5jb21wb25lbnQsIHtcclxuICAgICAgICAgICAgb25Vc2VySW5pdGlhbGl6ZWQ6IFwiZnVuY3Rpb25cIixcclxuICAgICAgICAgICAgb25Vc2VyQ2hhbmdlZDogXCJmdW5jdGlvblwiXHJcbiAgICAgICAgfSkpIHJldHVybjtcclxuICAgICAgICBjb25zdCBjb21wb25lbnQ6IElBY2xDb21wb25lbnQgPSBpbmZvLmNvbXBvbmVudDtcclxuICAgICAgICBpZiAoaW5mby5maXJzdCkge1xyXG4gICAgICAgICAgICBjb21wb25lbnQub25Vc2VySW5pdGlhbGl6ZWQoKTtcclxuICAgICAgICAgICAgaW5mby5maXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbXBvbmVudC5vblVzZXJDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGluamVjdG9yOiBJbmplY3RvciwgcHVibGljIHN0YXRlOiBTdGF0ZVNlcnZpY2UsIEBJbmplY3QoQVVUSF9TRVJWSUNFKSBwdWJsaWMgYXV0aDogSUF1dGhTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gW107XHJcbiAgICAgICAgdGhpcy5hdXRoLnVzZXJDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cy5mb3JFYWNoKHQgPT4gdC5kaXJ0eSA9IHRydWUpO1xyXG4gICAgICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5nZXRTdGF0ZUluZm8oKTtcclxuICAgICAgICAgICAgY29uc3QgY2hlY2s6IFByb21pc2U8Ym9vbGVhbj4gPSBpbmZvICYmIGluZm8uZ3VhcmQgaW5zdGFuY2VvZiBBdXRoR3VhcmQgPyBpbmZvLmd1YXJkLmNoZWNrUm91dGUoaW5mby5yb3V0ZSkgOiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgIGNoZWNrLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBBY2xTZXJ2aWNlLmNoZWNrU3RhdGVEaXJ0eShpbmZvKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAoaW5mby5ndWFyZCBhcyBBdXRoR3VhcmQpLmdldFJldHVyblN0YXRlKGluZm8ucm91dGUpLnRoZW4ocmV0dXJuU3RhdGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmV0dXJuU3RhdGUpIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLm5hdmlnYXRlKHJldHVyblN0YXRlKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnN0YXRlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLmdldFN0YXRlSW5mbygpO1xyXG4gICAgICAgICAgICBBY2xTZXJ2aWNlLmNoZWNrU3RhdGVEaXJ0eShpbmZvKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFN0YXRlSW5mbygpOiBJUm91dGVTdGF0ZUluZm8ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5zdGF0ZS5yb3V0ZTtcclxuICAgICAgICBpZiAoIXJvdXRlKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBsZXQgaW5mbyA9IHRoaXMuY29tcG9uZW50cy5maW5kKHQgPT4gdC5yb3V0ZSA9PSB0aGlzLnN0YXRlLnJvdXRlKTtcclxuICAgICAgICBpZiAoIWluZm8pIHtcclxuICAgICAgICAgICAgY29uc3QgZ3VhcmRUeXBlOiBUeXBlPEF1dGhHdWFyZD4gPSAocm91dGUuY2FuQWN0aXZhdGUgfHwgZW1wdHlHdWFyZHMpWzBdO1xyXG4gICAgICAgICAgICBpbmZvID0ge1xyXG4gICAgICAgICAgICAgICAgcm91dGU6IHRoaXMuc3RhdGUucm91dGUsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuc3RhdGUuY29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgZ3VhcmQ6IGd1YXJkVHlwZSA/IHRoaXMuaW5qZWN0b3IuZ2V0KGd1YXJkVHlwZSkgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgZGlydHk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZmlyc3Q6IHRydWVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzLnB1c2goaW5mbyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBpbmZvO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,40 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
4
- */
5
- import { EventEmitter } from "@angular/core";
6
- var StaticAuthService = /** @class */ (function () {
7
- function StaticAuthService() {
8
- this.isAuthenticated = true;
9
- this.userChanged = new EventEmitter();
10
- }
11
- /**
12
- * @return {?}
13
- */
14
- StaticAuthService.prototype.checkAuthenticated = /**
15
- * @return {?}
16
- */
17
- function () {
18
- return Promise.resolve(this.isAuthenticated);
19
- };
20
- /**
21
- * @param {?} route
22
- * @return {?}
23
- */
24
- StaticAuthService.prototype.getReturnState = /**
25
- * @param {?} route
26
- * @return {?}
27
- */
28
- function (route) {
29
- return null;
30
- };
31
- return StaticAuthService;
32
- }());
33
- export { StaticAuthService };
34
- if (false) {
35
- /** @type {?} */
36
- StaticAuthService.prototype.isAuthenticated;
37
- /** @type {?} */
38
- StaticAuthService.prototype.userChanged;
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0ZW15L25neC11dGlscy8iLCJzb3VyY2VzIjpbIm5neC11dGlscy9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0M7SUFBQTtRQUVJLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFTN0QsQ0FBQzs7OztJQVBHLDhDQUFrQjs7O0lBQWxCO1FBQ0ksT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7OztJQUVELDBDQUFjOzs7O0lBQWQsVUFBZSxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTCx3QkFBQztBQUFELENBQUMsQUFaRCxJQVlDOzs7O0lBVkcsNENBQWdDOztJQUNoQyx3Q0FBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJUm91dGUsIElBdXRoU2VydmljZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0YXRpY0F1dGhTZXJ2aWNlIGltcGxlbWVudHMgSUF1dGhTZXJ2aWNlIHtcclxuXHJcbiAgICBpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgdXNlckNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgY2hlY2tBdXRoZW50aWNhdGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5pc0F1dGhlbnRpY2F0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJldHVyblN0YXRlKHJvdXRlOiBJUm91dGUpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,33 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
4
- */
5
- import { EventEmitter, Injectable } from "@angular/core";
6
- var EventsService = /** @class */ (function () {
7
- function EventsService() {
8
- this.eventForwarded = new EventEmitter();
9
- }
10
- /**
11
- * @param {?} e
12
- * @return {?}
13
- */
14
- EventsService.prototype.event = /**
15
- * @param {?} e
16
- * @return {?}
17
- */
18
- function (e) {
19
- this.eventForwarded.emit(e);
20
- };
21
- EventsService.decorators = [
22
- { type: Injectable }
23
- ];
24
- /** @nocollapse */
25
- EventsService.ctorParameters = function () { return []; };
26
- return EventsService;
27
- }());
28
- export { EventsService };
29
- if (false) {
30
- /** @type {?} */
31
- EventsService.prototype.eventForwarded;
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RlbXkvbmd4LXV0aWxzLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RDtJQUtJO1FBQ0ksSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0lBQ3BELENBQUM7Ozs7O0lBRUQsNkJBQUs7Ozs7SUFBTCxVQUFNLENBQVE7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDOztnQkFYSixVQUFVOzs7O0lBWVgsb0JBQUM7Q0FBQSxBQVpELElBWUM7U0FYWSxhQUFhOzs7SUFFdEIsdUNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXIsIEluamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFdmVudHNTZXJ2aWNlIHtcclxuXHJcbiAgICBwdWJsaWMgZXZlbnRGb3J3YXJkZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD47XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5ldmVudEZvcndhcmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV2ZW50Rm9yd2FyZGVkLmVtaXQoZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,124 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
4
- */
5
- import { Inject, Injectable } from "@angular/core";
6
- import { LANGUAGE_SERVICE } from "../common-types";
7
- import { ObjectUtils } from "../utils/object.utils";
8
- import { MathUtils } from "../utils/math.utils";
9
- var FormatterService = /** @class */ (function () {
10
- function FormatterService(language) {
11
- this.language = language;
12
- }
13
- Object.defineProperty(FormatterService.prototype, "defaultPrecision", {
14
- get: /**
15
- * @return {?}
16
- */
17
- function () {
18
- return 2;
19
- },
20
- enumerable: true,
21
- configurable: true
22
- });
23
- Object.defineProperty(FormatterService.prototype, "defaultNumberFormat", {
24
- get: /**
25
- * @return {?}
26
- */
27
- function () {
28
- return "num + ' mm'";
29
- },
30
- enumerable: true,
31
- configurable: true
32
- });
33
- Object.defineProperty(FormatterService.prototype, "defaultDivider", {
34
- get: /**
35
- * @return {?}
36
- */
37
- function () {
38
- return 1;
39
- },
40
- enumerable: true,
41
- configurable: true
42
- });
43
- /**
44
- * @param {?} value
45
- * @param {?=} precision
46
- * @param {?=} divider
47
- * @return {?}
48
- */
49
- FormatterService.prototype.roundNumber = /**
50
- * @param {?} value
51
- * @param {?=} precision
52
- * @param {?=} divider
53
- * @return {?}
54
- */
55
- function (value, precision, divider) {
56
- return MathUtils.round(value, this.getPrecision(precision), divider || this.defaultDivider);
57
- };
58
- /**
59
- * @param {?} value
60
- * @param {?=} format
61
- * @param {?=} precision
62
- * @param {?=} divider
63
- * @return {?}
64
- */
65
- FormatterService.prototype.formatNumber = /**
66
- * @param {?} value
67
- * @param {?=} format
68
- * @param {?=} precision
69
- * @param {?=} divider
70
- * @return {?}
71
- */
72
- function (value, format, precision, divider) {
73
- precision = this.getPrecision(precision);
74
- divider = divider || this.defaultDivider;
75
- /** @type {?} */
76
- var num = ObjectUtils.isNumber(value) ? (/** @type {?} */ (value)) : parseFloat((/** @type {?} */ (value))) || 0;
77
- /** @type {?} */
78
- var str = (num / divider).toLocaleString(this.language.currentLanguage, {
79
- minimumFractionDigits: precision,
80
- maximumFractionDigits: precision
81
- });
82
- return ObjectUtils.evaluate(format || this.defaultNumberFormat, { num: str });
83
- };
84
- /**
85
- * @param {?} value
86
- * @param {?=} precision
87
- * @param {?=} divider
88
- * @return {?}
89
- */
90
- FormatterService.prototype.formatMillimeter = /**
91
- * @param {?} value
92
- * @param {?=} precision
93
- * @param {?=} divider
94
- * @return {?}
95
- */
96
- function (value, precision, divider) {
97
- return this.formatNumber(value, "num + ' mm'", precision, divider);
98
- };
99
- /**
100
- * @param {?} precision
101
- * @return {?}
102
- */
103
- FormatterService.prototype.getPrecision = /**
104
- * @param {?} precision
105
- * @return {?}
106
- */
107
- function (precision) {
108
- return ObjectUtils.isNumber(precision) ? precision : this.defaultPrecision;
109
- };
110
- FormatterService.decorators = [
111
- { type: Injectable }
112
- ];
113
- /** @nocollapse */
114
- FormatterService.ctorParameters = function () { return [
115
- { type: undefined, decorators: [{ type: Inject, args: [LANGUAGE_SERVICE,] }] }
116
- ]; };
117
- return FormatterService;
118
- }());
119
- export { FormatterService };
120
- if (false) {
121
- /** @type {?} */
122
- FormatterService.prototype.language;
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RlbXkvbmd4LXV0aWxzLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQW1CLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QztJQWVJLDBCQUE2QyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUV2RSxDQUFDO0lBZEQsc0JBQUksOENBQWdCOzs7O1FBQXBCO1lBQ0ksT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLGlEQUFtQjs7OztRQUF2QjtZQUNJLE9BQU8sYUFBYSxDQUFDO1FBQ3pCLENBQUM7OztPQUFBO0lBRUQsc0JBQUksNENBQWM7Ozs7UUFBbEI7WUFDSSxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUM7OztPQUFBOzs7Ozs7O0lBTUQsc0NBQVc7Ozs7OztJQUFYLFVBQVksS0FBYSxFQUFFLFNBQWtCLEVBQUUsT0FBZ0I7UUFDM0QsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEcsQ0FBQzs7Ozs7Ozs7SUFFRCx1Q0FBWTs7Ozs7OztJQUFaLFVBQWEsS0FBc0IsRUFBRSxNQUFlLEVBQUUsU0FBa0IsRUFBRSxPQUFnQjtRQUN0RixTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7O1lBQ25DLEdBQUcsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBUSxLQUFLLEVBQUEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLG1CQUFRLEtBQUssRUFBQSxDQUFDLElBQUksQ0FBQzs7WUFDbEYsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRTtZQUN0RSxxQkFBcUIsRUFBRSxTQUFTO1lBQ2hDLHFCQUFxQixFQUFFLFNBQVM7U0FDbkMsQ0FBQztRQUNGLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs7Ozs7OztJQUVELDJDQUFnQjs7Ozs7O0lBQWhCLFVBQWlCLEtBQWEsRUFBRSxTQUFrQixFQUFFLE9BQWdCO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RSxDQUFDOzs7OztJQUVTLHVDQUFZOzs7O0lBQXRCLFVBQXVCLFNBQWlCO1FBQ3BDLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0UsQ0FBQzs7Z0JBeENKLFVBQVU7Ozs7Z0RBZU0sTUFBTSxTQUFDLGdCQUFnQjs7SUEwQnhDLHVCQUFDO0NBQUEsQUF6Q0QsSUF5Q0M7U0F4Q1ksZ0JBQWdCOzs7SUFjYixvQ0FBMkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJTGFuZ3VhZ2VTZXJ2aWNlLCBMQU5HVUFHRV9TRVJWSUNFfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtNYXRoVXRpbHN9IGZyb20gXCIuLi91dGlscy9tYXRoLnV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXJTZXJ2aWNlIHtcclxuXHJcbiAgICBnZXQgZGVmYXVsdFByZWNpc2lvbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWZhdWx0TnVtYmVyRm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGBudW0gKyAnIG1tJ2A7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRlZmF1bHREaXZpZGVyKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMQU5HVUFHRV9TRVJWSUNFKSBwdWJsaWMgbGFuZ3VhZ2U6IElMYW5ndWFnZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcm91bmROdW1iZXIodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uPzogbnVtYmVyLCBkaXZpZGVyPzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF0aFV0aWxzLnJvdW5kKHZhbHVlLCB0aGlzLmdldFByZWNpc2lvbihwcmVjaXNpb24pLCBkaXZpZGVyIHx8IHRoaXMuZGVmYXVsdERpdmlkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcsIHByZWNpc2lvbj86IG51bWJlciwgZGl2aWRlcj86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgcHJlY2lzaW9uID0gdGhpcy5nZXRQcmVjaXNpb24ocHJlY2lzaW9uKTtcclxuICAgICAgICBkaXZpZGVyID0gZGl2aWRlciB8fCB0aGlzLmRlZmF1bHREaXZpZGVyO1xyXG4gICAgICAgIGNvbnN0IG51bSA9IE9iamVjdFV0aWxzLmlzTnVtYmVyKHZhbHVlKSA/IDxudW1iZXI+dmFsdWUgOiBwYXJzZUZsb2F0KDxzdHJpbmc+dmFsdWUpIHx8IDA7XHJcbiAgICAgICAgY29uc3Qgc3RyID0gKG51bSAvIGRpdmlkZXIpLnRvTG9jYWxlU3RyaW5nKHRoaXMubGFuZ3VhZ2UuY3VycmVudExhbmd1YWdlLCB7XHJcbiAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogcHJlY2lzaW9uLFxyXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHByZWNpc2lvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmb3JtYXQgfHwgdGhpcy5kZWZhdWx0TnVtYmVyRm9ybWF0LCB7bnVtOiBzdHJ9KTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXRNaWxsaW1ldGVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbj86IG51bWJlciwgZGl2aWRlcj86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlLCBgbnVtICsgJyBtbSdgLCBwcmVjaXNpb24sIGRpdmlkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRQcmVjaXNpb24ocHJlY2lzaW9uOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5pc051bWJlcihwcmVjaXNpb24pID8gcHJlY2lzaW9uIDogdGhpcy5kZWZhdWx0UHJlY2lzaW9uO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,32 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from "@angular/core";
6
- var IconService = /** @class */ (function () {
7
- function IconService() {
8
- }
9
- /**
10
- * @param {?} icon
11
- * @param {?} activeIcon
12
- * @param {?} active
13
- * @return {?}
14
- */
15
- IconService.prototype.getIcon = /**
16
- * @param {?} icon
17
- * @param {?} activeIcon
18
- * @param {?} active
19
- * @return {?}
20
- */
21
- function (icon, activeIcon, active) {
22
- icon = typeof icons == "undefined" ? icon : (icons[icon] || icon);
23
- activeIcon = typeof icons == "undefined" ? activeIcon : (icons[activeIcon] || icon);
24
- return Promise.resolve(active ? activeIcon : icon);
25
- };
26
- IconService.decorators = [
27
- { type: Injectable }
28
- ];
29
- return IconService;
30
- }());
31
- export { IconService };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0ZW15L25neC11dGlscy8iLCJzb3VyY2VzIjpbIm5neC11dGlscy9zZXJ2aWNlcy9pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFPekM7SUFBQTtJQVFBLENBQUM7Ozs7Ozs7SUFMRyw2QkFBTzs7Ozs7O0lBQVAsVUFBUSxJQUFZLEVBQUUsVUFBa0IsRUFBRSxNQUFlO1FBQ3JELElBQUksR0FBRyxPQUFPLEtBQUssSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDbEUsVUFBVSxHQUFHLE9BQU8sS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNwRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2dCQVBKLFVBQVU7O0lBUVgsa0JBQUM7Q0FBQSxBQVJELElBUUM7U0FQWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0lJY29uU2VydmljZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZGVjbGFyZSBjb25zdCBpY29uczoge1xyXG4gICAgW2ljb246IHN0cmluZ106IHN0cmluZztcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIGltcGxlbWVudHMgSUljb25TZXJ2aWNlIHtcclxuXHJcbiAgICBnZXRJY29uKGljb246IHN0cmluZywgYWN0aXZlSWNvbjogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGljb24gPSB0eXBlb2YgaWNvbnMgPT0gXCJ1bmRlZmluZWRcIiA/IGljb24gOiAoaWNvbnNbaWNvbl0gfHwgaWNvbik7XHJcbiAgICAgICAgYWN0aXZlSWNvbiA9IHR5cGVvZiBpY29ucyA9PSBcInVuZGVmaW5lZFwiID8gYWN0aXZlSWNvbiA6IChpY29uc1thY3RpdmVJY29uXSB8fCBpY29uKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFjdGl2ZSA/IGFjdGl2ZUljb24gOiBpY29uKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,199 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from "@angular/core";
6
- import { ObjectUtils } from "../utils/object.utils";
7
- var StaticLanguageService = /** @class */ (function () {
8
- function StaticLanguageService() {
9
- this.currentLanguage = "none";
10
- this.translations = {
11
- none: {}
12
- };
13
- }
14
- Object.defineProperty(StaticLanguageService.prototype, "defaultLanguage", {
15
- get: /**
16
- * @return {?}
17
- */
18
- function () {
19
- return "none";
20
- },
21
- enumerable: true,
22
- configurable: true
23
- });
24
- Object.defineProperty(StaticLanguageService.prototype, "dictionary", {
25
- get: /**
26
- * @return {?}
27
- */
28
- function () {
29
- return this.translations[this.currentLanguage];
30
- },
31
- set: /**
32
- * @param {?} value
33
- * @return {?}
34
- */
35
- function (value) {
36
- this.translations[this.currentLanguage] = value;
37
- },
38
- enumerable: true,
39
- configurable: true
40
- });
41
- Object.defineProperty(StaticLanguageService.prototype, "editLanguage", {
42
- get: /**
43
- * @return {?}
44
- */
45
- function () {
46
- return this.editLang || this.currentLanguage;
47
- },
48
- set: /**
49
- * @param {?} lang
50
- * @return {?}
51
- */
52
- function (lang) {
53
- this.editLang = lang || this.currentLanguage;
54
- },
55
- enumerable: true,
56
- configurable: true
57
- });
58
- /**
59
- * @param {?} languages
60
- * @return {?}
61
- */
62
- StaticLanguageService.prototype.addLanguages = /**
63
- * @param {?} languages
64
- * @return {?}
65
- */
66
- function (languages) {
67
- var _this = this;
68
- languages.forEach(function (lang) {
69
- _this.translations[lang] = {};
70
- });
71
- };
72
- /**
73
- * @param {?} key
74
- * @param {?=} params
75
- * @return {?}
76
- */
77
- StaticLanguageService.prototype.getTranslation = /**
78
- * @param {?} key
79
- * @param {?=} params
80
- * @return {?}
81
- */
82
- function (key, params) {
83
- if (!ObjectUtils.isString(key) || !key.length) {
84
- throw new Error("Parameter \"key\" required");
85
- }
86
- /** @type {?} */
87
- var translation = ObjectUtils.getValue(this.dictionary, key, key) || key;
88
- return Promise.resolve(this.interpolate(translation, params));
89
- };
90
- /**
91
- * @param {...?} keys
92
- * @return {?}
93
- */
94
- StaticLanguageService.prototype.getTranslations = /**
95
- * @param {...?} keys
96
- * @return {?}
97
- */
98
- function () {
99
- var _this = this;
100
- var keys = [];
101
- for (var _i = 0; _i < arguments.length; _i++) {
102
- keys[_i] = arguments[_i];
103
- }
104
- return new Promise(function (resolve) {
105
- Promise.all(keys.map(function (key) { return _this.getTranslation(key); })).then(function (translations) {
106
- resolve(keys.reduce(function (result, key, i) {
107
- result[key] = translations[i];
108
- return result;
109
- }, {}));
110
- });
111
- });
112
- };
113
- /**
114
- * @param {?} translations
115
- * @param {?=} params
116
- * @param {?=} lang
117
- * @return {?}
118
- */
119
- StaticLanguageService.prototype.getTranslationFromObject = /**
120
- * @param {?} translations
121
- * @param {?=} params
122
- * @param {?=} lang
123
- * @return {?}
124
- */
125
- function (translations, params, lang) {
126
- lang = lang || this.currentLanguage;
127
- return this.interpolate(translations ? (translations[lang] || "") : "");
128
- };
129
- /**
130
- * @param {?} translations
131
- * @param {?=} params
132
- * @param {?=} lang
133
- * @return {?}
134
- */
135
- StaticLanguageService.prototype.getTranslationFromArray = /**
136
- * @param {?} translations
137
- * @param {?=} params
138
- * @param {?=} lang
139
- * @return {?}
140
- */
141
- function (translations, params, lang) {
142
- lang = lang || this.currentLanguage;
143
- /** @type {?} */
144
- var translation = translations ? translations.find(function (t) { return t.lang == lang; }) : null;
145
- return this.interpolate(translation ? translation.translation : "", params);
146
- };
147
- /**
148
- * @param {?} expr
149
- * @param {?=} params
150
- * @return {?}
151
- */
152
- StaticLanguageService.prototype.interpolate = /**
153
- * @param {?} expr
154
- * @param {?=} params
155
- * @return {?}
156
- */
157
- function (expr, params) {
158
- if (typeof expr === "string") {
159
- return this.interpolateString(expr, params);
160
- }
161
- if (typeof expr === "function") {
162
- return expr(params);
163
- }
164
- return (/** @type {?} */ (expr));
165
- };
166
- /**
167
- * @param {?} expr
168
- * @param {?=} params
169
- * @return {?}
170
- */
171
- StaticLanguageService.prototype.interpolateString = /**
172
- * @param {?} expr
173
- * @param {?=} params
174
- * @return {?}
175
- */
176
- function (expr, params) {
177
- if (!expr || !params)
178
- return expr;
179
- return expr.replace(/{{\s?([^{}\s]*)\s?}}/g, function (substring, b) {
180
- /** @type {?} */
181
- var r = ObjectUtils.getValue(params, b);
182
- return ObjectUtils.isDefined(r) ? r : substring;
183
- });
184
- };
185
- StaticLanguageService.decorators = [
186
- { type: Injectable }
187
- ];
188
- return StaticLanguageService;
189
- }());
190
- export { StaticLanguageService };
191
- if (false) {
192
- /** @type {?} */
193
- StaticLanguageService.prototype.currentLanguage;
194
- /** @type {?} */
195
- StaticLanguageService.prototype.editLang;
196
- /** @type {?} */
197
- StaticLanguageService.prototype.translations;
198
- }
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdGVteS9uZ3gtdXRpbHMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQ7SUFBQTtRQWVJLG9CQUFlLEdBQVcsTUFBTSxDQUFDO1FBWXpCLGlCQUFZLEdBQWtCO1lBQ2xDLElBQUksRUFBRSxFQUFFO1NBQ1gsQ0FBQztJQXVETixDQUFDO0lBakZHLHNCQUFJLGtEQUFlOzs7O1FBQW5CO1lBQ0ksT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw2Q0FBVTs7OztRQUFkO1lBQ0ksT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxDQUFDOzs7OztRQUVELFVBQWUsS0FBVTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDcEQsQ0FBQzs7O09BSkE7SUFRRCxzQkFBSSwrQ0FBWTs7OztRQUFoQjtZQUNJLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2pELENBQUM7Ozs7O1FBRUQsVUFBaUIsSUFBWTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2pELENBQUM7OztPQUpBOzs7OztJQVlELDRDQUFZOzs7O0lBQVosVUFBYSxTQUFtQjtRQUFoQyxpQkFJQztRQUhHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBQSxJQUFJO1lBQ2xCLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFB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RUFBRSxNQUFZO1FBQ2xELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLFVBQUMsU0FBaUIsRUFBRSxDQUFTOztnQkFDaEUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBbkZKLFVBQVU7O0lBb0ZYLDRCQUFDO0NBQUEsQUFwRkQsSUFvRkM7U0FuRlkscUJBQXFCOzs7SUFjOUIsZ0RBQWlDOztJQVVqQyx5Q0FBeUI7O0lBRXpCLDZDQUVFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0lMYW5ndWFnZVNlcnZpY2UsIElUcmFuc2xhdGlvbiwgSVRyYW5zbGF0aW9uc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGF0aWNMYW5ndWFnZVNlcnZpY2UgaW1wbGVtZW50cyBJTGFuZ3VhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgICBnZXQgZGVmYXVsdExhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFwibm9uZVwiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaWN0aW9uYXJ5KCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25zW3RoaXMuY3VycmVudExhbmd1YWdlXTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGljdGlvbmFyeSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbnNbdGhpcy5jdXJyZW50TGFuZ3VhZ2VdID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcgPSBcIm5vbmVcIjtcclxuXHJcbiAgICBnZXQgZWRpdExhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdExhbmcgfHwgdGhpcy5jdXJyZW50TGFuZ3VhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGVkaXRMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmVkaXRMYW5nID0gbGFuZyB8fCB0aGlzLmN1cnJlbnRMYW5ndWFnZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGVkaXRMYW5nOiBzdHJpbmc7XHJcblxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbnMgPSB7XHJcbiAgICAgICAgbm9uZToge31cclxuICAgIH07XHJcblxyXG4gICAgYWRkTGFuZ3VhZ2VzKGxhbmd1YWdlczogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgICAgICBsYW5ndWFnZXMuZm9yRWFjaChsYW5nID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbnNbbGFuZ10gPSB7fTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzU3RyaW5nKGtleSkgfHwgIWtleS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCJrZXlcIiByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IE9iamVjdFV0aWxzLmdldFZhbHVlKHRoaXMuZGljdGlvbmFyeSwga2V5LCBrZXkpIHx8IGtleTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuaW50ZXJwb2xhdGUodHJhbnNsYXRpb24sIHBhcmFtcykpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9ucyguLi5rZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJVHJhbnNsYXRpb25zPihyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgUHJvbWlzZS5hbGwoa2V5cy5tYXAoa2V5ID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24oa2V5KSkpLnRoZW4odHJhbnNsYXRpb25zID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoa2V5cy5yZWR1Y2UoKHJlc3VsdCwga2V5LCBpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2xhdGlvbnNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH0sIHt9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9uRnJvbU9iamVjdCh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbnMsIHBhcmFtcz86IGFueSwgbGFuZz86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgbGFuZyA9IGxhbmcgfHwgdGhpcy5jdXJyZW50TGFuZ3VhZ2U7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGUodHJhbnNsYXRpb25zID8gKHRyYW5zbGF0aW9uc1tsYW5nXSB8fCBcIlwiKSA6IFwiXCIpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VHJhbnNsYXRpb25Gcm9tQXJyYXkodHJhbnNsYXRpb25zOiBJVHJhbnNsYXRpb25bXSwgcGFyYW1zPzogYW55LCBsYW5nPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBsYW5nID0gbGFuZyB8fCB0aGlzLmN1cnJlbnRMYW5ndWFnZTtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9ucyA/IHRyYW5zbGF0aW9ucy5maW5kKHQgPT4gdC5sYW5nID09IGxhbmcpIDogbnVsbDtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZSh0cmFuc2xhdGlvbiA/IHRyYW5zbGF0aW9uLnRyYW5zbGF0aW9uIDogXCJcIiwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGUoZXhwcjogc3RyaW5nIHwgRnVuY3Rpb24sIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlU3RyaW5nKGV4cHIsIHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgZXhwciA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBleHByKHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBleHByIGFzIHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGVTdHJpbmcoZXhwcjogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgICAgICBpZiAoIWV4cHIgfHwgIXBhcmFtcykgcmV0dXJuIGV4cHI7XHJcbiAgICAgICAgcmV0dXJuIGV4cHIucmVwbGFjZSgve3tcXHM/KFtee31cXHNdKilcXHM/fX0vZywgKHN1YnN0cmluZzogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgciA9IE9iamVjdFV0aWxzLmdldFZhbHVlKHBhcmFtcywgYik7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5pc0RlZmluZWQocikgPyByIDogc3Vic3RyaW5nO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==