Advanced tag management interface for ChurchTools with enhanced UI, bulk operations, and comprehensive tag management capabilities.
- 🔐 Secure Authentication - ChurchTools login with token persistence
- 🏷️ Complete Tag Management - Create, read, update, and delete tags
- 🎯 Dual Tag Types - Support for Person Tags and Song Tags
- 📱 Responsive Design - Works on desktop, tablet, and mobile
- 🎨 Modal Interface - Clean, focused editing experience
- 📊 Sortable Table - Click column headers to sort by any field
- 🔄 Bulk Operations - Select multiple tags for batch operations
- 🎨 Bulk Color Changes - Apply colors to multiple tags at once
- 🗑️ Bulk Delete - Remove multiple tags with confirmation
- 🔍 Prefix Selection - Select tags by name prefix (e.g., "L:*")
- 🌈 All ChurchTools Colors - Support for all 33 official colors
- 📝 Description Support - Full description field with validation
- 🔔 Toast Notifications - Non-blocking success/error/warning messages
- 🎨 ChurchTools Design - Native ChurchTools styling and colors
- ⚡ Real-time Validation - Client-side duplicate detection
- 🛡️ Enhanced Error Handling - Graceful handling of API errors and PHP warnings
-
Enable Custom Modules in ChurchTools:
- Go to Administration > Settings
- Enable "Custom Modules" feature
- Grant yourself module management permissions
-
Install Module:
- Download the latest release ZIP file
- Go to Administration > Custom Modules
- Click "Add Module" or "Upload Module"
- Upload the ZIP file
- Activate the module
-
Access Application:
- Find "Label Manager" in your ChurchTools menu
- Login with your ChurchTools credentials
-
Deploy to Web Server:
- Copy
index.htmlto your web server - Ensure HTTPS is configured
- Configure CORS if needed
- Copy
-
Access Application:
- Navigate to your deployed URL
- Enter ChurchTools instance URL
- Login with credentials
# Clone the repository
git clone <repository-url>
cd churchtools-label-manager
# Install dependencies (optional, for build automation)
npm install
# Start development server
npm run dev
# or
make dev
# Build package
npm run build
# or
make buildSee BUILD.md for complete build automation documentation. npm run dev
npm run build
## 🔧 Configuration
The module is pre-configured for `testbernhard.church.tools`. To use with your ChurchTools instance:
1. Update the `baseUrl` in `src/main.ts`
2. Build new package: `npm run build` or `make build`
3. Upload the generated `ct-labelmanager-v{version}.zip` to ChurchTools
## 📋 Requirements
- **ChurchTools**: Version 3.25.0 or higher
- **Permissions**: `churchdb:view`, `churchdb:edit`
- **Browser**: Modern browser with ES6+ support
## 🛠️ Development
### Quick Start
```bash
npm run dev # Start development server
npm run build # Build deployment package
npm run validate # Validate files
- DEVELOPMENT.md - Development guide and architecture
- BUILD.md - Build automation and deployment
- DEPLOYMENT.md - Installation and configuration
This module integrates with the ChurchTools REST API:
POST /api/login- AuthenticationGET /api/tags- Fetch tagsPOST /api/tags- Create tagsPUT /api/tags/{id}- Update tagsDELETE /api/tags/{id}- Delete tags
- Authenticate: Enter your ChurchTools username and password
- View Tags: Browse all existing tags with their properties
- Create Tags: Add new tags with name, color, description, and domain
- Edit Tags: Modify existing tag properties
- Delete Tags: Remove tags with confirmation
A test environment is available at the preview URL when running locally. The module includes:
- Authentication testing
- CRUD operations testing
- Error handling verification
- Responsive design testing
MIT License - see LICENSE file for details.
Contributions are welcome! Please read the development guide and submit pull requests for any improvements.
For issues or questions:
- Check the troubleshooting section in DEVELOPMENT.md
- Review browser console for error details
- Contact your ChurchTools administrator
Built with ❤️ for the ChurchTools community CT-custom-module to manage labes