@digital-realty/ix-grid 1.3.18 → 1.3.26

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 (62) hide show
  1. package/package.json +13 -12
  2. package/src/IxGrid.d.ts +0 -148
  3. package/src/IxGrid.js +0 -784
  4. package/src/IxGrid.js.map +0 -1
  5. package/src/IxGridNav.d.ts +0 -2
  6. package/src/IxGridNav.js +0 -8
  7. package/src/IxGridNav.js.map +0 -1
  8. package/src/components/IxGridColumnFilter.d.ts +0 -35
  9. package/src/components/IxGridColumnFilter.js +0 -249
  10. package/src/components/IxGridColumnFilter.js.map +0 -1
  11. package/src/components/IxGridDownloadMenu.d.ts +0 -17
  12. package/src/components/IxGridDownloadMenu.js +0 -98
  13. package/src/components/IxGridDownloadMenu.js.map +0 -1
  14. package/src/components/IxGridNav.d.ts +0 -16
  15. package/src/components/IxGridNav.js +0 -103
  16. package/src/components/IxGridNav.js.map +0 -1
  17. package/src/components/IxGridNoRows.d.ts +0 -10
  18. package/src/components/IxGridNoRows.js +0 -74
  19. package/src/components/IxGridNoRows.js.map +0 -1
  20. package/src/components/IxGridRowFilter.d.ts +0 -55
  21. package/src/components/IxGridRowFilter.js +0 -441
  22. package/src/components/IxGridRowFilter.js.map +0 -1
  23. package/src/components/IxPagination.d.ts +0 -14
  24. package/src/components/IxPagination.js +0 -107
  25. package/src/components/IxPagination.js.map +0 -1
  26. package/src/components/grid-column-filter-styles.d.ts +0 -1
  27. package/src/components/grid-column-filter-styles.js +0 -89
  28. package/src/components/grid-column-filter-styles.js.map +0 -1
  29. package/src/components/grid-row-filter-styles.d.ts +0 -1
  30. package/src/components/grid-row-filter-styles.js +0 -311
  31. package/src/components/grid-row-filter-styles.js.map +0 -1
  32. package/src/components/ix-grid-no-rows.d.ts +0 -1
  33. package/src/components/ix-grid-no-rows.js +0 -2
  34. package/src/components/ix-grid-no-rows.js.map +0 -1
  35. package/src/components/pagination-styles.d.ts +0 -1
  36. package/src/components/pagination-styles.js +0 -84
  37. package/src/components/pagination-styles.js.map +0 -1
  38. package/src/grid-view-styles.d.ts +0 -1
  39. package/src/grid-view-styles.js +0 -283
  40. package/src/grid-view-styles.js.map +0 -1
  41. package/src/index.d.ts +0 -3
  42. package/src/index.js +0 -3
  43. package/src/index.js.map +0 -1
  44. package/src/ix-grid-copy.d.ts +0 -12
  45. package/src/ix-grid-copy.js +0 -12
  46. package/src/ix-grid-copy.js.map +0 -1
  47. package/src/ix-grid-nav.d.ts +0 -1
  48. package/src/ix-grid-nav.js +0 -2
  49. package/src/ix-grid-nav.js.map +0 -1
  50. package/src/ix-grid-no-rows.d.ts +0 -1
  51. package/src/ix-grid-no-rows.js +0 -2
  52. package/src/ix-grid-no-rows.js.map +0 -1
  53. package/src/ix-grid.d.ts +0 -1
  54. package/src/ix-grid.js +0 -2
  55. package/src/ix-grid.js.map +0 -1
  56. package/src/models/IxGridDownloadMenuItemModel.d.ts +0 -7
  57. package/src/models/IxGridDownloadMenuItemModel.js +0 -1
  58. package/src/models/IxGridDownloadMenuItemModel.js.map +0 -1
  59. package/src/test/ix-grid-column-filter.test.js +0 -41
  60. package/src/test/ix-grid-row-filter.test.js +0 -281
  61. package/src/test/ix-grid.test.js +0 -391
  62. package/src/test/ix-pagination.test.js +0 -58
@@ -1,103 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { LitElement, html, css } from 'lit';
3
- import { property } from 'lit/decorators.js';
4
- import { ifDefined } from 'lit/directives/if-defined.js';
5
- import '@digital-realty/ix-button';
6
- export class IxGridNavigation extends LitElement {
7
- constructor() {
8
- super(...arguments);
9
- this.buttons = [];
10
- // eslint-disable-next-line class-methods-use-this
11
- this.renderButton = ({ path, text, onClick, testId, disabled, selected, }) => html `
12
- <ix-button
13
- ?disabled=${disabled}
14
- data-testid=${ifDefined(testId)}
15
- appearance=${selected ? 'filled' : 'text'}
16
- href=${ifDefined(selected ? undefined : path)}
17
- @click=${onClick}
18
- class="button"
19
- style=${selected ? 'pointer-events: none' : ''}
20
- ><div class="button-text">${text}</div></ix-button
21
- >
22
- `;
23
- }
24
- render() {
25
- return html `
26
- <div class="container">
27
- ${this.buttons.map(button => this.renderButton(button))}
28
- </div>
29
- `;
30
- }
31
- }
32
- IxGridNavigation.styles = css `
33
- :host {
34
- --md-filled-button-container-color: var(
35
- --grid-nav-button-container-color,
36
- var(--clr-on-surface, #092241)
37
- );
38
- --md-filled-button-container-height: var(
39
- --grid-nav-button-container-height,
40
- 2.5rem
41
- );
42
- --md-text-button-container-height: var(
43
- --grid-nav-button-container-height,
44
- 2.5rem
45
- );
46
- --md-text-button-label-text-color: var(--clr-on-surface, #092241);
47
- --md-text-button-hover-label-text-color: var(--clr-on-surface, #092241);
48
- --md-text-button-pressed-label-text-color: var(--clr-on-surface, #092241);
49
- --md-text-button-focus-label-text-color: var(--clr-on-surface, #092241);
50
- }
51
-
52
- [disabled] {
53
- --md-filled-button-disabled-container-color: var(
54
- --grid-nav-button-disabled-container-color,
55
- transparent
56
- );
57
- --md-filled-button-disabled-label-text-color: var(
58
- --grid-nav-button-disabled-container-color,
59
- var(--clr-on-surface, #000)
60
- );
61
- }
62
-
63
- .container {
64
- display: var(--grid-nav-button-group-display, flex);
65
- gap: var(--grid-nav-button-group-gap, 0.5rem);
66
- }
67
-
68
- .button {
69
- margin: var(--grid-nav-button-margin, 0);
70
- }
71
-
72
- .button-text {
73
- text-transform: var(--grid-nav-button-text-transform, none);
74
- font-size: var(--grid-nav-button-font-size, 14px);
75
- font-family: var(--root-primary-font, 'sans-serif');
76
- line-height: 1.5rem;
77
- }
78
-
79
- @media only screen and (max-width: 840px) {
80
- .container {
81
- overflow-x: auto;
82
- white-space: nowrap;
83
- }
84
-
85
- .button {
86
- flex: 0 0 auto;
87
- }
88
- }
89
-
90
- @media only screen and (max-width: 600px) {
91
- .grid-header {
92
- align-items: flex-end;
93
- flex-direction: row;
94
- }
95
- .container {
96
- overflow-x: auto;
97
- max-width: calc(100vw - 2rem);
98
- }
99
- }
100
- `;
101
- __decorate([
102
- property({ type: Array, attribute: false })
103
- ], IxGridNavigation.prototype, "buttons", void 0);
@@ -1 +0,0 @@
1
- {"version":3,"file":"IxGridNav.js","sourceRoot":"","sources":["IxGridNav.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,2BAA2B,CAAC;AAWnC,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAAhD;;QAC+C,YAAO,GAAqB,EAAE,CAAC;QAwE5E,kDAAkD;QAClD,iBAAY,GAAG,CAAC,EACd,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,GACO,EAAE,EAAE,CACnB,IAAI,CAAA;;oBAEY,QAAQ;sBACN,SAAS,CAAC,MAAM,CAAC;qBAClB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;eAClC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;iBACpC,OAAO;;gBAER,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;oCAClB,IAAI;;KAEnC,CAAC;IASN,CAAC;IAPC,MAAM;QACJ,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;;KAE1D,CAAC;IACJ,CAAC;;AAlGM,uBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoElB,CAAC;AAtE2C;IAA5C,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iDAAgC","sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '@digital-realty/ix-button';\n\nexport interface IGridNavButton {\n testId?: string;\n path?: string;\n selected?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n text: string;\n}\n\nexport class IxGridNavigation extends LitElement {\n @property({ type: Array, attribute: false }) buttons: IGridNavButton[] = [];\n\n static styles = css`\n :host {\n --md-filled-button-container-color: var(\n --grid-nav-button-container-color,\n var(--clr-on-surface, #092241)\n );\n --md-filled-button-container-height: var(\n --grid-nav-button-container-height,\n 2.5rem\n );\n --md-text-button-container-height: var(\n --grid-nav-button-container-height,\n 2.5rem\n );\n --md-text-button-label-text-color: var(--clr-on-surface, #092241);\n --md-text-button-hover-label-text-color: var(--clr-on-surface, #092241);\n --md-text-button-pressed-label-text-color: var(--clr-on-surface, #092241);\n --md-text-button-focus-label-text-color: var(--clr-on-surface, #092241);\n }\n\n [disabled] {\n --md-filled-button-disabled-container-color: var(\n --grid-nav-button-disabled-container-color,\n transparent\n );\n --md-filled-button-disabled-label-text-color: var(\n --grid-nav-button-disabled-container-color,\n var(--clr-on-surface, #000)\n );\n }\n\n .container {\n display: var(--grid-nav-button-group-display, flex);\n gap: var(--grid-nav-button-group-gap, 0.5rem);\n }\n\n .button {\n margin: var(--grid-nav-button-margin, 0);\n }\n\n .button-text {\n text-transform: var(--grid-nav-button-text-transform, none);\n font-size: var(--grid-nav-button-font-size, 14px);\n font-family: var(--root-primary-font, 'sans-serif');\n line-height: 1.5rem;\n }\n\n @media only screen and (max-width: 840px) {\n .container {\n overflow-x: auto;\n white-space: nowrap;\n }\n\n .button {\n flex: 0 0 auto;\n }\n }\n\n @media only screen and (max-width: 600px) {\n .grid-header {\n align-items: flex-end;\n flex-direction: row;\n }\n .container {\n overflow-x: auto;\n max-width: calc(100vw - 2rem);\n }\n }\n `;\n\n // eslint-disable-next-line class-methods-use-this\n renderButton = ({\n path,\n text,\n onClick,\n testId,\n disabled,\n selected,\n }: IGridNavButton) =>\n html`\n <ix-button\n ?disabled=${disabled}\n data-testid=${ifDefined(testId)}\n appearance=${selected ? 'filled' : 'text'}\n href=${ifDefined(selected ? undefined : path)}\n @click=${onClick}\n class=\"button\"\n style=${selected ? 'pointer-events: none' : ''}\n ><div class=\"button-text\">${text}</div></ix-button\n >\n `;\n\n render() {\n return html`\n <div class=\"container\">\n ${this.buttons.map(button => this.renderButton(button))}\n </div>\n `;\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import '@digital-realty/ix-icon/ix-icon.js';
3
- export declare class IxGridNoRows extends LitElement {
4
- static styles: import("lit").CSSResult;
5
- type: 'warning' | 'info' | 'error';
6
- icon: string;
7
- message: string;
8
- iconFontSize: string;
9
- render(): import("lit-html").TemplateResult<1>;
10
- }
@@ -1,74 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { LitElement, html, css } from 'lit';
3
- import { property } from 'lit/decorators.js';
4
- import '@digital-realty/ix-icon/ix-icon.js';
5
- export class IxGridNoRows extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- this.type = 'error';
9
- this.icon = 'error';
10
- this.message = 'No data to display';
11
- this.iconFontSize = '3rem';
12
- }
13
- render() {
14
- return html `
15
- <div class="container" style="--ix-icon-font-size: ${this.iconFontSize};">
16
- <ix-icon class="icon ${this.type}">${this.icon}</ix-icon>
17
- <h2 class="dlr-text-heading">${this.message}</h2>
18
- </div>
19
- `;
20
- }
21
- }
22
- IxGridNoRows.styles = css `
23
- .container {
24
- display: flex;
25
- justify-content: center;
26
- align-items: center;
27
- flex-direction: column;
28
- text-align: center;
29
- padding: 2.5rem 0;
30
- }
31
- .icon {
32
- user-select: none;
33
- display: inline-block;
34
- fill: currentcolor;
35
- flex-shrink: 0;
36
- font-size: 1.5rem;
37
- color: rgb(255, 152, 0);
38
- transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1);
39
- }
40
- .warning,
41
- .error {
42
- user-select: none;
43
- color: var(--clr-warning, #ff9800);
44
- }
45
- .critical {
46
- color: var(--clr-critical, #db0028);
47
- }
48
- h2 {
49
- font-family: var(--ix-font-family, 'Red Hat Display');
50
- }
51
- h2.dlr-text-heading {
52
- margin: 0.5rem 0 0;
53
- font-family: 'Red Hat Display', sans-serif;
54
- font-style: normal;
55
- font-size: 1.5rem;
56
- line-height: 2rem;
57
- letter-spacing: 0em;
58
- color: rgb(9, 34, 65);
59
- text-align: center;
60
- font-weight: 700;
61
- }
62
- `;
63
- __decorate([
64
- property({ type: String })
65
- ], IxGridNoRows.prototype, "type", void 0);
66
- __decorate([
67
- property({ type: String })
68
- ], IxGridNoRows.prototype, "icon", void 0);
69
- __decorate([
70
- property({ type: String })
71
- ], IxGridNoRows.prototype, "message", void 0);
72
- __decorate([
73
- property({ type: String })
74
- ], IxGridNoRows.prototype, "iconFontSize", void 0);
@@ -1 +0,0 @@
1
- {"version":3,"file":"IxGridNoRows.js","sourceRoot":"","sources":["IxGridNoRows.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,oCAAoC,CAAC;AAE5C,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QA2C8B,SAAI,GAAiC,OAAO,CAAC;QAE7C,SAAI,GAAW,OAAO,CAAC;QAEvB,YAAO,GAAW,oBAAoB,CAAC;QAEvC,iBAAY,GAAW,MAAM,CAAC;IAU5D,CAAC;IARC,MAAM;QACJ,OAAO,IAAI,CAAA;2DAC4C,IAAI,CAAC,YAAY;+BAC7C,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;uCACf,IAAI,CAAC,OAAO;;KAE9C,CAAC;IACJ,CAAC;;AAzDM,mBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwClB,CAAC;AAE0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAA8C;AAE7C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAwB;AAEvB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAwC;AAEvC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDAA+B","sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '@digital-realty/ix-icon/ix-icon.js';\n\nexport class IxGridNoRows extends LitElement {\n static styles = css`\n .container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n text-align: center;\n padding: 2.5rem 0;\n }\n .icon {\n user-select: none;\n display: inline-block;\n fill: currentcolor;\n flex-shrink: 0;\n font-size: 1.5rem;\n color: rgb(255, 152, 0);\n transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n .warning,\n .error {\n user-select: none;\n color: var(--clr-warning, #ff9800);\n }\n .critical {\n color: var(--clr-critical, #db0028);\n }\n h2 {\n font-family: var(--ix-font-family, 'Red Hat Display');\n }\n h2.dlr-text-heading {\n margin: 0.5rem 0 0;\n font-family: 'Red Hat Display', sans-serif;\n font-style: normal;\n font-size: 1.5rem;\n line-height: 2rem;\n letter-spacing: 0em;\n color: rgb(9, 34, 65);\n text-align: center;\n font-weight: 700;\n }\n `;\n\n @property({ type: String }) type: 'warning' | 'info' | 'error' = 'error';\n\n @property({ type: String }) icon: string = 'error';\n\n @property({ type: String }) message: string = 'No data to display';\n\n @property({ type: String }) iconFontSize: string = '3rem';\n\n render() {\n return html`\n <div class=\"container\" style=\"--ix-icon-font-size: ${this.iconFontSize};\">\n <ix-icon class=\"icon ${this.type}\">${this.icon}</ix-icon>\n <h2 class=\"dlr-text-heading\">${this.message}</h2>\n </div>\n `;\n }\n}\n"]}
@@ -1,55 +0,0 @@
1
- import '@digital-realty/ix-button/ix-button.js';
2
- import '@digital-realty/ix-date/ix-date.js';
3
- import '@digital-realty/ix-icon-button/ix-icon-button.js';
4
- import '@digital-realty/ix-icon/ix-icon.js';
5
- import '@digital-realty/ix-select/ix-select.js';
6
- import { LitElement } from 'lit';
7
- import type { Column, DataType } from '../IxGrid.js';
8
- export interface Filter {
9
- columnField: string;
10
- operatorValue: string;
11
- dataType?: DataType;
12
- value: string;
13
- }
14
- export declare class IxGridRowFilter extends LitElement {
15
- static readonly styles: import("lit").CSSResult[];
16
- columns: Column[];
17
- filterValueChangeDebounceTime: number;
18
- readParamsFromURL: boolean;
19
- maxDate: string;
20
- private isDropdownVisible;
21
- private filters;
22
- private filterableColumns;
23
- private filterColumns;
24
- private activeFilters;
25
- private mapSelect;
26
- private fromDateErrorText?;
27
- private oldValueLength;
28
- private debounceEvent;
29
- private debouncedOnFilterValueChange;
30
- updateActiveFilters(): void;
31
- connectedCallback(): void;
32
- disconnectedCallback(): void;
33
- firstUpdated(): void;
34
- get filterNames(): string[];
35
- get unselectedFilters(): string[];
36
- closeOnOuterClick: (e: Event) => void;
37
- parseFilterQueryString(): Filter[];
38
- dispatchUpdate(resetPage?: boolean): void;
39
- addFilter(): void;
40
- clearFilters(): void;
41
- removeFilter(index: number): void;
42
- private handlePopState;
43
- private onfilterColumnChange;
44
- private onfilterOperatorChange;
45
- private onDatefilterValueChange;
46
- private onfilterValueChange;
47
- formatCamelCaseToEnglish(text: string): string;
48
- renderToolTip(): string | import("lit-html").TemplateResult<1>;
49
- private renderStringInput;
50
- private renderDateInput;
51
- private renderFilterInputControl;
52
- renderFilterInput(value: Filter, index: number): import("lit-html").TemplateResult<1>;
53
- renderDropdown(): import("lit-html").TemplateResult<1>;
54
- render(): import("lit-html").TemplateResult<1>;
55
- }