@angular-generic-table/core 5.0.0-rc.2 → 5.0.0-rc.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 (65) 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 +25 -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 +378 -0
  23. package/fesm2015/angular-generic-table-core.mjs.map +1 -0
  24. package/fesm2020/angular-generic-table-core.mjs +376 -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 +7 -1
  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 +3 -0
  43. package/scss/index.scss +97 -0
  44. package/angular-generic-table-core.metadata.json +0 -1
  45. package/bundles/angular-generic-table-core.umd.js +0 -594
  46. package/bundles/angular-generic-table-core.umd.js.map +0 -1
  47. package/bundles/angular-generic-table-core.umd.min.js +0 -2
  48. package/bundles/angular-generic-table-core.umd.min.js.map +0 -1
  49. package/esm2015/angular-generic-table-core.js +0 -8
  50. package/esm2015/lib/core.component.js +0 -107
  51. package/esm2015/lib/core.module.js +0 -16
  52. package/esm2015/lib/core.service.js +0 -13
  53. package/esm2015/lib/enums/order.enum.js +0 -6
  54. package/esm2015/lib/models/table-column.interface.js +0 -2
  55. package/esm2015/lib/models/table-config.interface.js +0 -2
  56. package/esm2015/lib/models/table-info.interface.js +0 -2
  57. package/esm2015/lib/models/table-row.interface.js +0 -2
  58. package/esm2015/lib/models/table-sort.interface.js +0 -2
  59. package/esm2015/lib/pipes/dash-case.pipe.js +0 -13
  60. package/esm2015/lib/pipes/highlight.pipe.js +0 -44
  61. package/esm2015/lib/pipes/sort-class.pipe.js +0 -12
  62. package/esm2015/lib/utilities/utilities.js +0 -25
  63. package/esm2015/public-api.js +0 -12
  64. package/fesm2015/angular-generic-table-core.js +0 -234
  65. 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.2",
3
+ "version": "5.0.0-rc.6",
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,8 +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';
4
6
  export * from './lib/models/table-config.interface';
5
7
  export * from './lib/models/table-column.interface';
6
8
  export * from './lib/models/table-info.interface';
7
9
  export * from './lib/models/table-row.interface';
8
10
  export * from './lib/models/table-sort.interface';
11
+ export * from './lib/models/table-meta.interface';
@@ -0,0 +1,97 @@
1
+ $highlight-background-color: #ffdd00 !default;
2
+ $mobile-style-selector: 'table.table-mobile' !default;
3
+ $mobile-style-max-width: 576px !default;
4
+ $mobile-style-header-font-weight: 500 !default;
5
+ $mobile-style-header-background-color: #fff !default;
6
+ $mobile-style-button-selector: '.btn-sm' !default;
7
+ $mobile-style-border-bottom: solid 1px #dedede !default;
8
+ $mobile-style-button-font-size: 1rem !default;
9
+ $mobile-style-button-padding: 0.5625rem 1rem !default;
10
+ $pagination-ellipsis-content: '...' !default;
11
+ $pagination-active-color: #000 !default;
12
+ $pagination-justify-content: center !default;
13
+
14
+ @mixin styles() {
15
+ @include search-style;
16
+ @include mobile-style;
17
+ @include pagination-style;
18
+ }
19
+ @mixin search-style {
20
+ .gt-highlight-search {
21
+ background: $highlight-background-color;
22
+ }
23
+ }
24
+ @mixin mobile-style($selector: $mobile-style-selector) {
25
+ #{$selector} {
26
+ .mobile-header {
27
+ display: none;
28
+ }
29
+ }
30
+ @media (max-width: $mobile-style-max-width) {
31
+ #{$selector} {
32
+ table-layout: fixed;
33
+ border-bottom: none;
34
+ thead {
35
+ position: sticky;
36
+ top: 0;
37
+ display: block;
38
+ @media (hover: none) and (pointer: coarse) {
39
+ display: table-header-group;
40
+ }
41
+ background: $mobile-style-header-background-color;
42
+ tr {
43
+ display: flex;
44
+ overflow: auto;
45
+ &::-webkit-scrollbar {
46
+ display: none;
47
+ }
48
+ }
49
+ }
50
+ tbody {
51
+ tr {
52
+ display: flex;
53
+ flex-direction: column;
54
+ border-bottom: $mobile-style-border-bottom;
55
+ }
56
+ td {
57
+ display: flex;
58
+ justify-content: space-between;
59
+ align-items: center;
60
+ border-top: none !important;
61
+ & > .mobile-header {
62
+ font-weight: $mobile-style-header-font-weight;
63
+ display: block;
64
+ }
65
+ #{$mobile-style-button-selector} {
66
+ width: 100%;
67
+ font-size: $mobile-style-button-font-size;
68
+ padding: $mobile-style-button-padding;
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ @mixin pagination-style() {
76
+ nav.gt-pagination {
77
+ display: flex;
78
+ justify-content: $pagination-justify-content;
79
+ ul {
80
+ display: inline-flex;
81
+ list-style: none;
82
+ margin: 0;
83
+ padding: 0;
84
+ li {
85
+ &.ellipsis::after {
86
+ content: $pagination-ellipsis-content;
87
+ display: inline-flex;
88
+ }
89
+ &.active button {
90
+ color: $pagination-active-color;
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+
97
+
@@ -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) && !table.config.columns[column.key].templateRef ? highlighted:\n table.config.columns[column.key].templateRef ? templateRef :\n rawData\" [ngTemplateOutletContext]=\"{row: row, column: column, search: (searchBy$ | async), templateRef: table.config.columns[column.key].templateRef, index: i}\"></ng-container></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 #rawData let-row=\"row\" let-column=\"column\">\n {{row[column.key]}}\n</ng-template>\n<ng-template #templateRef let-row=\"row\" let-column=\"column\" let-index=\"index\" let-templateRef=\"templateRef\">\n <ng-container [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{row: row, col: column, index: index}\"></ng-container>\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":{}},"TableConfig":{"__symbolic":"interface"},"TableColumn":{"__symbolic":"interface"},"TableInfo":{"__symbolic":"interface"},"TableRow":{"__symbolic":"interface"},"TableSort":{"__symbolic":"interface"},"ɵ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","TableConfig":"./lib/models/table-config.interface","TableColumn":"./lib/models/table-column.interface","TableInfo":"./lib/models/table-info.interface","TableRow":"./lib/models/table-row.interface","TableSort":"./lib/models/table-sort.interface","ɵa":"./lib/pipes/sort-class.pipe","ɵb":"./lib/pipes/dash-case.pipe","ɵc":"./lib/pipes/highlight.pipe"},"importAs":"@angular-generic-table/core"}