Skip to content
This repository was archived by the owner on Aug 27, 2018. It is now read-only.

Commit 0b3f13c

Browse files
committed
Some fixes
1 parent a4c86b3 commit 0b3f13c

File tree

8 files changed

+183
-15
lines changed

8 files changed

+183
-15
lines changed

3-panel/src/helpers/MenuManager/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,17 @@ export default class MenuManager {
222222
static setLessonsPlanSubjectMenu () {
223223
const app = window.app
224224
const menu = app.elements.lessonsPlanSubjectMenu
225+
const lessonsPlanPage = app.getLessonsPlanPage()
225226

226227
const items = [
227228
{
228229
text: 'Usuń',
229230
onClick: function () {
230-
app.elements.deleteLessonDialog.elements.dialog.toggle(true)
231+
if (lessonsPlanPage.deletingLesson) {
232+
app.elements.deleteLessonDialog.elements.dialog.toggle(true)
233+
} else {
234+
app.elements.deleteLessonHoursDialog.elements.dialog.toggle(true)
235+
}
231236
}
232237
}
233238
]

3-panel/src/views/App/index.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import DeletePicturesDialog from '../Pages/Gallery/components/DeletePicturesDial
1616

1717
import AddLessonDialog from '../Pages/LessonsPlan/components/AddLessonDialog'
1818
import DeleteLessonDialog from '../Pages/LessonsPlan/components/DeleteLessonDialog'
19+
import DeleteLessonHoursDialog from '../Pages/LessonsPlan/components/DeleteLessonHoursDialog'
1920

2021
import NavigationDrawer from './components/NavigationDrawer/index'
2122
import Toolbar from './components/Toolbar'
@@ -430,17 +431,19 @@ export default class App extends Component {
430431
<DeletePicturesDialog ref='deletePicturesDialog' />
431432
<AddLessonDialog ref='addLessonDialog' />
432433
<DeleteLessonDialog ref='deleteLessonDialog' />
434+
<DeleteLessonHoursDialog ref='deleteLessonHoursDialog' />
433435
<ErrorDialog ref='errorDialog' />
434436
<TimePicker ref='timePicker' onConfirm={(hour, minutes, isAM) => { this.getLessonsPlanPage().onTimePickerConfirm(hour, minutes, isAM) }} />
435-
<Snackbar ref='deletePostsSnackbar' text='Pomyślnie usunięto posty' />
436-
<Snackbar ref='deletePostSnackbar' text='Pomyślnie usunięto post' />
437-
<Snackbar ref='addPostSnackbar' text='Pomyślnie dodano post' />
438-
<Snackbar ref='addCategorySnackbar' text='Pomyślnie dodano kategorię' />
439-
<Snackbar ref='editCategorySnackbar' text='Pomyślnie edytowano kategorię' />
440-
<Snackbar ref='deleteCategorySnackbar' text='Pomyślnie usunięto kategorię' />
441-
<Snackbar ref='addPicturesSnackbar' text='Pomyślnie dodano zdjęcia' />
442-
<Snackbar ref='deletePicturesSnackbar' text='Pomyślnie usunięto zdjęcia' />
443-
<Snackbar ref='deleteLessonSnackbar' text='Pomyślnie usunięto lekcję' />
437+
<Snackbar ref='deletePostsSnackbar' text='Usunięto posty' />
438+
<Snackbar ref='deletePostSnackbar' text='Usunięto post' />
439+
<Snackbar ref='addPostSnackbar' text='Dodano nowy post' />
440+
<Snackbar ref='addCategorySnackbar' text='Dodano nową kategorię' />
441+
<Snackbar ref='editCategorySnackbar' text='Zapisano kategorię' />
442+
<Snackbar ref='deleteCategorySnackbar' text='Usunięto kategorię' />
443+
<Snackbar ref='addPicturesSnackbar' text='Dodano zdjęcia' />
444+
<Snackbar ref='deletePicturesSnackbar' text='Usunięto zdjęcia' />
445+
<Snackbar ref='deleteLessonSnackbar' text='Usunięto lekcję' />
446+
<Snackbar ref='deleteLessonHoursSnackbar' text='Usunięto godziny lekcji' />
444447
<Tooltip ref='viewTooltip' text='Przełącz na liste' />
445448
<Tooltip ref='showPicturesTooltip' text='Pokaż zdjęcia' />
446449
<Tooltip ref='uploadButtonTooltip' text='Najlepiej w proporcjach 16:9' />

3-panel/src/views/Pages/LessonsPlan/components/Day/components/Subject/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export default class Subject extends Component {
5656
document.removeEventListener('click', app.onClick)
5757
MenuManager.toggle(true, menu, e.target, false)
5858
lessonsPlanPage.clickedLesson = this
59+
lessonsPlanPage.deletingLesson = true
5960
}
6061

6162
/**
@@ -110,14 +111,14 @@ export default class Subject extends Component {
110111
const props = this.props
111112
const day = props.getDay()
112113

113-
this.setTime()
114-
day.subjects.push(this)
115-
116114
if (props.menuIconRippleStyle == null) {
117115
props.menuIconRippleStyle = {
118116
backgroundColor: '#000',
119117
opacity: 0.3
120118
}
121119
}
120+
121+
this.setTime()
122+
day.subjects.push(this)
122123
}
123124
}

3-panel/src/views/Pages/LessonsPlan/components/DeleteLessonDialog/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import Component from '../../../../../helpers/Component'
2-
import DialogManager from '../../../../../helpers/DialogManager'
32

43
import Dialog from '../../../../../imports/materialdesign/components/Dialog'
54

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
import Component from '../../../../../helpers/Component'
2+
3+
import Dialog from '../../../../../imports/materialdesign/components/Dialog'
4+
5+
import Preloader from '../../../../../imports/materialdesign/components/Preloader'
6+
7+
export default class DeleteLessonHoursDialog extends Component {
8+
beforeRender () {
9+
this.day = null
10+
}
11+
12+
/**
13+
* Gets root.
14+
* @return {DOMElement} root
15+
*/
16+
getRoot () {
17+
return this.elements.root
18+
}
19+
20+
/**
21+
* Sets dialog action buttons.
22+
*/
23+
setDialogItems () {
24+
const dialog = this.elements.dialog
25+
26+
const items = [
27+
{
28+
text: 'USUŃ',
29+
onClick: this.onDeleteButtonClick
30+
},
31+
{
32+
text: 'ANULUJ',
33+
onClick: function () {
34+
dialog.toggle(false)
35+
}
36+
}
37+
]
38+
39+
dialog.setItems(items)
40+
}
41+
42+
onDeleteButtonClick = (e) => {
43+
const app = window.app
44+
45+
const root = this.getRoot()
46+
const dialog = this.elements.dialog
47+
const lessonsPlanPage = app.getLessonsPlanPage()
48+
const lessonsPlan = lessonsPlanPage.lessonsPlan
49+
const clickedLessonHours = lessonsPlanPage.clickedLessonHours
50+
const lessonHours = lessonsPlanPage.elements.lessonHours
51+
52+
const itemIndex = lessonHours.items.indexOf(clickedLessonHours)
53+
54+
if (itemIndex < 0) {
55+
console.log('Index is less than 0')
56+
}
57+
58+
lessonsPlanPage.toggleActionButtons(false, lessonsPlanPage.elements.lessonHours.actionButtons)
59+
60+
root.classList.add('enabled-preloader')
61+
62+
setTimeout(function () {
63+
root.classList.remove('enabled-preloader')
64+
65+
lessonsPlan.start.splice(itemIndex, 1)
66+
lessonsPlan.finish.splice(itemIndex, 1)
67+
lessonsPlanPage.lessonsPlanCopy = JSON.parse(JSON.stringify(lessonsPlanPage.lessonsPlan))
68+
69+
lessonHours.addItems()
70+
app.elements.deleteLessonHoursSnackbar.toggle(true)
71+
dialog.toggle(false)
72+
73+
for (var i = 0; i < lessonsPlanPage.days.length; i++) {
74+
lessonsPlanPage.toggleActionButtons(false, lessonsPlanPage.days[i].actionButtons)
75+
}
76+
}, 1000)
77+
}
78+
79+
render () {
80+
return (
81+
<div className='input-dialog delete-lesson-hours-dialog' ref='root'>
82+
<Dialog title='Czy napewno chcesz usunąć godziny lekcji?' ref='dialog'>
83+
<div className='text'>
84+
Nie będzie można tego cofnąć.
85+
<br />Zapisze to również jakie kolwiek zmiany w planie.
86+
</div>
87+
<Preloader />
88+
</Dialog>
89+
</div>
90+
)
91+
}
92+
93+
afterRender () {
94+
this.setDialogItems()
95+
}
96+
}

3-panel/src/views/Pages/LessonsPlan/components/LessonHours/components/Item/index.js

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import Component from '../../../../../../../helpers/Component'
2+
import MenuManager from '../../../../../../../helpers/MenuManager'
23

34
export default class Item extends Component {
5+
beforeRender () {
6+
this.touched = false
7+
}
8+
49
/**
510
* Gets root.
611
* @return {DOMElement} root
@@ -35,6 +40,41 @@ export default class Item extends Component {
3540
}
3641
}
3742

43+
onMenuIconClick = (e) => {
44+
const app = window.app
45+
const menu = app.elements.lessonsPlanSubjectMenu
46+
const lessonsPlanPage = this.props.getLessonsPlanPage()
47+
48+
document.removeEventListener('click', app.onClick)
49+
MenuManager.toggle(true, menu, e.target, false)
50+
lessonsPlanPage.clickedLessonHours = this
51+
lessonsPlanPage.deletingLesson = false
52+
}
53+
54+
/**
55+
* On menu icon mouse down.
56+
* Makes ripple.
57+
* @param {Event}
58+
*/
59+
onMenuIconMouseDown = (e) => {
60+
if (!this.touched) {
61+
const ripple = Ripple.createRipple(this.elements.menuIcon, this.props.menuIconRippleStyle, createRippleCenter(this.elements.menuIcon, 14))
62+
Ripple.makeRipple(ripple)
63+
}
64+
}
65+
66+
/**
67+
* On menu icon touch start. (on mobile)
68+
* Makes ripple.
69+
* @param {Event}
70+
*/
71+
onMenuIconTouchStart = (e) => {
72+
const ripple = Ripple.createRipple(this.elements.menuIcon, this.props.menuIconRippleStyle, createRippleCenter(this.elements.menuIcon, 14, 0.4, true))
73+
Ripple.makeRipple(ripple)
74+
75+
this.touched = true
76+
}
77+
3878
setTime () {
3979
this.elements.start.innerHTML = this.props.start
4080
this.elements.finish.innerHTML = this.props.finish
@@ -45,12 +85,22 @@ export default class Item extends Component {
4585
<div className='item'>
4686
<div className='start' ref='start' onClick={() => { this.toggleEditing(this.props.start, true) }} />
4787
<div className='finish' ref='finish' onClick={() => { this.toggleEditing(this.props.finish, false) }} />
88+
<div className='menu-icon' ref='menuIcon' onClick={this.onMenuIconClick} onMouseDown={this.onMenuIconMouseDown} onTouchStart={this.onMenuIconTouchStart} />
4889
</div>
4990
)
5091
}
5192

5293
afterRender () {
94+
const props = this.props
95+
96+
if (props.menuIconRippleStyle == null) {
97+
props.menuIconRippleStyle = {
98+
backgroundColor: '#000',
99+
opacity: 0.3
100+
}
101+
}
102+
53103
this.setTime()
54-
this.props.getLessonHours().items.push(this)
104+
props.getLessonHours().items.push(this)
55105
}
56106
}

3-panel/src/views/Pages/LessonsPlan/components/LessonHours/style.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,17 @@
2020
display: block;
2121
clear: both;
2222
}
23+
24+
& .menu-icon {
25+
width: 48px;
26+
height: 48px;
27+
position: absolute;
28+
@include center-vertical;
29+
right: 12px;
30+
@include image-center(24px, auto);
31+
background-image: url(images/Toolbar/more.png);
32+
opacity: 0.54;
33+
cursor: pointer;
34+
}
2335
}
2436
}

3-panel/src/views/Pages/LessonsPlan/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ export default class LessonsPlanPage extends Component {
2727
this.days = []
2828
this.editedTime = null
2929
this.clickedLesson = null
30+
this.clickedLessonHours = null
31+
this.deletingLesson = false
3032
}
3133

3234
/**

0 commit comments

Comments
 (0)