@vuu-ui/vuu-table-extras 0.8.2-debug → 0.8.2
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/LICENSE +201 -0
- package/cjs/index.js +1 -3211
- package/cjs/index.js.map +2 -2
- package/esm/index.js +1 -3260
- package/esm/index.js.map +2 -2
- package/index.css +1 -582
- package/index.css.map +3 -3
- package/package.json +10 -10
package/esm/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.tsx", "../../../packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.ts", "../../../packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.tsx", "../../../packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.ts", "../../../packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.ts", "../../../packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js", "../../../packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.ts", "../../../packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.ts", "../../../packages/vuu-table-extras/src/column-expression-input/highlighting.ts", "../../../packages/vuu-table-extras/src/column-expression-input/theme.ts", "../../../packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.ts", "../../../packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.tsx", "../../../packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.ts", "../../../packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.ts", "../../../packages/vuu-table-extras/src/column-expression-input/functionDocInfo.ts", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/settings-panel/DatagridSettingsPanel.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-picker/ColumnPicker.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-picker/ColumnListItem.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-settings-panel/ColumnSettingsPanel.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-type-panel/ColumnTypePanel.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-type-panel/NumericColumnPanel.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-type-panel/StringColumnPanel.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/settings-panel/GridSettingsPanel.tsx", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/settings-panel/useGridSettings.ts", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/calculated-column-panel/CalculatedColumnPanel.tsx", "../../../packages/vuu-table-extras/src/datasource-stats/DatasourceStats.tsx", "../../../packages/vuu-table-extras/src/table-settings/column-settings-panel/ColumnSettingsPanel.tsx", "../../../packages/vuu-table-extras/src/table-settings/column-type-panel/ColumnTypePanel.tsx", "../../../packages/vuu-table-extras/src/table-settings/column-type-panel/NumericColumnPanel.tsx", "../../../packages/vuu-table-extras/src/table-settings/column-type-panel/StringColumnPanel.tsx"],
|
|
4
4
|
"sourcesContent": ["import { ColumnType, TableCellProps } from \"@vuu-ui/vuu-datagrid-types\";\nimport {\n DOWN1,\n DOWN2,\n isTypeDescriptor,\n metadataKeys,\n registerComponent,\n UP1,\n UP2,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"classnames\";\nimport { useDirection } from \"./useDirection\";\n\nimport \"./BackgroundCell.css\";\nimport \"./FlashingBackground.css\";\n\nconst CHAR_ARROW_UP = String.fromCharCode(11014);\nconst CHAR_ARROW_DOWN = String.fromCharCode(11015);\n\nconst { KEY } = metadataKeys;\n\nconst classBase = \"vuuBackgroundCell\";\n\n// TODO these sre repeated from PriceFormatter - where shoud they live ?\nconst FlashStyle = {\n ArrowOnly: \"arrow\",\n BackgroundOnly: \"bg-only\",\n ArrowBackground: \"arrow-bg\",\n};\n\nconst getFlashStyle = (colType?: ColumnType) => {\n if (isTypeDescriptor(colType) && colType.renderer) {\n if (\"flashStyle\" in colType.renderer) {\n return colType.renderer[\"flashStyle\"];\n }\n }\n return FlashStyle.BackgroundOnly;\n};\n\nconst BackgroundCell = ({ column, row }: TableCellProps) => {\n //TODO what about click handling\n\n const { key, type, valueFormatter } = column;\n const value = row[key];\n const flashStyle = getFlashStyle(type);\n const direction = useDirection(row[KEY], value, column);\n const arrow =\n flashStyle === FlashStyle.ArrowOnly ||\n flashStyle === FlashStyle.ArrowBackground\n ? direction === UP1 || direction === UP2\n ? CHAR_ARROW_UP\n : direction === DOWN1 || direction === DOWN2\n ? CHAR_ARROW_DOWN\n : null\n : null;\n\n const dirClass = direction ? ` ` + direction : \"\";\n\n const className = cx(classBase, dirClass, {\n [`${classBase}-arrowOnly`]: flashStyle === FlashStyle.ArrowOnly,\n [`${classBase}-arrowBackground`]: flashStyle === FlashStyle.ArrowBackground,\n });\n\n return (\n <div className={className} tabIndex={-1}>\n <div className={`${classBase}-flasher`}>{arrow}</div>\n {valueFormatter(row[column.key])}\n </div>\n );\n};\n\nregisterComponent(\"background\", BackgroundCell, \"cell-renderer\", {\n serverDataType: [\"long\", \"int\", \"double\"],\n});\n", "import { KeyedColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport {\n getMovingValueDirection,\n isTypeDescriptor,\n isValidNumber,\n valueChangeDirection,\n} from \"@vuu-ui/vuu-utils\";\nimport { useEffect, useRef } from \"react\";\n\nconst INITIAL_VALUE = [undefined, undefined, undefined, undefined];\n\ntype State = [string, unknown, KeyedColumnDescriptor, valueChangeDirection];\n\nexport function useDirection(\n key: string,\n value: unknown,\n column: KeyedColumnDescriptor\n) {\n const ref = useRef<State>();\n const [prevKey, prevValue, prevColumn, prevDirection] =\n ref.current || INITIAL_VALUE;\n\n const { type: dataType } = column;\n const decimals = isTypeDescriptor(dataType)\n ? dataType.formatting?.decimals\n : undefined;\n\n const direction =\n key === prevKey &&\n isValidNumber(value) &&\n isValidNumber(prevValue) &&\n column === prevColumn\n ? getMovingValueDirection(value, prevDirection, prevValue, decimals)\n : \"\";\n\n useEffect(() => {\n ref.current = [key, value, column, direction];\n });\n\n return direction;\n}\n", "import { TableCellProps } from \"@vuu-ui/vuu-datagrid-types\";\nimport {\n isColumnTypeRenderer,\n isTypeDescriptor,\n registerComponent,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"classnames\";\nimport { CSSProperties } from \"react\";\n\nimport \"./ProgressCell.css\";\n\nconst classBase = \"vuuProgressCell\";\n\nconst ProgressCell = ({ column, columnMap, row }: TableCellProps) => {\n //TODO what about click handling\n\n const { type } = column;\n const value = row[column.key];\n let showProgress = false;\n let percentage = 0;\n\n if (isTypeDescriptor(type) && isColumnTypeRenderer(type.renderer)) {\n const { associatedField } = type.renderer;\n const associatedValue = row[columnMap[associatedField]];\n if (typeof value === \"number\" && typeof associatedValue === \"number\") {\n percentage = Math.min(Math.round((value / associatedValue) * 100), 100);\n showProgress = isFinite(percentage);\n } else {\n // Temp workaround for bug on server that sends aggregated values as strings\n const floatValue = parseFloat(value as string);\n if (Number.isFinite(floatValue)) {\n const floatOtherValue = parseFloat(associatedValue as string);\n if (Number.isFinite(floatOtherValue)) {\n percentage = Math.min(\n Math.round((floatValue / floatOtherValue) * 100),\n 100\n );\n showProgress = isFinite(percentage);\n }\n }\n }\n }\n\n const className = cx(classBase, {});\n\n return (\n <div className={className} tabIndex={-1}>\n {showProgress ? (\n <span className={`${classBase}-track`}>\n <span className={`${classBase}-bg`} />\n <span\n className={`${classBase}-bar`}\n style={\n { \"--progress-bar-pct\": `-${100 - percentage}%` } as CSSProperties\n }\n />\n </span>\n ) : null}\n <span className={`${classBase}-text`}>{`${percentage} %`}</span>\n </div>\n );\n};\n\nregisterComponent(\"vuu.progress\", ProgressCell, \"cell-renderer\", {\n serverDataType: [\"long\", \"int\", \"double\"],\n});\n", "import {\n autocompletion,\n Completion,\n defaultKeymap,\n EditorState,\n EditorView,\n ensureSyntaxTree,\n keymap,\n minimalSetup,\n startCompletion,\n} from \"@vuu-ui/vuu-codemirror\";\nimport { createEl } from \"@vuu-ui/vuu-utils\";\nimport { MutableRefObject, useEffect, useMemo, useRef } from \"react\";\nimport { columnExpressionLanguageSupport } from \"./column-language-parser\";\nimport {\n ColumnDefinitionExpression,\n walkTree,\n} from \"./column-language-parser/ColumnExpressionTreeWalker\";\nimport { vuuHighlighting } from \"./highlighting\";\nimport { vuuTheme } from \"./theme\";\nimport {\n ApplyCompletion,\n useColumnAutoComplete,\n} from \"./useColumnAutoComplete\";\n\nexport type ColumnExpressionOperator = \"Times\" | \"Divide\" | \"Minus\" | \"Plus\";\n\nexport type ColumnExpressionSuggestionType =\n | \"column\"\n | \"columnValue\"\n | \"expression\"\n | \"condition-operator\"\n | \"operator\"\n | \"relational-operator\";\n\nexport type ColumnExpressionSuggestionOptions = {\n columnName?: string;\n functionName?: string;\n operator?: ColumnExpressionOperator;\n prefix?: string;\n startsWith?: string;\n selection?: string[];\n};\n\n// TODO move this somewhere neutral\nexport interface IExpressionSuggestionProvider {\n getSuggestions: (\n valueType: ColumnExpressionSuggestionType,\n options?: ColumnExpressionSuggestionOptions\n ) => Promise<Completion[]>;\n isPartialMatch: (\n valueType: ColumnExpressionSuggestionType,\n columnName?: string,\n text?: string | undefined\n ) => Promise<boolean>;\n}\n\nexport interface ExpressionSuggestionConsumer {\n suggestionProvider: IExpressionSuggestionProvider;\n}\n\nconst getView = (ref: MutableRefObject<EditorView | undefined>): EditorView => {\n if (ref.current == undefined) {\n throw Error(\"EditorView not defined\");\n }\n return ref.current;\n};\n\nconst getOptionClass = (/*completion: Completion*/) => {\n return \"vuuSuggestion\";\n};\n\nconst noop = () => console.log(\"noooop\");\n\nconst hasExpressionType = (\n completion: Completion\n): completion is Completion & { expressionType: string } =>\n \"expressionType\" in completion;\n\nconst injectOptionContent = (\n completion: Completion /*, state: EditorState*/\n) => {\n if (hasExpressionType(completion)) {\n const div = createEl(\"div\", \"expression-type-container\");\n const span = createEl(\"span\", \"expression-type\", completion.expressionType);\n div.appendChild(span);\n return div;\n } else {\n return null;\n }\n};\n\nexport interface ColumnExpressionEditorProps {\n onChange?: (\n source: string,\n expression: ColumnDefinitionExpression | undefined\n ) => void;\n onSubmitExpression?: (\n source: string,\n expression: ColumnDefinitionExpression | undefined\n ) => void;\n suggestionProvider: IExpressionSuggestionProvider;\n}\n\nexport const useColumnExpressionEditor = ({\n onChange,\n onSubmitExpression,\n suggestionProvider,\n}: ColumnExpressionEditorProps) => {\n const editorRef = useRef<HTMLDivElement>(null);\n const onSubmit = useRef<ApplyCompletion>(noop);\n const viewRef = useRef<EditorView>();\n const completionFn = useColumnAutoComplete(suggestionProvider, onSubmit);\n\n const [createState, clearInput] = useMemo(() => {\n const parseExpression = ():\n | [string, ColumnDefinitionExpression]\n | [\"\", undefined] => {\n const view = getView(viewRef);\n const source = view.state.doc.toString();\n const tree = ensureSyntaxTree(view.state, view.state.doc.length, 5000);\n if (tree) {\n const expression = walkTree(tree, source);\n return [source, expression];\n } else {\n return [\"\", undefined];\n }\n };\n\n const clearInput = () => {\n getView(viewRef).setState(createState());\n };\n\n const submitExpressionAndClearInput = () => {\n const [source, expression] = parseExpression();\n onSubmitExpression?.(source, expression);\n clearInput();\n };\n\n const submitFilter = (key: string) => {\n return keymap.of([\n {\n key,\n run() {\n submitExpressionAndClearInput();\n return true;\n },\n },\n ]);\n };\n\n const showSuggestions = (key: string) => {\n return keymap.of([\n {\n key,\n run() {\n startCompletion(getView(viewRef));\n return true;\n },\n },\n ]);\n };\n\n const createState = (): EditorState =>\n EditorState.create({\n doc: \"\",\n extensions: [\n minimalSetup,\n autocompletion({\n addToOptions: [\n {\n render: injectOptionContent,\n position: 70,\n },\n ],\n override: [completionFn],\n optionClass: getOptionClass,\n }),\n columnExpressionLanguageSupport(),\n keymap.of(defaultKeymap),\n submitFilter(\"Ctrl-Enter\"),\n showSuggestions(\"ArrowDown\"),\n EditorView.updateListener.of((v) => {\n const view = getView(viewRef);\n if (v.docChanged) {\n startCompletion(view);\n const source = view.state.doc.toString();\n onChange?.(source, undefined);\n }\n }),\n // Enforces single line view\n // EditorState.transactionFilter.of((tr) =>\n // tr.newDoc.lines > 1 ? [] : tr\n // ),\n vuuTheme,\n vuuHighlighting,\n ],\n });\n\n onSubmit.current = () => {\n submitExpressionAndClearInput();\n // TODO refocu sthe editor\n setTimeout(() => {\n getView(viewRef).focus();\n }, 100);\n };\n\n return [createState, clearInput];\n }, [completionFn, onChange, onSubmitExpression]);\n\n useEffect(() => {\n if (!editorRef.current) {\n throw Error(\"editor not in dom\");\n }\n\n viewRef.current = new EditorView({\n state: createState(),\n parent: editorRef.current,\n });\n\n return () => {\n viewRef.current?.destroy();\n };\n }, [completionFn, createState]);\n\n return { editorRef, clearInput };\n};\n", "import {\n LanguageSupport,\n LRLanguage,\n styleTags,\n tags as tag,\n} from \"@vuu-ui/vuu-codemirror\";\nimport { parser } from \"./generated/column-parser\";\n\nconst columnExpressionLanguage = LRLanguage.define({\n name: \"VuuColumnExpression\",\n parser: parser.configure({\n props: [\n styleTags({\n Function: tag.variableName,\n String: tag.string,\n Or: tag.emphasis,\n Operator: tag.operator,\n }),\n ],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) as any,\n});\n\nexport const columnExpressionLanguageSupport = () => {\n return new LanguageSupport(\n columnExpressionLanguage /*, [exampleCompletion]*/\n );\n};\n", "// This file was generated by lezer-generator. You probably shouldn't edit it.\nimport {LRParser} from \"@lezer/lr\"\nexport const parser = LRParser.deserialize({\n version: 14,\n states: \"&fOVQPOOO!SQPO'#C^OVQPO'#CcQ!pQPOOO#OQPO'#CkO#TQPO'#CrOOQO'#Cy'#CyO#YQPO,58}OVQPO,59QOVQPO,59QOVQPO,59VOVQPO'#CtOOQO,59^,59^OOQO1G.i1G.iOOQO1G.l1G.lO#kQPO1G.lO$fQPO'#CmO%WQQO1G.qOOQO'#C{'#C{O%cQPO,59`OOQO'#Cn'#CnO%wQPO,59XOVQPO,59ZOVQPO,59[OVQPO7+$]OVQPO'#CuO&`QPO1G.zOOQO1G.z1G.zO&hQQO'#C^O&rQQO1G.sO'ZQQO1G.uOOQO1G.v1G.vO'fQPO<<GwO'wQPO,59aOOQO-E6s-E6sOOQO7+$f7+$fOVQPOAN=cO(]QQO1G.lO(tQPOG22}OOQOLD(iLD(iO%wQPO,59QO%wQPO,59Q\",\n stateData: \")[~OlOS~ORUOSUOTUOUUOWQO`SOnPO~OWgXZQX[QX]QX^QXeQX~OjQXXQXpQXqQXrQXsQXtQXuQX~PnOZWO[WO]XO^XO~OWYO~OWZO~OX]OZWO[WO]XO^XO~OZWO[WO]Yi^YijYiXYipYiqYirYisYitYiuYieYi~OZWO[WO]XO^XOpdOqdOrdOsdOtdOudO~OehOvfOwgO~OXkOZWO[WO]XO^XOeiO~ORUOSUOTUOUUOWQO`SOnlO~OXsOeiO~OvQXwQX~PnOZxO[xO]yO^yOeaivaiwai~OwgOecivci~OZWO[WO]XO^XOetO~OZWO[WO]XO^XOXiaeia~OZxO[xO]Yi^YieYivYiwYi~OXwOZWO[WO]XO^XO~O`UTn~\",\n goto: \"#spPPqPPPPqPPqPPPPqP!R!W!R!RPq!Z!k!nPPP!tP#jmUOQWXYZefghitxyVbYfgRe`mTOQWXYZefghitxyR[TQjcRrjQROQVQS^WxQ_XU`YfgQcZQmeQphQqiQuyRvtQaYQnfRog\",\n nodeNames: \"\u26A0 ColumnDefinitionExpression Column Number String True False ParenthesizedExpression OpenBrace CloseBrace ArithmeticExpression Divide Times Plus Minus ConditionalExpression If RelationalExpression RelationalOperator AndCondition OrCondition Comma CallExpression Function ArgList\",\n maxTerm: 39,\n skippedNodes: [0],\n repeatNodeCount: 1,\n tokenData: \".^~RnXY#PYZ#P]^#Ppq#Pqr#brs#mxy$eyz$jz{$o{|$t|}$y}!O%O!O!P%T!P!Q%c!Q![%h!^!_%s!_!`&Q!`!a&V!c!}&d#R#S&d#T#U&u#U#Y&d#Y#Z(Y#Z#]&d#]#^*j#^#c&d#c#d+f#d#h&d#h#i,b#i#o&d~#USl~XY#PYZ#P]^#Ppq#P~#eP!_!`#h~#mOu~~#pWOX#mZ]#m^r#mrs$Ys#O#m#P;'S#m;'S;=`$_<%lO#m~$_OS~~$bP;=`<%l#m~$jOW~~$oOX~~$tO[~~$yO]~~%OOe~~%TO^~~%WP!Q![%Z~%`PR~!Q![%Z~%hOZ~~%mQR~!O!P%Z!Q![%h~%xPr~!_!`%{~&QOt~~&VOp~~&[Pq~!_!`&_~&dOs~P&iSnP!Q![&d!c!}&d#R#S&d#T#o&dR&zUnP!Q![&d!c!}&d#R#S&d#T#b&d#b#c'^#c#o&dR'cUnP!Q![&d!c!}&d#R#S&d#T#W&d#W#X'u#X#o&dR'|SvQnP!Q![&d!c!}&d#R#S&d#T#o&d~(_TnP!Q![&d!c!}&d#R#S&d#T#U(n#U#o&d~(sUnP!Q![&d!c!}&d#R#S&d#T#`&d#`#a)V#a#o&d~)[UnP!Q![&d!c!}&d#R#S&d#T#g&d#g#h)n#h#o&d~)sUnP!Q![&d!c!}&d#R#S&d#T#X&d#X#Y*V#Y#o&d~*^SU~nP!Q![&d!c!}&d#R#S&d#T#o&d~*oUnP!Q![&d!c!}&d#R#S&d#T#Y&d#Y#Z+R#Z#o&d~+YS`~nP!Q![&d!c!}&d#R#S&d#T#o&dR+kUnP!Q![&d!c!}&d#R#S&d#T#f&d#f#g+}#g#o&dR,USwQnP!Q![&d!c!}&d#R#S&d#T#o&d~,gUnP!Q![&d!c!}&d#R#S&d#T#f&d#f#g,y#g#o&d~-OUnP!Q![&d!c!}&d#R#S&d#T#i&d#i#j-b#j#o&d~-gUnP!Q![&d!c!}&d#R#S&d#T#X&d#X#Y-y#Y#o&d~.QST~nP!Q![&d!c!}&d#R#S&d#T#o&d\",\n tokenizers: [0, 1],\n topRules: {\"ColumnDefinitionExpression\":[0,1]},\n tokenPrec: 375\n})\n", "import { Tree } from \"@vuu-ui/vuu-codemirror\";\nimport { RelationalExpression } from \"./generated/column-parser.terms\";\ntype expressionType =\n | \"arithmeticExpression\"\n | \"booleanCondition\"\n | \"booleanLiteralExpression\"\n | \"callExpression\"\n | \"colExpression\"\n | \"conditionalExpression\"\n | \"numericLiteralExpression\"\n | \"relationalExpression\"\n | \"stringLiteralExpression\"\n | \"unknown\";\n\ntype arithmeticOp = \"*\" | \"/\" | \"+\" | \"-\" | \"unknown\";\ntype booleanOp = \"and\" | \"or\";\ntype relationalOp = \"=\" | \"!=\" | \">\" | \">=\" | \"<\" | \"<=\" | \"unknown\";\n\nexport interface Expression {\n type: expressionType;\n expressions?: Expression[];\n toJSON?: () => unknown;\n value?: string | number | boolean;\n}\n\ninterface UnknownExpression extends Expression {\n type: \"unknown\";\n}\n\ninterface BooleanLiteralExpression {\n type: \"booleanLiteralExpression\";\n value: boolean;\n}\n\ninterface NumericLiteralExpression {\n type: \"numericLiteralExpression\";\n value: number;\n}\ninterface StringLiteralExpression {\n type: \"stringLiteralExpression\";\n value: string;\n}\n\ninterface ArithmeticExpression extends Expression {\n expressions: [Expression, Expression];\n op: arithmeticOp;\n type: \"arithmeticExpression\";\n}\n\ninterface BooleanCondition extends Expression {\n expressions: Expression[];\n op: booleanOp;\n type: \"booleanCondition\";\n}\ninterface RelationalExpression extends Expression {\n expressions: Expression[];\n op: relationalOp;\n type: \"relationalExpression\";\n}\n\ninterface ColExpression extends Expression {\n column?: string;\n type: \"colExpression\";\n}\n\ninterface CallExpression extends Expression {\n arguments: Expression[];\n functionName?: string;\n type: \"callExpression\";\n}\n\ntype ConditionExpression = RelationalExpression | BooleanCondition;\n\ninterface ConditionalExpression extends Expression {\n type: \"conditionalExpression\";\n condition: ConditionExpression;\n truthyExpression: Expression;\n falsyExpression: Expression;\n}\n\nexport type ColumnDefinitionExpression =\n | ArithmeticExpression\n | BooleanLiteralExpression\n | CallExpression\n | ColExpression\n | ConditionalExpression\n | NumericLiteralExpression\n | StringLiteralExpression;\n\nclass LiteralExpressionImpl implements Expression {\n type:\n | \"booleanLiteralExpression\"\n | \"numericLiteralExpression\"\n | \"stringLiteralExpression\";\n value: boolean | number | string;\n constructor(value: boolean | number | string) {\n this.value = value;\n switch (typeof value) {\n case \"boolean\":\n this.type = \"booleanLiteralExpression\";\n break;\n case \"number\":\n this.type = \"numericLiteralExpression\";\n break;\n default:\n this.type = \"stringLiteralExpression\";\n }\n }\n toJSON() {\n return {\n type: this.type,\n value: this.value,\n } as\n | StringLiteralExpression\n | BooleanLiteralExpression\n | NumericLiteralExpression;\n }\n}\nclass ColumnExpressionImpl implements ColExpression {\n type = \"colExpression\" as const;\n column: string;\n constructor(columnName: string) {\n this.column = columnName;\n }\n toJSON() {\n return {\n type: this.type,\n column: this.column,\n } as ColExpression;\n }\n}\nclass ArithmeticExpressionImpl implements ArithmeticExpression {\n #expressions: [Expression, Expression] = [\n { type: \"unknown\" },\n { type: \"unknown\" },\n ];\n #op: arithmeticOp | \"unknown\";\n type = \"arithmeticExpression\" as const;\n constructor(op: arithmeticOp | \"unknown\" = \"unknown\") {\n this.#op = op;\n }\n get op() {\n return this.#op;\n }\n set op(op: arithmeticOp) {\n this.#op = op;\n }\n get expressions() {\n return this.#expressions;\n }\n\n toJSON() {\n return {\n type: this.type,\n op: this.#op,\n expressions: this.#expressions,\n };\n }\n}\n\nclass CallExpressionImpl implements CallExpression {\n #expressions: Expression[] = [];\n functionName: string;\n type = \"callExpression\" as const;\n constructor(functionName: string) {\n this.functionName = functionName;\n }\n\n get expressions() {\n return this.#expressions;\n }\n get arguments() {\n return this.#expressions;\n }\n\n toJSON() {\n return {\n type: this.type,\n functionName: this.functionName,\n arguments: this.#expressions.map((e) => e.toJSON?.()),\n } as CallExpression;\n }\n}\n\nclass RelationalExpressionImpl implements RelationalExpression {\n #expressions: [Expression, Expression] = [\n { type: \"unknown\" },\n { type: \"unknown\" },\n ];\n #op: relationalOp = \"unknown\";\n type = \"relationalExpression\" as const;\n\n get op() {\n return this.#op;\n }\n set op(op: relationalOp) {\n this.#op = op;\n }\n get expressions() {\n return this.#expressions;\n }\n\n toJSON() {\n return {\n type: this.type,\n op: this.#op,\n expressions: this.#expressions,\n } as RelationalExpression;\n }\n}\n\nclass BooleanConditionImp implements BooleanCondition {\n #expressions: [Expression, Expression] = [\n { type: \"unknown\" },\n { type: \"unknown\" },\n ];\n #op: \"and\" | \"or\";\n type = \"booleanCondition\" as const;\n constructor(booleanOperator: \"and\" | \"or\") {\n this.#op = booleanOperator;\n }\n get op() {\n return this.#op;\n }\n get expressions() {\n return this.#expressions;\n }\n toJSON() {\n return {\n type: this.type,\n op: this.#op,\n expressions: this.#expressions.map((e) => e.toJSON?.()),\n };\n }\n}\n\nclass ConditionalExpressionImpl implements ConditionalExpression {\n #expressions: [ConditionExpression, Expression, Expression];\n type = \"conditionalExpression\" as const;\n\n constructor(booleanOperator?: \"and\" | \"or\") {\n this.#expressions = [\n booleanOperator\n ? new BooleanConditionImp(booleanOperator)\n : new RelationalExpressionImpl(),\n { type: \"unknown\" },\n { type: \"unknown\" },\n ];\n }\n\n get expressions() {\n return this.#expressions;\n }\n\n get condition(): ConditionExpression {\n return this.#expressions[0];\n }\n get truthyExpression(): Expression {\n return this.#expressions[1];\n }\n set truthyExpression(expression: Expression) {\n this.#expressions[1] = expression;\n }\n get falsyExpression(): Expression {\n return this.#expressions[2];\n }\n set falsyExpression(expression: Expression) {\n this.#expressions[2] = expression;\n }\n\n toJSON() {\n return {\n type: this.type,\n condition: this.condition.toJSON?.(),\n truthyExpression: this.truthyExpression,\n falsyExpression: this.falsyExpression?.toJSON?.() ?? this.falsyExpression,\n };\n }\n}\n\ntype PartialExpression =\n | ArithmeticExpression\n | RelationalExpression\n | ColExpression\n | CallExpression\n | BooleanCondition\n | Partial<ConditionalExpression>;\n\nconst isUnknown = (e: Expression): e is UnknownExpression =>\n e.type === \"unknown\";\n\nconst isArithmeticExpression = (\n expression: PotentiallyUnresolvedExpression\n): expression is ArithmeticExpression =>\n expression.type === \"arithmeticExpression\";\n\nconst isCallExpression = (\n expression: PotentiallyUnresolvedExpression\n): expression is CallExpression => expression.type === \"callExpression\";\n\nconst isConditionalExpression = (\n expression: PotentiallyUnresolvedExpression\n): expression is ConditionalExpression =>\n expression.type === \"conditionalExpression\";\n\nconst isCondition = (\n expression: Expression | PartialExpression\n): expression is ConditionExpression =>\n expression.type === \"relationalExpression\" ||\n expression.type === \"booleanCondition\";\n\nconst booleanConditionIsIncomplete = (\n condition: ConditionExpression\n): boolean =>\n condition.expressions.length < 2 ||\n condition.expressions.some((e) => conditionIsIncomplete(e));\n\nconst isBooleanCondition = (\n expression: Expression\n): expression is BooleanCondition => expression.type === \"booleanCondition\";\n\nconst isRelationalExpression = (\n expression?: Expression\n): expression is RelationalExpression =>\n expression?.type === \"relationalExpression\";\n\nconst conditionIsIncomplete = (\n condition: Expression\n): condition is ConditionExpression =>\n (isBooleanCondition(condition) && booleanConditionIsIncomplete(condition)) ||\n (isRelationalExpression(condition) && condition.expressions.length < 2);\n\nconst firstIncompleteExpression = (\n expression: Expression\n): Expression | undefined => {\n if (isUnknown(expression)) {\n return expression;\n } else if (isRelationalExpression(expression)) {\n const [operand1, operand2] = expression.expressions;\n if (expressionIsIncomplete(operand1)) {\n return firstIncompleteExpression(operand1);\n } else if (expression.op === \"unknown\") {\n return expression;\n } else if (expressionIsIncomplete(operand2)) {\n return firstIncompleteExpression(operand2);\n }\n } else if (isCondition(expression)) {\n const { expressions = [] } = expression;\n for (const e of expressions) {\n if (expressionIsIncomplete(e)) {\n return firstIncompleteExpression(e);\n }\n }\n } else if (isConditionalExpression(expression)) {\n const { condition, truthyExpression, falsyExpression } = expression;\n if (expressionIsIncomplete(condition)) {\n return firstIncompleteExpression(condition);\n } else if (expressionIsIncomplete(truthyExpression)) {\n return firstIncompleteExpression(truthyExpression);\n } else if (expressionIsIncomplete(falsyExpression)) {\n return firstIncompleteExpression(falsyExpression);\n }\n } else if (isArithmeticExpression(expression)) {\n const { expressions = [] } = expression;\n for (const e of expressions) {\n if (expressionIsIncomplete(e)) {\n return firstIncompleteExpression(e);\n }\n }\n }\n};\nconst replaceUnknownExpression = (\n incompleteExpression: Expression,\n unknownExpression: UnknownExpression,\n expression: Expression\n): boolean => {\n const { expressions = [] } = incompleteExpression;\n if (expressions.includes(unknownExpression)) {\n const pos = expressions.indexOf(unknownExpression);\n expressions.splice(pos, 1, expression);\n return true;\n } else {\n for (const e of expressions) {\n if (replaceUnknownExpression(e, unknownExpression, expression)) {\n return true;\n }\n }\n }\n return false;\n};\n\nconst expressionIsIncomplete = (expression: Expression): boolean => {\n if (isUnknown(expression)) {\n return true;\n } else if (isConditionalExpression(expression)) {\n return (\n expressionIsIncomplete(expression.condition) ||\n expressionIsIncomplete(expression.truthyExpression) ||\n expressionIsIncomplete(expression.falsyExpression)\n );\n } else if (\n isRelationalExpression(expression) ||\n isBooleanCondition(expression)\n ) {\n return (\n expression.op === undefined ||\n expression.expressions.some((e) => expressionIsIncomplete(e))\n );\n }\n // TODO missing cases\n return false;\n};\n\ntype ExpressionImpl =\n | ArithmeticExpressionImpl\n | CallExpressionImpl\n | ColumnExpressionImpl\n | ConditionalExpressionImpl\n | LiteralExpressionImpl;\n\ntype PotentiallyUnresolvedExpression = Expression | PartialExpression;\n\nconst addExpression = (\n expression: Expression,\n subExpression: PartialExpression | Expression\n) => {\n const targetExpression = firstIncompleteExpression(expression);\n if (targetExpression) {\n if (targetExpression.expressions) {\n targetExpression.expressions.push(subExpression as Expression);\n } else {\n console.warn(\"don't know how to treat targetExpression\");\n }\n } else {\n console.error(\"no target expression found\");\n }\n};\n\nclass ColumnExpression {\n #expression: ExpressionImpl | undefined;\n\n #callStack: CallExpression[] = [];\n\n setCondition(booleanOperator?: \"and\" | \"or\") {\n if (this.#expression === undefined) {\n this.addExpression(new ConditionalExpressionImpl(booleanOperator));\n } else if (isConditionalExpression(this.#expression)) {\n if (expressionIsIncomplete(this.#expression.condition)) {\n const condition = booleanOperator\n ? new BooleanConditionImp(booleanOperator)\n : new RelationalExpressionImpl();\n this.addExpression(condition);\n } else if (isUnknown(this.#expression.truthyExpression)) {\n this.#expression.truthyExpression = new ConditionalExpressionImpl(\n booleanOperator\n );\n } else if (expressionIsIncomplete(this.#expression.truthyExpression)) {\n const condition = booleanOperator\n ? new BooleanConditionImp(booleanOperator)\n : new RelationalExpressionImpl();\n this.addExpression(condition);\n } else if (isUnknown(this.#expression.falsyExpression)) {\n this.#expression.falsyExpression = new ConditionalExpressionImpl(\n booleanOperator\n );\n } else if (expressionIsIncomplete(this.#expression.falsyExpression)) {\n const condition = booleanOperator\n ? new BooleanConditionImp(booleanOperator)\n : new RelationalExpressionImpl();\n this.addExpression(condition);\n }\n } else {\n console.error(\"setCondition called unexpectedly\");\n }\n }\n\n addExpression(expression: ExpressionImpl | Expression) {\n if (this.#callStack.length > 0) {\n const currentCallExpression = this.#callStack.at(-1);\n currentCallExpression?.arguments.push(expression as Expression);\n } else if (this.#expression === undefined) {\n this.#expression = expression as ExpressionImpl;\n } else if (isArithmeticExpression(this.#expression)) {\n const targetExpression = firstIncompleteExpression(this.#expression);\n if (targetExpression && isUnknown(targetExpression)) {\n replaceUnknownExpression(\n this.#expression,\n targetExpression,\n expression\n );\n }\n } else if (isConditionalExpression(this.#expression)) {\n if (expressionIsIncomplete(this.#expression)) {\n const targetExpression = firstIncompleteExpression(this.#expression);\n if (targetExpression && isUnknown(targetExpression)) {\n replaceUnknownExpression(\n this.#expression,\n targetExpression,\n expression\n );\n } else if (targetExpression) {\n addExpression(targetExpression, expression);\n }\n }\n }\n }\n\n setFunction(functionName: string) {\n const callExpression = new CallExpressionImpl(functionName);\n this.addExpression(callExpression);\n this.#callStack.push(callExpression);\n }\n\n setColumn(columnName: string) {\n this.addExpression(new ColumnExpressionImpl(columnName));\n }\n\n setArithmeticOp(value: string) {\n const op = value as arithmeticOp;\n const expression = this.#expression as Expression;\n if (isArithmeticExpression(expression)) {\n expression.op = op;\n }\n // else {\n // const targetExpression = firstIncompleteExpression(this.#expression);\n // if (targetExpression) {\n // targetExpression.op = op;\n // }\n // }\n }\n\n setRelationalOperator(value: string) {\n const op = value as relationalOp;\n if (this.#expression && isConditionalExpression(this.#expression)) {\n const targetExpression = firstIncompleteExpression(this.#expression);\n if (isRelationalExpression(targetExpression)) {\n targetExpression.op = op;\n } else {\n console.error(`no target expression found (op = ${value})`);\n }\n }\n }\n\n setValue(value: string | number | boolean) {\n const literalExpression = new LiteralExpressionImpl(value);\n if (this.#expression === undefined) {\n this.#expression = literalExpression;\n } else if (isArithmeticExpression(this.#expression)) {\n this.addExpression(literalExpression);\n } else if (isCallExpression(this.#expression)) {\n // TODO this might not be correct if call arguments include nested expression(s)\n this.#expression.arguments.push(literalExpression);\n } else if (isConditionalExpression(this.#expression)) {\n if (expressionIsIncomplete(this.#expression)) {\n const targetExpression = firstIncompleteExpression(this.#expression);\n if (targetExpression && isUnknown(targetExpression)) {\n replaceUnknownExpression(\n this.#expression,\n targetExpression,\n literalExpression\n );\n } else if (targetExpression) {\n addExpression(targetExpression, literalExpression);\n }\n } else {\n console.log(\"what do we do with value, in a complete expression\");\n }\n }\n }\n\n closeBrace() {\n this.#callStack.pop();\n }\n\n get expression() {\n return this.#expression;\n }\n\n toJSON() {\n return this.#expression?.toJSON() as ColumnDefinitionExpression;\n }\n}\n\nexport const walkTree = (tree: Tree, source: string) => {\n const columnExpression = new ColumnExpression();\n const cursor = tree.cursor();\n do {\n const { name, from, to } = cursor;\n switch (name) {\n case \"AndCondition\":\n columnExpression.setCondition(\"and\");\n break;\n\n case \"OrCondition\":\n columnExpression.setCondition(\"or\");\n break;\n\n case \"RelationalExpression\":\n columnExpression.setCondition();\n break;\n\n case \"ArithmeticExpression\":\n columnExpression.addExpression(new ArithmeticExpressionImpl());\n break;\n\n case \"Column\":\n {\n const columnName = source.substring(from, to);\n columnExpression.setColumn(columnName);\n }\n break;\n\n case \"Function\":\n {\n const functionName = source.substring(from, to);\n columnExpression.setFunction(functionName);\n }\n break;\n\n case \"Times\":\n case \"Divide\":\n case \"Plus\":\n case \"Minus\":\n {\n const op = source.substring(from, to);\n columnExpression.setArithmeticOp(op);\n }\n break;\n\n case \"RelationalOperator\":\n {\n const op = source.substring(from, to);\n columnExpression.setRelationalOperator(op);\n }\n break;\n\n case \"False\":\n case \"True\":\n {\n const value = source.substring(from, to);\n columnExpression.setValue(value === \"true\" ? true : false);\n }\n break;\n\n case \"String\":\n columnExpression.setValue(source.substring(from + 1, to - 1));\n break;\n\n case \"Number\":\n columnExpression.setValue(parseFloat(source.substring(from, to)));\n break;\n\n case \"CloseBrace\":\n columnExpression.closeBrace();\n break;\n\n default:\n }\n } while (cursor.next());\n\n return columnExpression.toJSON();\n};\n", "import type { SyntaxNode } from \"@vuu-ui/vuu-codemirror\";\nimport { parser } from \"./generated/column-parser\";\n\nconst strictParser = parser.configure({ strict: true });\n\nconst RelationalOperands = [\"Number\", \"String\"];\n\nexport const ColumnNamedTerms: readonly string[] = [\n ...RelationalOperands,\n \"AndCondition\",\n \"ArithmeticExpression\",\n \"BooleanOperator\",\n \"RelationalOperatorOperator\",\n \"CallExpression\",\n \"CloseBrace\",\n \"Column\",\n \"Comma\",\n \"ConditionalExpression\",\n \"Divide\",\n \"Equal\",\n \"If\",\n \"Minus\",\n \"OpenBrace\",\n \"OrCondition\",\n \"ParenthesizedExpression\",\n \"Plus\",\n \"RelationalExpression\",\n \"RelationalOperator\",\n \"Times\",\n];\n\nexport const isCompleteExpression = (src: string) => {\n try {\n strictParser.parse(src);\n return true;\n } catch (err) {\n return false;\n }\n};\n\nexport const lastNamedChild = (node: SyntaxNode): SyntaxNode | null => {\n let { lastChild } = node;\n while (lastChild && !ColumnNamedTerms.includes(lastChild.name)) {\n lastChild = lastChild.prevSibling;\n console.log(lastChild?.name);\n }\n return lastChild;\n};\n\nexport const isCompleteRelationalExpression = (node?: SyntaxNode) => {\n if (node?.name === \"RelationalExpression\") {\n const { firstChild } = node;\n const lastChild = lastNamedChild(node);\n if (\n firstChild?.name === \"Column\" &&\n typeof lastChild?.name === \"string\" &&\n RelationalOperands.includes(lastChild.name)\n ) {\n return true;\n }\n }\n\n return false;\n};\n", "import {\n HighlightStyle,\n syntaxHighlighting,\n tags,\n} from \"@vuu-ui/vuu-codemirror\";\n\nconst myHighlightStyle = HighlightStyle.define([\n { tag: tags.variableName, color: \"var(--vuuFilterEditor-variableColor)\" },\n { tag: tags.comment, color: \"green\", fontStyle: \"italic\" },\n]);\n\nexport const vuuHighlighting = syntaxHighlighting(myHighlightStyle);\n", "import { EditorView } from \"@vuu-ui/vuu-codemirror\";\n\nexport const vuuTheme = EditorView.theme(\n {\n \"&\": {\n border: \"solid 1px var(--salt-container-primary-borderColor)\",\n color: \"var(--vuuFilterEditor-color)\",\n backgroundColor: \"var(--vuuFilterEditor-background)\",\n },\n \".cm-content\": {\n caretColor: \"var(--vuuFilterEditor-cursorColor)\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"var(--vuuFilterEditor-cursorColor)\",\n },\n \"&.cm-focused .cm-selectionBackground, ::selection\": {\n backgroundColor: \"var(--vuuFilterEditor-selectionBackground)\",\n },\n \".cm-selectionBackground, ::selection\": {\n backgroundColor: \"var(--vuuFilterEditor-selectionBackground)\",\n },\n \".cm-scroller\": {\n fontFamily: \"var(--vuuFilterEditor-fontFamily)\",\n },\n \".cm-tooltip\": {\n background: \"var(--vuuFilterEditor-tooltipBackground)\",\n border: \"var(--vuuFilterEditor-tooltipBorder)\",\n boxShadow: \"var(--vuuFilterEditor-tooltipElevation)\",\n \"&.cm-tooltip-autocomplete > ul\": {\n fontFamily: \"var(--vuuFilterEditor-fontFamily)\",\n fontSize: \"var(--vuuFilterEditor-fontSize)\",\n maxHeight: \"240px\",\n },\n \"&.cm-tooltip-autocomplete > ul > li\": {\n height: \"var(--vuuFilterEditor-suggestion-height)\",\n padding: \"0 3px\",\n lineHeight: \"var(--vuuFilterEditor-suggestion-height)\",\n },\n \"&.cm-tooltip-autocomplete li[aria-selected]\": {\n background: \"var(--vuuFilterEditor-suggestion-selectedBackground)\",\n color: \"var(--vuuFilterEditor-suggestion-selectedColor)\",\n },\n \"&.cm-tooltip-autocomplete li .cm-completionDetail\": {\n color: \"var(--vuuFilterEditor-suggestion-detailColor)\",\n },\n },\n },\n { dark: false }\n);\n", "import {\n booleanJoinSuggestions,\n Completion,\n CompletionContext,\n CompletionSource,\n EditorState,\n getNamedParentNode,\n getPreviousNode,\n getValue,\n SyntaxNode,\n syntaxTree,\n} from \"@vuu-ui/vuu-codemirror\";\nimport { MutableRefObject, useCallback } from \"react\";\nimport {\n ColumnNamedTerms,\n isCompleteExpression,\n isCompleteRelationalExpression,\n} from \"./column-language-parser\";\nimport {\n ColumnExpressionOperator,\n ColumnExpressionSuggestionOptions,\n ColumnExpressionSuggestionType,\n IExpressionSuggestionProvider,\n} from \"./useColumnExpressionEditor\";\nimport { lastNamedChild } from \"./column-language-parser\";\n\nexport type ApplyCompletion = (mode?: \"add\" | \"replace\") => void;\n\nexport type Operator = \"\";\n\nconst applyPrefix = (completions: Completion[], prefix?: string) =>\n prefix\n ? completions.map((completion) => ({\n ...completion,\n apply:\n typeof completion.apply === \"function\"\n ? completion.apply\n : `${prefix}${completion.apply ?? completion.label}`,\n }))\n : completions;\n\nconst isOperator = (node?: SyntaxNode): node is SyntaxNode =>\n node === undefined\n ? false\n : [\"Times\", \"Divide\", \"Plus\", \"Minus\"].includes(node.name);\n\nconst getLastChild = (node: SyntaxNode, context: CompletionContext) => {\n let { lastChild: childNode } = node;\n const { pos } = context;\n while (childNode) {\n const isBeforeCursor = childNode.from < pos;\n if (isBeforeCursor && ColumnNamedTerms.includes(childNode.name)) {\n if (childNode.name === \"ParenthesizedExpression\") {\n // extract the parenthesized expression\n const expression = childNode.firstChild?.nextSibling;\n if (expression) {\n childNode = expression;\n }\n }\n return childNode;\n } else {\n childNode = childNode.prevSibling;\n }\n }\n};\nconst getFunctionName = (node: SyntaxNode, state: EditorState) => {\n if (node.name === \"ArgList\") {\n const functionNode = node.prevSibling;\n if (functionNode) {\n return getValue(functionNode, state);\n }\n } else if (node.name === \"OpenBrace\") {\n const maybeFunction = node.parent?.prevSibling;\n if (maybeFunction?.name === \"Function\") {\n return getValue(maybeFunction, state);\n }\n }\n};\n\nconst getRelationalOperator = (node: SyntaxNode, state: EditorState) => {\n if (node.name === \"RelationalExpression\") {\n const lastNode = lastNamedChild(node);\n if (lastNode?.name === \"RelationalOperator\") {\n return getValue(lastNode, state);\n }\n } else {\n const prevNode = node.prevSibling;\n if (prevNode?.name === \"RelationalOperator\") {\n return getValue(prevNode, state) as ColumnExpressionOperator;\n }\n }\n};\n\nconst getColumnName = (\n node: SyntaxNode,\n state: EditorState\n): string | undefined => {\n if (node.name === \"RelationalExpression\") {\n if (node.firstChild?.name === \"Column\") {\n return getValue(node.firstChild, state);\n }\n } else {\n const prevNode = node.prevSibling;\n if (prevNode?.name === \"Column\") {\n return getValue(prevNode, state);\n } else if (prevNode?.name === \"RelationalOperator\") {\n return getColumnName(prevNode, state);\n }\n }\n};\n\nconst makeSuggestions = async (\n context: CompletionContext,\n suggestionProvider: IExpressionSuggestionProvider,\n suggestionType: ColumnExpressionSuggestionType,\n optionalArgs: ColumnExpressionSuggestionOptions = {}\n) => {\n const options = await suggestionProvider.getSuggestions(\n suggestionType,\n optionalArgs\n );\n const { startsWith = \"\" } = optionalArgs;\n return { from: context.pos - startsWith.length, options };\n};\n\nconst handleConditionalExpression = (\n node: SyntaxNode,\n context: CompletionContext,\n suggestionProvider: IExpressionSuggestionProvider,\n maybeComplete?: boolean,\n onSubmit?: () => void\n) => {\n const lastChild = getLastChild(node, context);\n console.log(`conditional expression last child ${lastChild?.name}`);\n switch (lastChild?.name) {\n case \"If\":\n return makeSuggestions(context, suggestionProvider, \"expression\", {\n prefix: \"( \",\n });\n case \"OpenBrace\":\n return makeSuggestions(context, suggestionProvider, \"expression\");\n case \"Condition\":\n return makeSuggestions(context, suggestionProvider, \"expression\", {\n prefix: \", \",\n });\n case \"CloseBrace\":\n if (maybeComplete) {\n const options: Completion[] = [\n {\n apply: () => {\n onSubmit?.();\n },\n label: \"Save Expression\",\n boost: 10,\n },\n ];\n return { from: context.pos, options };\n }\n }\n};\n\nconst promptToSave = (context: CompletionContext, onSubmit: () => void) => {\n const options: Completion[] = [\n {\n apply: () => {\n onSubmit?.();\n },\n label: \"Save Expression\",\n boost: 10,\n },\n ];\n return { from: context.pos, options };\n};\n\nexport const useColumnAutoComplete = (\n suggestionProvider: IExpressionSuggestionProvider,\n onSubmit: MutableRefObject<ApplyCompletion>\n) => {\n const makeSuggestions = useCallback(\n async (\n context: CompletionContext,\n suggestionType: ColumnExpressionSuggestionType,\n optionalArgs: ColumnExpressionSuggestionOptions = {}\n ) => {\n const options = await suggestionProvider.getSuggestions(\n suggestionType,\n optionalArgs\n );\n const { startsWith = \"\" } = optionalArgs;\n return { from: context.pos - startsWith.length, options };\n },\n [suggestionProvider]\n );\n\n return useCallback(\n async (context: CompletionContext) => {\n const { state, pos } = context;\n const word = context.matchBefore(/\\w*/) ?? {\n from: 0,\n to: 0,\n text: undefined,\n };\n\n const tree = syntaxTree(state);\n const nodeBefore = tree.resolveInner(pos, -1);\n const text = state.doc.toString();\n const maybeComplete = isCompleteExpression(text);\n\n console.log({ nodeBeforeName: nodeBefore.name });\n\n switch (nodeBefore.name) {\n case \"If\": {\n console.log(`conditional expression If`);\n return makeSuggestions(context, \"expression\", { prefix: \"( \" });\n }\n case \"Condition\":\n {\n const lastChild = getLastChild(nodeBefore, context);\n if (lastChild?.name === \"Column\") {\n // is this the first term ?\n const prevChild = getPreviousNode(lastChild);\n if (prevChild?.name !== \"RelationalOperator\") {\n return makeSuggestions(context, \"condition-operator\", {\n columnName: getValue(lastChild, state),\n });\n }\n console.log(\n `Condition last child Column, prev child ${prevChild?.name}`\n );\n } else if (lastChild?.name === \"RelationalOperator\") {\n // we need the type of the expression on the other side of the operator\n return makeSuggestions(context, \"expression\");\n }\n console.log(`condition last child ${lastChild?.name}`);\n }\n break;\n case \"ConditionalExpression\":\n return handleConditionalExpression(\n nodeBefore,\n context,\n suggestionProvider\n );\n case \"RelationalExpression\":\n {\n if (isCompleteRelationalExpression(nodeBefore)) {\n return {\n from: context.pos,\n options: booleanJoinSuggestions.concat({\n label: \", <truthy expression>, <falsy expression>\",\n apply: \", \",\n }),\n };\n } else {\n const operator = getRelationalOperator(nodeBefore, state);\n const columnName = getColumnName(nodeBefore, state);\n if (!operator) {\n const options = await suggestionProvider.getSuggestions(\n \"condition-operator\",\n {\n columnName,\n }\n );\n return { from: context.pos, options };\n } else {\n return makeSuggestions(context, \"expression\");\n }\n }\n }\n break;\n\n case \"RelationalOperator\":\n // we need the type of the expression on the other side of the operator\n return makeSuggestions(context, \"expression\");\n\n case \"String\":\n {\n // we only encounter a string as the right hand operand of a conditional expression\n const operator = getRelationalOperator(\n nodeBefore,\n state\n ) as ColumnExpressionOperator;\n const columnName = getColumnName(nodeBefore, state);\n // are we inside the string or immediately after it\n const { from, to } = nodeBefore;\n if (to - from === 2 && context.pos === from + 1) {\n // We are in an empty string, i.e between two quotes\n if (columnName && operator) {\n return makeSuggestions(context, \"columnValue\", {\n columnName,\n operator,\n startsWith: word.text,\n });\n }\n } else if (to - from > 2 && context.pos === to) {\n // NOte we couls also offer AND/OR to extend the condition\n return makeSuggestions(context, \"expression\", {\n prefix: \", \",\n });\n }\n console.log(\n `we have a string, column is ${columnName} ${from} ${to}`\n );\n }\n break;\n\n case \"ArithmeticExpression\":\n {\n const lastChild = getLastChild(nodeBefore, context);\n if (lastChild?.name === \"Column\") {\n return makeSuggestions(context, \"expression\");\n } else if (isOperator(lastChild)) {\n const operator = lastChild.name as ColumnExpressionOperator;\n return makeSuggestions(context, \"column\", { operator });\n }\n }\n\n break;\n case \"OpenBrace\":\n {\n // Might be a function expression, might be parenthesized\n const functionName = getFunctionName(nodeBefore, state);\n // If not function, what came before - if it's an operator\n // we restrict to numerics\n return makeSuggestions(context, \"expression\", { functionName });\n }\n break;\n case \"ArgList\": {\n const functionName = getFunctionName(nodeBefore, state);\n const lastArgument = getLastChild(nodeBefore, context);\n const prefix = lastArgument?.name === \"OpenBrace\" ? undefined : \",\";\n let options = await suggestionProvider.getSuggestions(\"expression\", {\n functionName,\n });\n options = prefix ? applyPrefix(options, \", \") : options;\n // TODO per function check for number of arguments expected\n if (\n lastArgument?.name !== \"OpenBrace\" &&\n lastArgument?.name !== \"Comma\"\n ) {\n options = [\n {\n apply: \") \",\n boost: 10,\n label: \"Done - no more arguments\",\n } as Completion,\n ].concat(options);\n }\n return { from: context.pos, options };\n }\n case \"Equal\":\n if (text.trim() === \"=\") {\n return makeSuggestions(context, \"expression\");\n }\n break;\n case \"ParenthesizedExpression\":\n case \"ColumnDefinitionExpression\":\n if (context.pos === 0) {\n return makeSuggestions(context, \"expression\");\n } else {\n const lastChild = getLastChild(nodeBefore, context);\n if (lastChild?.name === \"Column\") {\n if (maybeComplete) {\n // We come in here is the columns IS complete, too (ie has space after)\n const options: Completion[] = [\n {\n apply: () => {\n onSubmit.current();\n },\n label: \"Save Expression\",\n boost: 10,\n },\n ];\n const columnName = getValue(lastChild, state);\n const columnOptions: Completion[] =\n await suggestionProvider.getSuggestions(\"operator\", {\n columnName,\n });\n\n return {\n from: context.pos,\n options: options.concat(columnOptions),\n };\n }\n } else if (lastChild?.name === \"CallExpression\") {\n if (maybeComplete) {\n const options = [\n {\n apply: () => {\n onSubmit.current();\n },\n label: \"Save Expression\",\n boost: 10,\n },\n ];\n return {\n from: context.pos,\n options,\n };\n }\n } else if (lastChild?.name === \"ArithmeticExpression\") {\n if (maybeComplete) {\n let options: Completion[] = [\n {\n apply: () => {\n onSubmit.current();\n },\n label: \"Save Expression\",\n boost: 10,\n },\n ];\n\n const lastExpressionChild = getLastChild(lastChild, context);\n if (lastExpressionChild?.name === \"Column\") {\n const columnName = getValue(lastExpressionChild, state);\n // TODO need to exclude columns already included in expression\n\n const suggestions = await suggestionProvider.getSuggestions(\n \"operator\",\n { columnName }\n );\n options = options.concat(suggestions);\n }\n\n return {\n from: context.pos,\n options,\n };\n }\n } else if (lastChild?.name === \"ConditionalExpression\") {\n return handleConditionalExpression(\n lastChild,\n context,\n suggestionProvider,\n maybeComplete,\n onSubmit.current\n );\n }\n break;\n }\n case \"Column\":\n {\n const isPartialMatch = await suggestionProvider.isPartialMatch(\n \"expression\",\n undefined,\n word.text\n );\n\n if (isPartialMatch) {\n return makeSuggestions(context, \"expression\", {\n startsWith: word.text,\n });\n }\n }\n break;\n case \"Comma\":\n {\n const parentNode = getNamedParentNode(nodeBefore);\n if (parentNode?.name === \"ConditionalExpression\") {\n return makeSuggestions(context, \"expression\");\n }\n }\n break;\n\n case \"CloseBrace\":\n {\n const parentNode = getNamedParentNode(nodeBefore);\n if (parentNode?.name === \"ConditionalExpression\") {\n return handleConditionalExpression(\n parentNode,\n context,\n suggestionProvider,\n maybeComplete,\n onSubmit.current\n );\n } else if (parentNode?.name === \"ArgList\") {\n if (maybeComplete) {\n return promptToSave(context, onSubmit.current);\n }\n }\n console.log(\n `does closebrace denote an ARgList or a parenthetised expression ? ${parentNode}`\n );\n }\n break;\n\n default: {\n if (nodeBefore?.prevSibling?.name === \"FilterClause\") {\n console.log(\"looks like we ight be a or|and operator\");\n }\n }\n }\n },\n [makeSuggestions, onSubmit, suggestionProvider]\n ) as CompletionSource;\n};\n", "import { HTMLAttributes } from \"react\";\nimport {\n ExpressionSuggestionConsumer,\n useColumnExpressionEditor,\n} from \"./useColumnExpressionEditor\";\n\nimport \"./ColumnExpressionInput.css\";\nimport { ColumnDefinitionExpression } from \"./column-language-parser\";\n\nconst classBase = \"vuuColumnExpressionInput\";\n\nexport interface ColumnExpressionInputProps\n extends ExpressionSuggestionConsumer,\n Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n onChange?: (\n source: string,\n expression: ColumnDefinitionExpression | undefined\n ) => void;\n onSubmitExpression?: (\n source: string,\n expression: ColumnDefinitionExpression | undefined\n ) => void;\n}\n\nexport const ColumnExpressionInput = ({\n onChange,\n onSubmitExpression,\n suggestionProvider,\n}: ColumnExpressionInputProps) => {\n const { editorRef } = useColumnExpressionEditor({\n onChange,\n onSubmitExpression,\n suggestionProvider,\n });\n\n return <div className={`${classBase}`} ref={editorRef} />;\n};\n", "import {\n AnnotationType,\n Completion,\n EditorView,\n getRelationalOperators,\n numericOperators,\n stringOperators,\n toSuggestions,\n} from \"@vuu-ui/vuu-codemirror\";\nimport {\n getTypeaheadParams,\n useTypeaheadSuggestions,\n} from \"@vuu-ui/vuu-data-react\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport {\n ColumnExpressionOperator,\n ColumnExpressionSuggestionType,\n IExpressionSuggestionProvider,\n} from \"@vuu-ui/vuu-table-extras\";\nimport { isNumericColumn, isTextColumn } from \"@vuu-ui/vuu-utils\";\nimport { useCallback, useRef } from \"react\";\nimport {\n ColumnFunctionDescriptor,\n columnFunctionDescriptors,\n} from \"./column-function-descriptors\";\nimport { functionDocInfo } from \"./functionDocInfo\";\n\nconst NO_OPERATORS = [] as Completion[];\n\nconst withApplySpace = (suggestions: Completion[]): Completion[] =>\n suggestions.map((suggestion) => ({\n ...suggestion,\n apply: (suggestion.apply ?? suggestion.label) + \" \",\n }));\n\ntype ColumnOptions = {\n functionName?: string;\n operator?: ColumnExpressionOperator;\n prefix?: string;\n};\n\nconst getValidColumns = (\n columns: ColumnDescriptor[],\n { functionName, operator }: ColumnOptions\n) => {\n if (operator) {\n return columns.filter(isNumericColumn);\n } else if (functionName) {\n const fn = columnFunctionDescriptors.find((f) => f.name === functionName);\n if (fn) {\n switch (fn.accepts) {\n case \"string\":\n return columns.filter(isTextColumn);\n case \"number\":\n return columns.filter(isNumericColumn);\n default:\n return columns;\n }\n }\n }\n return columns;\n};\n\nconst getColumns = (columns: ColumnDescriptor[], options: ColumnOptions) => {\n const validColumns = getValidColumns(columns, options);\n return validColumns.map((column) => {\n const label = column.label ?? column.name;\n return {\n apply: options.prefix ? `${options.prefix}${label}` : label,\n label,\n boost: 5,\n type: \"column\",\n expressionType: column.serverDataType,\n };\n });\n};\n\n// prettier-ignore\nconst arithmeticOperators = [\n { apply: \"* \", boost: 2, label: \"*\", type: \"operator\" },\n { apply: \"/ \", boost: 2, label: \"/\", type: \"operator\" },\n { apply: \"+ \", boost: 2, label: \"+\", type: \"operator\" },\n { apply: \"- \", boost: 2, label: \"-\", type: \"operator\" },\n];\n\nconst getOperators = (column?: ColumnDescriptor) => {\n if (column === undefined || isNumericColumn(column)) {\n return arithmeticOperators;\n } else {\n return NO_OPERATORS;\n }\n};\n\nconst getConditionOperators = (column: ColumnDescriptor) => {\n switch (column.serverDataType) {\n case \"string\":\n case \"char\":\n return withApplySpace(stringOperators /*, startsWith*/);\n case \"int\":\n case \"long\":\n case \"double\":\n return withApplySpace(numericOperators);\n }\n};\n\nconst toFunctionCompletion = (\n functionDescriptor: ColumnFunctionDescriptor\n) => ({\n apply: `${functionDescriptor.name}( `,\n boost: 2,\n expressionType: functionDescriptor.type,\n info: () => functionDocInfo(functionDescriptor),\n label: functionDescriptor.name,\n type: \"function\",\n});\n\nconst getAcceptedTypes = (fn?: ColumnFunctionDescriptor) => {\n if (fn) {\n if (typeof fn.accepts === \"string\") {\n return fn.accepts;\n } else if (Array.isArray(fn.accepts)) {\n if (fn.accepts.every((s) => s === \"string\")) {\n return \"string\";\n } else {\n return \"any\";\n }\n }\n }\n return \"any\";\n};\n\nconst functions: Completion[] =\n columnFunctionDescriptors.map(toFunctionCompletion);\n\nconst getFunctions = ({ functionName }: ColumnOptions) => {\n if (functionName) {\n const fn = columnFunctionDescriptors.find((f) => f.name === functionName);\n const acceptedTypes = getAcceptedTypes(fn);\n if (fn) {\n switch (acceptedTypes) {\n case \"string\":\n return columnFunctionDescriptors\n .filter((f) => f.type === \"string\" || f.type === \"variable\")\n .map(toFunctionCompletion);\n case \"number\":\n return columnFunctionDescriptors\n .filter((f) => f.type === \"number\" || f.type === \"variable\")\n .map(toFunctionCompletion);\n default:\n }\n }\n }\n return functions;\n};\n\nexport interface SuggestionProviderHookProps {\n columns: ColumnDescriptor[];\n table: VuuTable;\n}\n\nconst NONE = {};\n\nexport const useColumnExpressionSuggestionProvider = ({\n columns,\n table,\n}: SuggestionProviderHookProps): IExpressionSuggestionProvider => {\n const findColumn = useCallback(\n (name?: string) =>\n name ? columns.find((col) => col.name === name) : undefined,\n [columns]\n );\n\n const latestSuggestionsRef = useRef<Completion[]>();\n const getTypeaheadSuggestions = useTypeaheadSuggestions();\n\n const getSuggestions: IExpressionSuggestionProvider[\"getSuggestions\"] =\n useCallback(\n async (suggestionType, options = NONE): Promise<Completion[]> => {\n const { columnName, functionName, operator, prefix } = options;\n\n switch (suggestionType) {\n case \"expression\": {\n const suggestions = await withApplySpace(\n getColumns(columns, { functionName, prefix })\n ).concat(getFunctions(options));\n return (latestSuggestionsRef.current = suggestions);\n }\n case \"column\": {\n const suggestions = await getColumns(columns, options);\n return (latestSuggestionsRef.current = withApplySpace(suggestions));\n }\n case \"operator\": {\n const suggestions = await getOperators(findColumn(columnName));\n return (latestSuggestionsRef.current = withApplySpace(suggestions));\n }\n case \"relational-operator\": {\n const suggestions = await getRelationalOperators(\n findColumn(columnName)\n );\n return (latestSuggestionsRef.current = withApplySpace(suggestions));\n }\n case \"condition-operator\":\n {\n const column = findColumn(columnName);\n if (column) {\n const suggestions = await getConditionOperators(column);\n if (suggestions) {\n return (latestSuggestionsRef.current =\n withApplySpace(suggestions));\n }\n }\n }\n break;\n case \"columnValue\":\n if (columnName && operator) {\n // const column = findColumn(columnName);\n const params = getTypeaheadParams(\n table,\n columnName /*, startsWith*/\n );\n const suggestions = await getTypeaheadSuggestions(params);\n latestSuggestionsRef.current = toSuggestions(suggestions, {\n suffix: \"\",\n });\n\n latestSuggestionsRef.current.forEach((suggestion) => {\n suggestion.apply = (\n view: EditorView,\n completion: Completion,\n from: number\n ) => {\n const annotation = new AnnotationType<Completion>();\n const cursorPos = from + completion.label.length + 1;\n view.dispatch({\n changes: { from, insert: completion.label },\n selection: { anchor: cursorPos, head: cursorPos },\n annotations: annotation.of(completion),\n });\n };\n });\n return latestSuggestionsRef.current;\n }\n break;\n }\n\n return [];\n },\n [columns, findColumn, getTypeaheadSuggestions, table]\n );\n\n const isPartialMatch = useCallback(\n async (\n valueType: ColumnExpressionSuggestionType,\n columnName?: string,\n pattern?: string\n ) => {\n const { current: latestSuggestions } = latestSuggestionsRef;\n let maybe = false;\n const suggestions =\n latestSuggestions || (await getSuggestions(valueType, { columnName }));\n if (pattern && suggestions) {\n for (const option of suggestions) {\n if (option.label === pattern) {\n return false;\n } else if (option.label.startsWith(pattern)) {\n maybe = true;\n }\n }\n }\n return maybe;\n },\n [getSuggestions]\n );\n\n return {\n getSuggestions,\n isPartialMatch,\n };\n};\n", "export type ColumnFunctionDescriptor = {\n accepts: \"string\" | \"number\" | \"any\" | Array<\"string\" | \"number\">;\n description: string;\n example: {\n expression: string;\n result: string;\n };\n name: string;\n params: {\n count?: number;\n description: string;\n };\n type: \"string\" | \"number\" | \"boolean\" | \"variable\";\n};\n\nexport const columnFunctionDescriptors: ColumnFunctionDescriptor[] = [\n /**\n * concatenate()\n */\n {\n accepts: \"string\",\n description:\n \"Returns multiple string values as a single joined string. Arguments may be string literal values, string columns or other string expressions. Non string arguments may also be included, these will be converted to strings.\",\n example: {\n expression: 'concatenate(\"example\", \"-test\")',\n result: '\"example-test\"',\n },\n name: \"concatenate\",\n params: {\n description: \"( string, string, [ string* ] )\",\n },\n type: \"string\",\n },\n /**\n * contains()\n */\n {\n accepts: [\"string\", \"string\"],\n description:\n \"Tests a string value to determine whether it contains a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> contains one or more occurrences of <target subscring>\",\n example: {\n expression: 'contains(\"Royal Bank of Scotland\", \"bank\")',\n result: \"true\",\n },\n name: \"contains\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n\n /**\n * left()\n */\n {\n accepts: [\"string\", \"number\"],\n description:\n \"Returns the leftmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.\",\n example: {\n expression: 'left(\"USD Benchmark Report\", 3)',\n result: '\"USD\"',\n },\n name: \"left\",\n params: {\n count: 2,\n description: \"( string, number )\",\n },\n type: \"string\",\n },\n /**\n * len()\n */\n {\n accepts: \"string\",\n description:\n \"Returns the number of characters in <string>. Argument may be a string literal, string column or other string expression.\",\n example: {\n expression: 'len(\"example\")',\n result: \"7\",\n },\n name: \"len\",\n params: {\n description: \"(string)\",\n },\n type: \"number\",\n },\n /**\n * lower()\n */\n {\n accepts: \"string\",\n description:\n \"Convert a string value to lowercase. Argument may be a string column or other string expression.\",\n example: {\n expression: 'lower(\"examPLE\")',\n result: '\"example\"',\n },\n name: \"lower\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * upper()\n */\n {\n accepts: \"string\",\n description:\n \"Convert a string value to uppercase. Argument may be a string column or other string expression.\",\n example: {\n expression: 'upper(\"example\")',\n result: '\"EXAMPLE\"',\n },\n name: \"upper\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * right()\n */\n {\n accepts: [\"string\", \"number\"],\n description:\n \"Returns the rightmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"right\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * replace()\n */\n {\n accepts: [\"string\", \"string\", \"string\"],\n description:\n \"Replace characters within a string. Accepts three arguments: source text, text to replace and replacement text. Returns a copy of <source text> with any occurrences of <text to replace> replaced by <replacement text>\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"replace\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * text()\n */\n {\n accepts: \"number\",\n description: \"Converts a number to a string.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"text\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * starts()\n */\n {\n accepts: \"string\",\n description:\n \"Tests a string value to determine whether it starts with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> starts with <target subscring>.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"starts\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n /**\n * starts()\n */\n {\n accepts: \"string\",\n description:\n \"Tests a string value to determine whether it ends with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> ends with <target subscring>.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"ends\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"min\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"max\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"sum\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"round\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"any\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"or\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n {\n accepts: \"any\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"and\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n {\n accepts: \"any\",\n description:\n \"Return one of two possible result values, depending on the evaluation of a filter expression. If <filterExpression> resolves to true, result is <expression1>, otherwise <expression2>. \",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"if\",\n params: {\n description: \"( filterExpression, expression1, expression 2)\",\n },\n type: \"variable\",\n },\n];\n", "import { createEl } from \"@vuu-ui/vuu-utils\";\nimport { ColumnFunctionDescriptor } from \"./column-function-descriptors\";\n\nexport const functionDocInfo = ({\n name,\n description,\n example,\n params,\n type,\n}: ColumnFunctionDescriptor) => {\n const rootElement = createEl(\"div\", \"vuuFunctionDoc\");\n const headingElement = createEl(\"div\", \"function-heading\");\n\n const nameElement = createEl(\"span\", \"function-name\", name);\n const paramElement = createEl(\"span\", \"param-list\", params.description);\n const typeElement = createEl(\"span\", \"function-type\", type);\n\n headingElement.appendChild(nameElement);\n headingElement.appendChild(paramElement);\n headingElement.appendChild(typeElement);\n\n const child2 = createEl(\"p\", undefined, description);\n\n rootElement.appendChild(headingElement);\n rootElement.appendChild(child2);\n\n if (example) {\n const exampleElement = createEl(\"div\", \"example-container\", \"Example:\");\n const expressionElement = createEl(\n \"div\",\n \"example-expression\",\n example.expression\n );\n const resultElement = createEl(\"div\", \"example-result\", example.result);\n\n exampleElement.appendChild(expressionElement);\n exampleElement.appendChild(resultElement);\n\n rootElement.appendChild(exampleElement);\n }\n\n return rootElement;\n};\n", "import { ColumnDescriptor, GridConfig } from \"@vuu-ui/vuu-datagrid-types\";\nimport { Button, Panel } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport {\n HTMLAttributes,\n MouseEvent,\n ReactElement,\n useCallback,\n useState,\n} from \"react\";\nimport { ColumnPicker } from \"../column-picker\";\nimport { ColumnSettingsPanel } from \"../column-settings-panel\";\nimport { GridSettingsPanel } from \"./GridSettingsPanel\";\nimport { useGridSettings } from \"./useGridSettings\";\n\nimport { Stack, StackProps } from \"@vuu-ui/vuu-layout\";\nimport { CalculatedColumnPanel } from \"../calculated-column-panel\";\n\nimport \"./DatagridSettingsPanel.css\";\n\nexport interface DatagridSettingsPanelProps\n extends HTMLAttributes<HTMLDivElement> {\n availableColumns: ColumnDescriptor[];\n gridConfig: Omit<GridConfig, \"headings\">;\n onCancel?: () => void;\n onConfigChange?: (\n config: Omit<GridConfig, \"headings\">,\n closePanel?: boolean\n ) => void;\n}\n\nconst classBase = \"vuuDatagridSettingsPanel\";\n\nconst getTabLabel = () => undefined;\nconst icons = [\n \"table-settings\",\n \"column-chooser\",\n \"column-settings\",\n \"define-column\",\n];\nconst getTabIcon = (component: ReactElement, tabIndex: number) =>\n icons[tabIndex];\n\n// component.props?.title ?? `Tab ${tabIndex + 1}`;\n\nexport const DatagridSettingsPanel = ({\n availableColumns,\n className,\n gridConfig,\n onCancel,\n onConfigChange,\n ...props\n}: DatagridSettingsPanelProps) => {\n console.log(`DatagridSettingsPanel render`);\n\n const [selectedTabIndex, setSelectedTabIndex] = useState(0);\n\n const { gridSettings, dispatchColumnAction } = useGridSettings(gridConfig);\n\n const [selectedColumnName, setSelectedColumnName] = useState<string | null>(\n null\n );\n const handleColumnSelected = useCallback(\n (selected: ColumnDescriptor | null) => {\n setSelectedColumnName(selected ? selected.name : null);\n },\n []\n );\n\n const handleApply = useCallback(\n (evt: MouseEvent, closePanel = false) => {\n console.log(`1) DataGridSettingsPanel fire onConfigChange`);\n onConfigChange?.(gridSettings, closePanel);\n },\n [gridSettings, onConfigChange]\n );\n\n const handleTabSelectionChanged = useCallback((selectedTabIndex: number) => {\n setSelectedTabIndex(selectedTabIndex);\n }, []);\n\n const handleSave = useCallback(\n (evt: MouseEvent) => handleApply(evt, true),\n [handleApply]\n );\n\n const selectedColumn =\n selectedColumnName === null\n ? null\n : gridSettings.columns.find((col) => col.name === selectedColumnName) ??\n null;\n\n const tabstripProps: StackProps[\"TabstripProps\"] = {\n activeTabIndex: selectedTabIndex,\n enableRenameTab: false,\n orientation: \"vertical\",\n };\n\n const handleAddCalculatedColumn = useCallback(\n () => setSelectedTabIndex(3),\n []\n );\n\n const panelShift = selectedTabIndex === 2 ? \"right\" : undefined;\n\n return (\n <div {...props} className={cx(classBase, className)}>\n <Stack\n TabstripProps={tabstripProps}\n className={`${classBase}-stack`}\n getTabIcon={getTabIcon}\n getTabLabel={getTabLabel}\n active={selectedTabIndex === 2 ? 1 : selectedTabIndex}\n onTabSelectionChanged={handleTabSelectionChanged}\n showTabs\n >\n <GridSettingsPanel\n config={gridSettings}\n dispatchColumnAction={dispatchColumnAction}\n />\n\n <div className={`${classBase}-columnPanels`} data-align={panelShift}>\n <ColumnPicker\n availableColumns={availableColumns}\n chosenColumns={gridSettings.columns}\n dispatchColumnAction={dispatchColumnAction}\n onSelectionChange={handleColumnSelected}\n onAddCalculatedColumnClick={handleAddCalculatedColumn}\n selectedColumn={selectedColumn}\n />\n {selectedColumn === null ? (\n <Panel className=\"vuuColumnSettingsPanel\">Select a column</Panel>\n ) : (\n <ColumnSettingsPanel\n column={selectedColumn}\n dispatchColumnAction={dispatchColumnAction}\n style={{ background: \"white\", flex: \"1 0 150px\" }}\n />\n )}\n </div>\n <div title=\"Column Settings\">Column Settings</div>\n <CalculatedColumnPanel\n columns={gridSettings.columns}\n dispatchColumnAction={dispatchColumnAction}\n table={{ module: \"SIMUL\", table: \"instruments\" }}\n />\n </Stack>\n <div className={`${classBase}-buttonBar`}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button onClick={handleApply}>Apply</Button>\n <Button onClick={handleSave}>Save</Button>\n </div>\n </div>\n );\n};\n", "import { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { List } from \"@heswell/salt-lab\";\nimport { Button, Text, useIdMemo as useId } from \"@salt-ds/core\";\nimport { Dispatch, HTMLAttributes, useCallback, useState } from \"react\";\nimport { ColumnAction } from \"../settings-panel/useGridSettings\";\nimport { ColumnListItem } from \"./ColumnListItem\";\n\nimport \"./ColumnPicker.css\";\n\nconst classBase = \"vuuColumnPicker\";\n\nconst removeSelectedColumns = (\n availableColumns: ColumnDescriptor[],\n selectedColumns: ColumnDescriptor[]\n) => {\n return availableColumns.filter(\n (column) => selectedColumns.find((col) => col.name === column.name) == null\n );\n};\n\nexport interface ColumnPickerProps extends HTMLAttributes<HTMLDivElement> {\n availableColumns: ColumnDescriptor[];\n dispatchColumnAction: Dispatch<ColumnAction>;\n onAddCalculatedColumnClick: () => void;\n onSelectionChange?: (selected: ColumnDescriptor | null) => void;\n chosenColumns: ColumnDescriptor[];\n selectedColumn: ColumnDescriptor | null;\n}\n\nexport const ColumnPicker = ({\n availableColumns,\n id: idProp,\n dispatchColumnAction: dispatch,\n onAddCalculatedColumnClick,\n onSelectionChange,\n chosenColumns,\n selectedColumn,\n}: ColumnPickerProps) => {\n const [selected1, setSelected1] = useState<ColumnDescriptor[]>([]);\n const id = useId(idProp);\n\n const unusedColumns = removeSelectedColumns(availableColumns, chosenColumns);\n\n const addColumn = useCallback(() => {\n if (selected1.length > 0) {\n setSelected1([]);\n dispatch({ type: \"addColumn\", columns: selected1 });\n }\n }, [dispatch, selected1]);\n\n const removeColumn = useCallback(\n () =>\n selectedColumn &&\n dispatch({ type: \"removeColumn\", column: selectedColumn }),\n\n [selectedColumn, dispatch]\n );\n\n const moveColumnUp = useCallback(\n () =>\n selectedColumn &&\n dispatch({ type: \"moveColumn\", column: selectedColumn, moveBy: -1 }),\n [dispatch, selectedColumn]\n );\n const moveColumnDown = useCallback(\n () =>\n selectedColumn &&\n dispatch({ type: \"moveColumn\", column: selectedColumn, moveBy: 1 }),\n [dispatch, selectedColumn]\n );\n\n const handleSelectionChange1 = useCallback(\n (evt, selected) => setSelected1(selected),\n []\n );\n\n const handleSelectionChange2 = useCallback(\n (evt, selected: ColumnDescriptor | null) => onSelectionChange?.(selected),\n [onSelectionChange]\n );\n\n const handleDrop = useCallback(\n (moveFrom: number, moveTo: number) => {\n dispatch({ type: \"moveColumn\", moveFrom, moveTo });\n },\n [dispatch]\n );\n\n return (\n <div className={classBase} id={id}>\n <div className={`${classBase}-listColumn`}>\n <label htmlFor={`available-${id}`}>\n <Text as=\"h4\">Available Columns</Text>\n </label>\n <div\n className={`${classBase}-listContainer`}\n style={{ flex: 1, overflow: \"hidden\" }}\n >\n <List<ColumnDescriptor, \"extended\">\n borderless\n checkable={false}\n height=\"100%\"\n id={`available-${id}`}\n itemHeight={24}\n itemToString={(item) => item.name}\n onSelectionChange={handleSelectionChange1}\n selected={selected1}\n selectionStrategy=\"extended\"\n source={unusedColumns}\n />\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n flex: \"0 0 32px\",\n marginTop: \"var(--salt-size-basis-unit)\",\n }}\n >\n <Button onClick={addColumn} disabled={selected1.length === 0}>\n Show\n <span data-icon=\"arrow-thin-right\" style={{ marginLeft: 8 }} />\n </Button>\n </div>\n </div>\n <div className={`${classBase}-listColumn`}>\n <label htmlFor={`selected-${id}`}>\n <Text as=\"h4\">Included Columns</Text>\n </label>\n <div\n className={`${classBase}-listContainer`}\n style={{ flex: 1, overflow: \"hidden\" }}\n >\n <List<ColumnDescriptor>\n ListItem={ColumnListItem}\n allowDragDrop\n borderless\n height=\"100%\"\n id={`selected-${id}`}\n itemHeight={24}\n itemToString={(item) => item.name}\n onMoveListItem={handleDrop}\n onSelectionChange={handleSelectionChange2}\n selected={selectedColumn}\n style={{ flex: 1 }}\n source={chosenColumns}\n />\n </div>\n <div\n style={{\n alignItems: \"center\",\n flex: \"0 0 32px\",\n display: \"flex\",\n gap: 6,\n marginTop: \"var(--salt-size-basis-unit)\",\n }}\n >\n <Button onClick={removeColumn} disabled={selectedColumn === null}>\n <span data-icon=\"arrow-thin-left\" style={{ marginRight: 8 }} />\n Hide\n </Button>\n <Button\n aria-label=\"Move column up\"\n onClick={moveColumnUp}\n disabled={\n selectedColumn === null ||\n chosenColumns?.indexOf(selectedColumn) === 0\n }\n style={{ width: 28 }}\n >\n <span data-icon=\"arrow-thin-up\" />\n </Button>\n <Button\n aria-label=\"Move column down\"\n onClick={moveColumnDown}\n disabled={\n selectedColumn === null ||\n chosenColumns.indexOf(selectedColumn) === chosenColumns.length - 1\n }\n style={{ width: 28 }}\n >\n <span data-icon=\"arrow-thin-down\" />\n </Button>\n <Button\n aria-label=\"Add calculated column\"\n className={`${classBase}-addCalculatedColumn`}\n onClick={onAddCalculatedColumnClick}\n variant=\"primary\"\n >\n <span data-icon=\"add\" />\n </Button>\n </div>\n </div>\n </div>\n );\n};\n", "import { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { ListItem, ListItemType } from \"@heswell/salt-lab\";\nimport cx from \"classnames\";\n\nimport \"./ColumnListItem.css\";\n\nconst classBase = \"vuuColumnListItem\";\n\nexport const ColumnListItem: ListItemType<ColumnDescriptor> = ({\n className: classNameProp,\n item,\n label,\n style: styleProp,\n ...restProps\n}) => {\n const className = cx(classBase, classNameProp, {\n [`${classBase}-calculated`]: item?.expression,\n [`${classBase}-hidden`]: item?.hidden,\n });\n return (\n <ListItem className={className} {...restProps}>\n <span className={`${classBase}-iconType`} />\n <label className={`${classBase}-label`}>{label}</label>\n <span className={`${classBase}-iconHidden`} />\n </ListItem>\n );\n};\n", "import { ColumnDescriptor, PinLocation } from \"@vuu-ui/vuu-datagrid-types\";\nimport { Stack } from \"@vuu-ui/vuu-layout\";\nimport {\n Checkbox,\n FormField,\n Input,\n RadioButton,\n RadioButtonGroup,\n StepperInput,\n} from \"@heswell/salt-lab\";\nimport { Panel, Text } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport {\n ChangeEvent,\n Dispatch,\n HTMLAttributes,\n useCallback,\n useState,\n} from \"react\";\nimport { ColumnTypePanel } from \"../column-type-panel\";\n\nimport { ColumnAction } from \"../settings-panel/useGridSettings\";\nimport \"./ColumnSettingsPanel.css\";\n\nconst classBase = \"vuuColumnSettingsPanel\";\n\nconst tabstripProps = {\n className: \"salt-density-high\",\n};\n\nconst NullActivationIndicator = () => null;\n\nexport interface ColumnSettingsPanelProps\n extends HTMLAttributes<HTMLDivElement> {\n column: ColumnDescriptor;\n dispatchColumnAction: Dispatch<ColumnAction>;\n}\nexport const ColumnSettingsPanel = ({\n column,\n dispatchColumnAction,\n style: styleProp,\n ...props\n}: ColumnSettingsPanelProps) => {\n const [activeTab, setActiveTab] = useState(0);\n\n const dispatchUpdate = useCallback(\n (\n values: Partial<\n Pick<ColumnDescriptor, \"align\" | \"hidden\" | \"label\" | \"pin\" | \"width\">\n >\n ) =>\n dispatchColumnAction({\n type: \"updateColumnProp\",\n column,\n ...values,\n }),\n [column, dispatchColumnAction]\n );\n\n const handleChangeAlign = useCallback(\n (evt: ChangeEvent<HTMLInputElement>) =>\n dispatchUpdate({ align: evt.target.value as \"left\" | \"right\" }),\n [dispatchUpdate]\n );\n\n const handleChangePin = useCallback(\n (evt: ChangeEvent<HTMLInputElement>) =>\n dispatchUpdate({ pin: evt.target.value as PinLocation | undefined }),\n [dispatchUpdate]\n );\n\n const handleChangeHidden = useCallback(\n (evt: ChangeEvent, value: boolean) => dispatchUpdate({ hidden: value }),\n [dispatchUpdate]\n );\n\n const handleChangeLabel = useCallback(\n (evt: ChangeEvent, value: string) => dispatchUpdate({ label: value }),\n [dispatchUpdate]\n );\n\n const handleChangeWidth = useCallback(\n (value: string | number) =>\n dispatchUpdate({ width: parseInt(value.toString(), 10) }),\n [dispatchUpdate]\n );\n\n return (\n <div\n className={classBase}\n {...props}\n style={{\n ...styleProp,\n }}\n >\n <Text as=\"h4\">Column Settings</Text>\n <Stack\n active={activeTab}\n showTabs\n className={cx(`${classBase}-columnTabs`)}\n onTabSelectionChanged={setActiveTab}\n TabstripProps={tabstripProps}\n >\n <Panel title=\"Column\">\n <FormField label=\"Hidden\" labelPlacement=\"left\">\n <Checkbox\n checked={column.hidden === true}\n onChange={handleChangeHidden}\n />\n </FormField>\n <FormField label=\"Label\" labelPlacement=\"left\">\n <Input\n value={column.label ?? column.name}\n onChange={handleChangeLabel}\n />\n </FormField>\n <FormField label=\"Width\" labelPlacement=\"left\">\n <StepperInput\n value={column.width ?? 100}\n onChange={handleChangeWidth}\n />\n </FormField>\n <FormField\n label=\"Align\"\n labelPlacement=\"left\"\n ActivationIndicatorComponent={NullActivationIndicator}\n >\n <RadioButtonGroup\n aria-label=\"Column Align\"\n value={column.align ?? \"left\"}\n legend=\"Align\"\n onChange={handleChangeAlign}\n >\n <RadioButton label=\"Left\" value=\"left\" />\n <RadioButton label=\"Right\" value=\"right\" />\n </RadioButtonGroup>\n </FormField>\n <FormField\n label=\"Pin Column\"\n labelPlacement=\"left\"\n ActivationIndicatorComponent={NullActivationIndicator}\n >\n <RadioButtonGroup\n aria-label=\"Pin Column\"\n value={column.pin ?? \"\"}\n legend=\"Pin Column\"\n onChange={handleChangePin}\n >\n <RadioButton label=\"Do not pin\" value={\"\"} />\n <RadioButton label=\"Left\" value=\"left\" />\n <RadioButton label=\"Right\" value=\"right\" />\n </RadioButtonGroup>\n </FormField>\n </Panel>\n <ColumnTypePanel\n column={column}\n dispatchColumnAction={dispatchColumnAction}\n title=\"Data Cell\"\n />\n <Panel title=\"Vuu\" variant=\"secondary\">\n <FormField\n label=\"Name\"\n labelPlacement=\"top\"\n readOnly\n variant=\"secondary\"\n >\n <Input value={column.name} />\n </FormField>\n <FormField\n label=\"Vuu type\"\n labelPlacement=\"top\"\n readOnly\n variant=\"secondary\"\n >\n <Input value={column.serverDataType} />\n </FormField>\n </Panel>\n </Stack>\n </div>\n );\n};\n", "import { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { getRegisteredCellRenderers } from \"@vuu-ui/vuu-utils\";\nimport { Dropdown } from \"@heswell/salt-lab\";\nimport { Panel, PanelProps } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport { Dispatch, useMemo } from \"react\";\nimport { ColumnAction } from \"../settings-panel/useGridSettings\";\nimport { NumericColumnPanel } from \"./NumericColumnPanel\";\nimport { StringColumnPanel } from \"./StringColumnPanel\";\n\nimport \"./ColumnTypePanel.css\";\n\nconst classBase = \"vuuColumnTypePanel\";\n\nexport interface ColumnTypePanelProps extends PanelProps {\n column: ColumnDescriptor;\n dispatchColumnAction: Dispatch<ColumnAction>;\n}\n\nconst integerCellRenderers = [\"Default Renderer (int, long)\"];\nconst doubleCellRenderers = [\"Default Renderer (double)\"];\nconst stringCellRenderers = [\"Default Renderer (string)\"];\n\nconst getAvailableCellRenderers = (column: ColumnDescriptor) => {\n const customCellRenderers = getRegisteredCellRenderers(column.serverDataType);\n const customRendererNames = customCellRenderers.map((r) => r.name);\n console.log({ customRendererNames });\n\n switch (column.serverDataType) {\n case \"char\":\n case \"string\":\n return stringCellRenderers;\n case \"int\":\n case \"long\":\n return integerCellRenderers;\n case \"double\":\n return doubleCellRenderers.concat(customRendererNames);\n default:\n return stringCellRenderers;\n }\n};\n\nexport const ColumnTypePanel = ({\n className,\n column,\n dispatchColumnAction,\n ...props\n}: ColumnTypePanelProps) => {\n const content = useMemo(() => {\n switch (column.serverDataType) {\n case \"double\":\n case \"int\":\n case \"long\":\n return (\n <NumericColumnPanel\n column={column}\n dispatchColumnAction={dispatchColumnAction}\n />\n );\n default:\n return (\n <StringColumnPanel\n column={column}\n dispatchColumnAction={dispatchColumnAction}\n />\n );\n }\n }, [column, dispatchColumnAction]);\n\n const { serverDataType = \"string\" } = column;\n const availableRenderers = getAvailableCellRenderers(column);\n\n return (\n <>\n <Dropdown\n className={cx(`${classBase}-renderer`)}\n fullWidth\n selected={availableRenderers[0]}\n source={availableRenderers}\n />\n <Panel\n {...props}\n className={cx(classBase, className, `${classBase}-${serverDataType}`)}\n >\n {content}\n </Panel>\n </>\n );\n};\n", "import { ColumnType } from \"@vuu-ui/vuu-datagrid-types\";\nimport { FormField, StepperInput, Switch } from \"@heswell/salt-lab\";\nimport { Text } from \"@salt-ds/core\";\nimport { useCallback } from \"react\";\nimport { ColumnTypePanelProps } from \"./ColumnTypePanel\";\n\nimport \"./ColumnTypePanel.css\";\n\ntype NumericColumnConfig = {\n alignOnDecimals: boolean;\n decimals: number;\n zeroPad: boolean;\n};\n\nconst defaultValues = {\n alignOnDecimals: false,\n decimals: 4,\n zeroPad: false,\n} as NumericColumnConfig;\n\nconst getColumnValues = (\n columnType?: ColumnType,\n gridDefaultValues?: Partial<NumericColumnConfig>\n) => {\n const columnValue =\n typeof columnType === \"object\" && columnType.formatting\n ? columnType.formatting\n : {};\n\n const properties = [\"alignOnDecimals\", \"decimals\", \"zeroPad\"] as Array<\n keyof NumericColumnConfig\n >;\n return properties.reduce<NumericColumnConfig>((configValues, property) => {\n if (columnValue[property] !== undefined) {\n return {\n ...configValues,\n [property]: columnValue[property],\n };\n } else if (gridDefaultValues?.[property] !== undefined) {\n return {\n ...configValues,\n [property]: gridDefaultValues[property],\n };\n }\n return configValues;\n }, defaultValues);\n};\n\nexport const NumericColumnPanel = ({\n column,\n dispatchColumnAction,\n}: ColumnTypePanelProps) => {\n const { decimals, alignOnDecimals, zeroPad } = getColumnValues(column?.type);\n\n const dispatchUpdate = useCallback(\n (values: Partial<NumericColumnConfig>) =>\n dispatchColumnAction({\n type: \"updateColumnTypeFormatting\",\n column,\n ...values,\n }),\n [column, dispatchColumnAction]\n );\n\n const handleChangeDecimals = useCallback(\n (value: string | number) =>\n dispatchUpdate({ decimals: parseInt(value.toString(), 10) }),\n [dispatchUpdate]\n );\n const handleChangeAlignOnDecimals = useCallback(\n (evt, value) => dispatchUpdate({ alignOnDecimals: value }),\n [dispatchUpdate]\n );\n const handleChangeZeroPad = useCallback(\n (evt, value) => dispatchUpdate({ zeroPad: value }),\n [dispatchUpdate]\n );\n\n switch (column.serverDataType) {\n case \"double\":\n return (\n <>\n <FormField label=\"No of Decimals\" labelPlacement=\"top\">\n <StepperInput value={decimals} onChange={handleChangeDecimals} />\n </FormField>\n <Switch\n checked={alignOnDecimals}\n label=\"Align on decimals\"\n LabelProps={{ className: \"vuuColumnPanelSwitch\" }}\n onChange={handleChangeAlignOnDecimals}\n />\n <Switch\n checked={zeroPad}\n label=\"Zero pad\"\n LabelProps={{ className: \"vuuColumnPanelSwitch\" }}\n onChange={handleChangeZeroPad}\n />\n </>\n );\n case \"long\":\n case \"int\":\n return (\n <>\n <Text>Work in progress</Text>\n </>\n );\n default:\n return null;\n }\n};\n", "import \"./ColumnTypePanel.css\";\nimport { ColumnTypePanelProps } from \"./ColumnTypePanel\";\n\nexport const StringColumnPanel = ({\n column,\n dispatchColumnAction,\n}: ColumnTypePanelProps) => {\n console.log({ column, dispatchColumnAction });\n return <>what</>;\n};\n", "import { GridConfig } from \"@vuu-ui/vuu-datagrid-types\";\nimport {\n FormField,\n RadioButton,\n RadioButtonGroup,\n StepperInput,\n} from \"@heswell/salt-lab\";\nimport { Panel, Text } from \"@salt-ds/core\";\nimport { ChangeEvent, Dispatch, HTMLAttributes, useCallback } from \"react\";\n\nimport \"./GridSettingsPanel.css\";\nimport { ColumnAction } from \"./useGridSettings\";\n\nconst classBase = \"vuuGridSettingsPanel\";\n\nconst NullActivationIndicator = () => null;\n\nexport interface GridSettingsPanelProps extends HTMLAttributes<HTMLDivElement> {\n config: Omit<GridConfig, \"headings\">;\n dispatchColumnAction: Dispatch<ColumnAction>;\n}\nexport const GridSettingsPanel = ({\n config,\n dispatchColumnAction,\n style: styleProp,\n ...props\n}: GridSettingsPanelProps) => {\n const dispatchUpdate = useCallback(\n (\n values: Partial<\n Pick<GridConfig, \"columnDefaultWidth\" | \"columnFormatHeader\">\n >\n ) =>\n dispatchColumnAction({\n type: \"updateGridSettings\",\n ...values,\n }),\n [dispatchColumnAction]\n );\n\n const handleChangeLabelFormatting = useCallback(\n (evt: ChangeEvent<HTMLInputElement>) =>\n dispatchUpdate({\n columnFormatHeader: evt.target.value as \"capitalize\" | \"uppercase\",\n }),\n [dispatchUpdate]\n );\n\n const handleChangeWidth = useCallback(\n (value: string | number) =>\n dispatchUpdate({ columnDefaultWidth: parseInt(value.toString(), 10) }),\n [dispatchUpdate]\n );\n\n return (\n <div\n className={classBase}\n {...props}\n style={{\n ...styleProp,\n }}\n >\n <Text as=\"h4\">Grid Settings</Text>\n <Panel>\n <FormField\n label=\"Format column labels\"\n labelPlacement=\"left\"\n ActivationIndicatorComponent={NullActivationIndicator}\n >\n <RadioButtonGroup\n aria-label=\"Format column labels\"\n value={config.columnFormatHeader}\n legend=\"Format column labels\"\n onChange={handleChangeLabelFormatting}\n >\n <RadioButton label=\"No Formatting\" value={undefined} />\n <RadioButton label=\"Capitalize\" value=\"capitalize\" />\n <RadioButton label=\"Uppercase\" value=\"uppercase\" />\n </RadioButtonGroup>\n </FormField>\n <FormField label=\"Default Column Width\" labelPlacement=\"left\">\n <StepperInput\n value={config.columnDefaultWidth ?? 100}\n onChange={handleChangeWidth}\n />\n </FormField>\n </Panel>\n </div>\n );\n};\n", "import {\n ColumnDescriptor,\n ColumnTypeDescriptor,\n GridConfig,\n} from \"@vuu-ui/vuu-datagrid-types\";\nimport { Reducer, useReducer } from \"react\";\nimport { moveItem } from \"@heswell/salt-lab\";\nimport { fromServerDataType } from \"@vuu-ui/vuu-utils\";\n\nexport type CalculatedColumnExpression = {\n columName: string;\n expression: string;\n};\n\nexport interface ColumnActionAdd {\n type: \"addColumn\";\n columns?: ColumnDescriptor[];\n column?: ColumnDescriptor;\n index?: number;\n}\nexport interface ColumnActionAddCalculatedColumn {\n columnName: string;\n columnType: \"string\" | \"int\" | \"double\" | \"boolean\";\n expression: string;\n type: \"addCalculatedColumn\";\n}\n\nexport interface ColumnActionMove {\n type: \"moveColumn\";\n column?: ColumnDescriptor;\n moveBy?: 1 | -1;\n moveTo?: number;\n moveFrom?: number;\n}\n\nexport interface ColumnActionRemove {\n type: \"removeColumn\";\n column: ColumnDescriptor;\n}\n\nexport interface ColumnActionUpdate {\n type: \"updateColumn\";\n column: ColumnDescriptor;\n}\nexport interface ColumnActionUpdateProp {\n align?: ColumnDescriptor[\"align\"];\n column: ColumnDescriptor;\n hidden?: ColumnDescriptor[\"hidden\"];\n label?: ColumnDescriptor[\"label\"];\n type: \"updateColumnProp\";\n width?: ColumnDescriptor[\"width\"];\n}\n\nexport interface ColumnActionUpdateGridSettings {\n type: \"updateGridSettings\";\n columnDefaultWidth?: number;\n columnFormatHeader?: \"capitalize\" | \"uppercase\";\n}\n\nexport interface ColumnActionUpdateTypeFormatting {\n type: \"updateColumnTypeFormatting\";\n column: ColumnDescriptor;\n alignOnDecimals?: boolean;\n decimals?: number;\n zeroPad?: boolean;\n}\n\nexport type ColumnAction =\n | ColumnActionAdd\n | ColumnActionAddCalculatedColumn\n | ColumnActionUpdateGridSettings\n | ColumnActionMove\n | ColumnActionRemove\n | ColumnActionUpdate\n | ColumnActionUpdateProp\n | ColumnActionUpdateTypeFormatting;\n\nexport type GridSettingsReducer = Reducer<\n Omit<GridConfig, \"headings\">,\n ColumnAction\n>;\n\nconst gridSettingsReducer: GridSettingsReducer = (state, action) => {\n console.log(`gridSettingsReducer ${action.type}`);\n switch (action.type) {\n case \"addColumn\":\n return addColumn(state, action);\n case \"addCalculatedColumn\":\n return addCalculatedColumn(state, action);\n case \"moveColumn\":\n return moveColumn(state, action);\n case \"removeColumn\":\n return removeColumn(state, action);\n case \"updateColumn\":\n return state;\n case \"updateColumnProp\":\n return updateColumnProp(state, action);\n case \"updateGridSettings\":\n return updateGridSettings(state, action);\n case \"updateColumnTypeFormatting\":\n return updateColumnTypeFormatting(state, action);\n default:\n return state;\n }\n};\n\nexport const useGridSettings = (config: Omit<GridConfig, \"headings\">) => {\n const [state, dispatchColumnAction] = useReducer<GridSettingsReducer>(\n gridSettingsReducer,\n config\n );\n\n return {\n gridSettings: state,\n dispatchColumnAction,\n };\n};\n\nfunction addColumn(\n state: Omit<GridConfig, \"headings\">,\n { column, columns, index = -1 }: ColumnActionAdd\n) {\n const { columns: stateColumns } = state;\n if (index === -1) {\n if (Array.isArray(columns)) {\n return { ...state, columns: stateColumns.concat(columns) };\n } else if (column) {\n return { ...state, columns: stateColumns.concat(column) };\n }\n }\n return state;\n}\n\nfunction addCalculatedColumn(\n state: Omit<GridConfig, \"headings\">,\n { columnName, columnType, expression }: ColumnActionAddCalculatedColumn\n) {\n const { columns: stateColumns } = state;\n const calculatedColumn = {\n name: columnName,\n expression,\n serverDataType: columnType,\n };\n return { ...state, columns: stateColumns.concat(calculatedColumn) };\n}\n\nfunction removeColumn(\n state: Omit<GridConfig, \"headings\">,\n { column }: ColumnActionRemove\n) {\n const { columns: stateColumns } = state;\n return {\n ...state,\n columns: stateColumns.filter((col) => col.name !== column.name),\n };\n}\n\nfunction moveColumn(\n state: Omit<GridConfig, \"headings\">,\n { column, moveBy, moveFrom, moveTo }: ColumnActionMove\n) {\n const { columns: stateColumns } = state;\n if (column && typeof moveBy === \"number\") {\n const idx = stateColumns.indexOf(column);\n const newColumns = stateColumns.slice();\n const [movedColumns] = newColumns.splice(idx, 1);\n newColumns.splice(idx + moveBy, 0, movedColumns);\n return {\n ...state,\n columns: newColumns,\n };\n } else if (typeof moveFrom === \"number\" && typeof moveTo === \"number\") {\n return {\n ...state,\n columns: moveItem(stateColumns, moveFrom, moveTo),\n };\n } else {\n return state;\n }\n}\n\nfunction updateColumnProp(\n state: Omit<GridConfig, \"headings\">,\n { align, column, hidden, label, width }: ColumnActionUpdateProp\n) {\n let { columns: stateColumns } = state;\n if (align === \"left\" || align === \"right\") {\n stateColumns = replaceColumn(stateColumns, { ...column, align });\n }\n if (typeof hidden === \"boolean\") {\n stateColumns = replaceColumn(stateColumns, { ...column, hidden });\n }\n if (typeof label === \"string\") {\n stateColumns = replaceColumn(stateColumns, { ...column, label });\n }\n if (typeof width === \"number\") {\n stateColumns = replaceColumn(stateColumns, { ...column, width });\n }\n return {\n ...state,\n columns: stateColumns,\n };\n}\n\nfunction updateGridSettings(\n state: Omit<GridConfig, \"headings\">,\n { columnFormatHeader }: ColumnActionUpdateGridSettings\n) {\n return {\n ...state,\n columnFormatHeader: columnFormatHeader ?? state.columnFormatHeader,\n };\n}\n\nfunction updateColumnTypeFormatting(\n state: Omit<GridConfig, \"headings\">,\n {\n alignOnDecimals,\n column,\n decimals,\n zeroPad,\n }: ColumnActionUpdateTypeFormatting\n) {\n const { columns: stateColumns } = state;\n const targetColumn = stateColumns.find((col) => col.name === column.name);\n if (targetColumn) {\n const {\n serverDataType = \"string\",\n type: columnType = fromServerDataType(serverDataType),\n } = column;\n const type: ColumnTypeDescriptor =\n typeof columnType === \"string\"\n ? {\n name: columnType,\n }\n : {\n ...columnType,\n };\n if (typeof alignOnDecimals === \"boolean\") {\n type.formatting = {\n ...type.formatting,\n alignOnDecimals,\n };\n }\n if (typeof decimals === \"number\") {\n type.formatting = {\n ...type.formatting,\n decimals,\n };\n }\n if (typeof zeroPad === \"boolean\") {\n type.formatting = {\n ...type.formatting,\n zeroPad,\n };\n }\n\n return {\n ...state,\n columns: replaceColumn(stateColumns, { ...column, type }),\n };\n } else {\n return state;\n }\n}\n\nfunction replaceColumn(columns: ColumnDescriptor[], column: ColumnDescriptor) {\n return columns.map((col) => (col.name === column.name ? column : col));\n}\n", "import { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { FormField, Input } from \"@heswell/salt-lab\";\nimport { Button, Panel, Text } from \"@salt-ds/core\";\nimport {\n ChangeEventHandler,\n Dispatch,\n HTMLAttributes,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport {\n ColumnDefinitionExpression,\n ColumnExpressionInput,\n useColumnExpressionSuggestionProvider,\n} from \"../../column-expression-input\";\nimport { ColumnAction } from \"../settings-panel/useGridSettings\";\n\nimport \"./CalculatedColumnPanel.css\";\n\nexport interface CalculatedColumnPanelProps\n extends HTMLAttributes<HTMLDivElement> {\n columns: ColumnDescriptor[];\n dispatchColumnAction: Dispatch<ColumnAction>;\n table: VuuTable;\n}\n\nexport const CalculatedColumnPanel = ({\n columns,\n dispatchColumnAction,\n table,\n}: CalculatedColumnPanelProps) => {\n const [columnName, setColumnName] = useState(\"\");\n const [, setExpression] = useState<ColumnDefinitionExpression>();\n const sourceRef = useRef<string>(\"\");\n\n const suggestionProvider = useColumnExpressionSuggestionProvider({\n columns,\n table,\n });\n\n const handleChangeName: ChangeEventHandler<HTMLInputElement> = useCallback(\n (evt) => {\n const { value } = evt.target as HTMLInputElement;\n setColumnName(value);\n },\n []\n );\n const handleChangeExpression = useCallback((source: string) => {\n sourceRef.current = source;\n }, []);\n\n const handleSubmitExpression = useCallback(\n (source: string, expression: ColumnDefinitionExpression | undefined) => {\n console.log({ source });\n setExpression(expression);\n },\n []\n );\n\n const handleSave = useCallback(() => {\n if (sourceRef.current) {\n console.log(\n `save expression ${JSON.stringify(sourceRef.current, null, 2)}`\n );\n dispatchColumnAction({\n type: \"addCalculatedColumn\",\n columnName,\n expression: sourceRef.current,\n columnType: \"string\",\n });\n }\n }, [columnName, dispatchColumnAction]);\n\n return (\n <Panel className=\"vuuCalculatedColumnPanel\" title=\"Define Computed Column\">\n <Text styleAs=\"h4\">Define Computed Column</Text>\n <FormField label=\"Column Name\" labelPlacement=\"left\">\n <Input value={columnName} onChange={handleChangeName} />\n </FormField>\n <ColumnExpressionInput\n onChange={handleChangeExpression}\n onSubmitExpression={handleSubmitExpression}\n suggestionProvider={suggestionProvider}\n />\n <div style={{ marginTop: 12 }}>\n <Button onClick={handleSave}>Add Column</Button>\n </div>\n </Panel>\n );\n};\n", "import { DataSource } from \"@vuu-ui/vuu-data\";\nimport { HTMLAttributes, useEffect, useState } from \"react\";\nimport cx from \"classnames\";\n\nimport \"./DatasourceStats.css\";\nimport { VuuRange } from \"@vuu-ui/vuu-protocol-types\";\n\ninterface DataSourceStatsProps extends HTMLAttributes<HTMLSpanElement> {\n dataSource: DataSource;\n}\n\nconst classBase = \"vuuDatasourceStats\";\n\nconst numberFormatter = new Intl.NumberFormat();\n\nexport const DataSourceStats = ({\n className: classNameProp,\n dataSource,\n}: DataSourceStatsProps) => {\n const [range, setRange] = useState<VuuRange>(dataSource.range);\n const [size, setSize] = useState(dataSource.size);\n useEffect(() => {\n setSize(dataSource.size);\n\n dataSource.on(\"resize\", setSize);\n dataSource.on(\"range\", setRange);\n }, [dataSource]);\n\n const className = cx(classBase, classNameProp);\n const from = numberFormatter.format(range.from);\n const to = numberFormatter.format(range.to - 1);\n const value = numberFormatter.format(size);\n return (\n <div className={className}>\n <span>Showing rows</span>\n <span className={`${classBase}-range`}>{from}</span>\n <span className={`${classBase}-range`}>{to}</span>\n <span>of</span>\n <span className={`${classBase}-size`}>{value}</span>\n </div>\n );\n};\n", "import { ColumnDescriptor, PinLocation } from \"@vuu-ui/vuu-datagrid-types\";\nimport { Stack } from \"@vuu-ui/vuu-layout\";\nimport {\n Checkbox,\n FormField,\n Input,\n RadioButton,\n RadioButtonGroup,\n StepperInput,\n} from \"@heswell/salt-lab\";\nimport { Panel, Text } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport {\n ChangeEvent,\n Dispatch,\n HTMLAttributes,\n useCallback,\n useState,\n} from \"react\";\nimport { ColumnTypePanel } from \"../column-type-panel\";\n\nimport { ColumnAction } from \"../settings-panel/useGridSettings\";\nimport \"./ColumnSettingsPanel.css\";\n\nconst classBase = \"vuuColumnSettingsPanel\";\n\nconst tabstripProps = {\n className: \"salt-density-high\",\n};\n\nconst NullActivationIndicator = () => null;\n\nexport interface ColumnSettingsPanelProps\n extends HTMLAttributes<HTMLDivElement> {\n column: ColumnDescriptor;\n dispatchColumnAction: Dispatch<ColumnAction>;\n}\nexport const ColumnSettingsPanel = ({\n column,\n dispatchColumnAction,\n style: styleProp,\n ...props\n}: ColumnSettingsPanelProps) => {\n const [activeTab, setActiveTab] = useState(0);\n\n const dispatchUpdate = useCallback(\n (\n values: Partial<\n Pick<ColumnDescriptor, \"align\" | \"hidden\" | \"label\" | \"pin\" | \"width\">\n >\n ) =>\n dispatchColumnAction({\n type: \"updateColumnProp\",\n column,\n ...values,\n }),\n [column, dispatchColumnAction]\n );\n\n const handleChangeAlign = useCallback(\n (evt: ChangeEvent<HTMLInputElement>) =>\n dispatchUpdate({ align: evt.target.value as \"left\" | \"right\" }),\n [dispatchUpdate]\n );\n\n const handleChangePin = useCallback(\n (evt: ChangeEvent<HTMLInputElement>) =>\n dispatchUpdate({ pin: evt.target.value as PinLocation | undefined }),\n [dispatchUpdate]\n );\n\n const handleChangeHidden = useCallback(\n (evt: ChangeEvent, value: boolean) => dispatchUpdate({ hidden: value }),\n [dispatchUpdate]\n );\n\n const handleChangeLabel = useCallback(\n (evt: ChangeEvent, value: string) => dispatchUpdate({ label: value }),\n [dispatchUpdate]\n );\n\n const handleChangeWidth = useCallback(\n (value: string | number) =>\n dispatchUpdate({ width: parseInt(value.toString(), 10) }),\n [dispatchUpdate]\n );\n\n return (\n <div\n className={classBase}\n {...props}\n style={{\n ...styleProp,\n }}\n >\n <Text as=\"h4\">Column Settings</Text>\n <Stack\n active={activeTab}\n showTabs\n className={cx(`${classBase}-columnTabs`)}\n onTabSelectionChanged={setActiveTab}\n TabstripProps={tabstripProps}\n >\n <Panel title=\"Column\">\n <FormField label=\"Hidden\" labelPlacement=\"left\">\n <Checkbox\n checked={column.hidden === true}\n onChange={handleChangeHidden}\n />\n </FormField>\n <FormField label=\"Label\" labelPlacement=\"left\">\n <Input\n value={column.label ?? column.name}\n onChange={handleChangeLabel}\n />\n </FormField>\n <FormField label=\"Width\" labelPlacement=\"left\">\n <StepperInput\n value={column.width ?? 100}\n onChange={handleChangeWidth}\n />\n </FormField>\n <FormField\n label=\"Align\"\n labelPlacement=\"left\"\n ActivationIndicatorComponent={NullActivationIndicator}\n >\n <RadioButtonGroup\n aria-label=\"Column Align\"\n value={column.align ?? \"left\"}\n legend=\"Align\"\n onChange={handleChangeAlign}\n >\n <RadioButton label=\"Left\" value=\"left\" />\n <RadioButton label=\"Right\" value=\"right\" />\n </RadioButtonGroup>\n </FormField>\n <FormField\n label=\"Pin Column\"\n labelPlacement=\"left\"\n ActivationIndicatorComponent={NullActivationIndicator}\n >\n <RadioButtonGroup\n aria-label=\"Pin Column\"\n value={column.pin ?? \"\"}\n legend=\"Pin Column\"\n onChange={handleChangePin}\n >\n <RadioButton label=\"Do not pin\" value={\"\"} />\n <RadioButton label=\"Left\" value=\"left\" />\n <RadioButton label=\"Right\" value=\"right\" />\n </RadioButtonGroup>\n </FormField>\n </Panel>\n <ColumnTypePanel\n column={column}\n dispatchColumnAction={dispatchColumnAction}\n title=\"Data Cell\"\n />\n <Panel title=\"Vuu\" variant=\"secondary\">\n <FormField\n label=\"Name\"\n labelPlacement=\"top\"\n readOnly\n variant=\"secondary\"\n >\n <Input value={column.name} />\n </FormField>\n <FormField\n label=\"Vuu type\"\n labelPlacement=\"top\"\n readOnly\n variant=\"secondary\"\n >\n <Input value={column.serverDataType} />\n </FormField>\n </Panel>\n </Stack>\n </div>\n );\n};\n", "import { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { getRegisteredCellRenderers } from \"@vuu-ui/vuu-utils\";\nimport { Dropdown } from \"@heswell/salt-lab\";\nimport { Panel, PanelProps } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport { Dispatch, useMemo } from \"react\";\nimport { ColumnAction } from \"../settings-panel/useGridSettings\";\nimport { NumericColumnPanel } from \"./NumericColumnPanel\";\nimport { StringColumnPanel } from \"./StringColumnPanel\";\n\nimport \"./ColumnTypePanel.css\";\n\nconst classBase = \"vuuColumnTypePanel\";\n\nexport interface ColumnTypePanelProps extends PanelProps {\n column: ColumnDescriptor;\n dispatchColumnAction: Dispatch<ColumnAction>;\n}\n\nconst integerCellRenderers = [\"Default Renderer (int, long)\"];\nconst doubleCellRenderers = [\"Default Renderer (double)\"];\nconst stringCellRenderers = [\"Default Renderer (string)\"];\n\nconst getAvailableCellRenderers = (column: ColumnDescriptor) => {\n const customCellRenderers = getRegisteredCellRenderers(column.serverDataType);\n const customRendererNames = customCellRenderers.map((r) => r.name);\n console.log({ customRendererNames });\n\n switch (column.serverDataType) {\n case \"char\":\n case \"string\":\n return stringCellRenderers;\n case \"int\":\n case \"long\":\n return integerCellRenderers;\n case \"double\":\n return doubleCellRenderers.concat(customRendererNames);\n default:\n return stringCellRenderers;\n }\n};\n\nexport const ColumnTypePanel = ({\n className,\n column,\n dispatchColumnAction,\n ...props\n}: ColumnTypePanelProps) => {\n const content = useMemo(() => {\n switch (column.serverDataType) {\n case \"double\":\n case \"int\":\n case \"long\":\n return (\n <NumericColumnPanel\n column={column}\n dispatchColumnAction={dispatchColumnAction}\n />\n );\n default:\n return (\n <StringColumnPanel\n column={column}\n dispatchColumnAction={dispatchColumnAction}\n />\n );\n }\n }, [column, dispatchColumnAction]);\n\n const { serverDataType = \"string\" } = column;\n const availableRenderers = getAvailableCellRenderers(column);\n\n return (\n <>\n <Dropdown\n className={cx(`${classBase}-renderer`)}\n fullWidth\n selected={availableRenderers[0]}\n source={availableRenderers}\n />\n <Panel\n {...props}\n className={cx(classBase, className, `${classBase}-${serverDataType}`)}\n >\n {content}\n </Panel>\n </>\n );\n};\n", "import { ColumnType } from \"@vuu-ui/vuu-datagrid-types\";\nimport { FormField, StepperInput, Switch } from \"@heswell/salt-lab\";\nimport { Text } from \"@salt-ds/core\";\nimport { useCallback } from \"react\";\nimport { ColumnTypePanelProps } from \"./ColumnTypePanel\";\n\nimport \"./ColumnTypePanel.css\";\n\ntype NumericColumnConfig = {\n alignOnDecimals: boolean;\n decimals: number;\n zeroPad: boolean;\n};\n\nconst defaultValues = {\n alignOnDecimals: false,\n decimals: 4,\n zeroPad: false,\n} as NumericColumnConfig;\n\nconst getColumnValues = (\n columnType?: ColumnType,\n gridDefaultValues?: Partial<NumericColumnConfig>\n) => {\n const columnValue =\n typeof columnType === \"object\" && columnType.formatting\n ? columnType.formatting\n : {};\n\n const properties = [\"alignOnDecimals\", \"decimals\", \"zeroPad\"] as Array<\n keyof NumericColumnConfig\n >;\n return properties.reduce<NumericColumnConfig>((configValues, property) => {\n if (columnValue[property] !== undefined) {\n return {\n ...configValues,\n [property]: columnValue[property],\n };\n } else if (gridDefaultValues?.[property] !== undefined) {\n return {\n ...configValues,\n [property]: gridDefaultValues[property],\n };\n }\n return configValues;\n }, defaultValues);\n};\n\nexport const NumericColumnPanel = ({\n column,\n dispatchColumnAction,\n}: ColumnTypePanelProps) => {\n const { decimals, alignOnDecimals, zeroPad } = getColumnValues(column?.type);\n\n const dispatchUpdate = useCallback(\n (values: Partial<NumericColumnConfig>) =>\n dispatchColumnAction({\n type: \"updateColumnTypeFormatting\",\n column,\n ...values,\n }),\n [column, dispatchColumnAction]\n );\n\n const handleChangeDecimals = useCallback(\n (value: string | number) =>\n dispatchUpdate({ decimals: parseInt(value.toString(), 10) }),\n [dispatchUpdate]\n );\n const handleChangeAlignOnDecimals = useCallback(\n (evt, value) => dispatchUpdate({ alignOnDecimals: value }),\n [dispatchUpdate]\n );\n const handleChangeZeroPad = useCallback(\n (evt, value) => dispatchUpdate({ zeroPad: value }),\n [dispatchUpdate]\n );\n\n switch (column.serverDataType) {\n case \"double\":\n return (\n <>\n <FormField label=\"No of Decimals\" labelPlacement=\"top\">\n <StepperInput value={decimals} onChange={handleChangeDecimals} />\n </FormField>\n <Switch\n checked={alignOnDecimals}\n label=\"Align on decimals\"\n LabelProps={{ className: \"vuuColumnPanelSwitch\" }}\n onChange={handleChangeAlignOnDecimals}\n />\n <Switch\n checked={zeroPad}\n label=\"Zero pad\"\n LabelProps={{ className: \"vuuColumnPanelSwitch\" }}\n onChange={handleChangeZeroPad}\n />\n </>\n );\n case \"long\":\n case \"int\":\n return (\n <>\n <Text>Work in progress</Text>\n </>\n );\n default:\n return null;\n }\n};\n", "import \"./ColumnTypePanel.css\";\nimport { ColumnTypePanelProps } from \"./ColumnTypePanel\";\n\nexport const StringColumnPanel = ({\n column,\n dispatchColumnAction,\n}: ColumnTypePanelProps) => {\n console.log(column, dispatchColumnAction);\n return <>what</>;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["isTypeDescriptor", "isTypeDescriptor", "isTypeDescriptor", "registerComponent", "cx", "jsx", "jsxs", "classBase", "isTypeDescriptor", "cx", "registerComponent", "EditorState", "EditorView", "useEffect", "useRef", "_expressions", "_op", "makeSuggestions", "useRef", "clearInput", "createState", "EditorState", "EditorView", "useEffect", "jsx", "classBase", "useCallback", "useRef", "createEl", "useCallback", "useRef", "Button", "Panel", "cx", "useCallback", "useState", "useCallback", "cx", "jsx", "jsxs", "classBase", "cx", "jsx", "jsxs", "classBase", "addColumn", "useCallback", "removeColumn", "FormField", "StepperInput", "Panel", "Text", "cx", "useCallback", "useState", "cx", "useMemo", "Text", "useCallback", "jsx", "jsxs", "useCallback", "Text", "Fragment", "jsx", "Fragment", "jsx", "jsxs", "classBase", "useMemo", "cx", "jsx", "jsxs", "classBase", "useState", "useCallback", "Text", "cx", "Panel", "FormField", "StepperInput", "FormField", "RadioButton", "RadioButtonGroup", "StepperInput", "Panel", "Text", "useCallback", "jsx", "jsxs", "classBase", "NullActivationIndicator", "useCallback", "Text", "Panel", "FormField", "RadioButtonGroup", "RadioButton", "StepperInput", "Stack", "FormField", "Input", "Button", "Panel", "Text", "useCallback", "useRef", "useState", "jsx", "jsxs", "useState", "useRef", "useCallback", "Panel", "Text", "FormField", "Input", "Button", "jsx", "jsxs", "classBase", "useState", "useCallback", "selectedTabIndex", "tabstripProps", "cx", "Stack", "Panel", "Button", "useEffect", "useState", "cx", "jsx", "jsxs", "classBase", "useState", "useEffect", "cx", "Stack", "Checkbox", "FormField", "Input", "RadioButton", "RadioButtonGroup", "StepperInput", "Panel", "Text", "cx", "useCallback", "useState", "getRegisteredCellRenderers", "Dropdown", "Panel", "cx", "useMemo", "FormField", "StepperInput", "Switch", "Text", "useCallback", "Fragment", "jsx", "jsxs", "defaultValues", "getColumnValues", "NumericColumnPanel", "useCallback", "FormField", "StepperInput", "Switch", "Text", "Fragment", "jsx", "StringColumnPanel", "Fragment", "jsx", "jsxs", "classBase", "integerCellRenderers", "doubleCellRenderers", "stringCellRenderers", "getAvailableCellRenderers", "getRegisteredCellRenderers", "ColumnTypePanel", "useMemo", "NumericColumnPanel", "StringColumnPanel", "Dropdown", "cx", "Panel", "jsx", "jsxs", "classBase", "tabstripProps", "NullActivationIndicator", "ColumnSettingsPanel", "useState", "useCallback", "Text", "Stack", "cx", "Panel", "FormField", "Checkbox", "Input", "StepperInput", "RadioButtonGroup", "RadioButton", "ColumnTypePanel"]
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DOWN1", "DOWN2", "isTypeDescriptor", "metadataKeys", "registerComponent", "UP1", "UP2", "cx", "getMovingValueDirection", "isTypeDescriptor", "isValidNumber", "useEffect", "useRef", "INITIAL_VALUE", "useDirection", "key", "value", "column", "_a", "ref", "prevKey", "prevValue", "prevColumn", "prevDirection", "dataType", "decimals", "direction", "jsx", "jsxs", "CHAR_ARROW_UP", "CHAR_ARROW_DOWN", "KEY", "metadataKeys", "classBase", "FlashStyle", "getFlashStyle", "colType", "isTypeDescriptor", "BackgroundCell", "column", "row", "key", "type", "valueFormatter", "value", "flashStyle", "direction", "useDirection", "arrow", "UP1", "UP2", "DOWN1", "DOWN2", "dirClass", "className", "cx", "registerComponent", "isColumnTypeRenderer", "isTypeDescriptor", "registerComponent", "cx", "jsx", "jsxs", "classBase", "ProgressCell", "column", "columnMap", "row", "type", "value", "showProgress", "percentage", "isTypeDescriptor", "isColumnTypeRenderer", "associatedField", "associatedValue", "floatValue", "floatOtherValue", "className", "cx", "registerComponent", "autocompletion", "defaultKeymap", "EditorState", "EditorView", "ensureSyntaxTree", "keymap", "minimalSetup", "startCompletion", "createEl", "useEffect", "useMemo", "useRef", "LanguageSupport", "LRLanguage", "styleTags", "tag", "LRParser", "parser", "columnExpressionLanguage", "LRLanguage", "parser", "styleTags", "tag", "columnExpressionLanguageSupport", "LanguageSupport", "LiteralExpressionImpl", "value", "ColumnExpressionImpl", "columnName", "_expressions", "_op", "ArithmeticExpressionImpl", "op", "__privateAdd", "__privateSet", "__privateGet", "CallExpressionImpl", "functionName", "e", "_a", "RelationalExpressionImpl", "BooleanConditionImp", "booleanOperator", "ConditionalExpressionImpl", "expression", "_b", "_c", "_d", "_e", "isUnknown", "isArithmeticExpression", "isCallExpression", "isConditionalExpression", "isCondition", "isBooleanCondition", "expression", "isRelationalExpression", "firstIncompleteExpression", "expression", "isUnknown", "isRelationalExpression", "operand1", "operand2", "expressionIsIncomplete", "isCondition", "expressions", "e", "isConditionalExpression", "condition", "truthyExpression", "falsyExpression", "isArithmeticExpression", "replaceUnknownExpression", "incompleteExpression", "unknownExpression", "pos", "isBooleanCondition", "addExpression", "subExpression", "targetExpression", "_expression", "_callStack", "ColumnExpression", "__privateAdd", "booleanOperator", "__privateGet", "ConditionalExpressionImpl", "BooleanConditionImp", "RelationalExpressionImpl", "currentCallExpression", "__privateSet", "functionName", "callExpression", "CallExpressionImpl", "columnName", "ColumnExpressionImpl", "value", "op", "literalExpression", "LiteralExpressionImpl", "isCallExpression", "_a", "walkTree", "tree", "source", "columnExpression", "cursor", "name", "from", "to", "ArithmeticExpressionImpl", "strictParser", "parser", "RelationalOperands", "ColumnNamedTerms", "isCompleteExpression", "src", "lastNamedChild", "node", "lastChild", "isCompleteRelationalExpression", "firstChild", "HighlightStyle", "syntaxHighlighting", "tags", "myHighlightStyle", "vuuHighlighting", "EditorView", "vuuTheme", "booleanJoinSuggestions", "getNamedParentNode", "getPreviousNode", "getValue", "syntaxTree", "useCallback", "applyPrefix", "completions", "prefix", "completion", "_a", "isOperator", "node", "getLastChild", "context", "childNode", "pos", "ColumnNamedTerms", "expression", "getFunctionName", "state", "functionNode", "getValue", "maybeFunction", "getRelationalOperator", "lastNode", "lastNamedChild", "prevNode", "getColumnName", "makeSuggestions", "suggestionProvider", "suggestionType", "optionalArgs", "options", "startsWith", "handleConditionalExpression", "maybeComplete", "onSubmit", "lastChild", "promptToSave", "useColumnAutoComplete", "useCallback", "_b", "word", "nodeBefore", "syntaxTree", "text", "isCompleteExpression", "prevChild", "getPreviousNode", "isCompleteRelationalExpression", "booleanJoinSuggestions", "operator", "columnName", "from", "to", "functionName", "lastArgument", "columnOptions", "lastExpressionChild", "suggestions", "parentNode", "getNamedParentNode", "getView", "ref", "getOptionClass", "noop", "hasExpressionType", "completion", "injectOptionContent", "div", "createEl", "span", "useColumnExpressionEditor", "onChange", "onSubmitExpression", "suggestionProvider", "editorRef", "useRef", "onSubmit", "viewRef", "completionFn", "useColumnAutoComplete", "createState", "clearInput", "useMemo", "parseExpression", "view", "source", "tree", "ensureSyntaxTree", "expression", "walkTree", "submitExpressionAndClearInput", "submitFilter", "key", "keymap", "showSuggestions", "startCompletion", "EditorState", "minimalSetup", "autocompletion", "columnExpressionLanguageSupport", "defaultKeymap", "EditorView", "v", "vuuTheme", "vuuHighlighting", "useEffect", "_a", "jsx", "classBase", "ColumnExpressionInput", "onChange", "onSubmitExpression", "suggestionProvider", "editorRef", "useColumnExpressionEditor", "AnnotationType", "getRelationalOperators", "numericOperators", "stringOperators", "toSuggestions", "getTypeaheadParams", "useTypeaheadSuggestions", "isNumericColumn", "isTextColumn", "useCallback", "useRef", "columnFunctionDescriptors", "createEl", "functionDocInfo", "name", "description", "example", "params", "type", "rootElement", "headingElement", "nameElement", "paramElement", "typeElement", "child2", "exampleElement", "expressionElement", "resultElement", "NO_OPERATORS", "withApplySpace", "suggestions", "suggestion", "_a", "getValidColumns", "columns", "functionName", "operator", "isNumericColumn", "fn", "columnFunctionDescriptors", "f", "isTextColumn", "getColumns", "options", "column", "label", "arithmeticOperators", "getOperators", "getConditionOperators", "stringOperators", "numericOperators", "toFunctionCompletion", "functionDescriptor", "functionDocInfo", "getAcceptedTypes", "s", "functions", "getFunctions", "acceptedTypes", "NONE", "useColumnExpressionSuggestionProvider", "table", "findColumn", "useCallback", "name", "col", "latestSuggestionsRef", "useRef", "getTypeaheadSuggestions", "useTypeaheadSuggestions", "getSuggestions", "suggestionType", "columnName", "prefix", "getRelationalOperators", "params", "getTypeaheadParams", "toSuggestions", "view", "completion", "from", "annotation", "AnnotationType", "cursorPos", "isPartialMatch", "valueType", "pattern", "latestSuggestions", "maybe", "option", "Button", "Panel", "cx", "useCallback", "useState", "List", "Button", "Text", "useId", "useCallback", "useState", "ListItem", "cx", "jsx", "jsxs", "classBase", "ColumnListItem", "classNameProp", "item", "label", "styleProp", "restProps", "className", "cx", "ListItem", "jsx", "jsxs", "classBase", "removeSelectedColumns", "availableColumns", "selectedColumns", "column", "col", "ColumnPicker", "idProp", "dispatch", "onAddCalculatedColumnClick", "onSelectionChange", "chosenColumns", "selectedColumn", "selected1", "setSelected1", "useState", "id", "useId", "unusedColumns", "addColumn", "useCallback", "removeColumn", "moveColumnUp", "moveColumnDown", "handleSelectionChange1", "evt", "selected", "handleSelectionChange2", "handleDrop", "moveFrom", "moveTo", "Text", "List", "item", "Button", "ColumnListItem", "Stack", "Checkbox", "FormField", "Input", "RadioButton", "RadioButtonGroup", "StepperInput", "Panel", "Text", "cx", "useCallback", "useState", "getRegisteredCellRenderers", "Dropdown", "Panel", "cx", "useMemo", "FormField", "StepperInput", "Switch", "Text", "useCallback", "Fragment", "jsx", "jsxs", "defaultValues", "getColumnValues", "columnType", "gridDefaultValues", "columnValue", "configValues", "property", "NumericColumnPanel", "column", "dispatchColumnAction", "decimals", "alignOnDecimals", "zeroPad", "dispatchUpdate", "useCallback", "values", "handleChangeDecimals", "value", "handleChangeAlignOnDecimals", "evt", "handleChangeZeroPad", "FormField", "StepperInput", "Switch", "Text", "Fragment", "jsx", "StringColumnPanel", "column", "dispatchColumnAction", "Fragment", "jsx", "jsxs", "classBase", "integerCellRenderers", "doubleCellRenderers", "stringCellRenderers", "getAvailableCellRenderers", "column", "customRendererNames", "getRegisteredCellRenderers", "r", "ColumnTypePanel", "className", "dispatchColumnAction", "props", "content", "useMemo", "NumericColumnPanel", "StringColumnPanel", "serverDataType", "availableRenderers", "Dropdown", "cx", "Panel", "jsx", "jsxs", "classBase", "tabstripProps", "NullActivationIndicator", "ColumnSettingsPanel", "column", "dispatchColumnAction", "styleProp", "props", "_a", "_b", "_c", "_d", "activeTab", "setActiveTab", "useState", "dispatchUpdate", "useCallback", "values", "handleChangeAlign", "evt", "handleChangePin", "handleChangeHidden", "value", "handleChangeLabel", "handleChangeWidth", "Text", "Stack", "cx", "Panel", "FormField", "Checkbox", "Input", "StepperInput", "RadioButtonGroup", "RadioButton", "ColumnTypePanel", "FormField", "RadioButton", "RadioButtonGroup", "StepperInput", "Panel", "Text", "useCallback", "jsx", "jsxs", "classBase", "NullActivationIndicator", "GridSettingsPanel", "config", "dispatchColumnAction", "styleProp", "props", "_a", "dispatchUpdate", "useCallback", "values", "handleChangeLabelFormatting", "evt", "handleChangeWidth", "value", "Text", "Panel", "FormField", "RadioButtonGroup", "RadioButton", "StepperInput", "useReducer", "moveItem", "fromServerDataType", "gridSettingsReducer", "state", "action", "addColumn", "addCalculatedColumn", "moveColumn", "removeColumn", "updateColumnProp", "updateGridSettings", "updateColumnTypeFormatting", "useGridSettings", "config", "dispatchColumnAction", "column", "columns", "index", "stateColumns", "columnName", "columnType", "expression", "calculatedColumn", "col", "moveBy", "moveFrom", "moveTo", "idx", "newColumns", "movedColumns", "align", "hidden", "label", "width", "replaceColumn", "columnFormatHeader", "alignOnDecimals", "decimals", "zeroPad", "serverDataType", "type", "Stack", "FormField", "Input", "Button", "Panel", "Text", "useCallback", "useRef", "useState", "jsx", "jsxs", "CalculatedColumnPanel", "columns", "dispatchColumnAction", "table", "columnName", "setColumnName", "useState", "setExpression", "sourceRef", "useRef", "suggestionProvider", "useColumnExpressionSuggestionProvider", "handleChangeName", "useCallback", "evt", "value", "handleChangeExpression", "source", "handleSubmitExpression", "expression", "handleSave", "Panel", "Text", "FormField", "Input", "ColumnExpressionInput", "Button", "jsx", "jsxs", "classBase", "getTabLabel", "icons", "getTabIcon", "component", "tabIndex", "DatagridSettingsPanel", "availableColumns", "className", "gridConfig", "onCancel", "onConfigChange", "props", "_a", "selectedTabIndex", "setSelectedTabIndex", "useState", "gridSettings", "dispatchColumnAction", "useGridSettings", "selectedColumnName", "setSelectedColumnName", "handleColumnSelected", "useCallback", "selected", "handleApply", "evt", "closePanel", "handleTabSelectionChanged", "handleSave", "selectedColumn", "col", "tabstripProps", "handleAddCalculatedColumn", "panelShift", "cx", "Stack", "GridSettingsPanel", "ColumnPicker", "Panel", "ColumnSettingsPanel", "CalculatedColumnPanel", "Button", "useEffect", "useState", "cx", "jsx", "jsxs", "classBase", "numberFormatter", "DataSourceStats", "classNameProp", "dataSource", "range", "setRange", "useState", "size", "setSize", "useEffect", "className", "cx", "from", "to", "value", "Stack", "Checkbox", "FormField", "Input", "RadioButton", "RadioButtonGroup", "StepperInput", "Panel", "Text", "cx", "useCallback", "useState", "getRegisteredCellRenderers", "Dropdown", "Panel", "cx", "useMemo", "FormField", "StepperInput", "Switch", "Text", "useCallback", "Fragment", "jsx", "jsxs", "defaultValues", "getColumnValues", "columnType", "gridDefaultValues", "columnValue", "configValues", "property", "NumericColumnPanel", "column", "dispatchColumnAction", "decimals", "alignOnDecimals", "zeroPad", "dispatchUpdate", "useCallback", "values", "handleChangeDecimals", "value", "handleChangeAlignOnDecimals", "evt", "handleChangeZeroPad", "FormField", "StepperInput", "Switch", "Text", "Fragment", "jsx", "StringColumnPanel", "column", "dispatchColumnAction", "Fragment", "jsx", "jsxs", "classBase", "integerCellRenderers", "doubleCellRenderers", "stringCellRenderers", "getAvailableCellRenderers", "column", "customRendererNames", "getRegisteredCellRenderers", "r", "ColumnTypePanel", "className", "dispatchColumnAction", "props", "content", "useMemo", "NumericColumnPanel", "StringColumnPanel", "serverDataType", "availableRenderers", "Dropdown", "cx", "Panel", "jsx", "jsxs", "classBase", "tabstripProps", "NullActivationIndicator", "ColumnSettingsPanel", "column", "dispatchColumnAction", "styleProp", "props", "_a", "_b", "_c", "_d", "activeTab", "setActiveTab", "useState", "dispatchUpdate", "useCallback", "values", "handleChangeAlign", "evt", "handleChangePin", "handleChangeHidden", "value", "handleChangeLabel", "handleChangeWidth", "Text", "Stack", "cx", "Panel", "FormField", "Checkbox", "Input", "StepperInput", "RadioButtonGroup", "RadioButton", "ColumnTypePanel"]
|
|
7
7
|
}
|