@angular-generic-table/core 5.0.0-rc.1 → 5.0.0-rc.5

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 (67) hide show
  1. package/angular-generic-table-core.d.ts +1 -3
  2. package/esm2020/angular-generic-table-core.mjs +5 -0
  3. package/esm2020/lib/core.component.mjs +118 -0
  4. package/esm2020/lib/core.module.mjs +23 -0
  5. package/esm2020/lib/core.service.mjs +14 -0
  6. package/esm2020/lib/enums/order.enum.mjs +6 -0
  7. package/esm2020/lib/models/table-column.interface.mjs +2 -0
  8. package/esm2020/lib/models/table-config.interface.mjs +2 -0
  9. package/esm2020/lib/models/table-info.interface.mjs +2 -0
  10. package/esm2020/lib/models/table-meta.interface.mjs +2 -0
  11. package/esm2020/lib/models/table-row.interface.mjs +2 -0
  12. package/esm2020/lib/models/table-sort.interface.mjs +2 -0
  13. package/esm2020/lib/pagination/pagination.component.mjs +63 -0
  14. package/esm2020/lib/pagination/pagination.module.mjs +18 -0
  15. package/esm2020/lib/pipes/capital-case.pipe.mjs +17 -0
  16. package/esm2020/lib/pipes/dash-case.pipe.mjs +17 -0
  17. package/esm2020/lib/pipes/dynamic.pipe.mjs +26 -0
  18. package/esm2020/lib/pipes/highlight.pipe.mjs +48 -0
  19. package/esm2020/lib/pipes/sort-class.pipe.mjs +16 -0
  20. package/esm2020/lib/utilities/utilities.mjs +38 -0
  21. package/esm2020/public-api.mjs +15 -0
  22. package/fesm2015/angular-generic-table-core.mjs +379 -0
  23. package/fesm2015/angular-generic-table-core.mjs.map +1 -0
  24. package/fesm2020/angular-generic-table-core.mjs +377 -0
  25. package/fesm2020/angular-generic-table-core.mjs.map +1 -0
  26. package/lib/core.component.d.ts +17 -16
  27. package/lib/core.module.d.ts +11 -0
  28. package/lib/core.service.d.ts +3 -0
  29. package/lib/models/table-column.interface.d.ts +8 -0
  30. package/lib/models/table-config.interface.d.ts +3 -2
  31. package/lib/models/table-meta.interface.d.ts +8 -0
  32. package/lib/models/table-row.interface.d.ts +2 -1
  33. package/lib/pagination/pagination.component.d.ts +14 -0
  34. package/lib/pagination/pagination.module.d.ts +8 -0
  35. package/lib/pipes/capital-case.pipe.d.ts +7 -0
  36. package/lib/pipes/dash-case.pipe.d.ts +3 -0
  37. package/lib/pipes/dynamic.pipe.d.ts +9 -0
  38. package/lib/pipes/highlight.pipe.d.ts +3 -0
  39. package/lib/pipes/sort-class.pipe.d.ts +3 -0
  40. package/lib/utilities/utilities.d.ts +1 -0
  41. package/package.json +19 -7
  42. package/public-api.d.ts +8 -0
  43. package/scss/index.scss +4 -0
  44. package/scss/mixins.scss +79 -0
  45. package/scss/tokens.scss +12 -0
  46. package/angular-generic-table-core.metadata.json +0 -1
  47. package/bundles/angular-generic-table-core.umd.js +0 -594
  48. package/bundles/angular-generic-table-core.umd.js.map +0 -1
  49. package/bundles/angular-generic-table-core.umd.min.js +0 -2
  50. package/bundles/angular-generic-table-core.umd.min.js.map +0 -1
  51. package/esm2015/angular-generic-table-core.js +0 -8
  52. package/esm2015/lib/core.component.js +0 -107
  53. package/esm2015/lib/core.module.js +0 -16
  54. package/esm2015/lib/core.service.js +0 -13
  55. package/esm2015/lib/enums/order.enum.js +0 -6
  56. package/esm2015/lib/models/table-column.interface.js +0 -2
  57. package/esm2015/lib/models/table-config.interface.js +0 -2
  58. package/esm2015/lib/models/table-info.interface.js +0 -2
  59. package/esm2015/lib/models/table-row.interface.js +0 -2
  60. package/esm2015/lib/models/table-sort.interface.js +0 -2
  61. package/esm2015/lib/pipes/dash-case.pipe.js +0 -13
  62. package/esm2015/lib/pipes/highlight.pipe.js +0 -44
  63. package/esm2015/lib/pipes/sort-class.pipe.js +0 -12
  64. package/esm2015/lib/utilities/utilities.js +0 -25
  65. package/esm2015/public-api.js +0 -7
  66. package/fesm2015/angular-generic-table-core.js +0 -234
  67. package/fesm2015/angular-generic-table-core.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { Injector, PipeTransform, Type } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DynamicPipe implements PipeTransform {
4
+ private injector;
5
+ constructor(injector: Injector);
6
+ transform(value: any, requiredPipe: Type<any>, pipeArgs: any): any;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<DynamicPipe, "dynamicPipe">;
9
+ }
@@ -1,4 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class HighlightPipe implements PipeTransform {
3
4
  transform(text: any, searchTerm: string | null): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HighlightPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<HighlightPipe, "highlight">;
4
7
  }
@@ -1,8 +1,11 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { Order } from '../enums/order.enum';
3
+ import * as i0 from "@angular/core";
3
4
  export declare class SortClassPipe implements PipeTransform {
4
5
  transform(selection: {
5
6
  sortBy: string;
6
7
  sortByOrder: Order;
7
8
  } | any, property: string): string;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SortClassPipe, never>;
10
+ static ɵpipe: i0.ɵɵPipeDeclaration<SortClassPipe, "sortClass">;
8
11
  }
@@ -1,5 +1,6 @@
1
1
  import { TableRow } from '../models/table-row.interface';
2
2
  import { TableConfig } from '../models/table-config.interface';
3
3
  export declare let dashed: (s: string) => string;
4
+ export declare let capitalize: (s: string) => string;
4
5
  export declare let chunk: (array: Array<any>, chunkSize: number) => Array<Array<TableRow>>;
5
6
  export declare let search: (text: string, caseSensitive: boolean, data: Array<TableRow>, config: TableConfig) => TableRow[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular-generic-table/core",
3
- "version": "5.0.0-rc.1",
3
+ "version": "5.0.0-rc.5",
4
4
  "author": "Robert Hjalmers <opensource@rhj.se> (http://www.linkedin.com/in/robert-hjalmers/)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,12 +14,24 @@
14
14
  "dependencies": {
15
15
  "tslib": "^2.0.0"
16
16
  },
17
- "main": "bundles/angular-generic-table-core.umd.js",
18
- "module": "fesm2015/angular-generic-table-core.js",
19
- "es2015": "fesm2015/angular-generic-table-core.js",
20
- "esm2015": "esm2015/angular-generic-table-core.js",
21
- "fesm2015": "fesm2015/angular-generic-table-core.js",
17
+ "module": "fesm2015/angular-generic-table-core.mjs",
18
+ "es2020": "fesm2020/angular-generic-table-core.mjs",
19
+ "esm2020": "esm2020/angular-generic-table-core.mjs",
20
+ "fesm2020": "fesm2020/angular-generic-table-core.mjs",
21
+ "fesm2015": "fesm2015/angular-generic-table-core.mjs",
22
22
  "typings": "angular-generic-table-core.d.ts",
23
- "metadata": "angular-generic-table-core.metadata.json",
23
+ "exports": {
24
+ "./package.json": {
25
+ "default": "./package.json"
26
+ },
27
+ ".": {
28
+ "types": "./angular-generic-table-core.d.ts",
29
+ "esm2020": "./esm2020/angular-generic-table-core.mjs",
30
+ "es2020": "./fesm2020/angular-generic-table-core.mjs",
31
+ "es2015": "./fesm2015/angular-generic-table-core.mjs",
32
+ "node": "./fesm2015/angular-generic-table-core.mjs",
33
+ "default": "./fesm2020/angular-generic-table-core.mjs"
34
+ }
35
+ },
24
36
  "sideEffects": false
25
37
  }
package/public-api.d.ts CHANGED
@@ -1,3 +1,11 @@
1
1
  export * from './lib/core.service';
2
2
  export * from './lib/core.component';
3
3
  export * from './lib/core.module';
4
+ export * from './lib/pagination/pagination.component';
5
+ export * from './lib/pagination/pagination.module';
6
+ export * from './lib/models/table-config.interface';
7
+ export * from './lib/models/table-column.interface';
8
+ export * from './lib/models/table-info.interface';
9
+ export * from './lib/models/table-row.interface';
10
+ export * from './lib/models/table-sort.interface';
11
+ export * from './lib/models/table-meta.interface';
@@ -0,0 +1,4 @@
1
+ @use "mixins";
2
+ @include mixins.add-mobile-style;
3
+ @include mixins.add-search-style;
4
+ @include mixins.add-pagination-style;
@@ -0,0 +1,79 @@
1
+ @use "tokens";
2
+
3
+ @mixin add-search-style {
4
+ .gt-highlight-search {
5
+ background: tokens.$highlight-background-color;
6
+ }
7
+ }
8
+ @mixin add-mobile-style($selector: tokens.$mobile-style-selector) {
9
+ #{$selector} {
10
+ .mobile-header {
11
+ display: none;
12
+ }
13
+ }
14
+ @media (max-width: tokens.$mobile-style-max-width) {
15
+ #{$selector} {
16
+ table-layout: fixed;
17
+ border-bottom: none;
18
+ thead {
19
+ position: sticky;
20
+ top: 0;
21
+ display: block;
22
+ @media (hover: none) and (pointer: coarse) {
23
+ display: table-header-group;
24
+ }
25
+ background: tokens.$mobile-style-header-background-color;
26
+ tr {
27
+ display: flex;
28
+ overflow: auto;
29
+ &::-webkit-scrollbar {
30
+ display: none;
31
+ }
32
+ }
33
+ }
34
+ tbody {
35
+ tr {
36
+ display: flex;
37
+ flex-direction: column;
38
+ border-bottom: tokens.$mobile-style-border-bottom;
39
+ }
40
+ td {
41
+ display: flex;
42
+ justify-content: space-between;
43
+ align-items: center;
44
+ border-top: none !important;
45
+ & > .mobile-header {
46
+ font-weight: tokens.$mobile-style-header-font-weight;
47
+ display: block;
48
+ }
49
+ #{tokens.$mobile-style-button-selector} {
50
+ width: 100%;
51
+ font-size: tokens.$mobile-style-button-font-size;
52
+ padding: tokens.$mobile-style-button-padding;
53
+ }
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ @mixin add-pagination-style() {
60
+ nav.gt-pagination {
61
+ display: flex;
62
+ justify-content: tokens.$pagination-justify-content;
63
+ ul {
64
+ display: inline-flex;
65
+ list-style: none;
66
+ margin: 0;
67
+ padding: 0;
68
+ li {
69
+ &.ellipsis::after {
70
+ content: tokens.$pagination-ellipsis-content;
71
+ display: inline-flex;
72
+ }
73
+ &.active button {
74
+ color: tokens.$pagination-active-color;
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,12 @@
1
+ $highlight-background-color: #ffdd00;
2
+ $mobile-style-selector: 'table.table-mobile';
3
+ $mobile-style-max-width: 576px;
4
+ $mobile-style-header-font-weight: 500;
5
+ $mobile-style-header-background-color: #fff;
6
+ $mobile-style-button-selector: '.btn-sm';
7
+ $mobile-style-border-bottom: solid 1px #dedede;
8
+ $mobile-style-button-font-size: 1rem;
9
+ $mobile-style-button-padding: 0.5625rem 1rem;
10
+ $pagination-ellipsis-content: '...';
11
+ $pagination-active-color: #000;
12
+ $pagination-justify-content: center;
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"CoreService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"CoreComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"angular-generic-table","styles":[],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":16,"character":19},"member":"OnPush"},"template":"<table class=\"table text-nowrap mb-0\" id=\"agreementList_table\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let column of (tableConfig$ | async)!.columns | keyvalue: columnOrder\">\n <th\n *ngIf=\"!column.value?.hidden\"\n ngClass=\"{{ column.value?.sortable ? 'sort ' : '' }} {{ sortBy$ | async | sortClass: column.key }} {{\n (column.key | dashCase) + '-column'\n }}\"\n [class.disabled]=\"loading$ | async\"\n (click)=\"!column.value.sortable || sort(column.key)\"\n >\n <span>{{ column.value?.header || column.key }}</span>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody *ngIf=\"false !== false; else tableContent\">\n <tr>\n <!-- <td class=\"p-0\" [colSpan]=\"colspan$ | async\">-->\n <td class=\"p-0\">\n <div class=\"skeleton-loader skeleton-loader-table\"></div>\n </td>\n </tr>\n </tbody>\n</table>\n<ng-template #tableContent>\n <ng-container\n *ngIf=\"(table$ | async)! as table\"\n >\n <tbody id=\"agreementList_tableContent\" *ngIf=\"table!.data!.length > 0; else noData\">\n <tr *ngFor=\"let row of table!.data![(currentPage$ | async) || 0]; let i = index\" [attr.id]=\"'tableRow_' + i\">\n <ng-container *ngFor=\"let column of table.config?.columns | keyvalue: columnOrder\">\n <td *ngIf=\"!column.value?.hidden\">\n <!--<ng-container *ngIf=\"column.value.template === 'actions'\">\n <ng-container\n *ngTemplateOutlet=\"actionsColumn; context: { agreement: agreement, index: i }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.value.template === 'date'\">\n <ng-container\n *ngTemplateOutlet=\"dateColumn; context: { agreement: agreement, column: column.key }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.value.template === 'name'\">\n <ng-container *ngTemplateOutlet=\"nameColumn; context: { agreement: agreement }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.value.template === 'badge'\">\n <ng-container *ngTemplateOutlet=\"badgeColumn; context: { agreement: agreement }\"></ng-container>\n </ng-container>-->\n <ng-container [ngTemplateOutlet]=\"(searchBy$ | async) ? highlighted: tableRow\" [ngTemplateOutletContext]=\"{row: row, column: column, search: (searchBy$ | async) }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </ng-container>\n</ng-template>\n<ng-template #noData></ng-template>\n<ng-template #highlighted let-row=\"row\" let-column=\"column\" let-search=\"search\">\n <div [innerHTML]=\"(row[column.key] | highlight: search)\"></div>\n</ng-template>\n<ng-template #tableRow let-row=\"row\" let-column=\"column\">\n {{row[column.key]}}\n</ng-template>\n"}]}],"members":{"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"sort":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}},"GenericTableCoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"CoreComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":12}],"exports":[{"__symbolic":"reference","name":"CoreComponent"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"sortClass"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"dashCase"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"CoreService":"./lib/core.service","CoreComponent":"./lib/core.component","GenericTableCoreModule":"./lib/core.module","ɵa":"./lib/pipes/sort-class.pipe","ɵb":"./lib/pipes/dash-case.pipe","ɵc":"./lib/pipes/highlight.pipe"},"importAs":"@angular-generic-table/core"}