Skip to content

Commit 6325ef2

Browse files
committed
feat: create monorepo
1 parent e8b6255 commit 6325ef2

File tree

462 files changed

+32071
-56772
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

462 files changed

+32071
-56772
lines changed

.gitignore

+13-23
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,12 @@ lib-cov
1212

1313
# Coverage directory used by tools like istanbul
1414
coverage
15-
16-
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17-
.grunt
15+
screenshots
1816

1917
# Compiled binary addons (http://nodejs.org/api/addons.html)
2018
build/Release
2119

2220
# Dependency directory
23-
# Deployed apps should consider commenting this line out:
24-
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
2521
node_modules
2622

2723
# Bower Components
@@ -46,26 +42,20 @@ Desktop.ini
4642
.project
4743
.metadata
4844

45+
# build
46+
build
47+
4948
# etc
49+
*.swp
50+
etc
5051
temp
52+
api
5153
doc
5254
report
53-
tui.calendar
54-
# dist
55+
karma.conf.local.js
56+
.tern-project
57+
.tern-port
5558
*.vim
56-
57-
# for local dev purpose
58-
demo-dev/
59-
build/
60-
markup
61-
62-
# performance tester fixtures
63-
perf/**/*.json
64-
65-
# es6 module output
66-
dist/esm/
67-
68-
# webpack bundle analysis file
69-
stats.json
70-
71-
storybook-static/
59+
.\#*
60+
.vscode/
61+
dist/

.prettierignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
src/js
1+
*.md
2+
*.html

.prettierrc.js

+19-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
1-
module.exports = {
2-
printWidth: 100,
3-
singleQuote: true
4-
};
1+
2+
{
3+
"singleQuote": true,
4+
"printWidth": 100,
5+
"tabWidth": 2,
6+
"useTabs": false,
7+
"semi": true,
8+
"quoteProps": "as-needed",
9+
"jsxSingleQuote": false,
10+
"trailingComma": "es5",
11+
"arrowParens": "always",
12+
"endOfLine": "lf",
13+
"bracketSpacing": true,
14+
"jsxBracketSameLine": false,
15+
"requirePragma": false,
16+
"insertPragma": false,
17+
"proseWrap": "preserve",
18+
"vueIndentScriptAndStyle": false
19+
}

README.md

+27-189
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ![TOAST UI Calendar](https://user-images.githubusercontent.com/26706716/39230183-7f8ff186-48a0-11e8-8d9c-9699d2d0e471.png)
22

3-
> A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar.
3+
> 🍞📅 A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar.
44
55
[![GitHub release](https://img.shields.io/github/release/nhn/tui.calendar.svg)](https://github.com/nhn/tui.calendar/releases/latest)
66
[![npm](https://img.shields.io/npm/v/tui-calendar.svg)](https://www.npmjs.com/package/tui-calendar)
@@ -9,48 +9,33 @@
99
[![code with hearth by NHN](https://img.shields.io/badge/%3C%2F%3E%20with%20%E2%99%A5%20by-NHN-ff1414.svg)](https://github.com/nhn)
1010

1111
![tui-calendar-demo-nhn-corp](https://user-images.githubusercontent.com/43128697/55609612-0c19db00-57bc-11e9-849b-f42a9bd8c591.gif)
12+
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
1213

13-
## 🚩 Table of Contents
14-
15-
* [Collect statistics on the use of open source](#Collect-statistics-on-the-use-of-open-source)
16-
* [Documents](#-documents)
17-
* [How Cool: Monthly, Weekly, Daily and Various View Types.](#how-cool-monthly-weekly-daily-and-various-view-types)
18-
* [Easy to Use: Dragging and Resizing a Schedule](#easy-to-use-dragging-and-resizing-a-schedule)
19-
* [Ready to Use: Default Popups](#ready-to-use-default-popups)
20-
* [Features](#-features)
21-
* [Examples](#-examples)
22-
* [Install](#-install)
23-
* [Wrappers](#-wrappers)
24-
* [Usage](#-usage)
25-
* [Browser Support](#-browser-support)
26-
* [Pull Request Steps](#-pull-request-steps)
27-
* [Contributing](#-contributing)
28-
* [Dependency](#-dependency)
29-
* [TOAST UI Family](#-toast-ui-family)
30-
* [Used By](#-used-by)
31-
* [License](#-license)
32-
33-
## Collect statistics on the use of open source
34-
35-
TOAST UI Calendar applies Google Analytics (GA) to collect statistics on the use of open source, in order to identify how widely TOAST UI Calendar is used throughout the world. It also serves as important index to determine the future course of projects. location.hostname (e.g. > “ui.toast.com") is to be collected and the sole purpose is nothing but to measure statistics on the usage.
36-
37-
To disable GA use the [options](https://nhn.github.io/tui.calendar/latest/global.html#Options):
38-
39-
```js
40-
var calendar = new Calendar('#calendar', {
41-
usageStatistics: false
42-
});
43-
```
14+
## 📦 Packages
15+
16+
The functionality of TOAST UI Calendar is available when using the Plain JavaScript, React, Vue Component.
17+
18+
- [toast-ui.calendar](https://github.com/nhn/tui.calendar/tree/main/apps/calendar) - Plain JavaScript component implemented by NHN.
19+
- [toast-ui.vue-calendar](https://github.com/nhn/tui.calendar/tree/main/apps/vue-calendar) - **Vue** wrapper component implemented by NHN.
20+
- [toast-ui.react-calendar](https://github.com/nhn/tui.calendar/tree/main/apps/react-calendar) - **React** wrapper component implemented by NHN.
4421

4522
## 📙 Documents
4623

4724
* [Getting Started](https://github.com/nhn/tui.calendar/blob/master/docs/getting-started.md)
4825
* [Tutorials](https://github.com/nhn/tui.calendar/tree/master/docs)
4926
* [APIs](https://nhn.github.io/tui.calendar/latest/Calendar)
27+
- [Getting Started](https://github.com/nhn/tui.calendar/blob/main/docs/en/getting-started.md)
28+
- Tutorials
29+
- [English](https://github.com/nhn/tui.calendar/blob/main/docs/README.md)
30+
- [한국어](https://github.com/nhn/tui.calendar/blob/main/docs/ko/README.md)
31+
- [APIs](https://nhn.github.io/tui.calendar/latest/)
32+
- v4.0 Migration Guide
33+
- [English](https://github.com/nhn/tui.calendar/blob/main/docs/v4.0-migration-guide-en.md)
34+
- [한국어](https://github.com/nhn/tui.calendar/blob/main/docs/v4.0-migration-guide-ko.md)
5035

51-
You can also see the older versions of API page on the [releases page](https://github.com/nhn/tui.calendar/releases).
5236

53-
## ✨ How Cool: Monthly, Weekly, Daily and Various View Types.
37+
## 😍 Why TOAST UI Calendar?
38+
### ✨ How Cool: Monthly, Weekly, Daily and Various View Types.
5439

5540
| Monthly | Weekly |
5641
| --- | --- |
@@ -60,7 +45,7 @@ You can also see the older versions of API page on the [releases page](https://g
6045
| --- | --- |
6146
| ![image](https://user-images.githubusercontent.com/26706716/39230685-60a2a1d6-48a2-11e8-9d46-ce5693277a64.png) | ![image](https://user-images.githubusercontent.com/26706716/39230638-281d5266-48a2-11e8-84d8-ab289f372051.png) |
6247

63-
## Easy to Use: Dragging and Resizing a Schedule
48+
### Easy to Use: Dragging and Resizing a Schedule
6449

6550
| Dragging | Resizing |
6651
| --- | --- |
@@ -87,158 +72,7 @@ You can also see the older versions of API page on the [releases page](https://g
8772

8873
* [Basic](https://nhn.github.io/tui.calendar/latest/tutorial-example00-basic) : Example of using default options.
8974

90-
## 💾 Install
91-
92-
TOAST UI products can be used by using the package manager or downloading the source directly.
93-
However, we highly recommend using the package manager.
94-
95-
### Via Package Manager
96-
97-
TOAST UI products are registered in two package managers, [npm](https://www.npmjs.com/) and [bower](https://bower.io/).
98-
You can conveniently install it using the commands provided by each package manager.
99-
When using npm, be sure to use it in the environment [Node.js](https://nodejs.org) is installed.
100-
101-
#### npm
102-
103-
``` sh
104-
$ npm install --save tui-calendar # Latest version
105-
$ npm install --save tui-calendar@<version> # Specific version
106-
```
107-
108-
#### bower
109-
110-
``` sh
111-
$ bower install tui-calendar # Latest version
112-
$ bower install tui-calendar#<tag> # Specific version
113-
```
114-
115-
### Via Contents Delivery Network (CDN)
116-
TOAST UI products are available over the CDN powered by [TOAST Cloud](https://www.toast.com).
117-
118-
You can use the CDN as below.
119-
120-
Insert style sheet files
121-
```html
122-
<link rel="stylesheet" type="text/css" href="https://uicdn.toast.com/tui-calendar/latest/tui-calendar.css" />
123-
124-
<!-- If you use the default popups, use this. -->
125-
<link rel="stylesheet" type="text/css" href="https://uicdn.toast.com/tui.date-picker/latest/tui-date-picker.css" />
126-
<link rel="stylesheet" type="text/css" href="https://uicdn.toast.com/tui.time-picker/latest/tui-time-picker.css" />
127-
```
128-
129-
Insert JavaScript file
130-
```html
131-
<script src="https://uicdn.toast.com/tui.code-snippet/latest/tui-code-snippet.js"></script>
132-
<script src="https://uicdn.toast.com/tui.dom/v3.0.0/tui-dom.js"></script>
133-
<script src="https://uicdn.toast.com/tui.time-picker/latest/tui-time-picker.min.js"></script>
134-
<script src="https://uicdn.toast.com/tui.date-picker/latest/tui-date-picker.min.js"></script>
135-
<script src="https://uicdn.toast.com/tui-calendar/latest/tui-calendar.js"></script>
136-
```
137-
138-
If you want to use a specific version, use the tag name instead of `latest` in the url's path.
139-
140-
The CDN directory has the following structure.
141-
142-
```
143-
tui-calendar/
144-
├─ latest/
145-
│ ├─ tui-calendar.js
146-
│ └─ tui-calendar.min.js
147-
│ └─ tui-calendar.css
148-
│ └─ tui-calendar.min.css
149-
├─ v1.0.0/
150-
│ ├─ ...
151-
```
152-
153-
### Download Source Files
154-
155-
* [Download bundle files](https://github.com/nhn/tui.calendar/tree/master/dist)
156-
* [Download all sources for each version](https://github.com/nhn/tui.calendar/releases)
157-
158-
## 🛍 Wrappers
159-
160-
* [toast-ui.vue-calendar](https://github.com/nhn/toast-ui.vue-calendar) **Vue** wrapper component is implemented by [NHN](https://github.com/nhn).
161-
* [toast-ui.react-calendar](https://github.com/nhn/toast-ui.react-calendar) **React** wrapper component is powered by [NHN](https://github.com/nhn).
162-
* [ngx-tui-dev](https://github.com/brnrds/ngx-tui-dev): **TypeScript** and **Angular 5** wrapper component is being implemented(ref [#82](https://github.com/nhn/tui.calendar/issues/82)) by [@amanvishnani](https://github.com/amanvishnani) and [@brnrds](https://github.com/brnrds). Thanks for their effort.
163-
* [vue-tui-calendar](https://github.com/lkmadushan/vue-tuicalendar): **Vue** wrapper component is being implemented(ref [#81](https://github.com/nhn/tui.calendar/issues/81)) by [@lkmadushan](https://github.com/lkmadushan). Thanks for their effort.
164-
* [tui-calendar-react](https://github.com/IniZio/react-tui-calendar): **React** wrapper component is provided(ref #[134](https://github.com/nhn/tui.calendar/issues/134)) by [@IniZio](https://github.com/IniZio). Thanks for his effort.
165-
166-
## 🔨 Usage
167-
168-
### HTML
169-
170-
Place a `<div></div>` where you want TOAST UI Calendar rendered.
171-
172-
```html
173-
<body>
174-
...
175-
<div id="calendar" style="height: 800px;"></div>
176-
...
177-
</body>
178-
```
179-
180-
### JavaScript
181-
182-
#### Using namespace in browser environment
183-
184-
```javascript
185-
var Calendar = tui.Calendar;
186-
```
187-
188-
#### Using module format in node environment
189-
190-
```javascript
191-
var Calendar = require('tui-calendar'); /* CommonJS */
192-
require("tui-calendar/dist/tui-calendar.css");
193-
194-
// If you use the default popups, use this.
195-
require("tui-date-picker/dist/tui-date-picker.css");
196-
require("tui-time-picker/dist/tui-time-picker.css");
197-
```
198-
199-
```javascript
200-
import Calendar from 'tui-calendar'; /* ES6 */
201-
import "tui-calendar/dist/tui-calendar.css";
202-
203-
// If you use the default popups, use this.
204-
import 'tui-date-picker/dist/tui-date-picker.css';
205-
import 'tui-time-picker/dist/tui-time-picker.css';
206-
```
207-
208-
Then you can create a calendar instance with [options](https://nhn.github.io/tui.calendar/latest/Options) to set configuration.
209-
210-
```javascript
211-
var calendar = new Calendar('#calendar', {
212-
defaultView: 'month',
213-
taskView: true,
214-
template: {
215-
monthDayname: function(dayname) {
216-
return '<span class="calendar-week-dayname-name">' + dayname.label + '</span>';
217-
}
218-
...
219-
}
220-
});
221-
```
222-
223-
Or you can use jquery plugin. You must include jquery before using this jquery plugin.
224-
225-
```js
226-
$('#calendar').tuiCalendar({
227-
defaultView: 'month',
228-
taskView: true,
229-
template: {
230-
monthDayname: function(dayname) {
231-
return '<span class="calendar-week-dayname-name">' + dayname.label + '</span>';
232-
}
233-
...
234-
}
235-
});
236-
```
237-
238-
## 🌏 Browser Support
239-
| <img src="https://user-images.githubusercontent.com/1215767/34348387-a2e64588-ea4d-11e7-8267-a43365103afe.png" alt="Chrome" width="16px" height="16px" /> Chrome | <img src="https://user-images.githubusercontent.com/1215767/34348590-250b3ca2-ea4f-11e7-9efb-da953359321f.png" alt="IE" width="16px" height="16px" /> Internet Explorer | <img src="https://user-images.githubusercontent.com/1215767/34348380-93e77ae8-ea4d-11e7-8696-9a989ddbbbf5.png" alt="Edge" width="16px" height="16px" /> Edge | <img src="https://user-images.githubusercontent.com/1215767/34348394-a981f892-ea4d-11e7-9156-d128d58386b9.png" alt="Safari" width="16px" height="16px" /> Safari | <img src="https://user-images.githubusercontent.com/1215767/34348383-9e7ed492-ea4d-11e7-910c-03b39d52f496.png" alt="Firefox" width="16px" height="16px" /> Firefox |
240-
| :---------: | :---------: | :---------: | :---------: | :---------: |
241-
| Yes | +9 | Yes | Yes | Yes |
75+
Here are more [examples](https://nhn.github.io/tui.calendar/latest/tutorial-example00-basic) and play with TOAST UI Calendar!
24276

24377
## 🔧 Pull Request Steps
24478

@@ -290,15 +124,19 @@ For more information on PR's step, please see links of Contributing section.
290124
* [Issue guideline](https://github.com/nhn/tui.calendar/blob/master/docs/ISSUE_TEMPLATE.md)
291125
* [Commit convention](https://github.com/nhn/tui.calendar/blob/master/docs/COMMIT_MESSAGE_CONVENTION.md)
292126

127+
## 🌏 Browser Support
128+
| <img src="https://user-images.githubusercontent.com/1215767/34348387-a2e64588-ea4d-11e7-8267-a43365103afe.png" alt="Chrome" width="16px" height="16px" /> Chrome | <img src="https://user-images.githubusercontent.com/1215767/34348590-250b3ca2-ea4f-11e7-9efb-da953359321f.png" alt="IE" width="16px" height="16px" /> Internet Explorer | <img src="https://user-images.githubusercontent.com/1215767/34348380-93e77ae8-ea4d-11e7-8696-9a989ddbbbf5.png" alt="Edge" width="16px" height="16px" /> Edge | <img src="https://user-images.githubusercontent.com/1215767/34348394-a981f892-ea4d-11e7-9156-d128d58386b9.png" alt="Safari" width="16px" height="16px" /> Safari | <img src="https://user-images.githubusercontent.com/1215767/34348383-9e7ed492-ea4d-11e7-910c-03b39d52f496.png" alt="Firefox" width="16px" height="16px" /> Firefox |
129+
| :---------: | :---------: | :---------: | :---------: | :---------: |
130+
| Latest | +9 | Latest | Latest | Latest |
131+
293132
## 🔩 Dependency
294133

295-
* [tui-code-snippet](https://github.com/nhn/tui.code-snippet) >= 1.5.0
296134
* [tui-date-picker](https://github.com/nhn/tui.date-picker) >= 3.0.0 is optional.
297135
* [tui-time-picker](https://github.com/nhn/tui.time-picker) >= 1.0.0 is optional.
298136

299137
## 🍞 TOAST UI Family
300138
* [TOAST UI Grid](https://github.com/nhn/tui.grid)
301-
* [TOAST UI Chart](https://github.com/nhn/tui.chart)
139+
* [TOAST UI Chart](https://github.com/nhn/tui.calendar)
302140
* [TOAST UI Editor](https://github.com/nhn/tui.editor)
303141
* [TOAST UI Image-Editor](https://github.com/nhn/tui.image-editor)
304142
* [TOAST UI Components](https://github.com/nhn?q=tui)

.agignore apps/calendar/.agignore

File renamed without changes.

.eslintignore apps/calendar/.eslintignore

-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@ build/
22
dist/
33
node_modules/
44
perf/
5-
6-
src/js/**/*.hbs

.eslintrc.js apps/calendar/.eslintrc.js

+8-10
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ module.exports = {
2020
parser: 'typescript-eslint-parser',
2121
ecmaVersion: 2018,
2222
sourceType: 'module',
23-
project: 'tsconfig.json'
2423
},
2524
settings: {
2625
react: {
@@ -32,17 +31,16 @@ module.exports = {
3231
fixture: true
3332
},
3433
rules: {
34+
'no-use-before-define': 0,
3535
'@typescript-eslint/explicit-function-return-type': 0,
3636
'@typescript-eslint/no-explicit-any': 0,
3737
'react-hooks/rules-of-hooks': 'error',
38-
'react-hooks/exhaustive-deps': 'error'
38+
'react-hooks/exhaustive-deps': 'error',
39+
complexity: ['error', { max: 10 }],
40+
'max-nested-callbacks': ['error', { max: 10 }],
41+
'max-depth': ['error', 5],
42+
'@typescript-eslint/no-use-before-define': 0,
43+
'typescript-eslint/camelcase': 0,
44+
"@typescript-eslint/explicit-module-boundary-types": 0,
3945
},
40-
overrides: [
41-
{
42-
files: ['*.spec.ts', '*.spec.tsx'],
43-
rules: {
44-
'max-nested-callbacks': 0
45-
}
46-
}
47-
]
4846
};

0 commit comments

Comments
 (0)