ng-ipa-library 0.7.2 → 0.7.6

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 (135) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +43 -0
  3. package/package.json +24 -31
  4. package/src/lib/core/components/loading/loading.component.html +3 -0
  5. package/src/lib/core/components/loading/loading.component.scss +3 -0
  6. package/src/lib/core/components/loading/loading.component.ts +23 -0
  7. package/src/lib/core/interceptors/error.interceptor.ts +61 -0
  8. package/src/lib/core/interceptors/loading.interceptor.ts +69 -0
  9. package/src/lib/core/interceptors/token.interceptor.ts +77 -0
  10. package/src/lib/core/services/auth.service.ts +48 -0
  11. package/src/lib/core/services/error.service.ts +19 -0
  12. package/src/lib/core/services/loader.service.ts +21 -0
  13. package/src/lib/generate-form/generate-form.component.html +85 -0
  14. package/src/lib/generate-form/generate-form.component.scss +0 -0
  15. package/src/lib/generate-form/generate-form.component.ts +119 -0
  16. package/src/lib/ipa-form/datepicker/datepicker.component.html +21 -0
  17. package/src/lib/ipa-form/datepicker/datepicker.component.scss +13 -0
  18. package/src/lib/ipa-form/datepicker/datepicker.component.ts +67 -0
  19. package/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.ts +15 -0
  20. package/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.ts +38 -0
  21. package/src/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.ts +38 -0
  22. package/src/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.ts +14 -0
  23. package/src/lib/ipa-form/dropdown-input/dropdown-input.component.html +22 -0
  24. package/src/lib/ipa-form/dropdown-input/dropdown-input.component.scss +0 -0
  25. package/src/lib/ipa-form/dropdown-input/dropdown-input.component.ts +68 -0
  26. package/src/lib/ipa-form/file-upload/file-upload.component.html +37 -0
  27. package/src/lib/ipa-form/file-upload/file-upload.component.scss +45 -0
  28. package/src/lib/ipa-form/file-upload/file-upload.component.ts +109 -0
  29. package/src/lib/ipa-form/ipa-form.service.ts +294 -0
  30. package/src/lib/ipa-form/recaptcha/recaptcha.component.html +3 -0
  31. package/src/lib/ipa-form/recaptcha/recaptcha.component.scss +0 -0
  32. package/src/lib/ipa-form/recaptcha/recaptcha.component.ts +42 -0
  33. package/src/lib/ipa-form/text-input/text-input.component.html +10 -0
  34. package/src/lib/ipa-form/text-input/text-input.component.scss +0 -0
  35. package/src/lib/ipa-form/text-input/text-input.component.ts +69 -0
  36. package/src/lib/ipa-form/textarea-input/textarea-input.component.html +11 -0
  37. package/src/lib/ipa-form/textarea-input/textarea-input.component.scss +0 -0
  38. package/src/lib/ipa-form/textarea-input/textarea-input.component.ts +69 -0
  39. package/{lib/models/apiException.d.ts → src/lib/models/apiException.ts} +2 -1
  40. package/src/lib/models/apiResponse.ts +4 -0
  41. package/src/lib/models/breadcrumbs.model.ts +4 -0
  42. package/src/lib/models/decodedToken.model.ts +6 -0
  43. package/src/lib/models/exceptionUrl.model.ts +4 -0
  44. package/src/lib/models/generateForm.model.ts +29 -0
  45. package/src/lib/models/pagedResult.ts +4 -0
  46. package/src/lib/models/user.model.ts +7 -0
  47. package/src/lib/ng-ipa-library.component.ts +15 -0
  48. package/src/lib/ng-ipa-library.module.ts +63 -0
  49. package/src/lib/pipes/hijri-date.pipe.ts +15 -0
  50. package/src/lib/pipes/pipes.module.ts +8 -0
  51. package/src/lib/services/breadcrumbs.service.ts +189 -0
  52. package/src/lib/services/common.service.ts +63 -0
  53. package/src/lib/share-button/share-button.component.html +3 -0
  54. package/src/lib/share-button/share-button.component.scss +0 -0
  55. package/src/lib/share-button/share-button.component.ts +23 -0
  56. package/src/lib/share-button/share-button.module.ts +32 -0
  57. package/{public-api.d.ts → src/public-api.ts} +16 -1
  58. package/src/test.ts +26 -0
  59. package/tsconfig.lib.json +20 -0
  60. package/tsconfig.lib.prod.json +10 -0
  61. package/tsconfig.spec.json +17 -0
  62. package/bundles/ng-ipa-library.umd.js +0 -2101
  63. package/bundles/ng-ipa-library.umd.js.map +0 -1
  64. package/esm2015/lib/core/components/loading/loading.component.js +0 -27
  65. package/esm2015/lib/core/interceptors/error.interceptor.js +0 -46
  66. package/esm2015/lib/core/interceptors/loading.interceptor.js +0 -58
  67. package/esm2015/lib/core/interceptors/token.interceptor.js +0 -69
  68. package/esm2015/lib/core/services/auth.service.js +0 -48
  69. package/esm2015/lib/core/services/error.service.js +0 -22
  70. package/esm2015/lib/core/services/loader.service.js +0 -24
  71. package/esm2015/lib/generate-form/generate-form.component.js +0 -120
  72. package/esm2015/lib/ipa-form/datepicker/datepicker.component.js +0 -70
  73. package/esm2015/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.js +0 -28
  74. package/esm2015/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.js +0 -38
  75. package/esm2015/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.js +0 -38
  76. package/esm2015/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.js +0 -28
  77. package/esm2015/lib/ipa-form/dropdown-input/dropdown-input.component.js +0 -81
  78. package/esm2015/lib/ipa-form/file-upload/file-upload.component.js +0 -128
  79. package/esm2015/lib/ipa-form/ipa-form.service.js +0 -251
  80. package/esm2015/lib/ipa-form/recaptcha/recaptcha.component.js +0 -59
  81. package/esm2015/lib/ipa-form/text-input/text-input.component.js +0 -76
  82. package/esm2015/lib/ipa-form/textarea-input/textarea-input.component.js +0 -73
  83. package/esm2015/lib/models/apiException.js +0 -2
  84. package/esm2015/lib/models/apiResponse.js +0 -2
  85. package/esm2015/lib/models/breadcrumbs.model.js +0 -2
  86. package/esm2015/lib/models/decodedToken.model.js +0 -2
  87. package/esm2015/lib/models/exceptionUrl.model.js +0 -2
  88. package/esm2015/lib/models/generateForm.model.js +0 -2
  89. package/esm2015/lib/models/pagedResult.js +0 -2
  90. package/esm2015/lib/models/user.model.js +0 -2
  91. package/esm2015/lib/ng-ipa-library.module.js +0 -112
  92. package/esm2015/lib/pipes/hijri-date.pipe.js +0 -18
  93. package/esm2015/lib/pipes/pipes.module.js +0 -16
  94. package/esm2015/lib/services/breadcrumbs.service.js +0 -151
  95. package/esm2015/lib/services/common.service.js +0 -66
  96. package/esm2015/lib/share-button/share-button.component.js +0 -37
  97. package/esm2015/lib/share-button/share-button.module.js +0 -52
  98. package/esm2015/ng-ipa-library.js +0 -5
  99. package/esm2015/public-api.js +0 -40
  100. package/fesm2015/ng-ipa-library.js +0 -1633
  101. package/fesm2015/ng-ipa-library.js.map +0 -1
  102. package/lib/core/components/loading/loading.component.d.ts +0 -12
  103. package/lib/core/interceptors/error.interceptor.d.ts +0 -14
  104. package/lib/core/interceptors/loading.interceptor.d.ts +0 -14
  105. package/lib/core/interceptors/token.interceptor.d.ts +0 -15
  106. package/lib/core/services/auth.service.d.ts +0 -15
  107. package/lib/core/services/error.service.d.ts +0 -10
  108. package/lib/core/services/loader.service.d.ts +0 -12
  109. package/lib/generate-form/generate-form.component.d.ts +0 -32
  110. package/lib/ipa-form/datepicker/datepicker.component.d.ts +0 -31
  111. package/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.d.ts +0 -6
  112. package/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.d.ts +0 -11
  113. package/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.d.ts +0 -11
  114. package/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.d.ts +0 -6
  115. package/lib/ipa-form/dropdown-input/dropdown-input.component.d.ts +0 -31
  116. package/lib/ipa-form/file-upload/file-upload.component.d.ts +0 -36
  117. package/lib/ipa-form/ipa-form.service.d.ts +0 -49
  118. package/lib/ipa-form/recaptcha/recaptcha.component.d.ts +0 -22
  119. package/lib/ipa-form/text-input/text-input.component.d.ts +0 -30
  120. package/lib/ipa-form/textarea-input/textarea-input.component.d.ts +0 -29
  121. package/lib/models/apiResponse.d.ts +0 -4
  122. package/lib/models/breadcrumbs.model.d.ts +0 -4
  123. package/lib/models/decodedToken.model.d.ts +0 -6
  124. package/lib/models/exceptionUrl.model.d.ts +0 -4
  125. package/lib/models/generateForm.model.d.ts +0 -27
  126. package/lib/models/pagedResult.d.ts +0 -4
  127. package/lib/models/user.model.d.ts +0 -7
  128. package/lib/ng-ipa-library.module.d.ts +0 -25
  129. package/lib/pipes/hijri-date.pipe.d.ts +0 -7
  130. package/lib/pipes/pipes.module.d.ts +0 -7
  131. package/lib/services/breadcrumbs.service.d.ts +0 -18
  132. package/lib/services/common.service.d.ts +0 -8
  133. package/lib/share-button/share-button.component.d.ts +0 -11
  134. package/lib/share-button/share-button.module.d.ts +0 -13
  135. package/ng-ipa-library.d.ts +0 -5
@@ -0,0 +1,8 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { HijriDatePipe } from './hijri-date.pipe';
3
+
4
+ @NgModule({
5
+ declarations: [HijriDatePipe],
6
+ exports: [HijriDatePipe],
7
+ })
8
+ export class PipesModule {}
@@ -0,0 +1,189 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Breadcrumbs } from '../models/breadcrumbs.model';
3
+
4
+ @Injectable({
5
+ providedIn: 'root',
6
+ })
7
+ export class BreadcrumbsService {
8
+ constructor() {}
9
+
10
+ setPageTitle(text: string) {
11
+ const titleEl = document.querySelector('.sub-section-title');
12
+ if (titleEl) {
13
+ titleEl.textContent = text;
14
+ }
15
+ }
16
+
17
+ setMainPageTitle(text: string, url: string) {
18
+ const div = document.getElementsByClassName('main-section-title');
19
+ if (div && div.length > 0) {
20
+ div[0].innerHTML = `<a id="site-url" href="${url}">${text}</a>`;
21
+ }
22
+ }
23
+
24
+ addBreadcrumb(
25
+ nodeName: string,
26
+ spanClasses = 'bc-current',
27
+ linkClasses = 'bc-node'
28
+ ) {
29
+ const spans = document.getElementById('ctl00_path')?.children;
30
+ //get last child
31
+ const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;
32
+ const innerHTML = lastIndex.innerHTML;
33
+ lastIndex.innerHTML = '';
34
+ lastIndex.classList.remove(...['bc-current']);
35
+ //add new link
36
+ lastIndex.appendChild(
37
+ this.createLink(innerHTML, location.pathname, linkClasses)
38
+ );
39
+ //add new span and empty span
40
+ const newSpan = this.createSpan(nodeName, spanClasses);
41
+ const emptySpan = document.createElement('span');
42
+ lastIndex.after(...[emptySpan, newSpan]);
43
+ }
44
+
45
+ addBreadcrumbList(
46
+ nodeList: Breadcrumbs[],
47
+ spanClasses = 'bc-current',
48
+ linkClasses = 'bc-node'
49
+ ) {
50
+ const spans = document.getElementById('ctl00_path')?.childNodes;
51
+ //get last child
52
+ const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;
53
+ const innerHTML = lastSpan.innerHTML;
54
+ lastSpan.classList.remove(...[spanClasses]);
55
+ lastSpan.innerHTML = '';
56
+ //add new link
57
+ lastSpan.appendChild(
58
+ this.createLink(innerHTML, location.pathname, linkClasses)
59
+ );
60
+
61
+ for (let i = 0; i < nodeList.length; i++) {
62
+ const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;
63
+ if (nodeList[i].nodeUrl) {
64
+ const newSpan = document.createElement('span');
65
+ newSpan.appendChild(
66
+ this.createLink(
67
+ nodeList[i].nodeName,
68
+ nodeList[i].nodeUrl,
69
+ linkClasses
70
+ )
71
+ );
72
+ const emptySpan = document.createElement('span');
73
+ lastIndex.after(...[emptySpan, newSpan]);
74
+ } else {
75
+ const newSpan = this.createSpan(nodeList[i].nodeName, spanClasses);
76
+ const emptySpan = document.createElement('span');
77
+ lastIndex.after(...[emptySpan, newSpan]);
78
+ }
79
+ }
80
+ }
81
+
82
+ createBreadcrumbs(
83
+ nodeList: Breadcrumbs[],
84
+ spanClasses = 'bc-current',
85
+ linkClasses = 'bc-node'
86
+ ) {
87
+ const currentSpan = document.getElementById(
88
+ 'ctl00_path'
89
+ ) as HTMLSpanElement;
90
+ currentSpan.innerHTML = '';
91
+ const newSpan = document.createElement('span');
92
+ currentSpan?.appendChild(newSpan);
93
+ newSpan.appendChild(
94
+ this.createLink(nodeList[0].nodeName, nodeList[0].nodeUrl, linkClasses)
95
+ );
96
+ const spans = currentSpan?.children;
97
+ for (let i = 1; i < nodeList.length; i++) {
98
+ const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;
99
+ if (nodeList[i].nodeUrl) {
100
+ const newSpan = document.createElement('span');
101
+ newSpan.appendChild(
102
+ this.createLink(
103
+ nodeList[i].nodeName,
104
+ nodeList[i].nodeUrl,
105
+ linkClasses
106
+ )
107
+ );
108
+ const emptySpan = document.createElement('span');
109
+ lastIndex?.after(...[emptySpan, newSpan]);
110
+ } else {
111
+ const newSpan = this.createSpan(nodeList[i].nodeName, spanClasses);
112
+ const emptySpan = document.createElement('span');
113
+ lastIndex.after(...[emptySpan, newSpan]);
114
+ }
115
+ }
116
+ }
117
+
118
+ removeLastBreadcrumb() {
119
+ const spans = document.getElementById('ctl00_path')?.children;
120
+ spans?.item(spans.length - 1)?.remove();
121
+ spans?.item(spans.length - 1)?.remove();
122
+ this.setCurrentNode(spans);
123
+ }
124
+
125
+ removeBreadcrumbByNodeName(nodeName: string) {
126
+ const spans = document.getElementById('ctl00_path')
127
+ ?.children as HTMLCollection;
128
+ let index = -1;
129
+ for (let i = 0; i < spans.length; i++) {
130
+ const span = spans.item(i);
131
+ if (span?.textContent?.trim() === nodeName) {
132
+ index = i;
133
+ break;
134
+ }
135
+ }
136
+ const lastNode = spans.length - 1 === index;
137
+ if (index !== -1 && !lastNode) {
138
+ spans?.item(index)?.remove();
139
+ spans?.item(index)?.remove();
140
+ } else {
141
+ spans?.item(index)?.remove();
142
+ spans?.item(index - 1)?.remove();
143
+ }
144
+ if (lastNode) {
145
+ this.setCurrentNode(spans);
146
+ }
147
+ }
148
+
149
+ removeLastBreadcrumbsByLength(length: number) {
150
+ const spans = document.getElementById('ctl00_path')
151
+ ?.children as HTMLCollection;
152
+ while (length > 0) {
153
+ spans?.item(spans.length - 1)?.remove();
154
+ spans?.item(spans.length - 1)?.remove();
155
+ length--;
156
+ }
157
+ if (spans.length > 0) {
158
+ this.setCurrentNode(spans);
159
+ }
160
+ }
161
+
162
+ private createLink(
163
+ innerHTML: string,
164
+ href: string | null,
165
+ classes: string
166
+ ): HTMLAnchorElement {
167
+ const link = document.createElement('a');
168
+ link.innerHTML = ' ' + innerHTML;
169
+ link.href = href ?? '';
170
+ link.classList.add(...[classes]);
171
+ return link;
172
+ }
173
+
174
+ private createSpan(innerHTML: string, classes: string): HTMLSpanElement {
175
+ const span = document.createElement('span');
176
+ span.classList.add(...[classes]);
177
+ span.innerHTML = ' ' + innerHTML;
178
+ return span;
179
+ }
180
+
181
+ private setCurrentNode(spans?: HTMLCollection) {
182
+ const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;
183
+ const lastSpanLink = spans
184
+ ?.item(spans.length - 1)
185
+ ?.children.item(0) as HTMLAnchorElement;
186
+ lastSpan?.classList.add(...['bc-current']);
187
+ lastSpan.innerHTML = lastSpanLink.innerHTML;
188
+ }
189
+ }
@@ -0,0 +1,63 @@
1
+ import { Injectable } from '@angular/core';
2
+
3
+ @Injectable({
4
+ providedIn: 'root',
5
+ })
6
+ export class CommonService {
7
+ constructor() {}
8
+
9
+ print(element: string, title: string, classes?: string) {
10
+ const styles = this.getElementTag('style');
11
+ const linkes = this.getElementTag('link');
12
+ const scripts = this.getElementTag('script');
13
+
14
+ const printContents = document.getElementById(element)?.innerHTML;
15
+ const popupWin = window.open('', '', 'top=0,left=0,height=100%,width=auto');
16
+ const data = `
17
+ <!DOCTYPE html>
18
+ <head>
19
+ <title> ${title} </title>
20
+ <meta charset="utf-8">
21
+ ${linkes}
22
+ ${styles}
23
+ <style>
24
+ @media print {
25
+ .noPrint{
26
+ display: none !important;
27
+ }
28
+ body {
29
+ direction: rtl;
30
+ }
31
+ }
32
+ </style>
33
+ </head>
34
+ <body class="${classes}">
35
+ ${printContents}
36
+ ${scripts}
37
+ </body>
38
+
39
+ </html>`;
40
+ popupWin?.document.open();
41
+ popupWin?.document.write(data);
42
+ popupWin?.document.close();
43
+ popupWin?.focus();
44
+ popupWin?.addEventListener('focus', () => {
45
+ setTimeout(() => {
46
+ if (popupWin.document.hasFocus()) {
47
+ popupWin.print();
48
+ popupWin.close();
49
+ }
50
+ }, 1000);
51
+ });
52
+ }
53
+
54
+ private getElementTag(tag: keyof HTMLElementTagNameMap): string {
55
+ const html: string[] = [];
56
+ const elements = document.getElementsByTagName(tag);
57
+ for (let index = 0; index < elements.length; index++) {
58
+ html.push(elements[index].outerHTML);
59
+ }
60
+
61
+ return html.join('\r\n');
62
+ }
63
+ }
@@ -0,0 +1,3 @@
1
+ <share-popup-button [title]="title" [description]="description" [icon]="'share-alt'"
2
+ [include]="['facebook','twitter','linkedin','telegram','whatsapp','email','copy']">
3
+ </share-popup-button>
@@ -0,0 +1,23 @@
1
+ import { Component, AfterViewInit, Input } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'ipa-share-button',
5
+ templateUrl: './share-button.component.html',
6
+ styleUrls: ['./share-button.component.scss'],
7
+ })
8
+ export class ShareButtonComponent implements AfterViewInit {
9
+ @Input() title = '';
10
+ @Input() description = '';
11
+ @Input() btnLabel = '';
12
+ constructor() {}
13
+ ngAfterViewInit(): void {
14
+ const elements = document.getElementsByClassName('sb-show-icon');
15
+ elements[0].setAttribute('type', 'button');
16
+ elements[0].setAttribute('id', 'IPAShareBtn');
17
+ const label = document.createElement('label');
18
+ label.innerHTML = this.btnLabel;
19
+ label.classList.add('sm-share-title');
20
+ label.classList.add('me-1');
21
+ elements[0].before(label);
22
+ }
23
+ }
@@ -0,0 +1,32 @@
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
+ import { NgModule } from '@angular/core';
3
+ import {
4
+ FaIconLibrary,
5
+ FontAwesomeModule,
6
+ } from '@fortawesome/angular-fontawesome';
7
+ import { fas } from '@fortawesome/free-solid-svg-icons';
8
+ import { ShareIconsModule } from 'ngx-sharebuttons/icons';
9
+ import { ShareButtonsPopupModule } from 'ngx-sharebuttons/popup';
10
+ import { ShareButtonComponent } from './share-button.component';
11
+
12
+ @NgModule({
13
+ declarations: [ShareButtonComponent],
14
+ imports: [
15
+ ShareIconsModule,
16
+ ShareButtonsPopupModule,
17
+ OverlayModule,
18
+ FontAwesomeModule,
19
+ ],
20
+ exports: [
21
+ ShareButtonComponent,
22
+ ShareIconsModule,
23
+ ShareButtonsPopupModule,
24
+ OverlayModule,
25
+ FontAwesomeModule,
26
+ ]
27
+ })
28
+ export class ShareButtonModule {
29
+ constructor(library: FaIconLibrary) {
30
+ library.addIconPacks(fas);
31
+ }
32
+ }
@@ -1,9 +1,16 @@
1
+ /*
2
+ * Public API Surface of ipa-library
3
+ */
4
+ // module
1
5
  export * from './lib/ng-ipa-library.module';
2
6
  export * from 'ngx-toastr';
3
- export * from '@ng-select/ng-select';
4
7
  export * from './lib/pipes/pipes.module';
5
8
  export * from './lib/share-button/share-button.module';
9
+
10
+ // core components
6
11
  export * from './lib/core/components/loading/loading.component';
12
+
13
+ // form components
7
14
  export * from './lib/ipa-form/text-input/text-input.component';
8
15
  export * from './lib/ipa-form/textarea-input/textarea-input.component';
9
16
  export * from './lib/ipa-form/dropdown-input/dropdown-input.component';
@@ -13,16 +20,24 @@ export * from './lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepick
13
20
  export * from './lib/ipa-form/recaptcha/recaptcha.component';
14
21
  export * from './lib/generate-form/generate-form.component';
15
22
  export * from './lib/share-button/share-button.component';
23
+
24
+ // interceptors
16
25
  export * from './lib/core/interceptors/loading.interceptor';
17
26
  export * from './lib/core/interceptors/error.interceptor';
18
27
  export * from './lib/core/interceptors/token.interceptor';
28
+
29
+ // services
19
30
  export * from './lib/core/services/loader.service';
20
31
  export * from './lib/core/services/auth.service';
21
32
  export * from './lib/ipa-form/ipa-form.service';
22
33
  export * from './lib/core/services/error.service';
23
34
  export * from './lib/services/breadcrumbs.service';
24
35
  export * from './lib/services/common.service';
36
+
37
+ //pipes
25
38
  export * from './lib/pipes/hijri-date.pipe';
39
+
40
+ //models
26
41
  export * from './lib/models/pagedResult';
27
42
  export * from './lib/models/apiException';
28
43
  export * from './lib/models/apiResponse';
package/src/test.ts ADDED
@@ -0,0 +1,26 @@
1
+ // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
+
3
+ import 'zone.js';
4
+ import 'zone.js/testing';
5
+ import { getTestBed } from '@angular/core/testing';
6
+ import {
7
+ BrowserDynamicTestingModule,
8
+ platformBrowserDynamicTesting
9
+ } from '@angular/platform-browser-dynamic/testing';
10
+
11
+ declare const require: {
12
+ context(path: string, deep?: boolean, filter?: RegExp): {
13
+ keys(): string[];
14
+ <T>(id: string): T;
15
+ };
16
+ };
17
+
18
+ // First, initialize the Angular testing environment.
19
+ getTestBed().initTestEnvironment(
20
+ BrowserDynamicTestingModule,
21
+ platformBrowserDynamicTesting()
22
+ );
23
+ // Then we find all the tests.
24
+ const context = require.context('./', true, /\.spec\.ts$/);
25
+ // And load the modules.
26
+ context.keys().map(context);
@@ -0,0 +1,20 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/lib",
6
+ "target": "es2015",
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "inlineSources": true,
10
+ "types": [],
11
+ "lib": [
12
+ "dom",
13
+ "es2018"
14
+ ]
15
+ },
16
+ "exclude": [
17
+ "src/test.ts",
18
+ "**/*.spec.ts"
19
+ ]
20
+ }
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,17 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "files": [
11
+ "src/test.ts"
12
+ ],
13
+ "include": [
14
+ "**/*.spec.ts",
15
+ "**/*.d.ts"
16
+ ]
17
+ }