
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
grading-widget
Advanced tools
Что нужно знать для использования библиотеки в своем проекте 1. Для установки: npm i grading-widget
Что нужно знать для использования библиотеки в своем проекте
Для установки: npm i grading-widget
В файле, где ты хочешь использовать библиотеку грейдирования добавь пустой div с id = widgetTagName и инициализируй билиотеку
<template>
<div id="grading-widget"></div>
</template>
import { openGrading, removeGrading } from '@/utils/plugins/grading';
export default {
setup() {
openGrading(filialId, orderId, amount);
onBeforeUnmount(() => {
removeGrading();
}
}
}
import { AuthService } from '@/services/auth';
import i18n from '@/utils/plugins/i18n';
import 'grading-widget/dist/grading-widget.css';
let onGradingDestroy: (() => void) | null = null;
const appEnv = import.meta.env.VITE_ENV;
const gradingEnv = appEnv === 'production' ? 'production' : 'stage';
async function onForbidden() {
return Promise.reject(new Error('Нет токена')); // добавить, когда будет готов метод
}
function openGrading(filialId: number, orderId: number, amount: number) {
let myGradeLibraryInstance: {
init: () => boolean;
destroy: () => void;
mount: () => void;
};
const filialIdStr = filialId.toString();
const orderIdStr = orderId.toString();
const amountStr = amount.toString();
import('grading-widget').then(async MyGradeLibrary => {
myGradeLibraryInstance = MyGradeLibrary.default({
filialId: filialIdStr,
orderId: orderIdStr,
amount: amountStr,
onForbidden,
token: AuthService.state.accessToken,
showCongrats: true,
environment: gradingEnv,
lang: i18n.global.locale.value,
onError: (msg: string) => console.log(msg),
widgetTagName: '#grading-widget'
});
if (await myGradeLibraryInstance.init()) {
myGradeLibraryInstance.mount();
}
onGradingDestroy = myGradeLibraryInstance.destroy;
});
}
function removeGrading() {
if (onGradingDestroy) {
onGradingDestroy();
onGradingDestroy = null;
}
}
export { openGrading, removeGrading };
// отправляет запрос на получение данных по грейдированию
const grading = (
filialId: string,
orderId: string,
amount: number | string,
): Promise<IPayedRestaurant> => {
return gradingApiClient().get(
`/member-ladder/grading/thank-you-page/${filialId}?order_id=${orderId}&amount=${amount}`,
).then((response) => {
return response.data.data;
})
};
// проверяет есть ли грейдирование по указанному filialId
const hasGrading = (
filialId: string,
): Promise<IHasGrading> => {
return gradingApiClient().get(
`/member-ladder/grading/terminal/${filialId}`,
).then((response) => {
return response.data.data;
})
};
interface IMyGradeLibrary {
filialId: string,
orderId: string,
amount: string, // Сумма оплаты
environment: string, // Принимает process.env.VUE_APP_ENVIRONMENT основного приложения
lang: string, // Текущий язык основного приложения, который будет отображен
token: string,
onForbidden: () => Promise<string>, // необязательный параметр. Функция, срабатывающая, когда токен умирает. Из родительского приложения нужно отправлять новый токен, если этого метода нет, то можно возвращать return Promise.reject();
showCongrats: boolean, // Контролирует нужно ли отображать анимации поздравлений и отображения прогресса по уровням
onError: (message) => void, // Обработка ошибок
widgetTagName: string, // передает в библиотеку Грейдирования id тега div, который ты используешь в своем проекте как контейнер для отрисовки компонента библиотеки
logToConsole: (key, message) => void, // необязательный параметр, показывает в родительском приложении консоль библиотеки грейдирования
animationWasEnded: () => void, // необязательный параметр, который принимает метод, который должен срабатывать, когда закончились все анимации и отображен финальный вид виджета
logAmplitudeEvent: (event: string, payload: any) => void | Promise<void>, // обязательный параметр, вызывает аналитику
}
FAQs
Что нужно знать для использования библиотеки в своем проекте 1. Для установки: npm i grading-widget
The npm package grading-widget receives a total of 213 weekly downloads. As such, grading-widget popularity was classified as not popular.
We found that grading-widget demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.