MCPcopy Index your code
hub / github.com/grid-js/gridjs / createFromConfig

Method createFromConfig

src/header.ts:219–248  ·  view source on GitHub ↗
(config: Partial<Config>)

Source from the content-addressed store, hash-verified

217 }
218
219 static createFromConfig(config: Partial<Config>): Header | null {
220 const header = new Header();
221
222 // TODO: this part needs some refactoring
223 if (config.from) {
224 header.columns = Header.fromHTMLTable(config.from).columns;
225 } else if (config.columns) {
226 header.columns = Header.fromColumns(config.columns).columns;
227 } else if (
228 config.data &&
229 typeof config.data[0] === 'object' &&
230 !(config.data[0] instanceof Array)
231 ) {
232 // if data[0] is an object but not an Array
233 // used for when a JSON payload is provided
234 header.columns = Object.keys(config.data[0]).map((name) => {
235 return { name: name };
236 });
237 }
238
239 if (header.columns.length) {
240 header.setID();
241 header.setSort(config.sort);
242 header.setResizable(config.resizable);
243 header.populatePlugins(config.plugin, header.columns);
244 return header;
245 }
246
247 return null;
248 }
249
250 static fromHTMLTable(element: HTMLElement): Header {
251 const header = new Header();

Callers 4

fromPartialConfigMethod · 0.45
header.test.tsFile · 0.45
table.test.tsxFile · 0.45

Calls 6

setIDMethod · 0.95
setSortMethod · 0.95
setResizableMethod · 0.95
populatePluginsMethod · 0.95
fromHTMLTableMethod · 0.80
fromColumnsMethod · 0.80

Tested by

no test coverage detected