Socket
Socket
Sign inDemoInstall

@uxf/data-grid

Package Overview
Dependencies
Maintainers
1
Versions
294
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uxf/data-grid - npm Package Compare versions

Comparing version 11.3.0 to 11.4.0

95

_generator/index.js

@@ -17,86 +17,19 @@ const { globSync } = require("fast-glob");

function generateSchemaFile(gridName, schemaRelativeImport) {
function generateSchemaFile(gridName, schema, schemaRelativeImport) {
return `import { Schema } from "@uxf/data-grid";
import json from "${schemaRelativeImport}";
export const dataGridSchema_${camelize(gridName)}: Schema<any> = json as any;`;
type DataGrid_${camelize(gridName)} = {
columns: {
${schema.columns.map((column) => `"${column.name}": "${column.type}",`).join("\n ")}
},
filters: {
${schema.filters.map((filter) => `"${filter.name}": "${filter.type}",`).join("\n ")}
}
}
function generateUseDataGridControl(gridName) {
return `import { useDataGridControl, UseDataGridControlConfig } from "@uxf/data-grid/use-data-grid-control";
import { dataGridSchema_${camelize(gridName)} as schema } from "./schema";
export function useDataGridControl_${camelize(gridName)}(config: Omit<UseDataGridControlConfig, "schema">) {
return useDataGridControl({
schema,
...config,
});
export const dataGridSchema_${camelize(gridName)}: Schema<DataGrid_${camelize(gridName)}> = json as any;`;
}
`;
}
function generateUseDataGridFetching(gridName, isLoaderRequired) {
return `import { Loader } from "@uxf/data-grid/types/core";
import { useDataGridFetching, UseDataGridFetchingConfig } from "@uxf/data-grid/use-data-grid-fetching";
import { dataGridSchema_${camelize(gridName)} as schema } from "./schema";
export function useDataGridFetching_${camelize(gridName)}(
config: Omit<UseDataGridFetchingConfig, "gridName" | "loader" | "schema"> & { loader${
isLoaderRequired ? "" : "?"
}: Loader },
) {
return useDataGridFetching({ gridName: "${gridName}", schema, ...config });
}
`;
}
function generateDataGridFile(gridName, isLoaderRequired) {
return `import { Nullish } from "@uxf/core/types";
import { DataGrid, DataGridProps, DataGridUserConfig, Loader, Request } from "@uxf/data-grid";
import { useDataGridControl } from "@uxf/data-grid/use-data-grid-control";
import { useDataGridFetching } from "@uxf/data-grid/use-data-grid-fetching";
import React from "react";
import { dataGridSchema_${camelize(gridName)} as schema } from "./schema";
type Props = Omit<
DataGridProps<any, any>,
"gridName" | "schema" | "state" | "actions" | "data" | "isLoading" | "onReload"
> & {
loader${isLoaderRequired ? "" : "?"}: Loader;
initialUserConfig?: DataGridUserConfig | Nullish;
initialState?: Request | string | Nullish;
};
export function DataGrid_${camelize(gridName)}(props: Props) {
const { state, actions } = useDataGridControl({
schema,
initialState: props.initialState,
initialUserConfig: props.initialUserConfig,
});
const { data, error, onReload, isLoading } = useDataGridFetching({
gridName: "${gridName}",
schema,
state,
loader: props.loader,
});
return (
<DataGrid<any>
state={state}
actions={actions}
data={data}
isLoading={isLoading}
error={error}
onReload={onReload}
{...props}
gridName="admin-club"
schema={schema}
/>
);
}
`;
}
function generate(jsonSchema, filename, outputDirectory, isLoaderRequired) {
function generate(schema, filename, outputDirectory) {
const gridName = parse(filename).name;

@@ -109,8 +42,4 @@ const generatedPath = join(process.cwd(), outputDirectory, gridName);

generatedSchemaFilename,
generateSchemaFile(gridName, relative(dirname(generatedSchemaFilename), filename)),
generateSchemaFile(gridName, schema, relative(dirname(generatedSchemaFilename), filename)),
);
// writeFile(`${generatedPath}/data-grid.tsx`, generateDataGridFile(gridName, isLoaderRequired));
// writeFile(`${generatedPath}/use-data-grid-control.ts`, generateUseDataGridControl(gridName));
// writeFile(`${generatedPath}/use-data-grid-fetching.ts`, generateUseDataGridFetching(gridName, isLoaderRequired));
}

@@ -121,3 +50,3 @@

.map((path) => process.cwd() + "/" + path)
.forEach((filename) => generate(readFileSync(filename), filename, outputDirectory, requiredLoader));
.forEach((filename) => generate(JSON.parse(readFileSync(filename)), filename, outputDirectory, requiredLoader));
};

8

_store/reducer.d.ts
import { Nullish } from "@uxf/core/types";
import { Reducer } from "react";
import { Request } from "../types/api";
import { Schema } from "../types/schema";
import { BaseGridType, Schema } from "../types/schema";
import { DataGridState, DataGridUserConfig } from "../types/state";
export declare const getInitialState: (schema: Schema<any>, init?: Request | string | Nullish, initialUserConfig?: DataGridUserConfig | Nullish) => DataGridState;
export declare const reducer: Reducer<DataGridState, any>;
export declare const debugReducer: Reducer<DataGridState, any>;
export declare function getInitialState<GridType extends BaseGridType>(schema: Schema<GridType>, init?: Request | string | Nullish, initialUserConfig?: DataGridUserConfig<GridType> | Nullish): DataGridState<GridType>;
export declare const reducer: Reducer<DataGridState<any>, any>;
export declare const debugReducer: Reducer<DataGridState<any>, any>;

@@ -6,3 +6,3 @@ "use strict";

const utils_1 = require("../utils");
const getInitialState = (schema, init, initialUserConfig) => {
function getInitialState(schema, init, initialUserConfig) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;

@@ -27,3 +27,3 @@ const initialState = (0, is_nil_1.isNil)(init) ? {} : typeof init === "string" ? (_a = (0, utils_1.decodeFilter)(init)) !== null && _a !== void 0 ? _a : {} : init;

};
};
}
exports.getInitialState = getInitialState;

@@ -30,0 +30,0 @@ // eslint-disable-next-line complexity

@@ -41,2 +41,10 @@ "use strict";

schema: schema_1.schema,
initialUserConfig: {
columns: {
id: { minWidth: 50 },
text: { minWidth: 300 },
mail: { minWidth: 300 },
tel: { minWidth: 300 },
},
},
});

@@ -43,0 +51,0 @@ const { isLoading, error, data, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)({

{
"name": "@uxf/data-grid",
"version": "11.3.0",
"version": "11.4.0",
"description": "UXF DataGrid",

@@ -34,3 +34,3 @@ "homepage": "https://gitlab.com/uxf-npm/data-grid#readme",

"dependencies": {
"@uxf/ui": "11.3.0",
"@uxf/ui": "11.4.0",
"dayjs": "1.11.10",

@@ -37,0 +37,0 @@ "fast-glob": "^3.3.2",

import { Column } from "react-data-grid";
import { DataGridState } from "../../types";
import { TableProps } from "../types";
export declare function useReactDataGridColumns(props: TableProps<any>, state: DataGridState): Column<any>[];
export declare function useReactDataGridColumns(props: TableProps<any>, state: DataGridState<any>): Column<any>[];
import { RequestFilter } from "./api";
import { DataGridSort } from "./schema";
import { BaseGridType, DataGridSort } from "./schema";
export type GridRequest = {

@@ -16,10 +16,10 @@ f: RequestFilter[];

}
export interface DataGridUserConfig {
columns?: Record<string, ColumnConfig>;
export interface DataGridUserConfig<GridType extends BaseGridType> {
columns?: Partial<Record<keyof GridType["columns"], ColumnConfig>>;
perPage?: number;
}
export interface DataGridState {
export interface DataGridState<GridType extends BaseGridType> {
request: GridRequest;
selectedRows?: any[];
userConfig: DataGridUserConfig;
userConfig: DataGridUserConfig<GridType>;
tabRequests: {

@@ -26,0 +26,0 @@ [tab: string]: GridRequest;

import { Nullish } from "@uxf/core/types";
import { Request } from "../types/api";
import { Schema } from "../types/schema";
import { BaseGridType, Schema } from "../types/schema";
import { DataGridUserConfig } from "../types/state";
export interface UseDataGridControlConfig {
schema: Schema<any>;
export interface UseDataGridControlConfig<GridType extends BaseGridType> {
schema: Schema<GridType>;
initialState?: Request | string | Nullish;
isDebug?: boolean;
initialUserConfig?: DataGridUserConfig | Nullish;
initialUserConfig?: DataGridUserConfig<GridType> | Nullish;
}
export declare function useDataGridControl(config: UseDataGridControlConfig): {
state: import("../types/state").DataGridState;
export declare function useDataGridControl<T extends BaseGridType>(config: UseDataGridControlConfig<T>): {
state: import("../types/state").DataGridState<any>;
actions: {

@@ -14,0 +14,0 @@ changePage: (page: number) => void;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc