2.9.0 • Published 7 months ago

@gravitino-dev/erp-lib v2.9.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Схема библиотеки

Установка

npm install @gravitino-dev/erp-lib

Зависимости

Библиотека требует следующие peer dependencies:

  • React (версия 16.9.0 или выше, до 19.1.0)
  • React DOM (версия 16.9.0 или выше, до 19.1.0)
  • Ant Design (версия 5.25.1 или выше)
  • @tanstack/react-query (версия 5.76.1)
  • @tanstack/react-query-devtools (версия 5.76.1)
  • Axios (версия 1.9.0)
  • js-cookie (версия 3.0.5)
  • Tailwind CSS (версия 4.1.6)
  • @tailwindcss/postcss (версия 4.1.6)

Использование

Импорт стилей

import '@gravitino-dev/erp-lib/dist/ui/styles/index.css';

Основные модули

Библиотека предоставляет следующие основные модули:

Контексты

import { MasterContext } from '@gravitino-dev/erp-lib';

// Использование в компоненте
const MyComponent = () => {
  const masterContext = useContext(MasterContext);
  // ...
};

Хуки

import { useMaster } from '@gravitino-dev/erp-lib';

// Использование в компоненте
const MyComponent = () => {
  const master = useMaster();
  // ...
};

Провайдеры

import { MasterProvider } from '@gravitino-dev/erp-lib';
import type { MasterConfig } from '@gravitino-dev/erp-lib';

// Конфигурация Master
const masterConfig: MasterConfig = {
  // Конфигурация React Query
  query: {
    defaultOptions: {
      queries: {
        refetchOnWindowFocus: false,
        retry: 1
      }
    }
  },
  // Конфигурация Ant Design
  antd: {
    token: {
      colorPrimary: '#1890ff',
      borderRadius: 4
    }
  }
};

// Оберните ваше приложение в провайдеры
const App = () => {
  return (
    <MasterProvider config={masterConfig}>
      {/* Ваши компоненты */}
    </MasterProvider>
  );
};

Конфигурация Master

Master предоставляет следующие возможности конфигурации:

React Query конфигурация

const queryConfig = {
  defaultOptions: {
    queries: {
      refetchOnWindowFocus: false,
      retry: 1,
      staleTime: 5 * 60 * 1000,
      cacheTime: 10 * 60 * 1000
    }
  }
};

Ant Design конфигурация

const antdConfig = {
  token: {
    colorPrimary: '#1890ff',
    borderRadius: 4,
    fontFamily: 'Roboto, sans-serif'
  },
  components: {
    Button: {
      colorPrimary: '#1890ff'
    }
  }
};

Пример полного использования

import { MasterProvider, useMaster } from '@gravitino-dev/erp-lib';
import '@gravitino-dev/erp-lib/dist/ui/styles/index.css';
import type { MasterConfig } from '@gravitino-dev/erp-lib';

const masterConfig: MasterConfig = {
  query: {
    defaultOptions: {
      queries: {
        refetchOnWindowFocus: false,
        retry: 1
      }
    }
  },
  antd: {
    token: {
      colorPrimary: '#1890ff',
      borderRadius: 4
    }
  }
};

const MyComponent = () => {
  const master = useMaster();
  
  return (
    <div>
      {/* Используйте функционал из master */}
    </div>
  );
};

const App = () => {
  return (
    <MasterProvider config={masterConfig}>
      <MyComponent />
    </MasterProvider>
  );
};

Разработка

Для локальной разработки:

  1. Клонируйте репозиторий
  2. Установите зависимости: npm install
  3. Запустите сборку: npm run build

Лицензия

MIT

2.9.0

7 months ago

2.8.0

7 months ago

2.7.0

7 months ago

2.6.0

7 months ago

2.5.0

7 months ago

2.4.0

7 months ago

2.3.0

7 months ago

2.2.1

7 months ago

2.2.0

7 months ago

2.1.0

7 months ago

2.0.0

7 months ago

1.1.0

7 months ago

1.0.0

7 months ago