abcalendar v1.3.1
ABCalendar
Note & Description
OPTIMIZED FOR BOOTSTRAP 5
The ABCalender was programmed, because there is still no usable calendar with year view, which is easy to use and therefore ideal for beginners. Configurable values:
- Initial view
 - Initial Date
 - Event input
 - View selection (year/month/week/day)
 - Language or Object with LocalValue
 - Theme
 UseTitle
Event output (on Click (on Event))
- Event change (on Drop Event (Drag'n'Drop))
 - Date output (on Click (on Date))
 - Date change (on Click (prev/today/next button))
 - View Change (on Click (year/month/week/day button))
 
Setup a program with ABCalendar
1. Generate Program
- Write in cmd: ng new program-name
 - Add routing if you want and choose scss as Style
 
2. Install Bootstrap
Bootstrap:
- If you use Bootstrap 4.6.0 or lower, you maybe need to install jQuery, too
 - Run npm i bootstrap in your terminal
 - Add the following to your angular.json-file:
WARNING: YOU NEED TO ADD THIS CODE TWICE IN THE ANGULAR.JSON-FILE"styles": [ "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.scss" ], "scripts": [ "node_modules/bootstrap/dist/js/bootstrap.js" ] 
3. Install ABCalendar
- Run npm i abcalendar in your terminal
 - Add AbcalendarLibModule to your app.module.ts
example:
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import {AbcalendarLibModule} from 'abcalendar'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, AbcalendarLibModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
 
4. Setup ABCalendar
- Smallest required text in component.html:
<lib-abcalendar-lib> </lib-abcalendar-lib> config examples for Input-Values:
- config for views:
- in .html:
[views] = "['year','month','week','day']" 
 - in .html:
 - config for initialView:
- in .html:
 
[initialView]="'month'" - config for initialDate:
- in .html:
[initialDate] = "setInitialDate()" - in .ts:
setInitialDate(): Date { return new Date(Date.now()); } 
 - in .html:
 - config for language
- config for language:
- in .html:
If your required language is not among the following, please refer to the paragraph config for localeValue to implement your own language. 'en-..','de-..','ru-..','zh-..','es-..','it-..','fr-..' PLEASE NOTE: Here the exact pattern must be followed![language] = "'en-Us'" 
 - in .html:
 - config for localeValue:
- in .html:
[localeValue] = "setLocaleValue()" - in .ts:
import {Local} from 'abcalendar'; . . . setLocaleValue(): Local { return { weekdays: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], others: ['Year', 'Week', 'Month', 'Day', 'Today', 'All Day'] }; } 
 - in .html:
 
 - config for language:
 config for events:
in .html:
[events] = "getEvents()"in .ts with own Input:
import {Item} from 'abcalendar'; . . . getEvents(): Item { const date = new Date(Date.now()); return [{itemId: 1, title: 'aTitle', dateOfExpiry: date, color: '#000'}]; }- in .ts with language Input:
-> string must be in locale-Format (example: en-US, de-De)return {lang: 'en-US'}; 
config for events:
in .html:
[useTitle] = "true" or useTitledefault is 'false'
usage of (eventEmitter):
- in .html:
(eventEmitter) = "setItem($event)" in .ts:
setItem($event): void { console.log($event.title); console.log($event.itemId); this.router.navigateByUrl(`randomPageUrl/${$event.itemId}`); }usage of (eventChanged)
- in .html:
*in .ts:(eventChanged) = "changeItemDate($event)"changeItem($event: Item): void { console.log($event); for (const event of this.events) { if (event.itemId === $event.itemId) { event.startDate = $event.startDate; } } } 
- in .html:
 
- in .html:
 usage of (dayEmitter):
- in .html:
(dayEmitter) = "getDate($event)" - in .ts:
getDate($event): void { console.log($event.getFullYear()); } 
- in .html:
 usage of (dateChange):
- in .html:
 
(dateChange) = "setNewDate($event)"- in .ts:
 
setNewDate($event): void { this.date = $event; }usage of (viewChange):
- in .html:
(viewChange) = "writeNewViewToVariable($event)" in .ts:
writeNewViewToVariable($event): void { this.view = $event; }
- in .html:
 
- config for views:
 
Input types
- string[]
 - Choice: 'year','month','week','day'
 default: 'year','month','week','day'
- string
 - Choice: 'year','month','week','day'
 - default: 'month'
 
- Date
 - default: Date.now()
 
- string
 - default: en-Us
 
- Local
 - Local-Pattern: Locale
 - default: English
 
- Item[]: (id, title, color, list, dateOfExpiry)
 - Optional: list, color
 
- Boolean
 - Can be used as 'useTitle'
 
Output Types
(eventEmitter):
- Item
 
(eventChange):
- Item
 
(dateEmitter):
- Date
 
(dateChange):
- Date
 
(viewChange):
- String
 
Object Examples
Locale:
export class Locale {
weekdays = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
others = ["Year", "Month", "Week", "Day", "Today", "All Day"];
}Item:
export class Item {
  itemId = 1;
  list = List;
  * title = "A Title";
  color = "#0e0e0e";
  * startDate = new Date(Date.now());
  endDate = new Date (Date.now());
  allDayItem = false;
}List:
export class List {
  listId = 1;
  item = Item[];
  title = "A List Title";
  dateOfExpiry = new Date(Date.now());
}*Recommended Values
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago