@trebco/treb 37.0.0 → 37.0.1
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/build/package.json +119 -0
- package/build/treb-base-types/src/api_types.d.ts +11 -0
- package/build/treb-base-types/src/api_types.js +22 -0
- package/build/treb-base-types/src/api_types.js.map +1 -0
- package/build/treb-base-types/src/area-utils.d.ts +9 -0
- package/build/treb-base-types/src/area-utils.js +50 -0
- package/build/treb-base-types/src/area-utils.js.map +1 -0
- package/build/treb-base-types/src/area.d.ts +182 -0
- package/build/treb-base-types/src/area.js +715 -0
- package/build/treb-base-types/src/area.js.map +1 -0
- package/build/treb-base-types/src/basic_types.d.ts +20 -0
- package/build/treb-base-types/src/basic_types.js +22 -0
- package/build/treb-base-types/src/basic_types.js.map +1 -0
- package/build/treb-base-types/src/cell.d.ts +167 -0
- package/build/treb-base-types/src/cell.js +432 -0
- package/build/treb-base-types/src/cell.js.map +1 -0
- package/build/treb-base-types/src/cells.d.ts +251 -0
- package/build/treb-base-types/src/cells.js +1136 -0
- package/build/treb-base-types/src/cells.js.map +1 -0
- package/build/treb-base-types/src/color.d.ts +35 -0
- package/build/treb-base-types/src/color.js +162 -0
- package/build/treb-base-types/src/color.js.map +1 -0
- package/build/treb-base-types/src/dom-utilities.d.ts +70 -0
- package/build/treb-base-types/src/dom-utilities.js +144 -0
- package/build/treb-base-types/src/dom-utilities.js.map +1 -0
- package/build/treb-base-types/src/evaluate-options.d.ts +35 -0
- package/build/treb-base-types/src/evaluate-options.js +22 -0
- package/build/treb-base-types/src/evaluate-options.js.map +1 -0
- package/build/treb-base-types/src/font-stack.d.ts +37 -0
- package/build/treb-base-types/src/font-stack.js +93 -0
- package/build/treb-base-types/src/font-stack.js.map +1 -0
- package/build/treb-base-types/src/gradient.d.ts +18 -0
- package/build/treb-base-types/src/gradient.js +86 -0
- package/build/treb-base-types/src/gradient.js.map +1 -0
- package/build/treb-base-types/src/import.d.ts +48 -0
- package/build/treb-base-types/src/import.js +22 -0
- package/build/treb-base-types/src/import.js.map +1 -0
- package/build/treb-base-types/src/index-standalone.d.ts +6 -0
- package/build/treb-base-types/src/index-standalone.js +27 -0
- package/build/treb-base-types/src/index-standalone.js.map +1 -0
- package/build/treb-base-types/src/index.d.ts +22 -0
- package/build/treb-base-types/src/index.js +45 -0
- package/build/treb-base-types/src/index.js.map +1 -0
- package/build/treb-base-types/src/layout.d.ts +22 -0
- package/build/treb-base-types/src/layout.js +22 -0
- package/build/treb-base-types/src/layout.js.map +1 -0
- package/build/treb-base-types/src/localization.d.ts +37 -0
- package/build/treb-base-types/src/localization.js +157 -0
- package/build/treb-base-types/src/localization.js.map +1 -0
- package/build/treb-base-types/src/rectangle.d.ts +51 -0
- package/build/treb-base-types/src/rectangle.js +123 -0
- package/build/treb-base-types/src/rectangle.js.map +1 -0
- package/build/treb-base-types/src/render_text.d.ts +34 -0
- package/build/treb-base-types/src/render_text.js +22 -0
- package/build/treb-base-types/src/render_text.js.map +1 -0
- package/build/treb-base-types/src/style.d.ts +214 -0
- package/build/treb-base-types/src/style.js +373 -0
- package/build/treb-base-types/src/style.js.map +1 -0
- package/build/treb-base-types/src/table.d.ts +58 -0
- package/build/treb-base-types/src/table.js +27 -0
- package/build/treb-base-types/src/table.js.map +1 -0
- package/build/treb-base-types/src/text_part.d.ts +26 -0
- package/build/treb-base-types/src/text_part.js +47 -0
- package/build/treb-base-types/src/text_part.js.map +1 -0
- package/build/treb-base-types/src/theme.d.ts +120 -0
- package/build/treb-base-types/src/theme.js +460 -0
- package/build/treb-base-types/src/theme.js.map +1 -0
- package/build/treb-base-types/src/union.d.ts +73 -0
- package/build/treb-base-types/src/union.js +61 -0
- package/build/treb-base-types/src/union.js.map +1 -0
- package/build/treb-base-types/src/value-type.d.ts +86 -0
- package/build/treb-base-types/src/value-type.js +168 -0
- package/build/treb-base-types/src/value-type.js.map +1 -0
- package/build/treb-base-types/src/worker-proxy.d.ts +95 -0
- package/build/treb-base-types/src/worker-proxy.js +221 -0
- package/build/treb-base-types/src/worker-proxy.js.map +1 -0
- package/build/treb-calculator/src/calculator.d.ts +249 -0
- package/build/treb-calculator/src/calculator.js +2755 -0
- package/build/treb-calculator/src/calculator.js.map +1 -0
- package/build/treb-calculator/src/complex-math.d.ts +75 -0
- package/build/treb-calculator/src/complex-math.js +559 -0
- package/build/treb-calculator/src/complex-math.js.map +1 -0
- package/build/treb-calculator/src/dag/array-vertex.d.ts +71 -0
- package/build/treb-calculator/src/dag/array-vertex.js +156 -0
- package/build/treb-calculator/src/dag/array-vertex.js.map +1 -0
- package/build/treb-calculator/src/dag/calculation_leaf_vertex.d.ts +48 -0
- package/build/treb-calculator/src/dag/calculation_leaf_vertex.js +84 -0
- package/build/treb-calculator/src/dag/calculation_leaf_vertex.js.map +1 -0
- package/build/treb-calculator/src/dag/graph.d.ts +134 -0
- package/build/treb-calculator/src/dag/graph.js +842 -0
- package/build/treb-calculator/src/dag/graph.js.map +1 -0
- package/build/treb-calculator/src/dag/spreadsheet_vertex.d.ts +58 -0
- package/build/treb-calculator/src/dag/spreadsheet_vertex.js +232 -0
- package/build/treb-calculator/src/dag/spreadsheet_vertex.js.map +1 -0
- package/build/treb-calculator/src/dag/spreadsheet_vertex_base.d.ts +20 -0
- package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js +25 -0
- package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js.map +1 -0
- package/build/treb-calculator/src/dag/state_leaf_vertex.d.ts +43 -0
- package/build/treb-calculator/src/dag/state_leaf_vertex.js +81 -0
- package/build/treb-calculator/src/dag/state_leaf_vertex.js.map +1 -0
- package/build/treb-calculator/src/dag/vertex.d.ts +71 -0
- package/build/treb-calculator/src/dag/vertex.js +274 -0
- package/build/treb-calculator/src/dag/vertex.js.map +1 -0
- package/build/treb-calculator/src/descriptors.d.ts +189 -0
- package/build/treb-calculator/src/descriptors.js +22 -0
- package/build/treb-calculator/src/descriptors.js.map +1 -0
- package/build/treb-calculator/src/expression-calculator.d.ts +127 -0
- package/build/treb-calculator/src/expression-calculator.js +1033 -0
- package/build/treb-calculator/src/expression-calculator.js.map +1 -0
- package/build/treb-calculator/src/function-error.d.ts +35 -0
- package/build/treb-calculator/src/function-error.js +85 -0
- package/build/treb-calculator/src/function-error.js.map +1 -0
- package/build/treb-calculator/src/function-library.d.ts +22 -0
- package/build/treb-calculator/src/function-library.js +96 -0
- package/build/treb-calculator/src/function-library.js.map +1 -0
- package/build/treb-calculator/src/functions/base-functions.d.ts +7 -0
- package/build/treb-calculator/src/functions/base-functions.js +2611 -0
- package/build/treb-calculator/src/functions/base-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/beta.d.ts +17 -0
- package/build/treb-calculator/src/functions/beta.js +201 -0
- package/build/treb-calculator/src/functions/beta.js.map +1 -0
- package/build/treb-calculator/src/functions/checkbox.d.ts +3 -0
- package/build/treb-calculator/src/functions/checkbox.js +128 -0
- package/build/treb-calculator/src/functions/checkbox.js.map +1 -0
- package/build/treb-calculator/src/functions/complex-functions.d.ts +2 -0
- package/build/treb-calculator/src/functions/complex-functions.js +217 -0
- package/build/treb-calculator/src/functions/complex-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/date-utils.d.ts +3 -0
- package/build/treb-calculator/src/functions/date-utils.js +59 -0
- package/build/treb-calculator/src/functions/date-utils.js.map +1 -0
- package/build/treb-calculator/src/functions/finance-functions.d.ts +2 -0
- package/build/treb-calculator/src/functions/finance-functions.js +547 -0
- package/build/treb-calculator/src/functions/finance-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/fp.d.ts +2 -0
- package/build/treb-calculator/src/functions/fp.js +463 -0
- package/build/treb-calculator/src/functions/fp.js.map +1 -0
- package/build/treb-calculator/src/functions/function-utilities.d.ts +2 -0
- package/build/treb-calculator/src/functions/function-utilities.js +36 -0
- package/build/treb-calculator/src/functions/function-utilities.js.map +1 -0
- package/build/treb-calculator/src/functions/gamma.d.ts +20 -0
- package/build/treb-calculator/src/functions/gamma.js +142 -0
- package/build/treb-calculator/src/functions/gamma.js.map +1 -0
- package/build/treb-calculator/src/functions/information-functions.d.ts +2 -0
- package/build/treb-calculator/src/functions/information-functions.js +71 -0
- package/build/treb-calculator/src/functions/information-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/lambda-functions.d.ts +2 -0
- package/build/treb-calculator/src/functions/lambda-functions.js +85 -0
- package/build/treb-calculator/src/functions/lambda-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/matrix-functions.d.ts +2 -0
- package/build/treb-calculator/src/functions/matrix-functions.js +144 -0
- package/build/treb-calculator/src/functions/matrix-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/normal.d.ts +2 -0
- package/build/treb-calculator/src/functions/normal.js +32 -0
- package/build/treb-calculator/src/functions/normal.js.map +1 -0
- package/build/treb-calculator/src/functions/regex-functions.d.ts +2 -0
- package/build/treb-calculator/src/functions/regex-functions.js +188 -0
- package/build/treb-calculator/src/functions/regex-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/sparkline.d.ts +37 -0
- package/build/treb-calculator/src/functions/sparkline.js +264 -0
- package/build/treb-calculator/src/functions/sparkline.js.map +1 -0
- package/build/treb-calculator/src/functions/statistics-functions.d.ts +6 -0
- package/build/treb-calculator/src/functions/statistics-functions.js +989 -0
- package/build/treb-calculator/src/functions/statistics-functions.js.map +1 -0
- package/build/treb-calculator/src/functions/students-t.d.ts +3 -0
- package/build/treb-calculator/src/functions/students-t.js +64 -0
- package/build/treb-calculator/src/functions/students-t.js.map +1 -0
- package/build/treb-calculator/src/functions/text-functions.d.ts +3 -0
- package/build/treb-calculator/src/functions/text-functions.js +320 -0
- package/build/treb-calculator/src/functions/text-functions.js.map +1 -0
- package/build/treb-calculator/src/index.d.ts +2 -0
- package/build/treb-calculator/src/index.js +22 -0
- package/build/treb-calculator/src/index.js.map +1 -0
- package/build/treb-calculator/src/notifier-types.d.ts +26 -0
- package/build/treb-calculator/src/notifier-types.js +22 -0
- package/build/treb-calculator/src/notifier-types.js.map +1 -0
- package/build/treb-calculator/src/primitives.d.ts +15 -0
- package/build/treb-calculator/src/primitives.js +398 -0
- package/build/treb-calculator/src/primitives.js.map +1 -0
- package/build/treb-calculator/src/utilities.d.ts +68 -0
- package/build/treb-calculator/src/utilities.js +324 -0
- package/build/treb-calculator/src/utilities.js.map +1 -0
- package/build/treb-charts/src/chart-functions.d.ts +8 -0
- package/build/treb-charts/src/chart-functions.js +209 -0
- package/build/treb-charts/src/chart-functions.js.map +1 -0
- package/build/treb-charts/src/chart-types.d.ts +233 -0
- package/build/treb-charts/src/chart-types.js +57 -0
- package/build/treb-charts/src/chart-types.js.map +1 -0
- package/build/treb-charts/src/chart-utils.d.ts +106 -0
- package/build/treb-charts/src/chart-utils.js +1060 -0
- package/build/treb-charts/src/chart-utils.js.map +1 -0
- package/build/treb-charts/src/chart.d.ts +23 -0
- package/build/treb-charts/src/chart.js +94 -0
- package/build/treb-charts/src/chart.js.map +1 -0
- package/build/treb-charts/src/default-chart-renderer.d.ts +16 -0
- package/build/treb-charts/src/default-chart-renderer.js +533 -0
- package/build/treb-charts/src/default-chart-renderer.js.map +1 -0
- package/build/treb-charts/src/index.d.ts +5 -0
- package/build/treb-charts/src/index.js +24 -0
- package/build/treb-charts/src/index.js.map +1 -0
- package/build/treb-charts/src/main.d.ts +1 -0
- package/build/treb-charts/src/main.js +34 -0
- package/build/treb-charts/src/main.js.map +1 -0
- package/build/treb-charts/src/quicksort.d.ts +1 -0
- package/build/treb-charts/src/quicksort.js +49 -0
- package/build/treb-charts/src/quicksort.js.map +1 -0
- package/build/treb-charts/src/rectangle.d.ts +18 -0
- package/build/treb-charts/src/rectangle.js +41 -0
- package/build/treb-charts/src/rectangle.js.map +1 -0
- package/build/treb-charts/src/renderer-type.d.ts +24 -0
- package/build/treb-charts/src/renderer-type.js +22 -0
- package/build/treb-charts/src/renderer-type.js.map +1 -0
- package/build/treb-charts/src/renderer.d.ts +127 -0
- package/build/treb-charts/src/renderer.js +1518 -0
- package/build/treb-charts/src/renderer.js.map +1 -0
- package/build/treb-charts/src/util.d.ts +18 -0
- package/build/treb-charts/src/util.js +71 -0
- package/build/treb-charts/src/util.js.map +1 -0
- package/build/treb-data-model/src/annotation.d.ts +167 -0
- package/build/treb-data-model/src/annotation.js +120 -0
- package/build/treb-data-model/src/annotation.js.map +1 -0
- package/build/treb-data-model/src/conditional_format.d.ts +155 -0
- package/build/treb-data-model/src/conditional_format.js +62 -0
- package/build/treb-data-model/src/conditional_format.js.map +1 -0
- package/build/treb-data-model/src/data-validation.d.ts +28 -0
- package/build/treb-data-model/src/data-validation.js +22 -0
- package/build/treb-data-model/src/data-validation.js.map +1 -0
- package/build/treb-data-model/src/data_model.d.ts +173 -0
- package/build/treb-data-model/src/data_model.js +637 -0
- package/build/treb-data-model/src/data_model.js.map +1 -0
- package/build/treb-data-model/src/index.d.ts +13 -0
- package/build/treb-data-model/src/index.js +28 -0
- package/build/treb-data-model/src/index.js.map +1 -0
- package/build/treb-data-model/src/language-model.d.ts +22 -0
- package/build/treb-data-model/src/language-model.js +22 -0
- package/build/treb-data-model/src/language-model.js.map +1 -0
- package/build/treb-data-model/src/named.d.ts +124 -0
- package/build/treb-data-model/src/named.js +372 -0
- package/build/treb-data-model/src/named.js.map +1 -0
- package/build/treb-data-model/src/serialize_options.d.ts +49 -0
- package/build/treb-data-model/src/serialize_options.js +22 -0
- package/build/treb-data-model/src/serialize_options.js.map +1 -0
- package/build/treb-data-model/src/sheet.d.ts +499 -0
- package/build/treb-data-model/src/sheet.js +2904 -0
- package/build/treb-data-model/src/sheet.js.map +1 -0
- package/build/treb-data-model/src/sheet_collection.d.ts +58 -0
- package/build/treb-data-model/src/sheet_collection.js +112 -0
- package/build/treb-data-model/src/sheet_collection.js.map +1 -0
- package/build/treb-data-model/src/sheet_selection.d.ts +42 -0
- package/build/treb-data-model/src/sheet_selection.js +39 -0
- package/build/treb-data-model/src/sheet_selection.js.map +1 -0
- package/build/treb-data-model/src/sheet_types.d.ts +104 -0
- package/build/treb-data-model/src/sheet_types.js +22 -0
- package/build/treb-data-model/src/sheet_types.js.map +1 -0
- package/build/treb-data-model/src/types.d.ts +59 -0
- package/build/treb-data-model/src/types.js +22 -0
- package/build/treb-data-model/src/types.js.map +1 -0
- package/build/treb-embed/src/custom-element/spreadsheet-constructor.d.ts +75 -0
- package/build/treb-embed/src/custom-element/spreadsheet-constructor.js +1144 -0
- package/build/treb-embed/src/custom-element/spreadsheet-constructor.js.map +1 -0
- package/build/treb-embed/src/custom-element/treb-global.d.ts +36 -0
- package/build/treb-embed/src/custom-element/treb-global.js +64 -0
- package/build/treb-embed/src/custom-element/treb-global.js.map +1 -0
- package/build/treb-embed/src/custom-element/treb-spreadsheet-element.d.ts +1 -0
- package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js +61 -0
- package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js.map +1 -0
- package/build/treb-embed/src/embedded-spreadsheet.d.ts +1358 -0
- package/build/treb-embed/src/embedded-spreadsheet.js +5205 -0
- package/build/treb-embed/src/embedded-spreadsheet.js.map +1 -0
- package/build/treb-embed/src/index.d.ts +12 -0
- package/build/treb-embed/src/index.js +34 -0
- package/build/treb-embed/src/index.js.map +1 -0
- package/build/treb-embed/src/options.d.ts +266 -0
- package/build/treb-embed/src/options.js +56 -0
- package/build/treb-embed/src/options.js.map +1 -0
- package/build/treb-embed/src/plugin.d.ts +9 -0
- package/build/treb-embed/src/plugin.js +22 -0
- package/build/treb-embed/src/plugin.js.map +1 -0
- package/build/treb-embed/src/progress-dialog.d.ts +49 -0
- package/build/treb-embed/src/progress-dialog.js +178 -0
- package/build/treb-embed/src/progress-dialog.js.map +1 -0
- package/build/treb-embed/src/selection-state.d.ts +15 -0
- package/build/treb-embed/src/selection-state.js +22 -0
- package/build/treb-embed/src/selection-state.js.map +1 -0
- package/build/treb-embed/src/spinner.d.ts +8 -0
- package/build/treb-embed/src/spinner.js +40 -0
- package/build/treb-embed/src/spinner.js.map +1 -0
- package/build/treb-embed/src/toolbar-message.d.ts +72 -0
- package/build/treb-embed/src/toolbar-message.js +22 -0
- package/build/treb-embed/src/toolbar-message.js.map +1 -0
- package/build/treb-embed/src/types.d.ts +185 -0
- package/build/treb-embed/src/types.js +45 -0
- package/build/treb-embed/src/types.js.map +1 -0
- package/build/treb-embed/tsconfig.tsbuildinfo +1 -0
- package/build/treb-export/src/address-type.d.ts +34 -0
- package/build/treb-export/src/address-type.js +53 -0
- package/build/treb-export/src/address-type.js.map +1 -0
- package/build/treb-export/src/base-template.d.ts +1 -0
- package/build/treb-export/src/base-template.js +22 -0
- package/build/treb-export/src/base-template.js.map +1 -0
- package/build/treb-export/src/column-width.d.ts +2 -0
- package/build/treb-export/src/column-width.js +80 -0
- package/build/treb-export/src/column-width.js.map +1 -0
- package/build/treb-export/src/drawing/bubble-chart-template.d.ts +514 -0
- package/build/treb-export/src/drawing/bubble-chart-template.js +544 -0
- package/build/treb-export/src/drawing/bubble-chart-template.js.map +1 -0
- package/build/treb-export/src/drawing/chart-template-components2.d.ts +365 -0
- package/build/treb-export/src/drawing/chart-template-components2.js +386 -0
- package/build/treb-export/src/drawing/chart-template-components2.js.map +1 -0
- package/build/treb-export/src/drawing/chart.d.ts +26 -0
- package/build/treb-export/src/drawing/chart.js +247 -0
- package/build/treb-export/src/drawing/chart.js.map +1 -0
- package/build/treb-export/src/drawing/column-chart-template2.d.ts +490 -0
- package/build/treb-export/src/drawing/column-chart-template2.js +518 -0
- package/build/treb-export/src/drawing/column-chart-template2.js.map +1 -0
- package/build/treb-export/src/drawing/donut-chart-template2.d.ts +272 -0
- package/build/treb-export/src/drawing/donut-chart-template2.js +293 -0
- package/build/treb-export/src/drawing/donut-chart-template2.js.map +1 -0
- package/build/treb-export/src/drawing/drawing.d.ts +49 -0
- package/build/treb-export/src/drawing/drawing.js +193 -0
- package/build/treb-export/src/drawing/drawing.js.map +1 -0
- package/build/treb-export/src/drawing/embedded-image.d.ts +12 -0
- package/build/treb-export/src/drawing/embedded-image.js +54 -0
- package/build/treb-export/src/drawing/embedded-image.js.map +1 -0
- package/build/treb-export/src/drawing/scatter-chart-template2.d.ts +520 -0
- package/build/treb-export/src/drawing/scatter-chart-template2.js +551 -0
- package/build/treb-export/src/drawing/scatter-chart-template2.js.map +1 -0
- package/build/treb-export/src/export.d.ts +72 -0
- package/build/treb-export/src/export.js +2039 -0
- package/build/treb-export/src/export.js.map +1 -0
- package/build/treb-export/src/import-export-messages.d.ts +31 -0
- package/build/treb-export/src/import-export-messages.js +22 -0
- package/build/treb-export/src/import-export-messages.js.map +1 -0
- package/build/treb-export/src/import.d.ts +33 -0
- package/build/treb-export/src/import.js +1258 -0
- package/build/treb-export/src/import.js.map +1 -0
- package/build/treb-export/src/index.worker.d.ts +1 -0
- package/build/treb-export/src/index.worker.js +93 -0
- package/build/treb-export/src/index.worker.js.map +1 -0
- package/build/treb-export/src/metadata.d.ts +51 -0
- package/build/treb-export/src/metadata.js +153 -0
- package/build/treb-export/src/metadata.js.map +1 -0
- package/build/treb-export/src/ooxml.d.ts +7 -0
- package/build/treb-export/src/ooxml.js +41 -0
- package/build/treb-export/src/ooxml.js.map +1 -0
- package/build/treb-export/src/relationship.d.ts +8 -0
- package/build/treb-export/src/relationship.js +27 -0
- package/build/treb-export/src/relationship.js.map +1 -0
- package/build/treb-export/src/shared-strings.d.ts +11 -0
- package/build/treb-export/src/shared-strings.js +105 -0
- package/build/treb-export/src/shared-strings.js.map +1 -0
- package/build/treb-export/src/template-2.d.ts +1 -0
- package/build/treb-export/src/template-2.js +22 -0
- package/build/treb-export/src/template-2.js.map +1 -0
- package/build/treb-export/src/unescape_xml.d.ts +1 -0
- package/build/treb-export/src/unescape_xml.js +61 -0
- package/build/treb-export/src/unescape_xml.js.map +1 -0
- package/build/treb-export/src/workbook-sheet.d.ts +75 -0
- package/build/treb-export/src/workbook-sheet.js +128 -0
- package/build/treb-export/src/workbook-sheet.js.map +1 -0
- package/build/treb-export/src/workbook-style.d.ts +110 -0
- package/build/treb-export/src/workbook-style.js +1134 -0
- package/build/treb-export/src/workbook-style.js.map +1 -0
- package/build/treb-export/src/workbook-theme.d.ts +13 -0
- package/build/treb-export/src/workbook-theme.js +85 -0
- package/build/treb-export/src/workbook-theme.js.map +1 -0
- package/build/treb-export/src/workbook.d.ts +123 -0
- package/build/treb-export/src/workbook.js +644 -0
- package/build/treb-export/src/workbook.js.map +1 -0
- package/build/treb-export/src/xml-test.d.ts +9 -0
- package/build/treb-export/src/xml-test.js +52 -0
- package/build/treb-export/src/xml-test.js.map +1 -0
- package/build/treb-export/src/xml-utils.d.ts +76 -0
- package/build/treb-export/src/xml-utils.js +223 -0
- package/build/treb-export/src/xml-utils.js.map +1 -0
- package/build/treb-export/src/zip-wrapper.d.ts +22 -0
- package/build/treb-export/src/zip-wrapper.js +93 -0
- package/build/treb-export/src/zip-wrapper.js.map +1 -0
- package/build/treb-format/src/format.d.ts +130 -0
- package/build/treb-format/src/format.js +805 -0
- package/build/treb-format/src/format.js.map +1 -0
- package/build/treb-format/src/format_cache.d.ts +55 -0
- package/build/treb-format/src/format_cache.js +166 -0
- package/build/treb-format/src/format_cache.js.map +1 -0
- package/build/treb-format/src/format_parser.d.ts +70 -0
- package/build/treb-format/src/format_parser.js +618 -0
- package/build/treb-format/src/format_parser.js.map +1 -0
- package/build/treb-format/src/index.d.ts +4 -0
- package/build/treb-format/src/index.js +25 -0
- package/build/treb-format/src/index.js.map +1 -0
- package/build/treb-format/src/number_format_section.d.ts +58 -0
- package/build/treb-format/src/number_format_section.js +78 -0
- package/build/treb-format/src/number_format_section.js.map +1 -0
- package/build/treb-format/src/value_parser.d.ts +48 -0
- package/build/treb-format/src/value_parser.js +244 -0
- package/build/treb-format/src/value_parser.js.map +1 -0
- package/build/treb-grid/src/editors/autocomplete.d.ts +39 -0
- package/build/treb-grid/src/editors/autocomplete.js +316 -0
- package/build/treb-grid/src/editors/autocomplete.js.map +1 -0
- package/build/treb-grid/src/editors/autocomplete_matcher.d.ts +74 -0
- package/build/treb-grid/src/editors/autocomplete_matcher.js +212 -0
- package/build/treb-grid/src/editors/autocomplete_matcher.js.map +1 -0
- package/build/treb-grid/src/editors/editor.d.ts +214 -0
- package/build/treb-grid/src/editors/editor.js +879 -0
- package/build/treb-grid/src/editors/editor.js.map +1 -0
- package/build/treb-grid/src/editors/external_editor.d.ts +11 -0
- package/build/treb-grid/src/editors/external_editor.js +118 -0
- package/build/treb-grid/src/editors/external_editor.js.map +1 -0
- package/build/treb-grid/src/editors/formula_bar.d.ts +85 -0
- package/build/treb-grid/src/editors/formula_bar.js +444 -0
- package/build/treb-grid/src/editors/formula_bar.js.map +1 -0
- package/build/treb-grid/src/editors/overlay_editor.d.ts +85 -0
- package/build/treb-grid/src/editors/overlay_editor.js +353 -0
- package/build/treb-grid/src/editors/overlay_editor.js.map +1 -0
- package/build/treb-grid/src/index.d.ts +12 -0
- package/build/treb-grid/src/index.js +28 -0
- package/build/treb-grid/src/index.js.map +1 -0
- package/build/treb-grid/src/layout/base_layout.d.ts +346 -0
- package/build/treb-grid/src/layout/base_layout.js +2050 -0
- package/build/treb-grid/src/layout/base_layout.js.map +1 -0
- package/build/treb-grid/src/layout/grid_layout.d.ts +19 -0
- package/build/treb-grid/src/layout/grid_layout.js +235 -0
- package/build/treb-grid/src/layout/grid_layout.js.map +1 -0
- package/build/treb-grid/src/layout/mock-layout.d.ts +10 -0
- package/build/treb-grid/src/layout/mock-layout.js +37 -0
- package/build/treb-grid/src/layout/mock-layout.js.map +1 -0
- package/build/treb-grid/src/render/selection-renderer.d.ts +97 -0
- package/build/treb-grid/src/render/selection-renderer.js +315 -0
- package/build/treb-grid/src/render/selection-renderer.js.map +1 -0
- package/build/treb-grid/src/render/svg_header_overlay.d.ts +20 -0
- package/build/treb-grid/src/render/svg_header_overlay.js +76 -0
- package/build/treb-grid/src/render/svg_header_overlay.js.map +1 -0
- package/build/treb-grid/src/render/svg_selection_block.d.ts +27 -0
- package/build/treb-grid/src/render/svg_selection_block.js +106 -0
- package/build/treb-grid/src/render/svg_selection_block.js.map +1 -0
- package/build/treb-grid/src/render/tile_renderer.d.ts +121 -0
- package/build/treb-grid/src/render/tile_renderer.js +1609 -0
- package/build/treb-grid/src/render/tile_renderer.js.map +1 -0
- package/build/treb-grid/src/types/border_constants.d.ts +9 -0
- package/build/treb-grid/src/types/border_constants.js +34 -0
- package/build/treb-grid/src/types/border_constants.js.map +1 -0
- package/build/treb-grid/src/types/clipboard_data.d.ts +11 -0
- package/build/treb-grid/src/types/clipboard_data.js +22 -0
- package/build/treb-grid/src/types/clipboard_data.js.map +1 -0
- package/build/treb-grid/src/types/clipboard_data2.d.ts +46 -0
- package/build/treb-grid/src/types/clipboard_data2.js +22 -0
- package/build/treb-grid/src/types/clipboard_data2.js.map +1 -0
- package/build/treb-grid/src/types/drag_mask.d.ts +10 -0
- package/build/treb-grid/src/types/drag_mask.js +78 -0
- package/build/treb-grid/src/types/drag_mask.js.map +1 -0
- package/build/treb-grid/src/types/external_editor_config.d.ts +33 -0
- package/build/treb-grid/src/types/external_editor_config.js +22 -0
- package/build/treb-grid/src/types/external_editor_config.js.map +1 -0
- package/build/treb-grid/src/types/grid.d.ts +806 -0
- package/build/treb-grid/src/types/grid.js +6410 -0
- package/build/treb-grid/src/types/grid.js.map +1 -0
- package/build/treb-grid/src/types/grid_base.d.ts +442 -0
- package/build/treb-grid/src/types/grid_base.js +3523 -0
- package/build/treb-grid/src/types/grid_base.js.map +1 -0
- package/build/treb-grid/src/types/grid_command.d.ts +408 -0
- package/build/treb-grid/src/types/grid_command.js +75 -0
- package/build/treb-grid/src/types/grid_command.js.map +1 -0
- package/build/treb-grid/src/types/grid_events.d.ts +93 -0
- package/build/treb-grid/src/types/grid_events.js +36 -0
- package/build/treb-grid/src/types/grid_events.js.map +1 -0
- package/build/treb-grid/src/types/grid_options.d.ts +50 -0
- package/build/treb-grid/src/types/grid_options.js +34 -0
- package/build/treb-grid/src/types/grid_options.js.map +1 -0
- package/build/treb-grid/src/types/scale-control.d.ts +21 -0
- package/build/treb-grid/src/types/scale-control.js +148 -0
- package/build/treb-grid/src/types/scale-control.js.map +1 -0
- package/build/treb-grid/src/types/set_range_options.d.ts +24 -0
- package/build/treb-grid/src/types/set_range_options.js +22 -0
- package/build/treb-grid/src/types/set_range_options.js.map +1 -0
- package/build/treb-grid/src/types/tab_bar.d.ts +84 -0
- package/build/treb-grid/src/types/tab_bar.js +426 -0
- package/build/treb-grid/src/types/tab_bar.js.map +1 -0
- package/build/treb-grid/src/types/tile.d.ts +29 -0
- package/build/treb-grid/src/types/tile.js +22 -0
- package/build/treb-grid/src/types/tile.js.map +1 -0
- package/build/treb-grid/src/types/update_flags.d.ts +48 -0
- package/build/treb-grid/src/types/update_flags.js +22 -0
- package/build/treb-grid/src/types/update_flags.js.map +1 -0
- package/build/treb-grid/src/util/fontmetrics.d.ts +21 -0
- package/build/treb-grid/src/util/fontmetrics.js +82 -0
- package/build/treb-grid/src/util/fontmetrics.js.map +1 -0
- package/build/treb-grid/src/util/ua.d.ts +33 -0
- package/build/treb-grid/src/util/ua.js +86 -0
- package/build/treb-grid/src/util/ua.js.map +1 -0
- package/build/treb-parser/src/csv-parser.d.ts +13 -0
- package/build/treb-parser/src/csv-parser.js +107 -0
- package/build/treb-parser/src/csv-parser.js.map +1 -0
- package/build/treb-parser/src/index.d.ts +4 -0
- package/build/treb-parser/src/index.js +25 -0
- package/build/treb-parser/src/index.js.map +1 -0
- package/build/treb-parser/src/md-parser.d.ts +97 -0
- package/build/treb-parser/src/md-parser.js +403 -0
- package/build/treb-parser/src/md-parser.js.map +1 -0
- package/build/treb-parser/src/parser-types.d.ts +345 -0
- package/build/treb-parser/src/parser-types.js +53 -0
- package/build/treb-parser/src/parser-types.js.map +1 -0
- package/build/treb-parser/src/parser.d.ts +422 -0
- package/build/treb-parser/src/parser.js +2418 -0
- package/build/treb-parser/src/parser.js.map +1 -0
- package/build/treb-utils/src/event_source.d.ts +34 -0
- package/build/treb-utils/src/event_source.js +110 -0
- package/build/treb-utils/src/event_source.js.map +1 -0
- package/build/treb-utils/src/ievent_source.d.ts +9 -0
- package/build/treb-utils/src/ievent_source.js +22 -0
- package/build/treb-utils/src/ievent_source.js.map +1 -0
- package/build/treb-utils/src/index.d.ts +6 -0
- package/build/treb-utils/src/index.js +30 -0
- package/build/treb-utils/src/index.js.map +1 -0
- package/build/treb-utils/src/measurement.d.ts +42 -0
- package/build/treb-utils/src/measurement.js +145 -0
- package/build/treb-utils/src/measurement.js.map +1 -0
- package/build/treb-utils/src/scale.d.ts +16 -0
- package/build/treb-utils/src/scale.js +106 -0
- package/build/treb-utils/src/scale.js.map +1 -0
- package/build/treb-utils/src/serialize_html.d.ts +5 -0
- package/build/treb-utils/src/serialize_html.js +128 -0
- package/build/treb-utils/src/serialize_html.js.map +1 -0
- package/build/treb-utils/src/validate_uri.d.ts +20 -0
- package/build/treb-utils/src/validate_uri.js +55 -0
- package/build/treb-utils/src/validate_uri.js.map +1 -0
- package/dist/{chunk-XD5PEZBZ.mjs → chunk-E35ONJUS.mjs} +1 -1
- package/dist/treb-export-worker.mjs +2 -2
- package/dist/treb-spreadsheet.mjs +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,806 @@
|
|
|
1
|
+
import type { Theme, IArea, Extent, CellValue, ICellAddress, ImportedSheetData, Color, CellStyle, IRectangle } from 'treb-base-types';
|
|
2
|
+
import { Area } from 'treb-base-types';
|
|
3
|
+
import type { StatsEntry } from './tab_bar';
|
|
4
|
+
import type { GridEvent, GridSelectionEvent } from './grid_events';
|
|
5
|
+
import type { SerializedNamed, DataModel, GridSelection, LegacySerializedSheet } from 'treb-data-model';
|
|
6
|
+
import { Annotation, type AnnotationData, Sheet } from 'treb-data-model';
|
|
7
|
+
import { FormulaBar } from '../editors/formula_bar';
|
|
8
|
+
import type { GridOptions } from './grid_options';
|
|
9
|
+
import { BorderConstants } from './border_constants';
|
|
10
|
+
import type { Command, FreezeCommand, InsertRowsCommand, InsertColumnsCommand, ActivateSheetCommand, ResizeRowsCommand, ResizeColumnsCommand, SelectCommand, CreateAnnotationCommand, RemoveAnnotationCommand } from './grid_command';
|
|
11
|
+
import { DOMContext } from 'treb-base-types';
|
|
12
|
+
import { GridBase } from './grid_base';
|
|
13
|
+
import type { SetRangeOptions } from './set_range_options';
|
|
14
|
+
import type { ExternalEditorConfig } from './external_editor_config';
|
|
15
|
+
import type { ClipboardData, PasteOptions } from './clipboard_data2';
|
|
16
|
+
export declare class Grid extends GridBase {
|
|
17
|
+
hide_selection: boolean;
|
|
18
|
+
headless: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* we're tracking the current selected style so we can use it for new
|
|
21
|
+
* cells. conceptually, if you are typing in a font (stack) like handwritten,
|
|
22
|
+
* and you enter a new cell, you probably want to type in the same font
|
|
23
|
+
* there. so we want to make that happen. TODO: size
|
|
24
|
+
*/
|
|
25
|
+
readonly edit_state: CellStyle;
|
|
26
|
+
get scale(): number;
|
|
27
|
+
set scale(value: number);
|
|
28
|
+
/**
|
|
29
|
+
* the theme object exists so we can pass it to constructors for
|
|
30
|
+
* various components, but it's no longer initialized until the
|
|
31
|
+
* initialization step (when we have a node).
|
|
32
|
+
*/
|
|
33
|
+
readonly theme: Theme;
|
|
34
|
+
/**
|
|
35
|
+
* this was private, which made sense, but there's a case where the
|
|
36
|
+
* client (embedded sheet) wants to check if an annotation is selected.
|
|
37
|
+
* we need to allow that somehow, ideally without any reacharounds.
|
|
38
|
+
*
|
|
39
|
+
* I guess the concern is a client could modify it, but at this point
|
|
40
|
+
* we really only have one client and we trust it. making this public.
|
|
41
|
+
* we could maybe switch to an accessor or have a "is this selected?" method.
|
|
42
|
+
*/
|
|
43
|
+
selected_annotation?: Annotation;
|
|
44
|
+
private hover_data;
|
|
45
|
+
/** are we editing? */
|
|
46
|
+
private editing_state;
|
|
47
|
+
/** if we are editing, what is the cell? */
|
|
48
|
+
private editing_cell;
|
|
49
|
+
/** */
|
|
50
|
+
private editing_selection;
|
|
51
|
+
/** */
|
|
52
|
+
private editing_annotation?;
|
|
53
|
+
/** */
|
|
54
|
+
private pending_reset_selection;
|
|
55
|
+
/** */
|
|
56
|
+
private view_node?;
|
|
57
|
+
/** containing element, passed in */
|
|
58
|
+
private container?;
|
|
59
|
+
/** dom structure for grid */
|
|
60
|
+
private readonly layout;
|
|
61
|
+
/**
|
|
62
|
+
* this flag is used to lazily rebuild tiles. that prevents flashing if
|
|
63
|
+
* there is a lot of work between a reset/document change and the next
|
|
64
|
+
* paint call.
|
|
65
|
+
*/
|
|
66
|
+
private tile_update_pending;
|
|
67
|
+
private scroll_offset_pending?;
|
|
68
|
+
/**
|
|
69
|
+
* for coediting/remotes, we may make a structural change that requires
|
|
70
|
+
* a full repaint of another sheet -- we won't be able to do that until
|
|
71
|
+
* the sheet is displayed. so let's keep track of these.
|
|
72
|
+
*
|
|
73
|
+
* these are numbers so we can use a sparse array. (or we could use a set...)
|
|
74
|
+
*/
|
|
75
|
+
private pending_layout_update;
|
|
76
|
+
/** this is used when testing if a typed character is numeric */
|
|
77
|
+
private decimal_separator_code;
|
|
78
|
+
/** new key capture overlay/ICE */
|
|
79
|
+
private overlay_editor?;
|
|
80
|
+
/** moving autocomplete to a class field */
|
|
81
|
+
private autocomplete?;
|
|
82
|
+
/** formula bar editor (optional) */
|
|
83
|
+
protected formula_bar?: FormulaBar;
|
|
84
|
+
private RESIZE_PIXEL_BUFFER;
|
|
85
|
+
/**
|
|
86
|
+
* formalizing the concept of external selection to support outside tooling.
|
|
87
|
+
*
|
|
88
|
+
* FIXME: stop testing on this field. we need a better way to figure out
|
|
89
|
+
* if the external editor is active.
|
|
90
|
+
*/
|
|
91
|
+
private external_editor_config?;
|
|
92
|
+
/**
|
|
93
|
+
* support for external editor. created on demand.
|
|
94
|
+
*/
|
|
95
|
+
private external_editor?;
|
|
96
|
+
/**
|
|
97
|
+
* flag indicating we're resizing, or hovering over a resize.
|
|
98
|
+
* we use this so we know what to do when we see a click on the headers.
|
|
99
|
+
*/
|
|
100
|
+
private cell_resize;
|
|
101
|
+
/**
|
|
102
|
+
* this is the only thing that was used in the old 'render state',
|
|
103
|
+
* so we dropped the container.
|
|
104
|
+
*/
|
|
105
|
+
private render_tiles;
|
|
106
|
+
/**
|
|
107
|
+
* the main selection for interacting with the spreadsheet
|
|
108
|
+
*/
|
|
109
|
+
protected readonly primary_selection: GridSelection;
|
|
110
|
+
/** reusing type. FIXME? we don't need a target */
|
|
111
|
+
protected readonly spill_selection: GridSelection;
|
|
112
|
+
/**
|
|
113
|
+
* active selection when selecting arguments (while editing)
|
|
114
|
+
*/
|
|
115
|
+
protected readonly active_selection: GridSelection;
|
|
116
|
+
/**
|
|
117
|
+
* this flag is for testing if we were previously in the nub
|
|
118
|
+
*/
|
|
119
|
+
private nub_select_flag;
|
|
120
|
+
/**
|
|
121
|
+
* additional selections that are rendered but not otherwise used.
|
|
122
|
+
* this array is now readonly, so we can bind it to the selection
|
|
123
|
+
* renderer (we do this with the primary selection as well)
|
|
124
|
+
*/
|
|
125
|
+
private readonly additional_selections;
|
|
126
|
+
/**
|
|
127
|
+
* state data for handling double-clicks. because we're using
|
|
128
|
+
* mousedown, we need to synthesize double-clicks with a timeout.
|
|
129
|
+
*/
|
|
130
|
+
private double_click_data;
|
|
131
|
+
/**
|
|
132
|
+
* window timer/request animation frame token. this is used to prevent
|
|
133
|
+
* excess repaints on scroll. FIXME: can this merge with the delayed
|
|
134
|
+
* render token? I think originally it was separate because that other
|
|
135
|
+
* method was too slow for scrolling... maybe...
|
|
136
|
+
*/
|
|
137
|
+
private layout_token;
|
|
138
|
+
/** window timer/request animation frame token */
|
|
139
|
+
private render_token;
|
|
140
|
+
/** */
|
|
141
|
+
private tile_renderer?;
|
|
142
|
+
/** */
|
|
143
|
+
private selection_renderer?;
|
|
144
|
+
private tab_bar?;
|
|
145
|
+
private DOM;
|
|
146
|
+
/**
|
|
147
|
+
* FIXME: NO PARAMETER INITIALIZATIONS
|
|
148
|
+
*/
|
|
149
|
+
constructor(options: GridOptions | undefined, model: DataModel, theme: Theme | undefined, initialze_dom: boolean | undefined, DOM: DOMContext);
|
|
150
|
+
/**
|
|
151
|
+
* internal composite for cut/copy. mostly identical except we
|
|
152
|
+
* read data as A1 for cut, so it will retain references. also
|
|
153
|
+
* cut clears the data.
|
|
154
|
+
*
|
|
155
|
+
* FIXME: merge with grid cut/copy/paste routines. we already
|
|
156
|
+
* handle recycling and relative addressing, the only thing missing
|
|
157
|
+
* is alternate formats.
|
|
158
|
+
*/
|
|
159
|
+
CopyArea(resolved: Area, semantics?: 'cut' | 'copy'): ClipboardData;
|
|
160
|
+
/**
|
|
161
|
+
* paste clipboard data into a target range. this method does not use
|
|
162
|
+
* the system clipboard; pass in clipboard data returned from the Cut or
|
|
163
|
+
* Copy method.
|
|
164
|
+
*
|
|
165
|
+
* @param target - the target to paste data into. this can be larger
|
|
166
|
+
* than the clipboard data, in which case values will be recycled in
|
|
167
|
+
* blocks. if the target is smaller than the source data, we will expand
|
|
168
|
+
* it to fit the data.
|
|
169
|
+
*
|
|
170
|
+
* @param data - clipboard data to paste.
|
|
171
|
+
*
|
|
172
|
+
* @privateRemarks LLM API
|
|
173
|
+
*
|
|
174
|
+
* @privateRemarks this was async when we were thinking of using the
|
|
175
|
+
* system clipboard, but that's pretty broken so we're not going to
|
|
176
|
+
* bother atm.
|
|
177
|
+
*/
|
|
178
|
+
PasteArea(resolved: Area, data: ClipboardData, options?: PasteOptions): void;
|
|
179
|
+
/**
|
|
180
|
+
* re-select the current selection, for side effects. used when switching
|
|
181
|
+
* languages to update the function view (if any)
|
|
182
|
+
*/
|
|
183
|
+
Reselect(): void;
|
|
184
|
+
/**
|
|
185
|
+
* set note at the given address, or current selection
|
|
186
|
+
* @param address optional address; if not used, note will be set/cleared
|
|
187
|
+
* at current selection
|
|
188
|
+
* @param note new note, or undefined to clear note
|
|
189
|
+
*/
|
|
190
|
+
SetNote(address?: ICellAddress, note?: string): void;
|
|
191
|
+
/** find an annotation, given a node */
|
|
192
|
+
FindAnnotation(node: HTMLElement): Annotation | undefined;
|
|
193
|
+
CreateAnnotation(properties?: Partial<AnnotationData>, sheet?: Sheet, add_to_sheet?: boolean, offset?: boolean, target?: IArea | IRectangle, focus?: boolean): void;
|
|
194
|
+
/**
|
|
195
|
+
* create an annotation, with properties, without an original object.
|
|
196
|
+
* optionally (and by default) add to sheet.
|
|
197
|
+
*
|
|
198
|
+
* @param offset check for a matching position (top-left) and if found,
|
|
199
|
+
* shift by (X) pixels. intended for copy-paste, where we don't want to
|
|
200
|
+
* paste immediately on top of the original.
|
|
201
|
+
*
|
|
202
|
+
* @param target new parameter allows setting annotation as rect or as
|
|
203
|
+
* cell range
|
|
204
|
+
*/
|
|
205
|
+
protected CreateAnnotationInternal(command: CreateAnnotationCommand): void;
|
|
206
|
+
/** placeholder */
|
|
207
|
+
UpdateAnnotationLayout(): void;
|
|
208
|
+
/** add an annotation. it will be returned with a usable node. */
|
|
209
|
+
AddAnnotation(annotation: Annotation, toll_events?: boolean, add_to_layout?: boolean): void;
|
|
210
|
+
/**
|
|
211
|
+
* call this method if an annotation is updated externally -- we're not
|
|
212
|
+
* watching for mutation, so if they change and we need to update, we
|
|
213
|
+
* won't know about it unless you tell us. sometimes this will be
|
|
214
|
+
* superfluous but (assuming it's one at a time) should not be too expensive
|
|
215
|
+
*/
|
|
216
|
+
AnnotationUpdated(annotation: Annotation): void;
|
|
217
|
+
/**
|
|
218
|
+
* removes an annotation from the list, and removes the node its
|
|
219
|
+
* the parent (although the node still exists in the annotation, if
|
|
220
|
+
* it existed before).
|
|
221
|
+
*/
|
|
222
|
+
RemoveAnnotation(annotation: Annotation, sheet?: Sheet): void;
|
|
223
|
+
protected RemoveAnnotationInternal(command: RemoveAnnotationCommand): void;
|
|
224
|
+
/**
|
|
225
|
+
* this method removes annotation nodes from the grid/layout, but doesn't
|
|
226
|
+
* affect the underlying data. this should be used to remove annotations
|
|
227
|
+
* when switching sheets.
|
|
228
|
+
*
|
|
229
|
+
* you can also use it when cleaning up, if the underlying data will also
|
|
230
|
+
* be wiped from the model.
|
|
231
|
+
*/
|
|
232
|
+
RemoveAnnotationNodes(): void;
|
|
233
|
+
/**
|
|
234
|
+
* show or hide headers
|
|
235
|
+
*
|
|
236
|
+
* FIXME: this shouldn't be sent if the current value === the desired value
|
|
237
|
+
*
|
|
238
|
+
* FIXME: this is a display option. I'm not sure it should go through the
|
|
239
|
+
* command queue, because it's a local choice. leaving for now, but FIXME
|
|
240
|
+
*/
|
|
241
|
+
ShowHeaders(show?: boolean): void;
|
|
242
|
+
/**
|
|
243
|
+
* this method is called after an XLSX import.
|
|
244
|
+
*
|
|
245
|
+
* FIXME: should this not be in base? (...)
|
|
246
|
+
*
|
|
247
|
+
* I suppose it's specific to an environment that _could_ import XLSX,
|
|
248
|
+
* so it's not strictly speaking generic.
|
|
249
|
+
*/
|
|
250
|
+
FromImportData(import_data: {
|
|
251
|
+
sheets: ImportedSheetData[];
|
|
252
|
+
named?: SerializedNamed[];
|
|
253
|
+
active_tab?: number;
|
|
254
|
+
}, render?: boolean): void;
|
|
255
|
+
/**
|
|
256
|
+
* This function is called via Shift+PageUp/PageDown. We need
|
|
257
|
+
* to update to account for hidden sheets, which can't be activated.
|
|
258
|
+
*/
|
|
259
|
+
NextSheet(step?: number, user?: boolean): void;
|
|
260
|
+
/**
|
|
261
|
+
* UpdateSheets means "set these as the sheets, drop any old stuff".
|
|
262
|
+
* there's an implicit reset (in fact we may do that twice in some
|
|
263
|
+
* cases).
|
|
264
|
+
*
|
|
265
|
+
*/
|
|
266
|
+
UpdateSheets(data: LegacySerializedSheet[], render?: boolean, activate_sheet?: number | string): void;
|
|
267
|
+
/**
|
|
268
|
+
* rebuild layout on a resize. we are not trapping resize events, clients
|
|
269
|
+
* should do that (also this works for embedded elements that are not
|
|
270
|
+
* directly affected by document resize).
|
|
271
|
+
*/
|
|
272
|
+
UpdateLayout(): void;
|
|
273
|
+
/**
|
|
274
|
+
* we need this method for split views
|
|
275
|
+
*/
|
|
276
|
+
UpdateTabBar(): void;
|
|
277
|
+
/**
|
|
278
|
+
* @param initial first call, from the grid Initialize() method
|
|
279
|
+
*/
|
|
280
|
+
UpdateTheme(initial?: boolean, additional_properties?: Partial<Theme>): void;
|
|
281
|
+
/** set scale directly */
|
|
282
|
+
SetScale(scale: number): void;
|
|
283
|
+
/**
|
|
284
|
+
* @param container html container element
|
|
285
|
+
*/
|
|
286
|
+
Initialize(view_node: HTMLElement, toll_initial_render?: boolean): void;
|
|
287
|
+
/**
|
|
288
|
+
* merge target area or selection
|
|
289
|
+
*/
|
|
290
|
+
MergeCells(area?: Area): void;
|
|
291
|
+
/**
|
|
292
|
+
* unmerge cells
|
|
293
|
+
*/
|
|
294
|
+
UnmergeCells(area?: Area): void;
|
|
295
|
+
/**
|
|
296
|
+
*
|
|
297
|
+
*/
|
|
298
|
+
GetAnnotationStyle(): CellStyle | undefined;
|
|
299
|
+
/**
|
|
300
|
+
*
|
|
301
|
+
*/
|
|
302
|
+
ApplyAnnotationStyle(style?: CellStyle, delta?: boolean): void;
|
|
303
|
+
/**
|
|
304
|
+
*
|
|
305
|
+
*/
|
|
306
|
+
AnnotationSelected(): boolean;
|
|
307
|
+
/**
|
|
308
|
+
* focus on the container. not sure what that text parameter was,
|
|
309
|
+
* legacy? TODO: remove
|
|
310
|
+
*/
|
|
311
|
+
Focus(text?: string, click?: boolean): void;
|
|
312
|
+
/**
|
|
313
|
+
* set "data validation", which (atm) only supports a list of options
|
|
314
|
+
* and will render as a dropdown; the list can be a list of values or
|
|
315
|
+
* a range reference.
|
|
316
|
+
*/
|
|
317
|
+
SetValidation(target?: IArea, data?: CellValue[] | IArea, error?: boolean): void;
|
|
318
|
+
/**
|
|
319
|
+
* set or clear name. optionally overwrite existing name. note that
|
|
320
|
+
* you cannot overwrite function names, only existing named ranges/expressions.
|
|
321
|
+
*
|
|
322
|
+
* set name to refer to a range (named range) or expression/value (named
|
|
323
|
+
* expression). range has priority if you set both (FIXME: make that impossible)
|
|
324
|
+
*
|
|
325
|
+
* note that expression here must be a valid expression in SL. if you want
|
|
326
|
+
* to set a literal string, enclose it in double quotes (as you would when
|
|
327
|
+
* using a string as an argument to a function).
|
|
328
|
+
*/
|
|
329
|
+
SetName(name: string, range?: ICellAddress | Area, expression?: string, scope?: number, overwrite?: boolean): void;
|
|
330
|
+
SelectAll(): void;
|
|
331
|
+
/**
|
|
332
|
+
* set or remove external editor. this is not an accessor because I don't
|
|
333
|
+
* want to have to use a duplicate internal field, it's clumsy and this
|
|
334
|
+
* class isn't public-facing so it's not super important.
|
|
335
|
+
*/
|
|
336
|
+
ExternalEditor(config: Partial<ExternalEditorConfig> | undefined): void;
|
|
337
|
+
/** API method */
|
|
338
|
+
SelectRange(range?: Area): void;
|
|
339
|
+
/**
|
|
340
|
+
* I can't figure out a way in typescript to overload the GetRange function
|
|
341
|
+
* but call it with a variable to determine the overload (the aim is to have
|
|
342
|
+
* different return types).
|
|
343
|
+
*
|
|
344
|
+
* it seems to work fine if we use static values for the parameter (type,
|
|
345
|
+
* below) but not a variable which is (theoretically) type-restricted to the
|
|
346
|
+
* same values. One to work on, maybe.
|
|
347
|
+
*
|
|
348
|
+
* @param range
|
|
349
|
+
* @returns
|
|
350
|
+
*/
|
|
351
|
+
GetRangeStyle(range: ICellAddress | IArea, apply_theme?: boolean): CellStyle | CellStyle[][] | undefined;
|
|
352
|
+
/**
|
|
353
|
+
* render the given data as R1C1. the source address is a base for
|
|
354
|
+
* rendering relative addresses (is there a case for this method
|
|
355
|
+
* handling absolute offsets as well? ...)
|
|
356
|
+
*
|
|
357
|
+
* NOTE: this method modifies the input data (at least it does if
|
|
358
|
+
* it's an array). so this method should only be called with scratchpad
|
|
359
|
+
* data.
|
|
360
|
+
*
|
|
361
|
+
*/
|
|
362
|
+
FormatR1C1(data: CellValue | CellValue[][], source: ICellAddress | IArea): CellValue[][];
|
|
363
|
+
/**
|
|
364
|
+
* get data in a given range, optionally formulas
|
|
365
|
+
* API method
|
|
366
|
+
*/
|
|
367
|
+
GetRange(range: ICellAddress | IArea, type?: 'formatted' | 'A1' | 'R1C1'): CellValue | CellValue[][] | undefined;
|
|
368
|
+
/**
|
|
369
|
+
* set data in given range
|
|
370
|
+
* API method
|
|
371
|
+
*
|
|
372
|
+
* not sure why we have support for ArrayBufferView in here. this is an API
|
|
373
|
+
* method, called by the embed sheet's API method, so there are no particular
|
|
374
|
+
* requirements. we should lock down the allowable types.
|
|
375
|
+
*
|
|
376
|
+
* @param range target range. if range is smaller than data, range controls.
|
|
377
|
+
* if range is larger, behavior depends on the recycle parameter.
|
|
378
|
+
* @param data single value, array (column), or 2d array
|
|
379
|
+
* @param recycle recycle values. we only recycle single values or single
|
|
380
|
+
* rows/columns -- we will not recycle a matrix.
|
|
381
|
+
* @param transpose transpose before inserting (data is column-major)
|
|
382
|
+
* @param r1c1 - support R1C1 notation. this does not mean the data _is_ in
|
|
383
|
+
* R1C1, just that we need to check for it and handle it. R1C1 is useful for
|
|
384
|
+
* relative offsets.
|
|
385
|
+
*/
|
|
386
|
+
SetRange(range: Area, data: CellValue | CellValue[] | CellValue[][], options?: SetRangeOptions): void;
|
|
387
|
+
/**
|
|
388
|
+
* applies the given style properties to the passed array, or to the
|
|
389
|
+
* current primary selection
|
|
390
|
+
*
|
|
391
|
+
* API method
|
|
392
|
+
*/
|
|
393
|
+
ApplyStyle(area?: Area, properties?: CellStyle, delta?: boolean): void;
|
|
394
|
+
/**
|
|
395
|
+
* returns the primary selection. we use a reference to the real selection
|
|
396
|
+
* sp callers can track; however, you can break things if you modify it.
|
|
397
|
+
* so don't modify it. FIXME: proxy view? (...)
|
|
398
|
+
*
|
|
399
|
+
* API method
|
|
400
|
+
*/
|
|
401
|
+
GetSelection(): GridSelection;
|
|
402
|
+
/** repaint after an external event (calculation) */
|
|
403
|
+
Update(force?: boolean, area?: IArea | IArea[]): void;
|
|
404
|
+
/**
|
|
405
|
+
* update annotation layouts (not content)
|
|
406
|
+
*/
|
|
407
|
+
UpdateAnnotations(): void;
|
|
408
|
+
Indent(area?: Area, delta?: number): void;
|
|
409
|
+
/** updated API method, probably change the name */
|
|
410
|
+
ApplyBorders2(area?: Area, borders?: BorderConstants, color?: Color, width?: number): void;
|
|
411
|
+
/**
|
|
412
|
+
* batch updates. returns all the events that _would_ have been sent.
|
|
413
|
+
* also does a paint (can disable).
|
|
414
|
+
*
|
|
415
|
+
* update for nesting/stacking. we won't return events until the last
|
|
416
|
+
* batch is complete. paint will similarly toll until the last batch
|
|
417
|
+
* is complete, and we'll carry forward any paint requirement from
|
|
418
|
+
* inner batch funcs.
|
|
419
|
+
*
|
|
420
|
+
* @param func
|
|
421
|
+
*/
|
|
422
|
+
Batch(func: () => void, paint?: boolean): GridEvent[];
|
|
423
|
+
/**
|
|
424
|
+
* scrolls so that the given cell is in the top-left (assuming that is
|
|
425
|
+
* possible)
|
|
426
|
+
*/
|
|
427
|
+
ScrollTo(address: ICellAddress, x?: boolean, y?: boolean, smooth?: boolean): void;
|
|
428
|
+
/**
|
|
429
|
+
* scrolls the given address into view (assuming it's not in view now)
|
|
430
|
+
*
|
|
431
|
+
* FIXME: we need a way to do this without scrolling the containing
|
|
432
|
+
* page, in the event we do a scroll-on-load. small problem.
|
|
433
|
+
*/
|
|
434
|
+
ScrollIntoView(address: ICellAddress, smooth?: boolean): void;
|
|
435
|
+
GetScrollOffset(): {
|
|
436
|
+
x: number;
|
|
437
|
+
y: number;
|
|
438
|
+
};
|
|
439
|
+
/**
|
|
440
|
+
* get/set the raw scroll offset (ignoring headers). support for API method.
|
|
441
|
+
* @param offset
|
|
442
|
+
*/
|
|
443
|
+
ScrollOffset(offset?: {
|
|
444
|
+
x: number;
|
|
445
|
+
y: number;
|
|
446
|
+
}): {
|
|
447
|
+
x: number;
|
|
448
|
+
y: number;
|
|
449
|
+
} | undefined;
|
|
450
|
+
protected RenameSheetInternal(target: Sheet, name: string): void;
|
|
451
|
+
private StyleDefaultFromTheme;
|
|
452
|
+
private AutoSizeRow;
|
|
453
|
+
private AutoSizeColumn;
|
|
454
|
+
/**
|
|
455
|
+
* we have to handle the case where we have a split view and the model
|
|
456
|
+
* changes in some way -- remove a sheet, for example -- that invalidates
|
|
457
|
+
* our active sheet. if that happens, we need to switch to a different
|
|
458
|
+
* sheet.
|
|
459
|
+
*
|
|
460
|
+
* we don't get events about this (should we?) so someone will have to
|
|
461
|
+
* call it. FIXME: we should get events about that.
|
|
462
|
+
*/
|
|
463
|
+
EnsureActiveSheet(force?: boolean): void;
|
|
464
|
+
/**
|
|
465
|
+
* this is intended to synchronize views when annotations are added/removed.
|
|
466
|
+
* there should be no need to call it if there's only one view.
|
|
467
|
+
*/
|
|
468
|
+
RefreshAnnotations(): void;
|
|
469
|
+
/**
|
|
470
|
+
* specialization for grid. note that we don't call superclass,
|
|
471
|
+
* so we need to do everything that method does as well.
|
|
472
|
+
*/
|
|
473
|
+
protected ActivateSheetInternal(command: ActivateSheetCommand): void;
|
|
474
|
+
/**
|
|
475
|
+
* handle any tasks the sheet needs to do on activation
|
|
476
|
+
*/
|
|
477
|
+
private ActivateSheetTasks;
|
|
478
|
+
/**
|
|
479
|
+
* why is this not in layout? (...)
|
|
480
|
+
* how is this layout? it's an effect. make an effects class.
|
|
481
|
+
*/
|
|
482
|
+
private HighlightFreezeArea;
|
|
483
|
+
/**
|
|
484
|
+
* layout has changed, and needs update. we clear the rectangle cache
|
|
485
|
+
* immediately, to prevent any garbage, but we don't actually do the layout
|
|
486
|
+
* until the next paint.
|
|
487
|
+
*
|
|
488
|
+
* FIXME: that makes no sense -- because rectangles will be calculated
|
|
489
|
+
* incorrectly until the layout has been updated.
|
|
490
|
+
*/
|
|
491
|
+
private QueueLayoutUpdate;
|
|
492
|
+
private HandleAddressLabelEvent;
|
|
493
|
+
private InitFormulaBar;
|
|
494
|
+
private InitOverlayEditor;
|
|
495
|
+
private DelayedRender;
|
|
496
|
+
protected Repaint(force?: boolean, full_tile?: boolean, force_headers?: boolean): void;
|
|
497
|
+
private MouseMove_RowHeader;
|
|
498
|
+
private MouseMove_ColumnHeader;
|
|
499
|
+
/**
|
|
500
|
+
* handler for mousedown events on the row (left) header.
|
|
501
|
+
* handles selection and resizing.
|
|
502
|
+
*
|
|
503
|
+
* FIXME: argument selection
|
|
504
|
+
*/
|
|
505
|
+
private MouseDown_RowHeader;
|
|
506
|
+
/**
|
|
507
|
+
* handler for mousedown events on the column (top) header.
|
|
508
|
+
* handles selection and resizing.
|
|
509
|
+
*
|
|
510
|
+
* FIXME: argument selection
|
|
511
|
+
*/
|
|
512
|
+
private MouseDown_ColumnHeader;
|
|
513
|
+
private HoverCell;
|
|
514
|
+
protected HideHoverInfo(): void;
|
|
515
|
+
/**
|
|
516
|
+
* grid move handler for hit-testing various areas
|
|
517
|
+
*/
|
|
518
|
+
private MouseMove_Grid;
|
|
519
|
+
/**
|
|
520
|
+
* special case: we don't want the previous click to be treated
|
|
521
|
+
* as part of a double-click.
|
|
522
|
+
*/
|
|
523
|
+
private ClearDoubleClick;
|
|
524
|
+
/**
|
|
525
|
+
* unifying double-click. pass the test address. returns true if this looks
|
|
526
|
+
* like a double-click on that address. otherwise sets flags to capture the
|
|
527
|
+
* next one.
|
|
528
|
+
*
|
|
529
|
+
* FIXME: parameterize timeout?
|
|
530
|
+
*/
|
|
531
|
+
private IsDoubleClick;
|
|
532
|
+
private PointInTextPart;
|
|
533
|
+
/**
|
|
534
|
+
* handles mouse down events on the grid area:
|
|
535
|
+
* selection (click-drag) and editing (double-click)
|
|
536
|
+
*/
|
|
537
|
+
private MouseDown_Grid;
|
|
538
|
+
/**
|
|
539
|
+
* FIXME: -> util library
|
|
540
|
+
* @param arr
|
|
541
|
+
*/
|
|
542
|
+
private Transpose;
|
|
543
|
+
/**
|
|
544
|
+
* when you drag from the nub, we copy the contents of the original
|
|
545
|
+
* selection into the new selection, but there are some special recycling
|
|
546
|
+
* rules.
|
|
547
|
+
*
|
|
548
|
+
* FIXME: expand tables
|
|
549
|
+
*/
|
|
550
|
+
private RecycleNubArea;
|
|
551
|
+
protected CreateTypedReferences(start: ICellAddress, end?: ICellAddress): string[];
|
|
552
|
+
private UpdateSelectedArgument;
|
|
553
|
+
/**
|
|
554
|
+
* unified method to check if we are selecting an argument in the formula
|
|
555
|
+
* bar editor or the in-cell editor
|
|
556
|
+
*
|
|
557
|
+
* FIXME: why is this not an accessor?
|
|
558
|
+
*/
|
|
559
|
+
protected SelectingArgument(): boolean;
|
|
560
|
+
/**
|
|
561
|
+
* for external clients. the expected pattern is
|
|
562
|
+
* - start overlay editor
|
|
563
|
+
* - click on "insert function"
|
|
564
|
+
* - do something
|
|
565
|
+
* - release editor (this function)
|
|
566
|
+
*/
|
|
567
|
+
ReleaseOverlayEditor(): void;
|
|
568
|
+
RestoreOverlayEditor(): void;
|
|
569
|
+
/**
|
|
570
|
+
* consolidated event handler for overlay, which both handles grid keys
|
|
571
|
+
* and acts as the ICE, depending on state. going to be a little tricky
|
|
572
|
+
* to keep track of code paths.
|
|
573
|
+
*
|
|
574
|
+
* old comment:
|
|
575
|
+
*
|
|
576
|
+
* event handler for keyboard events. some we handle directly (directional
|
|
577
|
+
* navigation), some we ignore (most control-key combinations), and if you
|
|
578
|
+
* type text we start the in-cell editor and pass on the event.
|
|
579
|
+
*
|
|
580
|
+
* which is largely still true, except that we can handle the ICE more
|
|
581
|
+
* directly.
|
|
582
|
+
*
|
|
583
|
+
*/
|
|
584
|
+
private OverlayKeyDown;
|
|
585
|
+
/**
|
|
586
|
+
* select the array containing the current cell, if any. if there's no
|
|
587
|
+
* array, do nothing. updated to support selecting tables as well as arrays.
|
|
588
|
+
*/
|
|
589
|
+
protected SelectArrayOrTable(target_selection: GridSelection): void;
|
|
590
|
+
/**
|
|
591
|
+
* render selections. we are wrapping this up in a method so we can
|
|
592
|
+
* hide the primary selection in some cases (one case).
|
|
593
|
+
*/
|
|
594
|
+
protected RenderSelections(rerender?: boolean): void;
|
|
595
|
+
/**
|
|
596
|
+
* select a block. returns true if we've handled it; returns false
|
|
597
|
+
* if we want to revert to the standard behavior.
|
|
598
|
+
*
|
|
599
|
+
* (block selection refers to selecting more than one cell at once,
|
|
600
|
+
* using ctrl+arrow. selection jumps across all populated cells in
|
|
601
|
+
* a given direction for a given row/column).
|
|
602
|
+
*/
|
|
603
|
+
protected BlockSelection(selection: GridSelection, expand_selection: boolean, columns: number, rows: number, render?: boolean): boolean;
|
|
604
|
+
/**
|
|
605
|
+
* deletes (clears) the selected area.
|
|
606
|
+
*
|
|
607
|
+
* FIXME: should probably be an API method, or have a second method that
|
|
608
|
+
* clears the primary selection
|
|
609
|
+
*/
|
|
610
|
+
private DeleteSelection;
|
|
611
|
+
/**
|
|
612
|
+
* sets cell value, inferring type and (possibly) inferring cell style
|
|
613
|
+
* (numbers only), so that 10% and $1,000 retain styles. this should only
|
|
614
|
+
* be used for direct editing -- copy and paste can copy and paste styles.
|
|
615
|
+
*
|
|
616
|
+
* @param address cell address
|
|
617
|
+
*
|
|
618
|
+
* @param value value entered, usually this will be a string (we will try
|
|
619
|
+
* to parse numbers/booleans)
|
|
620
|
+
*
|
|
621
|
+
* in what case would these not be strings? (...) not sure that's a thing.
|
|
622
|
+
*
|
|
623
|
+
*
|
|
624
|
+
* @param exec execute commands immediately; alternatively, return the list
|
|
625
|
+
* of commands. the former is the default for editor commits; the latter
|
|
626
|
+
* is used for paste.
|
|
627
|
+
*/
|
|
628
|
+
protected SetInferredType(selection: GridSelection, value: string | undefined, array?: boolean, exec?: boolean, apply_style?: CellStyle): Command[] | undefined;
|
|
629
|
+
/**
|
|
630
|
+
* tries to correct some basic formula errors, opening with a space,
|
|
631
|
+
* not closing all parens, (...)
|
|
632
|
+
*/
|
|
633
|
+
private FixFormula;
|
|
634
|
+
/**
|
|
635
|
+
* normalize addresses (UC), function names (-> canonical) and
|
|
636
|
+
* defined names (UC, for now)
|
|
637
|
+
*/
|
|
638
|
+
private NormalizeFormula;
|
|
639
|
+
/**
|
|
640
|
+
* dismisses the in-cell editor and returns to normal behavior.
|
|
641
|
+
* removes any highlighted selections (arguments).
|
|
642
|
+
*/
|
|
643
|
+
private DismissEditor;
|
|
644
|
+
/**
|
|
645
|
+
* this prepares the cell value for _editing_ -- it's not the displayed
|
|
646
|
+
* value, it's how we want the value to be displayed in the editor and
|
|
647
|
+
* formula bar.
|
|
648
|
+
*
|
|
649
|
+
* NOTE: is this the spot to do translation -> local language? (...)
|
|
650
|
+
*
|
|
651
|
+
*/
|
|
652
|
+
private NormalizeCellValue;
|
|
653
|
+
/**
|
|
654
|
+
* this is used to handle a trailing % sign when entering a new value.
|
|
655
|
+
* we need to decide if the user is typing a number, in which case we
|
|
656
|
+
* retain the %; or something else, like a formula or a string, in which
|
|
657
|
+
* case we want to drop the %.
|
|
658
|
+
*
|
|
659
|
+
* FIXME: move to utils lib
|
|
660
|
+
*/
|
|
661
|
+
private IsNumeric;
|
|
662
|
+
/**
|
|
663
|
+
* start the ICE, using the new overlay editor
|
|
664
|
+
*
|
|
665
|
+
* old comment:
|
|
666
|
+
*
|
|
667
|
+
* starts the in-cell editor at the given sheet address. this method doesn't
|
|
668
|
+
* handle scroll-into-view, do that first if necessary.
|
|
669
|
+
*
|
|
670
|
+
* @param address the cell address. we'll check for merge head before editing.
|
|
671
|
+
* @param flush flush contents before editing -- default for typing, !default
|
|
672
|
+
* for double-click
|
|
673
|
+
* @param event if this is triggered by typing, we want to pass the key
|
|
674
|
+
* event directly to the editor (actually we'll pass a synthetic copy)
|
|
675
|
+
*
|
|
676
|
+
* @param selection
|
|
677
|
+
* @param flush
|
|
678
|
+
* @param event
|
|
679
|
+
*/
|
|
680
|
+
private OverlayEditCell;
|
|
681
|
+
private BoundAddressArea;
|
|
682
|
+
/**
|
|
683
|
+
* step from row X to row (X+Y). Y can be negative. we add this method to
|
|
684
|
+
* support stepping across hidden (0-height) rows, so if you down arrow
|
|
685
|
+
* it doesn't get stuck inside the hidden row (bad UX).
|
|
686
|
+
*
|
|
687
|
+
* UPDATE: no longer clamping. various methods rely on tests for < 0, so
|
|
688
|
+
* we can't change that behavior. [FIXME: return an underflow flag?]. just
|
|
689
|
+
* treat negative rows as not hidden, return the result.
|
|
690
|
+
*/
|
|
691
|
+
private StepVisibleRows;
|
|
692
|
+
/**
|
|
693
|
+
* step columns.
|
|
694
|
+
* @see StepVisibleRows
|
|
695
|
+
*/
|
|
696
|
+
private StepVisibleColumns;
|
|
697
|
+
/**
|
|
698
|
+
* if the address is outside of current extent, expand
|
|
699
|
+
*/
|
|
700
|
+
protected EnsureAddress(address: ICellAddress, step?: number, toll_layout?: boolean): boolean;
|
|
701
|
+
/**
|
|
702
|
+
* advances selection by x rows and columns. you can also step around
|
|
703
|
+
* within a selection, generally by using enter and tab when there is
|
|
704
|
+
* a multi-cell selection.
|
|
705
|
+
*
|
|
706
|
+
* not sure why this function renders by default, but we don't want that
|
|
707
|
+
* in the case of closing the ICE. since normal operation may rely on this
|
|
708
|
+
* behavior, at least for now, we'll make a parameter to disable. but it
|
|
709
|
+
* should probably not render.
|
|
710
|
+
*/
|
|
711
|
+
protected AdvanceSelection(delta: Extent, selection: GridSelection, within_selection?: boolean, expand_selection?: boolean, render?: boolean): void;
|
|
712
|
+
/** highlight formula dependencies */
|
|
713
|
+
private HighlightDependencies;
|
|
714
|
+
/** remove all additonla (argument) selections */
|
|
715
|
+
private ClearAdditionalSelections;
|
|
716
|
+
/**
|
|
717
|
+
* utility method, internally calls Select with an undefined area
|
|
718
|
+
*/
|
|
719
|
+
protected ClearSelection(selection: GridSelection, reason?: GridSelectionEvent['reason']): void;
|
|
720
|
+
private HideGridSelection;
|
|
721
|
+
private ShowGridSelection;
|
|
722
|
+
/**
|
|
723
|
+
* updates a selection, and handles marking headers as dirty
|
|
724
|
+
* for subsequent renders (including any old selection).
|
|
725
|
+
*
|
|
726
|
+
* if the selection contains part of a merge area, it will be expanded
|
|
727
|
+
* to include the full merge area (because you can't select part of a merge).
|
|
728
|
+
*
|
|
729
|
+
* @param area selection area
|
|
730
|
+
* @param target optional selection target. if no target is passed and
|
|
731
|
+
* the preseve_target field is not set, target will be set to the first
|
|
732
|
+
* cell of the selection area
|
|
733
|
+
* @param preserve_target preserve existing selection target
|
|
734
|
+
*/
|
|
735
|
+
protected Select(selection: GridSelection, area?: Area, target?: ICellAddress, preserve_target?: boolean, reason?: GridSelectionEvent['reason']): void;
|
|
736
|
+
/**
|
|
737
|
+
*
|
|
738
|
+
*/
|
|
739
|
+
protected UpdateFormulaBarFormula(override?: string): void;
|
|
740
|
+
/**
|
|
741
|
+
* splitting the stats update call and the rendering method,
|
|
742
|
+
* if we want to make a pluggable stats method.
|
|
743
|
+
*
|
|
744
|
+
* default will show count/sum/average of numbers, either real
|
|
745
|
+
* or complex.
|
|
746
|
+
*/
|
|
747
|
+
protected RenderStats(values: CellValue | CellValue[][]): StatsEntry[];
|
|
748
|
+
UpdateStats(): void;
|
|
749
|
+
protected UpdateAddressLabelArea(selection: GridSelection): void;
|
|
750
|
+
protected UpdateAddressLabel(selection?: GridSelection, text?: string): void;
|
|
751
|
+
private OnDropdownSelect;
|
|
752
|
+
private OnScroll;
|
|
753
|
+
private AttachListeners;
|
|
754
|
+
private HandleCopy;
|
|
755
|
+
private HandleCut;
|
|
756
|
+
private RecyclePasteAreas;
|
|
757
|
+
private HandlePaste;
|
|
758
|
+
/**
|
|
759
|
+
* utility method returns all selections (primary, active and any additional
|
|
760
|
+
* selections) as an array. defaults to non-empty selections only, but
|
|
761
|
+
* can optionally returns empty non-null selections.
|
|
762
|
+
*/
|
|
763
|
+
private AllSelections;
|
|
764
|
+
/**
|
|
765
|
+
* UI method for inserting rows; updates layout
|
|
766
|
+
*/
|
|
767
|
+
protected InsertRowsInternal(command: InsertRowsCommand): {
|
|
768
|
+
error?: boolean;
|
|
769
|
+
update_annotations_list?: Annotation[];
|
|
770
|
+
resize_annotations_list?: Annotation[];
|
|
771
|
+
delete_annotations_list?: Annotation[];
|
|
772
|
+
};
|
|
773
|
+
/**
|
|
774
|
+
* UI method for inserting columns; updates layout
|
|
775
|
+
*/
|
|
776
|
+
protected InsertColumnsInternal(command: InsertColumnsCommand): {
|
|
777
|
+
error?: boolean;
|
|
778
|
+
update_annotations_list?: Annotation[];
|
|
779
|
+
resize_annotations_list?: Annotation[];
|
|
780
|
+
delete_annotations_list?: Annotation[];
|
|
781
|
+
};
|
|
782
|
+
/**
|
|
783
|
+
* specialization
|
|
784
|
+
*/
|
|
785
|
+
protected ResetInternal(): void;
|
|
786
|
+
/**
|
|
787
|
+
* overload: see ResizeRowsInternal
|
|
788
|
+
*/
|
|
789
|
+
protected ResizeColumnsInternal(command: ResizeColumnsCommand): void;
|
|
790
|
+
/**
|
|
791
|
+
* UI grid supports scale and auto-size, so we're overloading.
|
|
792
|
+
* @param command
|
|
793
|
+
*/
|
|
794
|
+
protected ResizeRowsInternal(command: ResizeRowsCommand): IArea | undefined;
|
|
795
|
+
/**
|
|
796
|
+
* specialization
|
|
797
|
+
*/
|
|
798
|
+
protected SelectInternal(command: SelectCommand): void;
|
|
799
|
+
/**
|
|
800
|
+
* specialization. all the base class method does is set the sheet
|
|
801
|
+
* fields, so we don't need to call it, we can do that.
|
|
802
|
+
*
|
|
803
|
+
*/
|
|
804
|
+
protected FreezeInternal(command: FreezeCommand): void;
|
|
805
|
+
ExecCommand(commands: Command | Command[], queue?: boolean): import("./update_flags").UpdateFlags;
|
|
806
|
+
}
|