frontend-platform

Reference OrangeHRM Vue utilities for translations, permissions, notifications, navigation, and dates.

1.1k|746|Updated Jan 5, 2017
One-click install
npx skills add https://github.com/orangehrm/orangehrm --skill frontend-platform
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frontend-platform
Source: https://github.com/orangehrm/orangehrm/tree/main/.agents/skills/frontend-platform
Command: npx skills add https://github.com/orangehrm/orangehrm --skill frontend-platform

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the problem of inconsistent implementation of OrangeHRM's standard Vue frontend cross-cutting features by providing a single authoritative reference for the pre-wired core utilities and their established usage conventions, eliminating guesswork and reducing bugs from non-standard implementation when building or modifying application pages.

Core Features & Use Cases

  • Authoritative reference for pre-wired utilities: Covers all cross-cutting Vue plugins and helpers available out of the box in OrangeHRM, including internationalization ($t), access control ($can), user notifications ($toast), global loader, navigation helpers, and date formatting utilities, along with their exact usage patterns and edge cases.
  • Convention enforcement guidance: Documents critical project rules such as module-grouped translation key naming, exact backend data group name matching for permissions, and mandatory use of semantic toast shortcuts to ensure consistent user experience across the entire application.
  • Use case: Use this Skill whenever building, modifying, or debugging OrangeHRM Vue pages to correctly implement user-facing translations, gate UI elements by user permissions, show standardized notifications, navigate between pages, or format dates per user preferences, without reinventing existing functionality.

Quick Start

Use this skill to correctly implement permission-gated UI elements and standardized success notifications when building a new OrangeHRM Vue page for employee management.

Frequently Asked Questions about frontend-platform

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement access control in Vue components for OrangeHRM?

Access control in OrangeHRM Vue components is implemented using the `$can` helper. You must match permission checks exactly to the backend data group names to ensure UI elements are correctly gated by user permissions.

What is the best way to show toast notifications in an OrangeHRM Vue application?

Toast notifications in the OrangeHRM Vue application should be shown using standardized semantic toast shortcuts via the `$toast` helper. Using these pre-wired shortcuts ensures a consistent user experience across the entire application.

How do I format dates in Vue.js according to user preferences in OrangeHRM?

Date formatting in OrangeHRM Vue.js pages is handled using the pre-wired date formatting utilities. These utilities automatically format dates according to the logged-in user's preferences without requiring manual date parsing.

How do I structure internationalization translation keys for OrangeHRM frontend development?

Internationalization translation keys for OrangeHRM frontend development must be module-grouped. The `$t` helper is provided out-of-the-box to implement user-facing translations while adhering to this project naming convention.

Can I use custom plugins for navigation and global loading states in OrangeHRM Vue pages?

OrangeHRM Vue pages are pre-wired with global loader and navigation helper plugins. You should use these existing utilities rather than custom alternatives to maintain project conventions and consistent behavior.

Why do my Vue frontend features look inconsistent across different OrangeHRM modules?

Inconsistent Vue frontend features usually occur when pre-wired utilities are bypassed. Using this Skill provides authoritative reference guidance for OrangeHRM's cross-cutting utilities to eliminate non-standard implementation.