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.1.1 to 11.2.3

use-data-grid-fetching/loader.d.ts

9

_generator/cli.js

@@ -11,4 +11,5 @@ const { argv, env } = require("process");

})
.option("s", { alias: "schemaDirectory" })
.option("o", { alias: "outputDirectory" })
.option("s", { alias: "schemaDirectory", type: "string" })
.option("o", { alias: "outputDirectory", type: "string" })
.option("l", { alias: "requiredLoader", type: "boolean" })
.option("h", { alias: "help", group: "Options" })

@@ -19,3 +20,3 @@ .strict(false)

try {
const { help, schemaDirectory, outputDirectory } = cli.parse(argv.slice(2));
const { help, schemaDirectory, outputDirectory, requiredLoader } = cli.parse(argv.slice(2));

@@ -26,3 +27,3 @@ if (Boolean(help)) {

await require("./index")(schemaDirectory, outputDirectory);
await require("./index")(schemaDirectory, outputDirectory, requiredLoader);
} catch (e) {

@@ -29,0 +30,0 @@ console.error(e);

@@ -24,3 +24,79 @@ const { globSync } = require("fast-glob");

function generate(jsonSchema, filename, outputDirectory) {
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,
});
}
`;
}
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) {
const gridName = parse(filename).name;

@@ -35,8 +111,12 @@ const generatedPath = join(process.cwd(), outputDirectory, gridName);

);
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));
}
module.exports = (schemaDirectory, outputDirectory) => {
module.exports = (schemaDirectory, outputDirectory, requiredLoader) => {
globSync(schemaDirectory + "/*.json")
.map((path) => process.cwd() + "/" + path)
.forEach((filename) => generate(readFileSync(filename), filename, outputDirectory));
.forEach((filename) => generate(readFileSync(filename), filename, outputDirectory, requiredLoader));
};
{
"name": "@uxf/data-grid",
"version": "11.1.1",
"version": "11.2.3",
"description": "UXF DataGrid",

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

"gen:icons": "icons-gen",
"gen:data-grid": "node bin/uxf-data-grid-generator.js -s _generator/test/data-grid-schema -o _generator/test/data-grid --requiredLoader",
"lint": "./node_modules/.bin/eslint -c .eslintrc.js \"./**/*.ts*\"",

@@ -37,2 +38,3 @@ "test": "npm run-script typecheck",

"fast-glob": "^3.3.2",
"qs": "6.11.2",
"react-data-grid": "7.0.0-beta.39",

@@ -39,0 +41,0 @@ "yargs": "^17.7.2"

@@ -5,3 +5,3 @@ import { Nullish } from "@uxf/core/types";

import { DataGridUserConfig } from "../types/state";
interface Config {
export interface UseDataGridControlConfig {
schema: Schema<any>;

@@ -12,3 +12,3 @@ initialState?: Request | string | Nullish;

}
export declare function useDataGridControl(config: Config): {
export declare function useDataGridControl(config: UseDataGridControlConfig): {
state: import("../types/state").DataGridState;

@@ -29,2 +29,1 @@ actions: {

export type DataGridControl = ReturnType<typeof useDataGridControl>;
export {};

@@ -15,4 +15,4 @@ import { Loader } from "../types/core";

}
interface Config {
loader: Loader;
export interface UseDataGridFetchingConfig {
loader?: Loader;
schema: Schema<any>;

@@ -22,3 +22,3 @@ gridName: string;

}
export declare function useDataGridFetching(config: Config): DataGridFetchingResult<any>;
export declare function useDataGridFetching(config: UseDataGridFetchingConfig): DataGridFetchingResult<any>;
export {};

@@ -6,4 +6,5 @@ "use strict";

const utils_1 = require("../utils");
const loader_1 = require("./loader");
function useDataGridFetching(config) {
const { state, schema, loader, gridName } = config;
const { state, schema, loader = loader_1.dataGridLoader, gridName } = config;
const [isLoading, setIsLoading] = (0, react_1.useState)(false);

@@ -10,0 +11,0 @@ const [error, setError] = (0, react_1.useState)(null);

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