Skip to content

Commit 73daee9

Browse files
committed
Max cell size support.
1 parent f6bed10 commit 73daee9

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

src/pg/table/__examples__/basic/basic.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import style from './basic.css';
77
import template from './basic.html';
88

99
const IconStar = 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z';
10-
const IconStarOutline = 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z';
10+
const IconStarOutline = 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z';
1111

1212
@Component({
1313
selector: 'x-pg-table-basic',
@@ -32,7 +32,7 @@ export default class XPgTableBasic extends HTMLElement {
3232
label: 'Name',
3333
key: 'name',
3434
editable: true,
35-
maxWidth: 100,
35+
maxWidth: '12rem',
3636
}, {
3737
label: 'Age',
3838
key: 'age'
@@ -49,6 +49,7 @@ export default class XPgTableBasic extends HTMLElement {
4949
favorite: {
5050
type: PgTableCellButtonIcon,
5151
icon: IconStarOutline,
52+
value: false,
5253
}
5354
}),
5455
createTableItem({
@@ -58,6 +59,7 @@ export default class XPgTableBasic extends HTMLElement {
5859
favorite: {
5960
type: PgTableCellButtonIcon,
6061
icon: IconStarOutline,
62+
value: false,
6163
}
6264
})
6365
];

src/pg/tableCellText/tableCellText.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export default class PgTableCellText extends HTMLElement {
1414
@Prop() value: string = '';
1515
@Prop() key: string = '';
1616
@Prop() editable: boolean = false;
17+
@Prop() maxWidth: number | string | null = null;
1718

1819
@Part() $input: PgInputText;
1920

@@ -47,5 +48,15 @@ export default class PgTableCellText extends HTMLElement {
4748
if (changes.editable) {
4849
this.$input.readOnly = !this.editable;
4950
}
51+
if (changes.maxWidth) {
52+
if (this.maxWidth === null) {
53+
this.$input.style.removeProperty('--pg-input-text-max-width');
54+
} else {
55+
this.$input.style.setProperty(
56+
'--pg-input-text-max-width',
57+
`${typeof this.maxWidth === 'string' ? this.maxWidth : this.maxWidth + 'px'}`
58+
);
59+
}
60+
}
5061
}
5162
}

src/pg/tableRow/tableRow.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,13 @@ export default class PgTableRow extends HTMLElement {
3636
: types.get(typeof item.value);
3737
},
3838
create: ($item: any, item) => {
39-
const { editable } = this.columns.find(i => i.key === item.key) ?? {};
39+
const { editable, maxWidth } = this.columns.find(i => i.key === item.key) ?? {};
4040
if (editable) {
4141
$item.editable = editable;
4242
}
43+
if (maxWidth) {
44+
$item.maxWidth = maxWidth;
45+
}
4346
$item.addEventListener('action', (e: any) => {
4447
e.stopPropagation();
4548
this.dispatchEvent(new CustomEvent('action', {

0 commit comments

Comments
 (0)