@abp/ng.theme.shared 5.0.0-rc.1 → 5.0.2

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 (207) hide show
  1. package/abp-ng.theme.shared.d.ts +5 -5
  2. package/bundles/abp-ng.theme.shared-extensions.umd.js +1749 -1748
  3. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +1 -1
  4. package/bundles/abp-ng.theme.shared-testing.umd.js +41 -41
  5. package/bundles/abp-ng.theme.shared.umd.js +2316 -2316
  6. package/bundles/abp-ng.theme.shared.umd.js.map +1 -1
  7. package/esm2015/abp-ng.theme.shared.js +4 -4
  8. package/esm2015/extensions/abp-ng.theme.shared-extensions.js +4 -4
  9. package/esm2015/extensions/lib/adapters/date-time.adapter.js +33 -33
  10. package/esm2015/extensions/lib/adapters/date.adapter.js +40 -40
  11. package/esm2015/extensions/lib/adapters/time.adapter.js +35 -35
  12. package/esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js +24 -24
  13. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js +73 -73
  14. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +164 -164
  15. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js +70 -70
  16. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +133 -133
  17. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +45 -45
  18. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +45 -45
  19. package/esm2015/extensions/lib/constants/extra-properties.js +1 -1
  20. package/esm2015/extensions/lib/directives/disabled.directive.js +28 -28
  21. package/esm2015/extensions/lib/directives/prop-data.directive.js +40 -40
  22. package/esm2015/extensions/lib/enums/props.enum.js +1 -1
  23. package/esm2015/extensions/lib/models/actions.js +45 -45
  24. package/esm2015/extensions/lib/models/entity-actions.js +28 -28
  25. package/esm2015/extensions/lib/models/entity-props.js +36 -34
  26. package/esm2015/extensions/lib/models/form-props.js +51 -51
  27. package/esm2015/extensions/lib/models/internal/object-extensions.js +1 -1
  28. package/esm2015/extensions/lib/models/object-extensions.js +2 -2
  29. package/esm2015/extensions/lib/models/props.js +49 -49
  30. package/esm2015/extensions/lib/models/toolbar-actions.js +40 -40
  31. package/esm2015/extensions/lib/services/extensions.service.js +23 -23
  32. package/esm2015/extensions/lib/tokens/extensions.token.js +6 -6
  33. package/esm2015/extensions/lib/ui-extensions.module.js +91 -91
  34. package/esm2015/extensions/lib/utils/actions.util.js +8 -8
  35. package/esm2015/extensions/lib/utils/enum.util.js +41 -41
  36. package/esm2015/extensions/lib/utils/factory.util.js +3 -3
  37. package/esm2015/extensions/lib/utils/form-props.util.js +50 -50
  38. package/esm2015/extensions/lib/utils/localization.util.js +12 -12
  39. package/esm2015/extensions/lib/utils/props.util.js +13 -13
  40. package/esm2015/extensions/lib/utils/state.util.js +123 -123
  41. package/esm2015/extensions/lib/utils/typeahead.util.js +51 -51
  42. package/esm2015/extensions/lib/utils/validation.util.js +10 -10
  43. package/esm2015/extensions/public-api.js +27 -27
  44. package/esm2015/lib/animations/bounce.animations.js +16 -16
  45. package/esm2015/lib/animations/collapse.animations.js +49 -49
  46. package/esm2015/lib/animations/fade.animations.js +37 -37
  47. package/esm2015/lib/animations/index.js +6 -6
  48. package/esm2015/lib/animations/modal.animations.js +10 -10
  49. package/esm2015/lib/animations/slide.animations.js +7 -7
  50. package/esm2015/lib/animations/toast.animations.js +12 -12
  51. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +48 -48
  52. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js +21 -21
  53. package/esm2015/lib/components/button/button.component.js +71 -71
  54. package/esm2015/lib/components/confirmation/confirmation.component.js +39 -39
  55. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +65 -65
  56. package/esm2015/lib/components/index.js +12 -12
  57. package/esm2015/lib/components/loader-bar/loader-bar.component.js +101 -101
  58. package/esm2015/lib/components/loading/loading.component.js +17 -17
  59. package/esm2015/lib/components/modal/modal-close.directive.js +27 -27
  60. package/esm2015/lib/components/modal/modal-ref.service.js +25 -25
  61. package/esm2015/lib/components/modal/modal.component.js +188 -188
  62. package/esm2015/lib/components/toast/toast.component.js +60 -60
  63. package/esm2015/lib/components/toast-container/toast-container.component.js +48 -48
  64. package/esm2015/lib/constants/styles.js +1 -1
  65. package/esm2015/lib/constants/validation.js +14 -14
  66. package/esm2015/lib/directives/ellipsis.directive.js +62 -62
  67. package/esm2015/lib/directives/index.js +4 -4
  68. package/esm2015/lib/directives/loading.directive.js +89 -89
  69. package/esm2015/lib/directives/ngx-datatable-default.directive.js +74 -74
  70. package/esm2015/lib/directives/ngx-datatable-list.directive.js +93 -93
  71. package/esm2015/lib/enums/index.js +1 -1
  72. package/esm2015/lib/enums/route-names.js +1 -1
  73. package/esm2015/lib/handlers/document-dir.handler.js +32 -32
  74. package/esm2015/lib/handlers/error.handler.js +291 -291
  75. package/esm2015/lib/handlers/index.js +2 -2
  76. package/esm2015/lib/models/common.js +1 -1
  77. package/esm2015/lib/models/confirmation.js +9 -9
  78. package/esm2015/lib/models/index.js +5 -5
  79. package/esm2015/lib/models/nav-item.js +6 -6
  80. package/esm2015/lib/models/statistics.js +1 -1
  81. package/esm2015/lib/models/toaster.js +1 -1
  82. package/esm2015/lib/providers/index.js +2 -2
  83. package/esm2015/lib/providers/ng-bootstrap-config.provider.js +16 -16
  84. package/esm2015/lib/providers/route.provider.js +17 -17
  85. package/esm2015/lib/services/confirmation.service.js +67 -67
  86. package/esm2015/lib/services/index.js +4 -4
  87. package/esm2015/lib/services/nav-items.service.js +50 -50
  88. package/esm2015/lib/services/page-alert.service.js +25 -25
  89. package/esm2015/lib/services/toaster.service.js +102 -102
  90. package/esm2015/lib/theme-shared.module.js +164 -164
  91. package/esm2015/lib/tokens/append-content.token.js +10 -10
  92. package/esm2015/lib/tokens/http-error.token.js +9 -9
  93. package/esm2015/lib/tokens/index.js +4 -4
  94. package/esm2015/lib/tokens/ngx-datatable-messages.token.js +7 -7
  95. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js +2 -2
  96. package/esm2015/lib/utils/date-parser-formatter.js +58 -58
  97. package/esm2015/lib/utils/index.js +2 -2
  98. package/esm2015/lib/utils/validation-utils.js +32 -32
  99. package/esm2015/public-api.js +15 -15
  100. package/esm2015/testing/abp-ng.theme.shared-testing.js +4 -4
  101. package/esm2015/testing/lib/models/config.js +1 -1
  102. package/esm2015/testing/lib/models/index.js +1 -1
  103. package/esm2015/testing/lib/theme-shared-testing.module.js +42 -42
  104. package/esm2015/testing/public-api.js +3 -3
  105. package/extensions/abp-ng.theme.shared-extensions.d.ts +5 -5
  106. package/extensions/lib/adapters/date-time.adapter.d.ts +11 -11
  107. package/extensions/lib/adapters/date.adapter.d.ts +9 -9
  108. package/extensions/lib/adapters/time.adapter.d.ts +8 -8
  109. package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +14 -14
  110. package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +16 -16
  111. package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +37 -37
  112. package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +24 -24
  113. package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +35 -35
  114. package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +13 -13
  115. package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +12 -12
  116. package/extensions/lib/constants/extra-properties.d.ts +1 -1
  117. package/extensions/lib/directives/disabled.directive.d.ts +11 -11
  118. package/extensions/lib/directives/prop-data.directive.d.ts +19 -19
  119. package/extensions/lib/enums/props.enum.d.ts +15 -15
  120. package/extensions/lib/models/actions.d.ts +35 -35
  121. package/extensions/lib/models/entity-actions.d.ts +22 -22
  122. package/extensions/lib/models/entity-props.d.ts +29 -29
  123. package/extensions/lib/models/form-props.d.ts +42 -42
  124. package/extensions/lib/models/internal/object-extensions.d.ts +85 -85
  125. package/extensions/lib/models/object-extensions.d.ts +2 -2
  126. package/extensions/lib/models/props.d.ts +39 -39
  127. package/extensions/lib/models/toolbar-actions.d.ts +29 -29
  128. package/extensions/lib/services/extensions.service.d.ts +14 -14
  129. package/extensions/lib/tokens/extensions.token.d.ts +14 -14
  130. package/extensions/lib/ui-extensions.module.d.ts +23 -23
  131. package/extensions/lib/utils/actions.util.d.ts +7 -7
  132. package/extensions/lib/utils/enum.util.d.ts +7 -7
  133. package/extensions/lib/utils/factory.util.d.ts +1 -1
  134. package/extensions/lib/utils/form-props.util.d.ts +3 -3
  135. package/extensions/lib/utils/localization.util.d.ts +3 -3
  136. package/extensions/lib/utils/props.util.d.ts +8 -8
  137. package/extensions/lib/utils/state.util.d.ts +5 -5
  138. package/extensions/lib/utils/typeahead.util.d.ts +11 -11
  139. package/extensions/lib/utils/validation.util.d.ts +3 -3
  140. package/extensions/public-api.d.ts +27 -27
  141. package/fesm2015/abp-ng.theme.shared-extensions.js +1227 -1226
  142. package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
  143. package/fesm2015/abp-ng.theme.shared-testing.js +37 -37
  144. package/fesm2015/abp-ng.theme.shared.js +1858 -1858
  145. package/fesm2015/abp-ng.theme.shared.js.map +1 -1
  146. package/lib/animations/bounce.animations.d.ts +1 -1
  147. package/lib/animations/collapse.animations.d.ts +9 -9
  148. package/lib/animations/fade.animations.d.ts +10 -10
  149. package/lib/animations/index.d.ts +6 -6
  150. package/lib/animations/modal.animations.d.ts +2 -2
  151. package/lib/animations/slide.animations.d.ts +1 -1
  152. package/lib/animations/toast.animations.d.ts +1 -1
  153. package/lib/components/breadcrumb/breadcrumb.component.d.ts +16 -16
  154. package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +7 -7
  155. package/lib/components/button/button.component.d.ts +25 -25
  156. package/lib/components/confirmation/confirmation.component.d.ts +14 -14
  157. package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +27 -27
  158. package/lib/components/index.d.ts +12 -12
  159. package/lib/components/loader-bar/loader-bar.component.d.ts +33 -33
  160. package/lib/components/loading/loading.component.d.ts +5 -5
  161. package/lib/components/modal/modal-close.directive.d.ts +9 -9
  162. package/lib/components/modal/modal-ref.service.d.ts +13 -13
  163. package/lib/components/modal/modal.component.d.ts +50 -50
  164. package/lib/components/toast/toast.component.d.ts +14 -14
  165. package/lib/components/toast-container/toast-container.component.d.ts +18 -18
  166. package/lib/constants/styles.d.ts +2 -2
  167. package/lib/constants/validation.d.ts +14 -14
  168. package/lib/directives/ellipsis.directive.d.ts +21 -21
  169. package/lib/directives/index.d.ts +4 -4
  170. package/lib/directives/loading.directive.d.ts +25 -25
  171. package/lib/directives/ngx-datatable-default.directive.d.ts +30 -30
  172. package/lib/directives/ngx-datatable-list.directive.d.ts +24 -24
  173. package/lib/enums/index.d.ts +1 -1
  174. package/lib/enums/route-names.d.ts +3 -3
  175. package/lib/handlers/document-dir.handler.d.ts +13 -13
  176. package/lib/handlers/error.handler.d.ts +82 -82
  177. package/lib/handlers/index.d.ts +2 -2
  178. package/lib/models/common.d.ts +19 -19
  179. package/lib/models/confirmation.d.ts +25 -25
  180. package/lib/models/index.d.ts +5 -5
  181. package/lib/models/nav-item.d.ts +11 -11
  182. package/lib/models/statistics.d.ts +12 -12
  183. package/lib/models/toaster.d.ts +30 -30
  184. package/lib/providers/index.d.ts +2 -2
  185. package/lib/providers/ng-bootstrap-config.provider.d.ts +8 -8
  186. package/lib/providers/route.provider.d.ts +8 -8
  187. package/lib/services/confirmation.service.d.ts +21 -21
  188. package/lib/services/index.d.ts +4 -4
  189. package/lib/services/nav-items.service.d.ts +13 -13
  190. package/lib/services/page-alert.service.d.ts +18 -18
  191. package/lib/services/toaster.service.d.ts +60 -60
  192. package/lib/theme-shared.module.d.ts +33 -33
  193. package/lib/tokens/append-content.token.d.ts +2 -2
  194. package/lib/tokens/http-error.token.d.ts +5 -5
  195. package/lib/tokens/index.d.ts +4 -4
  196. package/lib/tokens/ngx-datatable-messages.token.d.ts +12 -12
  197. package/lib/tokens/suppress-unsaved-changes-warning.token.d.ts +2 -2
  198. package/lib/utils/date-parser-formatter.d.ts +12 -12
  199. package/lib/utils/index.d.ts +2 -2
  200. package/lib/utils/validation-utils.d.ts +3 -3
  201. package/package.json +4 -4
  202. package/public-api.d.ts +12 -12
  203. package/testing/abp-ng.theme.shared-testing.d.ts +5 -5
  204. package/testing/lib/models/config.d.ts +4 -4
  205. package/testing/lib/models/index.d.ts +1 -1
  206. package/testing/lib/theme-shared-testing.module.d.ts +14 -14
  207. package/testing/public-api.d.ts +3 -3
@@ -1,75 +1,75 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, HostBinding, Inject, Input } from '@angular/core';
3
- import { ColumnMode, DatatableComponent } from '@swimlane/ngx-datatable';
4
- import { fromEvent, Subscription } from 'rxjs';
5
- import { debounceTime } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@swimlane/ngx-datatable";
8
- export class NgxDatatableDefaultDirective {
9
- constructor(table, document) {
10
- this.table = table;
11
- this.document = document;
12
- this.subscription = new Subscription();
13
- this.resizeDiff = 0;
14
- this.class = 'material bordered';
15
- this.table.columnMode = ColumnMode.force;
16
- this.table.footerHeight = 50;
17
- this.table.headerHeight = 50;
18
- this.table.rowHeight = 'auto';
19
- this.table.scrollbarH = true;
20
- this.table.virtualization = false;
21
- }
22
- get classes() {
23
- return `ngx-datatable ${this.class}`;
24
- }
25
- fixHorizontalGap(scroller) {
26
- const { body, documentElement } = this.document;
27
- if (documentElement.scrollHeight !== documentElement.clientHeight) {
28
- if (this.resizeDiff === 0) {
29
- this.resizeDiff = window.innerWidth - body.offsetWidth;
30
- scroller.scrollWidth -= this.resizeDiff;
31
- }
32
- }
33
- else {
34
- scroller.scrollWidth += this.resizeDiff;
35
- this.resizeDiff = 0;
36
- }
37
- }
38
- fixStyleOnWindowResize() {
39
- // avoided @HostListener('window:resize') in favor of performance
40
- const subscription = fromEvent(window, 'resize')
41
- .pipe(debounceTime(500))
42
- .subscribe(() => {
43
- const { scroller } = this.table.bodyComponent;
44
- if (!scroller)
45
- return;
46
- this.fixHorizontalGap(scroller);
47
- });
48
- this.subscription.add(subscription);
49
- }
50
- ngAfterViewInit() {
51
- this.fixStyleOnWindowResize();
52
- }
53
- ngOnDestroy() {
54
- this.subscription.unsubscribe();
55
- }
56
- }
57
- NgxDatatableDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableDefaultDirective, deps: [{ token: i1.DatatableComponent }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
58
- NgxDatatableDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: { class: "class" }, host: { properties: { "class": "this.classes" } }, exportAs: ["ngxDatatableDefault"], ngImport: i0 });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableDefaultDirective, decorators: [{
60
- type: Directive,
61
- args: [{
62
- // eslint-disable-next-line @angular-eslint/directive-selector
63
- selector: 'ngx-datatable[default]',
64
- exportAs: 'ngxDatatableDefault',
65
- }]
66
- }], ctorParameters: function () { return [{ type: i1.DatatableComponent }, { type: undefined, decorators: [{
67
- type: Inject,
68
- args: [DOCUMENT]
69
- }] }]; }, propDecorators: { class: [{
70
- type: Input
71
- }], classes: [{
72
- type: HostBinding,
73
- args: ['class']
74
- }] } });
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Directive, HostBinding, Inject, Input } from '@angular/core';
3
+ import { ColumnMode, DatatableComponent } from '@swimlane/ngx-datatable';
4
+ import { fromEvent, Subscription } from 'rxjs';
5
+ import { debounceTime } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@swimlane/ngx-datatable";
8
+ export class NgxDatatableDefaultDirective {
9
+ constructor(table, document) {
10
+ this.table = table;
11
+ this.document = document;
12
+ this.subscription = new Subscription();
13
+ this.resizeDiff = 0;
14
+ this.class = 'material bordered';
15
+ this.table.columnMode = ColumnMode.force;
16
+ this.table.footerHeight = 50;
17
+ this.table.headerHeight = 50;
18
+ this.table.rowHeight = 'auto';
19
+ this.table.scrollbarH = true;
20
+ this.table.virtualization = false;
21
+ }
22
+ get classes() {
23
+ return `ngx-datatable ${this.class}`;
24
+ }
25
+ fixHorizontalGap(scroller) {
26
+ const { body, documentElement } = this.document;
27
+ if (documentElement.scrollHeight !== documentElement.clientHeight) {
28
+ if (this.resizeDiff === 0) {
29
+ this.resizeDiff = window.innerWidth - body.offsetWidth;
30
+ scroller.scrollWidth -= this.resizeDiff;
31
+ }
32
+ }
33
+ else {
34
+ scroller.scrollWidth += this.resizeDiff;
35
+ this.resizeDiff = 0;
36
+ }
37
+ }
38
+ fixStyleOnWindowResize() {
39
+ // avoided @HostListener('window:resize') in favor of performance
40
+ const subscription = fromEvent(window, 'resize')
41
+ .pipe(debounceTime(500))
42
+ .subscribe(() => {
43
+ const { scroller } = this.table.bodyComponent;
44
+ if (!scroller)
45
+ return;
46
+ this.fixHorizontalGap(scroller);
47
+ });
48
+ this.subscription.add(subscription);
49
+ }
50
+ ngAfterViewInit() {
51
+ this.fixStyleOnWindowResize();
52
+ }
53
+ ngOnDestroy() {
54
+ this.subscription.unsubscribe();
55
+ }
56
+ }
57
+ NgxDatatableDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableDefaultDirective, deps: [{ token: i1.DatatableComponent }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
58
+ NgxDatatableDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: { class: "class" }, host: { properties: { "class": "this.classes" } }, exportAs: ["ngxDatatableDefault"], ngImport: i0 });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableDefaultDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ // eslint-disable-next-line @angular-eslint/directive-selector
63
+ selector: 'ngx-datatable[default]',
64
+ exportAs: 'ngxDatatableDefault',
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i1.DatatableComponent }, { type: undefined, decorators: [{
67
+ type: Inject,
68
+ args: [DOCUMENT]
69
+ }] }]; }, propDecorators: { class: [{
70
+ type: Input
71
+ }], classes: [{
72
+ type: HostBinding,
73
+ args: ['class']
74
+ }] } });
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGF0YWJsZS1kZWZhdWx0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1kZWZhdWx0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFpQixTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBcUIsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU85QyxNQUFNLE9BQU8sNEJBQTRCO0lBWXZDLFlBQW9CLEtBQXlCLEVBQTRCLFFBQXNCO1FBQTNFLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQTRCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFYdkYsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxDLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFZCxVQUFLLEdBQUcsbUJBQW1CLENBQUM7UUFRbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFaRCxJQUNJLE9BQU87UUFDVCxPQUFPLGlCQUFpQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQVdPLGdCQUFnQixDQUFDLFFBQTJCO1FBQ2xELE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUVoRCxJQUFJLGVBQWUsQ0FBQyxZQUFZLEtBQUssZUFBZSxDQUFDLFlBQVksRUFBRTtZQUNqRSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDdkQsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3pDO1NBQ0Y7YUFBTTtZQUNMLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsaUVBQWlFO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUU5QyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRXRCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OzBIQXhEVSw0QkFBNEIsb0RBWWdCLFFBQVE7OEdBWnBELDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQUx4QyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7OzBCQWFpRCxNQUFNOzJCQUFDLFFBQVE7NENBUHRELEtBQUs7c0JBQWIsS0FBSztnQkFHRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sdW1uTW9kZSwgRGF0YXRhYmxlQ29tcG9uZW50LCBTY3JvbGxlckNvbXBvbmVudCB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ25neC1kYXRhdGFibGVbZGVmYXVsdF0nLFxuICBleHBvcnRBczogJ25neERhdGF0YWJsZURlZmF1bHQnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hEYXRhdGFibGVEZWZhdWx0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSByZXNpemVEaWZmID0gMDtcblxuICBASW5wdXQoKSBjbGFzcyA9ICdtYXRlcmlhbCBib3JkZXJlZCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuZ3gtZGF0YXRhYmxlICR7dGhpcy5jbGFzc31gO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YWJsZTogRGF0YXRhYmxlQ29tcG9uZW50LCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBNb2NrRG9jdW1lbnQpIHtcbiAgICB0aGlzLnRhYmxlLmNvbHVtbk1vZGUgPSBDb2x1bW5Nb2RlLmZvcmNlO1xuICAgIHRoaXMudGFibGUuZm9vdGVySGVpZ2h0ID0gNTA7XG4gICAgdGhpcy50YWJsZS5oZWFkZXJIZWlnaHQgPSA1MDtcbiAgICB0aGlzLnRhYmxlLnJvd0hlaWdodCA9ICdhdXRvJztcbiAgICB0aGlzLnRhYmxlLnNjcm9sbGJhckggPSB0cnVlO1xuICAgIHRoaXMudGFibGUudmlydHVhbGl6YXRpb24gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZml4SG9yaXpvbnRhbEdhcChzY3JvbGxlcjogU2Nyb2xsZXJDb21wb25lbnQpIHtcbiAgICBjb25zdCB7IGJvZHksIGRvY3VtZW50RWxlbWVudCB9ID0gdGhpcy5kb2N1bWVudDtcblxuICAgIGlmIChkb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICE9PSBkb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICBpZiAodGhpcy5yZXNpemVEaWZmID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplRGlmZiA9IHdpbmRvdy5pbm5lcldpZHRoIC0gYm9keS5vZmZzZXRXaWR0aDtcbiAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsV2lkdGggLT0gdGhpcy5yZXNpemVEaWZmO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY3JvbGxlci5zY3JvbGxXaWR0aCArPSB0aGlzLnJlc2l6ZURpZmY7XG4gICAgICB0aGlzLnJlc2l6ZURpZmYgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZml4U3R5bGVPbldpbmRvd1Jlc2l6ZSgpIHtcbiAgICAvLyBhdm9pZGVkIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKSBpbiBmYXZvciBvZiBwZXJmb3JtYW5jZVxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxlciB9ID0gdGhpcy50YWJsZS5ib2R5Q29tcG9uZW50O1xuXG4gICAgICAgIGlmICghc2Nyb2xsZXIpIHJldHVybjtcblxuICAgICAgICB0aGlzLmZpeEhvcml6b250YWxHYXAoc2Nyb2xsZXIpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmZpeFN0eWxlT25XaW5kb3dSZXNpemUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuLy8gZml4OiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMDM1MVxuaW50ZXJmYWNlIE1vY2tEb2N1bWVudCB7XG4gIGJvZHk6IE1vY2tCb2R5O1xuICBkb2N1bWVudEVsZW1lbnQ6IE1vY2tEb2N1bWVudEVsZW1lbnQ7XG59XG5cbmludGVyZmFjZSBNb2NrQm9keSB7XG4gIG9mZnNldFdpZHRoOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBNb2NrRG9jdW1lbnRFbGVtZW50IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG4gIHNjcm9sbEhlaWdodDogbnVtYmVyO1xufVxuIl19
@@ -1,94 +1,94 @@
1
- import { ListService, LocalizationService } from '@abp/ng.core';
2
- import { ChangeDetectorRef, Directive, Inject, Input, Optional, } from '@angular/core';
3
- import { DatatableComponent } from '@swimlane/ngx-datatable';
4
- import { Subscription } from 'rxjs';
5
- import { defaultNgxDatatableMessages, NGX_DATATABLE_MESSAGES, } from '../tokens/ngx-datatable-messages.token';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@swimlane/ngx-datatable";
8
- import * as i2 from "@abp/ng.core";
9
- export class NgxDatatableListDirective {
10
- constructor(table, cdRef, localizationService, ngxDatatableMessages) {
11
- this.table = table;
12
- this.cdRef = cdRef;
13
- this.localizationService = localizationService;
14
- this.ngxDatatableMessages = ngxDatatableMessages;
15
- this.subscription = new Subscription();
16
- this.querySubscription = new Subscription();
17
- this.setInitialValues();
18
- }
19
- setInitialValues() {
20
- this.table.externalPaging = true;
21
- this.table.externalSorting = true;
22
- const { emptyMessage, selectedMessage, totalMessage } = this.ngxDatatableMessages || defaultNgxDatatableMessages;
23
- this.table.messages = {
24
- emptyMessage: this.localizationService.instant(emptyMessage),
25
- totalMessage: this.localizationService.instant(totalMessage),
26
- selectedMessage: this.localizationService.instant(selectedMessage),
27
- };
28
- }
29
- subscribeToPage() {
30
- const sub = this.table.page.subscribe(({ offset }) => {
31
- this.list.page = offset;
32
- this.table.offset = offset;
33
- });
34
- this.subscription.add(sub);
35
- }
36
- subscribeToSort() {
37
- const sub = this.table.sort.subscribe(({ sorts: [{ prop, dir }] }) => {
38
- if (prop === this.list.sortKey && this.list.sortOrder === 'desc') {
39
- this.list.sortKey = '';
40
- this.list.sortOrder = '';
41
- this.table.sorts = [];
42
- this.cdRef.detectChanges();
43
- }
44
- else {
45
- this.list.sortKey = prop;
46
- this.list.sortOrder = dir;
47
- }
48
- });
49
- this.subscription.add(sub);
50
- }
51
- subscribeToQuery() {
52
- if (!this.querySubscription.closed)
53
- this.querySubscription.unsubscribe();
54
- this.querySubscription = this.list.query$.subscribe(() => {
55
- const offset = this.list.page;
56
- if (this.table.offset !== offset)
57
- this.table.offset = offset;
58
- });
59
- }
60
- ngOnChanges({ list }) {
61
- this.subscribeToQuery();
62
- if (!list.firstChange)
63
- return;
64
- const { maxResultCount, page } = list.currentValue;
65
- this.table.limit = maxResultCount;
66
- this.table.offset = page;
67
- }
68
- ngOnDestroy() {
69
- this.subscription.unsubscribe();
70
- this.querySubscription.unsubscribe();
71
- }
72
- ngOnInit() {
73
- this.subscribeToPage();
74
- this.subscribeToSort();
75
- }
76
- }
77
- NgxDatatableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableListDirective, deps: [{ token: i1.DatatableComponent }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }, { token: NGX_DATATABLE_MESSAGES, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
78
- NgxDatatableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: { list: "list" }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
80
- type: Directive,
81
- args: [{
82
- // eslint-disable-next-line @angular-eslint/directive-selector
83
- selector: 'ngx-datatable[list]',
84
- exportAs: 'ngxDatatableList',
85
- }]
86
- }], ctorParameters: function () { return [{ type: i1.DatatableComponent }, { type: i0.ChangeDetectorRef }, { type: i2.LocalizationService }, { type: undefined, decorators: [{
87
- type: Optional
88
- }, {
89
- type: Inject,
90
- args: [NGX_DATATABLE_MESSAGES]
91
- }] }]; }, propDecorators: { list: [{
92
- type: Input
93
- }] } });
1
+ import { ListService, LocalizationService } from '@abp/ng.core';
2
+ import { ChangeDetectorRef, Directive, Inject, Input, Optional, } from '@angular/core';
3
+ import { DatatableComponent } from '@swimlane/ngx-datatable';
4
+ import { Subscription } from 'rxjs';
5
+ import { defaultNgxDatatableMessages, NGX_DATATABLE_MESSAGES, } from '../tokens/ngx-datatable-messages.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@swimlane/ngx-datatable";
8
+ import * as i2 from "@abp/ng.core";
9
+ export class NgxDatatableListDirective {
10
+ constructor(table, cdRef, localizationService, ngxDatatableMessages) {
11
+ this.table = table;
12
+ this.cdRef = cdRef;
13
+ this.localizationService = localizationService;
14
+ this.ngxDatatableMessages = ngxDatatableMessages;
15
+ this.subscription = new Subscription();
16
+ this.querySubscription = new Subscription();
17
+ this.setInitialValues();
18
+ }
19
+ setInitialValues() {
20
+ this.table.externalPaging = true;
21
+ this.table.externalSorting = true;
22
+ const { emptyMessage, selectedMessage, totalMessage } = this.ngxDatatableMessages || defaultNgxDatatableMessages;
23
+ this.table.messages = {
24
+ emptyMessage: this.localizationService.instant(emptyMessage),
25
+ totalMessage: this.localizationService.instant(totalMessage),
26
+ selectedMessage: this.localizationService.instant(selectedMessage),
27
+ };
28
+ }
29
+ subscribeToPage() {
30
+ const sub = this.table.page.subscribe(({ offset }) => {
31
+ this.list.page = offset;
32
+ this.table.offset = offset;
33
+ });
34
+ this.subscription.add(sub);
35
+ }
36
+ subscribeToSort() {
37
+ const sub = this.table.sort.subscribe(({ sorts: [{ prop, dir }] }) => {
38
+ if (prop === this.list.sortKey && this.list.sortOrder === 'desc') {
39
+ this.list.sortKey = '';
40
+ this.list.sortOrder = '';
41
+ this.table.sorts = [];
42
+ this.cdRef.detectChanges();
43
+ }
44
+ else {
45
+ this.list.sortKey = prop;
46
+ this.list.sortOrder = dir;
47
+ }
48
+ });
49
+ this.subscription.add(sub);
50
+ }
51
+ subscribeToQuery() {
52
+ if (!this.querySubscription.closed)
53
+ this.querySubscription.unsubscribe();
54
+ this.querySubscription = this.list.query$.subscribe(() => {
55
+ const offset = this.list.page;
56
+ if (this.table.offset !== offset)
57
+ this.table.offset = offset;
58
+ });
59
+ }
60
+ ngOnChanges({ list }) {
61
+ this.subscribeToQuery();
62
+ if (!list.firstChange)
63
+ return;
64
+ const { maxResultCount, page } = list.currentValue;
65
+ this.table.limit = maxResultCount;
66
+ this.table.offset = page;
67
+ }
68
+ ngOnDestroy() {
69
+ this.subscription.unsubscribe();
70
+ this.querySubscription.unsubscribe();
71
+ }
72
+ ngOnInit() {
73
+ this.subscribeToPage();
74
+ this.subscribeToSort();
75
+ }
76
+ }
77
+ NgxDatatableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableListDirective, deps: [{ token: i1.DatatableComponent }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }, { token: NGX_DATATABLE_MESSAGES, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
78
+ NgxDatatableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: { list: "list" }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
80
+ type: Directive,
81
+ args: [{
82
+ // eslint-disable-next-line @angular-eslint/directive-selector
83
+ selector: 'ngx-datatable[list]',
84
+ exportAs: 'ngxDatatableList',
85
+ }]
86
+ }], ctorParameters: function () { return [{ type: i1.DatatableComponent }, { type: i0.ChangeDetectorRef }, { type: i2.LocalizationService }, { type: undefined, decorators: [{
87
+ type: Optional
88
+ }, {
89
+ type: Inject,
90
+ args: [NGX_DATATABLE_MESSAGES]
91
+ }] }]; }, propDecorators: { list: [{
92
+ type: Input
93
+ }] } });
94
94
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixzQkFBc0IsR0FDdkIsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQU9oRCxNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQ1UsS0FBeUIsRUFDekIsS0FBd0IsRUFDeEIsbUJBQXdDLEVBQ0ksb0JBQTBDO1FBSHRGLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDSSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBVHhGLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVTdDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztR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Q0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOzt1SEEvRVUseUJBQXlCLHdIQVVkLHNCQUFzQjsyR0FWakMseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7MEJBV0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0I7NENBTm5DLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdE5neERhdGF0YWJsZU1lc3NhZ2VzLFxuICBOZ3hEYXRhdGFibGVNZXNzYWdlcyxcbiAgTkdYX0RBVEFUQUJMRV9NRVNTQUdFUyxcbn0gZnJvbSAnLi4vdG9rZW5zL25neC1kYXRhdGFibGUtbWVzc2FnZXMudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICduZ3gtZGF0YXRhYmxlW2xpc3RdJyxcbiAgZXhwb3J0QXM6ICduZ3hEYXRhdGFibGVMaXN0Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmd4RGF0YXRhYmxlTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBxdWVyeVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKSBsaXN0ITogTGlzdFNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0YWJsZTogRGF0YXRhYmxlQ29tcG9uZW50LFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HWF9EQVRBVEFCTEVfTUVTU0FHRVMpIHByaXZhdGUgbmd4RGF0YXRhYmxlTWVzc2FnZXM6IE5neERhdGF0YWJsZU1lc3NhZ2VzLFxuICApIHtcbiAgICB0aGlzLnNldEluaXRpYWxWYWx1ZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5pdGlhbFZhbHVlcygpIHtcbiAgICB0aGlzLnRhYmxlLmV4dGVybmFsUGFnaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnRhYmxlLmV4dGVybmFsU29ydGluZyA9IHRydWU7XG5cbiAgICBjb25zdCB7IGVtcHR5TWVzc2FnZSwgc2VsZWN0ZWRNZXNzYWdlLCB0b3RhbE1lc3NhZ2UgfSA9XG4gICAgICB0aGlzLm5neERhdGF0YWJsZU1lc3NhZ2VzIHx8IGRlZmF1bHROZ3hEYXRhdGFibGVNZXNzYWdlcztcblxuICAgIHRoaXMudGFibGUubWVzc2FnZXMgPSB7XG4gICAgICBlbXB0eU1lc3NhZ2U6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGVtcHR5TWVzc2FnZSksXG4gICAgICB0b3RhbE1lc3NhZ2U6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KHRvdGFsTWVzc2FnZSksXG4gICAgICBzZWxlY3RlZE1lc3NhZ2U6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KHNlbGVjdGVkTWVzc2FnZSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9QYWdlKCkge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMudGFibGUucGFnZS5zdWJzY3JpYmUoKHsgb2Zmc2V0IH0pID0+IHtcbiAgICAgIHRoaXMubGlzdC5wYWdlID0gb2Zmc2V0O1xuICAgICAgdGhpcy50YWJsZS5vZmZzZXQgPSBvZmZzZXQ7XG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHN1Yik7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvU29ydCgpIHtcbiAgICBjb25zdCBzdWIgPSB0aGlzLnRhYmxlLnNvcnQuc3Vic2NyaWJlKCh7IHNvcnRzOiBbeyBwcm9wLCBkaXIgfV0gfSkgPT4ge1xuICAgICAgaWYgKHByb3AgPT09IHRoaXMubGlzdC5zb3J0S2V5ICYmIHRoaXMubGlzdC5zb3J0T3JkZXIgPT09ICdkZXNjJykge1xuICAgICAgICB0aGlzLmxpc3Quc29ydEtleSA9ICcnO1xuICAgICAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gJyc7XG4gICAgICAgIHRoaXMudGFibGUuc29ydHMgPSBbXTtcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxpc3Quc29ydEtleSA9IHByb3A7XG4gICAgICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHN1Yik7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvUXVlcnkoKSB7XG4gICAgaWYgKCF0aGlzLnF1ZXJ5U3Vic2NyaXB0aW9uLmNsb3NlZCkgdGhpcy5xdWVyeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5xdWVyeVN1YnNjcmlwdGlvbiA9IHRoaXMubGlzdC5xdWVyeSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMubGlzdC5wYWdlO1xuICAgICAgaWYgKHRoaXMudGFibGUub2Zmc2V0ICE9PSBvZmZzZXQpIHRoaXMudGFibGUub2Zmc2V0ID0gb2Zmc2V0O1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyBsaXN0IH06IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnN1YnNjcmliZVRvUXVlcnkoKTtcblxuICAgIGlmICghbGlzdC5maXJzdENoYW5nZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgeyBtYXhSZXN1bHRDb3VudCwgcGFnZSB9ID0gbGlzdC5jdXJyZW50VmFsdWU7XG4gICAgdGhpcy50YWJsZS5saW1pdCA9IG1heFJlc3VsdENvdW50O1xuICAgIHRoaXMudGFibGUub2Zmc2V0ID0gcGFnZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5xdWVyeVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1BhZ2UoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvU29ydCgpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './route-names';
1
+ export * from './route-names';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91dGUtbmFtZXMnO1xuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9lbnVtcy9yb3V0ZS1uYW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gZVRoZW1lU2hhcmVkUm91dGVOYW1lcyB7XG4gIEFkbWluaXN0cmF0aW9uID0gJ0FicFVpTmF2aWdhdGlvbjo6TWVudTpBZG1pbmlzdHJhdGlvbicsXG59XG4iXX0=
@@ -1,33 +1,33 @@
1
- import { getLocaleDirection, LocalizationService } from '@abp/ng.core';
2
- import { Injectable, Injector } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { map, startWith } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- export class DocumentDirHandlerService {
7
- constructor(injector) {
8
- this.injector = injector;
9
- this.dir = new BehaviorSubject('ltr');
10
- this.dir$ = this.dir.asObservable();
11
- this.listenToLanguageChanges();
12
- }
13
- listenToLanguageChanges() {
14
- const l10n = this.injector.get(LocalizationService);
15
- // will always listen, no need to unsubscribe
16
- l10n.languageChange$
17
- .pipe(startWith(l10n.currentLang), map(locale => getLocaleDirection(locale)))
18
- .subscribe(dir => {
19
- this.dir.next(dir);
20
- this.setBodyDir(dir);
21
- });
22
- }
23
- setBodyDir(dir) {
24
- document.body.dir = dir;
25
- document.dir = dir;
26
- }
27
- }
28
- DocumentDirHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentDirHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
29
- DocumentDirHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentDirHandlerService });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentDirHandlerService, decorators: [{
31
- type: Injectable
32
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1
+ import { getLocaleDirection, LocalizationService } from '@abp/ng.core';
2
+ import { Injectable, Injector } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { map, startWith } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export class DocumentDirHandlerService {
7
+ constructor(injector) {
8
+ this.injector = injector;
9
+ this.dir = new BehaviorSubject('ltr');
10
+ this.dir$ = this.dir.asObservable();
11
+ this.listenToLanguageChanges();
12
+ }
13
+ listenToLanguageChanges() {
14
+ const l10n = this.injector.get(LocalizationService);
15
+ // will always listen, no need to unsubscribe
16
+ l10n.languageChange$
17
+ .pipe(startWith(l10n.currentLang), map(locale => getLocaleDirection(locale)))
18
+ .subscribe(dir => {
19
+ this.dir.next(dir);
20
+ this.setBodyDir(dir);
21
+ });
22
+ }
23
+ setBodyDir(dir) {
24
+ document.body.dir = dir;
25
+ document.dir = dir;
26
+ }
27
+ }
28
+ DocumentDirHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentDirHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ DocumentDirHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentDirHandlerService });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentDirHandlerService, decorators: [{
31
+ type: Injectable
32
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
33
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZGlyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9oYW5kbGVycy9kb2N1bWVudC1kaXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUloRCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGaEMsUUFBRyxHQUFHLElBQUksZUFBZSxDQUFrQixLQUFLLENBQUMsQ0FBQztRQUMxRCxTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFcEQsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxlQUFlO2FBQ2pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMxQzthQUNBLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQW9CO1FBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN4QixRQUFRLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDOzt1SEF6QlUseUJBQXlCOzJIQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldExvY2FsZURpcmVjdGlvbiwgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2FsZURpcmVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG9jdW1lbnREaXJIYW5kbGVyU2VydmljZSB7XG4gIHByaXZhdGUgZGlyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMb2NhbGVEaXJlY3Rpb24+KCdsdHInKTtcbiAgZGlyJCA9IHRoaXMuZGlyLmFzT2JzZXJ2YWJsZSgpO1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5saXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlcygpIHtcbiAgICBjb25zdCBsMTBuID0gdGhpcy5pbmplY3Rvci5nZXQoTG9jYWxpemF0aW9uU2VydmljZSk7XG5cbiAgICAvLyB3aWxsIGFsd2F5cyBsaXN0ZW4sIG5vIG5lZWQgdG8gdW5zdWJzY3JpYmVcbiAgICBsMTBuLmxhbmd1YWdlQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChsMTBuLmN1cnJlbnRMYW5nKSxcbiAgICAgICAgbWFwKGxvY2FsZSA9PiBnZXRMb2NhbGVEaXJlY3Rpb24obG9jYWxlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGRpciA9PiB7XG4gICAgICAgIHRoaXMuZGlyLm5leHQoZGlyKTtcbiAgICAgICAgdGhpcy5zZXRCb2R5RGlyKGRpcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Qm9keURpcihkaXI6IExvY2FsZURpcmVjdGlvbikge1xuICAgIGRvY3VtZW50LmJvZHkuZGlyID0gZGlyO1xuICAgIGRvY3VtZW50LmRpciA9IGRpcjtcbiAgfVxufVxuIl19