@odoo/o-spreadsheet 19.1.0-alpha.7 → 19.1.0-alpha.9

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.
@@ -1,9 +1,9 @@
1
1
  <!--
2
2
  This file is generated by o-spreadsheet build tools. Do not edit it.
3
3
  @see https://github.com/odoo/o-spreadsheet
4
- @version 19.1.0-alpha.7
5
- @date 2025-10-17T11:10:28.649Z
6
- @hash a11279d
4
+ @version 19.1.0-alpha.9
5
+ @date 2025-10-23T11:13:50.088Z
6
+ @hash bd756dd
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -215,22 +215,20 @@
215
215
  </div>
216
216
  </t>
217
217
 
218
- <div t-name="o-spreadsheet-TextInput" class="w-100">
218
+ <t t-name="o-spreadsheet-TextInput">
219
219
  <input
220
- t-ref="input"
221
- class="os-input w-100"
222
220
  type="text"
221
+ t-ref="{{refName}}"
223
222
  t-att-class="inputClass"
224
223
  t-att-id="props.id"
225
224
  t-att-placeholder="props.placeholder"
226
- t-att-value="props.value"
227
225
  t-on-change="save"
228
226
  t-on-blur="save"
229
227
  t-on-pointerdown="onMouseDown"
230
228
  t-on-pointerup="onMouseUp"
231
229
  t-on-keydown="onKeyDown"
232
230
  />
233
- </div>
231
+ </t>
234
232
 
235
233
  <t t-name="o-spreadsheet-TableStylesPopover">
236
234
  <Popover t-if="props.popoverProps" t-props="props.popoverProps">
@@ -514,12 +512,12 @@
514
512
  value="tableConfig.numberOfHeaders > 0"
515
513
  onChange.bind="this.updateHasHeaders"
516
514
  />
517
- <input
515
+ <NumberInput
518
516
  t-if="tableConfig.numberOfHeaders > 0"
519
- t-att-value="tableConfig.numberOfHeaders"
520
- type="number"
521
- class="o-table-n-of-headers ms-2 o-input"
522
- t-on-change="onChangeNumberOfHeaders"
517
+ value="tableConfig.numberOfHeaders"
518
+ class="'o-table-n-of-headers ms-2'"
519
+ min="0"
520
+ onChange.bind="onChangeNumberOfHeaders"
523
521
  />
524
522
  </div>
525
523
  <Checkbox
@@ -864,12 +862,43 @@
864
862
  <CogWheelMenu items="cogWheelMenuItems"/>
865
863
  </div>
866
864
  </t>
867
- <TextInput class="'os-pivot-title'" value="name" onChange.bind="onNameChanged"/>
865
+ <TextInput
866
+ class="'os-pivot-title'"
867
+ value="name"
868
+ onChange.bind="onNameChanged"
869
+ selectContentOnFocus="true"
870
+ />
868
871
  </Section>
869
872
  </t>
870
873
 
871
874
  <t t-name="o-spreadsheet-PivotSidePanel">
872
- <t t-component="sidePanelEditor" t-props="props"/>
875
+ <div class="d-flex flex-column h-100">
876
+ <div class="o-panel d-flex">
877
+ <div
878
+ class="o-sidePanel-tab o-panel-configuration d-flew flex-grow-1 text-center"
879
+ t-att-class="state.panel !== 'configuration' ? 'inactive' : ''"
880
+ t-on-click="switchPanel.bind(this, 'configuration')">
881
+ <i class="fa fa-sliders me-1"/>
882
+ Configuration
883
+ </div>
884
+ <div
885
+ class="o-sidePanel-tab o-panel-design d-flew flex-grow-1 text-center"
886
+ t-att-class="state.panel !== 'design' ? 'inactive' : ''"
887
+ t-on-click="switchPanel.bind(this, 'design')">
888
+ <i class="fa fa-paint-brush me-1"/>
889
+ Design
890
+ </div>
891
+ </div>
892
+
893
+ <div class="o-panel-content overflow-y-auto h-100" t-ref="panelContent">
894
+ <div class="h-100" t-att-class="{ 'd-none': state.panel !== 'configuration' }">
895
+ <t t-component="sidePanelEditor" t-props="props"/>
896
+ </div>
897
+ <div t-att-class="state.panel !== 'design' ? 'd-none' : ''">
898
+ <PivotDesignPanel pivotId="props.pivotId"/>
899
+ </div>
900
+ </div>
901
+ </div>
873
902
  </t>
874
903
 
875
904
  <t t-name="o-spreadsheet-PivotSpreadsheetSidePanel">
@@ -921,6 +950,69 @@
921
950
  </div>
922
951
  </t>
923
952
 
953
+ <t t-name="o-spreadsheet-PivotDesignPanel">
954
+ <Section class="'o-pivot-design'" title.translate="Display options">
955
+ <div>
956
+ <div class="container-fluid p-0 pt-2">
957
+ <div class="row mb-2 align-items-center">
958
+ <div class="col-6">Max rows:</div>
959
+ <div class="col-6 d-flex align-items-center">
960
+ <input
961
+ t-att-value="pivotStyle.numberOfRows ?? ''"
962
+ type="number"
963
+ class="o-pivot-n-of-rows o-input"
964
+ placeholder="e.g. 10"
965
+ t-on-change="(ev) => this.updatePivotStyleProperty('numberOfRows', ev.target.valueAsNumber)"
966
+ />
967
+ </div>
968
+ </div>
969
+ <div class="row mb-2 align-items-center">
970
+ <div class="col-6">Max columns:</div>
971
+ <div class="col-6 d-flex align-items-center">
972
+ <input
973
+ t-att-value="pivotStyle.numberOfColumns ?? ''"
974
+ type="number"
975
+ class="o-pivot-n-of-columns o-input"
976
+ placeholder="e.g. 5"
977
+ t-on-change="(ev) => this.updatePivotStyleProperty('numberOfColumns', ev.target.valueAsNumber)"
978
+ />
979
+ </div>
980
+ </div>
981
+ <div class="row mb-2 align-items-center">
982
+ <div class="col-6">Show totals:</div>
983
+ <div class="col-6 d-flex align-items-center">
984
+ <Checkbox
985
+ name="'displayTotals'"
986
+ value="pivotStyle.displayTotals ?? defaultStyle.displayTotals"
987
+ onChange="(val) => this.updatePivotStyleProperty('displayTotals', val)"
988
+ />
989
+ </div>
990
+ </div>
991
+ <div class="row mb-2 align-items-center">
992
+ <div class="col-6">Show column titles:</div>
993
+ <div class="col-6 d-flex align-items-center">
994
+ <Checkbox
995
+ name="'displayColumnHeaders'"
996
+ value="pivotStyle.displayColumnHeaders ?? defaultStyle.displayColumnHeaders"
997
+ onChange="(val) => this.updatePivotStyleProperty('displayColumnHeaders', val)"
998
+ />
999
+ </div>
1000
+ </div>
1001
+ <div class="row mb-2 align-items-center">
1002
+ <div class="col-6">Show measure titles:</div>
1003
+ <div class="col-6 d-flex align-items-center">
1004
+ <Checkbox
1005
+ name="'displayMeasuresRow'"
1006
+ value="pivotStyle.displayMeasuresRow ?? defaultStyle.displayMeasuresRow"
1007
+ onChange="(val) => this.updatePivotStyleProperty('displayMeasuresRow', val)"
1008
+ />
1009
+ </div>
1010
+ </div>
1011
+ </div>
1012
+ </div>
1013
+ </Section>
1014
+ </t>
1015
+
924
1016
  <t t-name="o-spreadsheet-PivotMeasureDisplayPanel">
925
1017
  <Section title.translate="Show measure as:">
926
1018
  <select
@@ -1226,6 +1318,7 @@
1226
1318
  value="props.dimension.displayName"
1227
1319
  onChange.bind="updateName"
1228
1320
  class="'o-fw-bold'"
1321
+ selectContentOnFocus="true"
1229
1322
  />
1230
1323
  <span t-else="1" class="o-fw-bold" t-esc="props.dimension.displayName"/>
1231
1324
  </div>
@@ -1310,6 +1403,7 @@
1310
1403
  <TextInput
1311
1404
  value="group.name"
1312
1405
  onChange="(newName) => this.onRenameGroup(group_index, newName)"
1406
+ selectContentOnFocus="true"
1313
1407
  />
1314
1408
  <i
1315
1409
  class="o-button-icon ps-3 fa fa-trash"
@@ -2822,19 +2916,19 @@
2822
2916
 
2823
2917
  <t t-name="o-spreadsheet-ChartPanel">
2824
2918
  <div class="o-chart d-flex flex-column h-100" t-if="chartId">
2825
- <div class="o-panel">
2919
+ <div class="o-panel d-flex">
2826
2920
  <div
2827
- class="o-panel-element o-panel-configuration"
2921
+ class="o-sidePanel-tab o-panel-configuration d-flew flex-grow-1 text-center"
2828
2922
  t-att-class="store.panel !== 'configuration' ? 'inactive' : ''"
2829
2923
  t-on-click="switchPanel.bind(this, 'configuration')">
2830
- <i class="fa fa-sliders"/>
2924
+ <i class="fa fa-sliders me-1"/>
2831
2925
  Configuration
2832
2926
  </div>
2833
2927
  <div
2834
- class="o-panel-element o-panel-design"
2928
+ class="o-sidePanel-tab o-panel-design d-flew flex-grow-1 text-center"
2835
2929
  t-att-class="store.panel !== 'design' ? 'inactive' : ''"
2836
2930
  t-on-click="switchPanel.bind(this, 'design')">
2837
- <i class="fa fa-paint-brush"/>
2931
+ <i class="fa fa-paint-brush me-1"/>
2838
2932
  Design
2839
2933
  </div>
2840
2934
  </div>
@@ -3821,11 +3915,11 @@
3821
3915
  </div>
3822
3916
  <div class="w-50 ms-3" t-if="trendType === 'trailingMovingAverage'">
3823
3917
  <span class="o-section-subtitle">Window</span>
3824
- <input
3825
- t-att-value="trend.window || this.defaultWindowSize"
3826
- type="number"
3827
- class="w-100 o-input trend-window-input"
3828
- t-on-change="(ev) => this.onChangeMovingAverageWindow(index, ev)"
3918
+ <NumberInput
3919
+ value="trend.window || this.defaultWindowSize"
3920
+ class="'w-100 trend-window-input'"
3921
+ min="2"
3922
+ onChange="(value) => this.onChangeMovingAverageWindow(index, value)"
3829
3923
  />
3830
3924
  </div>
3831
3925
  <div class="w-50 ms-3" t-if="trendType === 'polynomial'">
@@ -3898,13 +3992,12 @@
3898
3992
  <t t-name="o-spreadsheet.PieHoleSize">
3899
3993
  <Section class="'pt-0'" title.translate="Center radius">
3900
3994
  <div class="d-flex flex-row">
3901
- <input
3902
- t-att-value="props.value"
3903
- type="number"
3904
- class="o-input o-pie-hole-size-input"
3995
+ <NumberInput
3996
+ value="props.value"
3997
+ class="'o-pie-hole-size-input'"
3905
3998
  min="0"
3906
3999
  max="95"
3907
- t-on-change="(ev) => debouncedOnChange(ev.target.value)"
4000
+ onChange.bind="onChange"
3908
4001
  />
3909
4002
  %
3910
4003
  </div>
@@ -4051,12 +4144,11 @@
4051
4144
 
4052
4145
  <t t-name="o-spreadsheet.ChartTitle">
4053
4146
  <Section class="'o-chart-title'" title="props.name">
4054
- <input
4055
- type="text"
4056
- class="o-input"
4057
- t-att-value="props.title"
4058
- t-on-change="updateTitle"
4059
- t-att-placeholder="props.placeholder"
4147
+ <TextInput
4148
+ value="props.title"
4149
+ onChange.bind="updateTitle"
4150
+ placeholder="props.placeholder"
4151
+ alwaysShowBorder="true"
4060
4152
  />
4061
4153
  <TextStyler
4062
4154
  style="props.style"
@@ -4126,6 +4218,7 @@
4126
4218
  onChange.bind="updateTitleText"
4127
4219
  placeholder.translate="Add a Title"
4128
4220
  alwaysShowBorder="true"
4221
+ selectContentOnFocus="true"
4129
4222
  />
4130
4223
  <TextStyler
4131
4224
  style="title ?? {}"
@@ -4159,6 +4252,7 @@
4159
4252
  <TextInput
4160
4253
  value="getItemTitle(item)"
4161
4254
  onChange="(newName) => this.renameCarouselItem(item, newName)"
4255
+ selectContentOnFocus="true"
4162
4256
  />
4163
4257
  </div>
4164
4258
  <div class="ms-auto"/>
@@ -4347,6 +4441,23 @@
4347
4441
  </span>
4348
4442
  </t>
4349
4443
 
4444
+ <t t-name="o-spreadsheet-NumberInput">
4445
+ <input
4446
+ type="number"
4447
+ t-ref="{{refName}}"
4448
+ t-att-class="inputClass"
4449
+ t-att-id="props.id"
4450
+ t-att-placeholder="props.placeholder"
4451
+ t-on-change="save"
4452
+ t-on-blur="save"
4453
+ t-on-pointerdown="onMouseDown"
4454
+ t-on-pointerup="onMouseUp"
4455
+ t-on-keydown="onKeyDown"
4456
+ t-att-min="props.min"
4457
+ t-att-max="props.max"
4458
+ />
4459
+ </t>
4460
+
4350
4461
  <t t-name="o-spreadsheet-Menu-Popover">
4351
4462
  <Popover t-if="props.menuItems" t-props="popoverProps">
4352
4463
  <div t-ref="menu" class="o-menu-wrapper" t-on-mouseover="() => this.onMouseOverMainMenu()">
@@ -6110,7 +6221,6 @@
6110
6221
  t-on-wheel.prevent.stop=""
6111
6222
  t-on-click.stop="props.onFocusInput"
6112
6223
  t-on-focus.stop="onInputFocused"
6113
- t-att-value="props.currentFontSize"
6114
6224
  t-on-change="setSizeFromInput"
6115
6225
  t-ref="inputFontSize"
6116
6226
  />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.1.0-alpha.7",
3
+ "version": "19.1.0-alpha.9",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o-spreadsheet.cjs.js",