{"id":21716590,"url":"https://github.com/mohammadmusaei/axiomscheduler","last_synced_at":"2025-04-12T20:12:54.449Z","repository":{"id":34159675,"uuid":"168594196","full_name":"mohammadmusaei/AxiomScheduler","owner":"mohammadmusaei","description":"An Angular (Version \u003e = 2.0) Scheduler component with multiple view modes,themes and animations.","archived":false,"fork":false,"pushed_at":"2023-01-04T22:20:38.000Z","size":2161,"stargazers_count":10,"open_issues_count":29,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T20:12:44.196Z","etag":null,"topics":["angular","angular2","javascript","scheduler","typescript"],"latest_commit_sha":null,"homepage":"http://app.musaei.me/angular/scheduler/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohammadmusaei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-31T20:48:43.000Z","updated_at":"2024-02-08T10:44:59.000Z","dependencies_parsed_at":"2022-09-09T12:41:38.570Z","dependency_job_id":null,"html_url":"https://github.com/mohammadmusaei/AxiomScheduler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadmusaei%2FAxiomScheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadmusaei%2FAxiomScheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadmusaei%2FAxiomScheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadmusaei%2FAxiomScheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohammadmusaei","download_url":"https://codeload.github.com/mohammadmusaei/AxiomScheduler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625505,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular2","javascript","scheduler","typescript"],"created_at":"2024-11-26T01:12:15.542Z","updated_at":"2025-04-12T20:12:54.415Z","avatar_url":"https://github.com/mohammadmusaei.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Axiom Scheduler (beta)\n\nAxiom scheduler is an angular scheduler component use [Momentjs](https://momentjs.com/).\n\n### Online Demo\n\n[Usage Demo](https://mohammadmusaei.github.io/axiom-scheduler-demo)\n\nDemo source is available here : [Source](https://github.com/mohammadmusaei/AxiomScheduler/tree/master/src)\n\n##### Install component package from npm :\n\n`npm install axiom-scheduler moment angular2-draggable`\n\nAxiom Scheduler also need to install `@angular/animations`.\n`(By default angular will install animation module when you create a new angular project using angular CLI)`\n\nFor drag and resizing feature Axiom scheduler using [angular2-draggable](https://github.com/xieziyu/angular2-draggable), Thanks to [xieziyu](https://github.com/xieziyu) :blush:.\n\n##### Import component module :\n\n```typescript\n\nimport { AxiomSchedulerModule } from 'axiom-scheduler';\n\n...\n\n@NgModule({\n  imports: [\n    AxiomSchedulerModule\n  ], \n  declarations: [\n    AppComponent\n  ],\n  bootstrap: [AppComponent]\n})\n\n...\n\n```\n\n### Usage\n\nAdd `ax-scheduler` tag to use scheduler.\n\n```html\n\n\u003cax-scheduler [axEventTemplate]=\"eventTemplate\" [axSchedulerView]=\"'week'\"\n      [axEventToolbar]=\"true\" [axAnimation]=\"'default\" [axTheme]=\"'light'\" [axEvents]=\"events\"\n      [axDragStep]=\"5\" [axShowLocale]=\"true\"\u003e\n\u003c/ax-scheduler\u003e\n\n```\n\n### Events\n\nAxiom scheduler using an `AxiomSchedulerEvent` array to view events. `AxiomSchedulerEvent` is a class that contains these members :\n\n| Name | Type | Default | Description |\n| ------ | ------ | ------ | ------ |\n| _id | Symbol | this member is readonly | provide a unique id for each event and could be use in delete and edit operations |\n| from | Date | null | start date of event |\n| to | Date | null | end date of event |\n| data | Date | null | provide an object to store event additional data |\n| color | string | null | color of event |\n| locked | boolean | false | when it is true event will be locked |\n| title | string | null | default title of event |\n\n### Custom event template\n\nFor customizing events to show you can use `[axEventTemplate]` parameter and design your events template.\n\n```html\n\n\u003cng-template #t let-item=\"item\"\u003e\n   \u003cdiv class=\"event-template\"\u003e\n      {{ item.data.title }} at \u003cb\u003e {{ item.from | date:'HH:mm' }} {{ item.to | date:'HH:mm' }} \u003c/b\u003e\n   \u003c/div\u003e\n\u003c/ng-template\u003e\n\n\u003cax-scheduler [axEventTemplate]=\"t\" [axSchedulerView]=\"'week'\"\n      [axEventToolbar]=\"true\" [axAnimation]=\"'default\" [axTheme]=\"'light'\" [axEvents]=\"events\"\n      [axDragStep]=\"5\" [axShowLocale]=\"true\"\u003e\n\u003c/ax-scheduler\u003e\n\n```\n\nAs shown above, `#t` template passed to `[axEventTemplate]`, `item` variable provide entire event to use in your template.\n\n### Events drag and resize\n\nYou can drag and resize events to new hours easily. For lock an event and disable drag and resize features just in event object set `lock` property to `True`.\n\n![Alt Text](http://app.musaei.me/angular/scheduler/gif/drag.gif)\n\n### Localization\n\nFor change scheduler locale just pass your locale to `[axLocale]`, Always you can check available locales in [Momentjs i18n document](https://momentjs.com/docs/#/i18n/). \n\n```html\n\n\u003cax-scheduler [axLocale]=\"'bm'\"\u003e\n\u003c/ax-scheduler\u003e\n\n```\n\n![Alt Text](http://app.musaei.me/angular/scheduler/gif/locales.gif)\n\n### Themes\n\nFor change scheduler theme just pass 'light' or 'dark' to `[axTheme]`. \n\n```html\n\n\u003cax-scheduler [axTheme]=\"'dark'\"\u003e\n\u003c/ax-scheduler\u003e\n\n```\n\n![Alt Text](http://app.musaei.me/angular/scheduler/gif/themes.gif)\n\n### Animations\n\nFor change scheduler theme just pass available animations shown in [Input params table](###@Input()-Params)  to `[axAnimation]`. \n\n```html\n\n\u003cax-scheduler [axAnimation]=\"'animation4'\"\u003e\n\u003c/ax-scheduler\u003e\n\n```\n\n![Alt Text](http://app.musaei.me/angular/scheduler/gif/animations.gif)\n\n### @Input() Params\n\n| Name | Type | Default | Usage |\n| ------ | ------ | ------ | ------ |\n| axEvents | -- | AxiomSchedulerEvent [ ] | List of scheduler events |\n| axStartDate | Date | Today | Current date of scheduler  |\n| axEventTemplate | TempateRef | -- | Custom template for events  |\n| axDragStep | Number | 5 | Events drag and resize step  |\n| axLocale | String | 'en' | Set scheduler locale, for more information of available locales, check [Momentjs i18n document](https://momentjs.com/docs/#/i18n/)  |\n| axEventToolbar | boolean | false | Show/Hide events toolbar  |\n| axSchedulerView | AxiomSchedulerView | 'day' | Set default scheduler view, Available views : 'day', 'week', 'month', 'year'  |\n| axViews | AxiomSchedulerView [ ] | All views | Set scheduler available views to show  |\n| axTheme | AxiomSchedulerTheme | 'light' | Set default scheduler theme, Available themes : 'light', 'dark'  |\n| axAnimation | AxiomSchedulerAnimation | 'default' | Set default scheduler animation effects, Available animations : 'animation1', 'animation2', 'animation3', 'animation4', 'default', 'none'  |\n| axShowLocale | boolean | true | Show/Hide locale dropdown  |\n| axShowLocale | boolean | true | Show/Hide locale dropdown  |\n\n### @Output() Params\n\n| Name | Event Paramaters | Description\n| ------ | ------ | ------ |\n| axEventChange | AxiomSchedulerEvent | Fire when an event changed by dragging, resizing, or ...  |\n| axEventClick | AxiomSchedulerEvent | Fire when an event clicked  |\n| axEventDeleteClick | AxiomSchedulerEvent | Fire when remove button clicked from event's toolbar  |\n| axEventEditClick | AxiomSchedulerEvent | Fire when edit button clicked from event's toolbar  |\n| axDateChange | Date | Fire when date of scheduler changed by navigator  |\n| axViewChange | AxiomSchedulerView | Fire when view of scheduler changed  |\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadmusaei%2Faxiomscheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammadmusaei%2Faxiomscheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadmusaei%2Faxiomscheduler/lists"}