I have created my own component inheriting from TreeGrid. But when creating HTML, I found several errors.
1. The filter button is invisible.
2. The may of the component is not created in <div id="app">, but in the main <body>
3. The height of isc_NoticesTreeGrid_0_filterEditor_body is 100px, not 22px as specified in the styles
4. The height of isc_NoticesTreeGrid_0_filterEditor_actionButton is also equal to 100px
my NoticesTreeGrid.js
my App.js
created HTML
SNAPSHOT_v13.1d_2024-05-19
1. The filter button is invisible.
2. The may of the component is not created in <div id="app">, but in the main <body>
3. The height of isc_NoticesTreeGrid_0_filterEditor_body is 100px, not 22px as specified in the styles
4. The height of isc_NoticesTreeGrid_0_filterEditor_actionButton is also equal to 100px
my NoticesTreeGrid.js
Code:
import { SC, ReactComponent, TreeGrid } from 'smartclient-pro/react'; let isc = window.isc; SC.defineClass("NoticesTreeGrid", TreeGrid); class NoticesTreeGrid extends TreeGrid { static ISC_CLASS_NAME = "NoticesTreeGrid"; static IS_CLASS = true; static NUMERIC_PROPERTIES = {}; static COMPOUND_PROPERTIES = {}; constructor(props) { super(props); } } isc.NoticesTreeGrid.addProperties({ autoFetchData: false, loadDataOnDemand: false, canEdit: false, showFilterEditor: true, showHover: true, cascadeSelection: false, defaultFields: [ { name: "command", title: "Command" }, { name: "argument 1", title: "Argument 1" }, { name: "argument 2", title: "Argument 2" }], gridComponents: ["header", "filterEditor", "body"] }); Object.defineProperty(NoticesTreeGrid, "name", { value: "NoticesTreeGrid" }); ReactComponent.registerClass("NoticesTreeGrid", NoticesTreeGrid); export default NoticesTreeGrid;
Code:
import React, { Component } from 'react'; import NoticesTreeGrid from './NoticesTreeGrid.js'; class App extends Component { constructor(param) { super(param); }; render() { return ( <NoticesTreeGrid width="500" height="300" /> ); } } export default App;
created HTML
SNAPSHOT_v13.1d_2024-05-19
Comment