Commit Graph

223 Commits

Author SHA1 Message Date
6348c1e2b4 feat: add section name field to DetailPlantSection and update ListPlantSection to include section name in data handling 2025-10-17 00:09:39 +07:00
2f621fc6c2 update status active inactive 2025-10-16 23:39:41 +07:00
956730135e refactor: streamline IndexPlantSection and DetailPlantSection components, enhance ListPlantSection with improved search and action handling 2025-10-16 23:05:26 +07:00
7538c18624 feat: convert line chart data to table format and enhance filtering options in IndexReport 2025-10-16 15:36:01 +07:00
61ec188d59 fix: adjust content margin in MainLayout for improved layout consistency 2025-10-16 15:27:13 +07:00
1ba83ec105 fix: update device filtering logic and improve UI labels in DetailTag component 2025-10-16 15:07:25 +07:00
9f46908d79 template card or table in component table list 2025-10-16 14:55:57 +07:00
9bb07b1224 feat: enhance device selection with code and name display, filter active devices 2025-10-16 14:12:18 +07:00
c0f7b8eeb4 center 2025-10-16 13:11:24 +07:00
a4f7eaf422 hardcode signin 2025-10-16 13:02:46 +07:00
172e14e77d update handle reject & is_active 2025-10-16 11:30:00 +07:00
77a89489cd fix: rename alarm property to is_alarm 2025-10-15 22:32:27 +07:00
23db974695 feat: add alarm toggle functionality in DetailTag component 2025-10-15 22:19:16 +07:00
1bde2a0fd0 feat: swap Tag Name and Tag Number fields in DetailTag component 2025-10-15 21:25:17 +07:00
4e2da7d4fa feat: refactor Plant Sub Section dropdown in DetailTag component 2025-10-15 21:17:37 +07:00
05be0b6738 feat: add dropdown field for plant sub sections in DetailTag component 2025-10-15 20:48:30 +07:00
2d2b1a6b0c pending reject handle 2025-10-15 19:42:47 +07:00
aa68c6690e update LayoutMenu , LayoutSidebar components 2025-10-15 19:42:01 +07:00
7b56f9690d feat: add duplicate tag number validation in DetailTag component 2025-10-15 18:15:42 +07:00
9fc1c7cb40 feat: implement card view for device listing with actions for preview, edit, and delete 2025-10-14 19:06:23 +07:00
fc1ce7281e fix signup 2025-10-14 16:57:11 +07:00
9f6cb66c37 feat: add password requirements validation and indicators in ChangePasswordModal and DetailUser components 2025-10-14 15:42:28 +07:00
eb90d89e0e feat: enhance DetailTag and ListTag components with improved device handling and search functionality 2025-10-14 14:40:01 +07:00
251ad44371 fix detail tag 2025-10-14 12:24:47 +07:00
e13d7eb3be refactor: update tag management with improved validation and device integration 2025-10-14 12:18:08 +07:00
973713286f feat: update shift management with jadwal shift integration and improved error handling 2025-10-13 23:13:40 +07:00
5ed5ee26bf feat: implement shift management with CRUD operations and local storage integration 2025-10-13 20:26:29 +07:00
bfe38d5955 fix notif alert delete 2025-10-13 11:14:47 +07:00
d9fb7c9fce refactor plant section 2025-10-13 11:02:17 +07:00
577d8c8585 integrasi plant section 2025-10-13 10:17:16 +07:00
54290baaac feat: add shift management functionality with CRUD operations and UI components 2025-10-13 02:25:16 +07:00
af6c6de301 fix field from be 2025-10-12 23:18:47 +07:00
5e728a6ff3 refactor: enhance error handling and logging in API requests 2025-10-12 22:08:57 +07:00
be17c43499 refactor update field user_prefix 2025-10-12 18:33:14 +07:00
d0bf6782d5 update mengikuti pusat 2025-10-11 03:07:27 +07:00
337598085a refactor: change role search parameter from 'search' to 'criteria'
- Update defaultFilter to use criteria instead of search
- Update handleSearch to use criteria parameter
- Update handleSearchClear to use criteria parameter
- Update auto-clear onChange to use criteria parameter

API endpoint now uses: /api/roles?page=1&limit=10&criteria=keyword
2025-10-11 00:01:45 +07:00
6381235e14 refactor: change device search parameter from 'search' to 'criteria'
- Update defaultFilter to use criteria instead of search
- Update handleSearch to use criteria parameter
- Update handleSearchClear to use criteria parameter
- Update auto-clear onChange to use criteria parameter

API endpoint now uses: /api/device?page=1&limit=10&criteria=keyword
2025-10-10 16:06:58 +07:00
c5f0c73ae1 refactor: change search parameter from 'search' to 'criteria'
- Update defaultFilter to use criteria instead of search
- Update handleSearch to use criteria parameter
- Update handleSearchClear to use criteria parameter
- Update auto-clear onChange to use criteria parameter

API endpoint now uses: /api/user?page=1&limit=10&criteria=keyword
2025-10-10 15:59:38 +07:00
d7a09840b9 feat: update device API with server-side pagination support
- Add support for backend pagination with current_page, current_limit, total_limit, total_page
- Handle multiple sources for total count (total_data, rows, data.length)
- Transform backend paging structure to frontend format
- Maintain client-side pagination as fallback
- Add comprehensive error handling with try-catch
- Add detailed console logging for debugging
- Map backend fields: current_page->page, current_limit->limit, total_limit->total
- Calculate total_page if not provided by backend

Backend response format: GET /api/device?page=1&limit=10
Supports both server-side and client-side pagination modes
2025-10-10 15:50:20 +07:00
e00ecbf116 feat: add change password functionality for users
Add ChangePasswordModal component:
- Create modal with new password and confirmation fields
- Implement password validation (min 8 chars, uppercase, lowercase, number, special char)
- Add real-time error validation and display
- Show password requirements info box
- Display username for confirmation
- Add loading state during password change
- Success/error notifications

Update IndexUser:
- Add state management for change password modal
- Pass props to ListUser and ChangePasswordModal
- Integrate ChangePasswordModal component

Update ListUser:
- Add KeyOutlined icon for change password button
- Add purple change password button in action column
- Implement showChangePasswordModal function
- Update columns to include change password handler
- Increase action column width to 18%

API endpoint: PUT /api/user/change-password/:id
2025-10-10 15:49:31 +07:00
2817f3c31c feat: update user API with server-side pagination and enhanced filtering
- Add support for server-side pagination from backend
- Maintain client-side pagination as fallback
- Filter out super admin users (is_sa = true or 1) in both paths
- Add comprehensive error handling with try-catch
- Add console logging for debugging
- Return standardized response structure
- Handle both boolean and integer values for is_sa field
- Recalculate pagination info after filtering SA users

API now supports both backend pagination and ensures SA users are always hidden from the list
2025-10-10 15:48:22 +07:00
7a8a46ee64 fix: remove duplicate /roles in API endpoints
- Fix getAllRole endpoint from roles/roles to roles
- Fix getRoleById endpoint from roles/roles/:id to roles/:id
- Fix createRole endpoint from roles/roles to roles
- Fix updateRole endpoint from roles/roles/:id to roles/:id
- Fix deleteRole endpoint from roles/roles/:id to roles/:id
- Add try-catch error handling in getAllRole
- Support both server-side and client-side pagination

This fixes SQL error: Conversion failed when converting the nvarchar value 'roles' to data type int
Backend was interpreting duplicate /roles as an ID parameter
2025-10-10 15:45:39 +07:00
c3b5ec2121 feat: refactor role display with dynamic colors and capitalize
- Add helper function capitalizeFirstLetter for consistent formatting
- Add helper function getRoleColor to determine tag color by role_level or role_name
- Refactor role_name column render to use dynamic helpers
- Replace 30+ lines of hardcoded conditions with 8 lines of clean code
- Support any role name from database without code changes
- Display role names with first letter capitalized
- Color mapping: Level 1=purple, Level 2=blue, Level 3=cyan, Level 4=green
- Add KeyOutlined icon import for change password feature
2025-10-10 15:44:46 +07:00
59c90c3519 feat: integrate dynamic role selection in user form
- Add getAllRole API import to fetch roles dynamically
- Add roleList and loadingRoles state management
- Implement fetchRoles function to get all roles from API
- Update Select component to display roles dynamically from database
- Display role format: Role Name (Level X)
- Add loading indicator while fetching roles
- Fetch roles automatically when modal opens
2025-10-10 15:44:21 +07:00
76e40ced3f integrasi role user 2025-10-10 14:59:21 +07:00
5f6c156c12 feat: add role fetching functionality to DetailUser component 2025-10-10 14:49:16 +07:00
c312577d50 dynamic active sidebar 2025-10-10 15:07:00 +07:00
a3666dbf41 add status toggle switch to DetailBrandDevice and update ListBrandDevice 2025-10-10 14:40:41 +07:00
49dda8621b refactor: remove IndexErrorCode component and update ListErrorMaster 2025-10-10 14:21:48 +07:00
bf03891142 refactor: streamline brand device management components and add error master view 2025-10-10 14:14:10 +07:00