@trebco/treb 25.7.3 → 25.7.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.
- package/dist/treb-spreadsheet.mjs +6 -6
- package/package.json +1 -1
- package/treb-embed/markup/layout.html +6 -6
- package/treb-embed/src/custom-element/spreadsheet-constructor.ts +3 -1
- package/treb-embed/style/tab-bar.scss +37 -20
- package/treb-grid/src/layout/base_layout.ts +3 -1
- package/treb-grid/src/types/grid.ts +7 -0
- package/treb-grid/src/types/tab_bar.ts +1 -0
package/package.json
CHANGED
|
@@ -94,16 +94,16 @@
|
|
|
94
94
|
add/remove tab should both be buttons, or at least have tabindexes
|
|
95
95
|
-->
|
|
96
96
|
|
|
97
|
-
<!--
|
|
98
|
-
<
|
|
99
|
-
<svg viewbox='0 0 16 16'><path d='M4,4 L12,12 M12,4 L4,12'/></svg>
|
|
100
|
-
</
|
|
97
|
+
<!-- converted to button, more appropriate -->
|
|
98
|
+
<button class="treb-delete-tab" title="Delete current sheet" data-command="delete-tab" data-conditional="delete-tab">
|
|
99
|
+
<svg tabindex="-1" viewbox='0 0 16 16'><path d='M4,4 L12,12 M12,4 L4,12'/></svg>
|
|
100
|
+
</button>
|
|
101
101
|
|
|
102
102
|
<!-- list of tabs for sheets -->
|
|
103
103
|
<ol class="treb-spreadsheet-tabs" role="tablist"></ol>
|
|
104
104
|
|
|
105
|
-
<!--
|
|
106
|
-
<
|
|
105
|
+
<!-- converted to button, more appropriate -->
|
|
106
|
+
<button class="treb-add-tab" data-command="add-tab" data-conditional="add-tab" title="Add sheet">+</button>
|
|
107
107
|
|
|
108
108
|
<!--
|
|
109
109
|
we removed the junk node with "flex grow" to split the layout, in
|
|
@@ -282,7 +282,9 @@ export class SpreadsheetConstructor {
|
|
|
282
282
|
if (element instanceof HTMLScriptElement) {
|
|
283
283
|
if (element.type === 'application/json') {
|
|
284
284
|
const name = element.getAttribute('name') || '';
|
|
285
|
-
|
|
285
|
+
|
|
286
|
+
// add special case for aggressive clients/wrappers
|
|
287
|
+
if (name === inline_name || !name && inline_name === 'true') {
|
|
286
288
|
const content = element.textContent;
|
|
287
289
|
if (content) {
|
|
288
290
|
try {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
.treb-spreadsheet-tabs {
|
|
34
34
|
display: flex;
|
|
35
35
|
flex-direction: row;
|
|
36
|
-
z-index:
|
|
36
|
+
z-index: 2;
|
|
37
37
|
max-width: 100%;
|
|
38
38
|
height: 2.2em;
|
|
39
39
|
color: var(--treb-ui-color, inherit);
|
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
& .treb-spreadsheet-tabs>li,
|
|
56
|
-
& .treb-add-tab
|
|
56
|
+
& .treb-add-tab,
|
|
57
|
+
& .treb-delete-tab {
|
|
57
58
|
|
|
58
59
|
font-size: inherit;
|
|
59
60
|
padding: .25em .75em;
|
|
@@ -75,6 +76,29 @@
|
|
|
75
76
|
z-index: 1;
|
|
76
77
|
margin-right: -2px;
|
|
77
78
|
|
|
79
|
+
&:active, &:focus {
|
|
80
|
+
z-index: 3;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** don't overflow/ellipsis the add tab button */
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* for ellipsis to work, it seems like it has to be inside
|
|
89
|
+
* a span in the tab. since we are not using it atm I removed
|
|
90
|
+
* that span, but if we want ellpisis it will need to come back.
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
& .treb-spreadsheet-tabs>li {
|
|
94
|
+
|
|
95
|
+
white-space: nowrap;
|
|
96
|
+
overflow-x: hidden;
|
|
97
|
+
|
|
98
|
+
&[selected] {
|
|
99
|
+
z-index: 2;
|
|
100
|
+
}
|
|
101
|
+
|
|
78
102
|
}
|
|
79
103
|
|
|
80
104
|
& .treb-scale-control {
|
|
@@ -143,6 +167,13 @@
|
|
|
143
167
|
|
|
144
168
|
& .treb-delete-tab {
|
|
145
169
|
|
|
170
|
+
// was a div, now a button, so needs some adjustments
|
|
171
|
+
// why double focus?
|
|
172
|
+
|
|
173
|
+
border: none;
|
|
174
|
+
background: transparent;
|
|
175
|
+
color: currentColor;
|
|
176
|
+
|
|
146
177
|
font-size: inherit;
|
|
147
178
|
padding: .25em .75em;
|
|
148
179
|
cursor: default;
|
|
@@ -177,6 +208,10 @@
|
|
|
177
208
|
stroke-linecap: round;
|
|
178
209
|
}
|
|
179
210
|
|
|
211
|
+
&:active, &:focus {
|
|
212
|
+
z-index: 3;
|
|
213
|
+
}
|
|
214
|
+
|
|
180
215
|
}
|
|
181
216
|
|
|
182
217
|
.treb-stats-panel {
|
|
@@ -208,24 +243,6 @@
|
|
|
208
243
|
}
|
|
209
244
|
}
|
|
210
245
|
|
|
211
|
-
/** don't overflow/ellipsis the add tab button */
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* for ellipsis to work, it seems like it has to be inside
|
|
215
|
-
* a span in the tab. since we are not using it atm I removed
|
|
216
|
-
* that span, but if we want ellpisis it will need to come back.
|
|
217
|
-
*/
|
|
218
|
-
|
|
219
|
-
& .treb-spreadsheet-tabs>li {
|
|
220
|
-
|
|
221
|
-
white-space: nowrap;
|
|
222
|
-
overflow-x: hidden;
|
|
223
|
-
|
|
224
|
-
&[selected] {
|
|
225
|
-
z-index: 2;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
}
|
|
229
246
|
|
|
230
247
|
}
|
|
231
248
|
|
|
@@ -354,7 +354,7 @@ export abstract class BaseLayout {
|
|
|
354
354
|
|
|
355
355
|
this.sort_button = DOMUtilities.Create<HTMLButtonElement>(
|
|
356
356
|
'button',
|
|
357
|
-
'treb-sort-button', undefined, undefined, { title: 'Sort table'});
|
|
357
|
+
'treb-sort-button', undefined, undefined, { title: 'Sort table', tabindex: '-1'});
|
|
358
358
|
|
|
359
359
|
this.HideNote();
|
|
360
360
|
|
|
@@ -451,6 +451,7 @@ export abstract class BaseLayout {
|
|
|
451
451
|
public HideTableSortButton() {
|
|
452
452
|
this.sort_button.style.opacity = '0';
|
|
453
453
|
this.sort_button.style.pointerEvents = 'none';
|
|
454
|
+
this.sort_button.setAttribute('tabindex', '-1');
|
|
454
455
|
}
|
|
455
456
|
|
|
456
457
|
public ShowTableSortButton(table: Table, column: number, address: ICellAddress): void {
|
|
@@ -469,6 +470,7 @@ export abstract class BaseLayout {
|
|
|
469
470
|
}
|
|
470
471
|
}
|
|
471
472
|
|
|
473
|
+
this.sort_button.setAttribute('tabindex', '0 ');
|
|
472
474
|
this.sort_button.style.opacity = '1';
|
|
473
475
|
this.sort_button.style.pointerEvents = 'initial';
|
|
474
476
|
this.sort_button.classList.remove('asc', 'desc');
|
|
@@ -2053,6 +2053,13 @@ export class Grid extends GridBase {
|
|
|
2053
2053
|
|
|
2054
2054
|
}
|
|
2055
2055
|
|
|
2056
|
+
protected RenameSheetInternal(target: Sheet, name: string) {
|
|
2057
|
+
console.info("RIS");
|
|
2058
|
+
super.RenameSheetInternal(target, name);
|
|
2059
|
+
this.tab_bar?.Update();
|
|
2060
|
+
|
|
2061
|
+
}
|
|
2062
|
+
|
|
2056
2063
|
/**
|
|
2057
2064
|
* translate function from common (english) -> local language. this could
|
|
2058
2065
|
* be inlined (assuming it's only called in one place), but we are breaking
|
|
@@ -453,6 +453,7 @@ export class TabBar extends EventSource<TabEvent> {
|
|
|
453
453
|
const index = tabs.length;
|
|
454
454
|
// const tab = document.createElement('div');
|
|
455
455
|
const tab = document.createElement('li');
|
|
456
|
+
tab.setAttribute('tabindex', '0');
|
|
456
457
|
|
|
457
458
|
// tab.classList.add('tab');
|
|
458
459
|
tab.style.order = (index * 2).toString();
|