1.8.0 • Published 5 months ago

@qlibs/utils v1.8.0

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

usePromiseAllData

const {
    isLoadingPromiseAllData: isLoading,
    promiseAllData,
    fetchPromiseAllData,
  } = usePromiseAllData<IPromiseAllData>({
    httpRequest: httpRequest as any,
    endpoints: [
      {
        endpoint: '/users/' + params.userId,
        returnKey: 'user',
      },
      {
        endpoint: selectedProgram?.programId
          ? `evaluation-calculator/${selectedProgram?.programId}/${params.userId}`
          : `evaluation-calculator/${params.userId}`,
        returnKey: 'competencies',
      },
    ],
  });

  useEffect(() => {
    fetchPromiseAllData();
  }, []);

useAdditionalDataForList

const { isLoadingAdditionalData, additionalData } =
    useAdditionalDataForList<IAdditionalData>({
      httpRequest: httpRequest as any,
      id: 'attendanceId',
      data,
      injects: [
        {
          injectedId: 'userId',
          endpoint: '/users?filterStatus=active&roles=talent&userIds=',
          endpointId: 'userId',
          returnKey: 'user',
        },
        props.type === 'EVENT' ? {
          injectedId: 'eventId',
          endpoint: '/event?eventIds=',
          endpointId: 'eventId',
          returnKey: 'event',
        } : {injectedId: '', endpoint: '', returnKey: '', endpointId: ''},
      ].filter(item => item?.injectedId),
    });

TRACK ME

How to use TrackMe

const {insertData} = useTrackData();
const location = useLocation()

<TrackMe 
  appName='QLIBS'
  userId='QLIBS_userId'
  userData={{name: 'QLIBS_user_name'}}
  processUpload={(
    activities: IActivity[],
    onSuccess: (ids: number[]) => void
  ) => {
    console.info('before onSuccess activities', activities);
    onSuccess(activities.map(item => (item as any).activityId));
  }}
  location={location}
  autoUploadConfig={{
    intervalInMs: 5000,
  }}
  isDemo={true}
/>
useTrackerIndexedDB({
  appName: "PROJECT_NAME",
  userId: user.userId,
  userData: user,
  processUpload: (activities: IActivity[], onSuccess: (ids: number[]) => void) => {
    httpRequest
      .post(process.env.REACT_APP_API_URL_TRACKME || '', { bulk: activities })
      .then((res: any) => {
        onSuccess((res.data.payload || []).map((item: any) => item.activityId));
      })
      .catch((err) => {
        message.error(getErrorMessage(err));
      });
  },
});

How to don't track me

<button data-trackme="false">WILL NOT TRACKED</button>
1.8.0

5 months ago

1.7.5

5 months ago

1.7.4

5 months ago

1.7.3

7 months ago

1.7.2

7 months ago

1.7.1

7 months ago

1.7.0

7 months ago

1.6.0

8 months ago

1.5.5

9 months ago

1.5.4

9 months ago

1.5.3

9 months ago

1.5.2

9 months ago

1.5.1

9 months ago

1.5.0

9 months ago

1.4.1

9 months ago

1.4.0

9 months ago

1.3.0

9 months ago

1.2.0

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.3

9 months ago

1.0.2

10 months ago