| author | Tomas Zeman <tzeman@volny.cz> |
| Fri, 19 Jan 2018 11:13:53 +0100 | |
| changeset 10 | f4bf01584928 |
| parent 8 | d1da6ba32afa |
| permissions | -rw-r--r-- |
|
8
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
1 |
/* |
|
10
f4bf01584928
Avoid name clash for Component/Element
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
2 |
* Copyright 2017-2018 Tomas Zeman <tzeman@volny.cz> |
|
8
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
3 |
* |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
4 |
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
5 |
* you may not use this file except in compliance with the License. |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
6 |
* You may obtain a copy of the License at |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
7 |
* |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
8 |
* http://www.apache.org/licenses/LICENSE-2.0 |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
9 |
* |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
10 |
* Unless required by applicable law or agreed to in writing, software |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
11 |
* distributed under the License is distributed on an "AS IS" BASIS, |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
12 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
13 |
* See the License for the specific language governing permissions and |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
14 |
* limitations under the License. |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
15 |
*/ |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
16 |
package purecss.generic |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
17 |
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
18 |
import scala.language.implicitConversions |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
19 |
|
|
10
f4bf01584928
Avoid name clash for Component/Element
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
20 |
trait PureAlerts[B, O <: F, F] extends PureCssComponent[B, O, F] {
|
|
8
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
21 |
import bundle.all._ |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
22 |
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
23 |
val pure_alert: C = pc("pure-alert")
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
24 |
val pure_alert_error: C = pc("pure-alert-error")
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
25 |
val pure_alert_warning: C = pc("pure-alert-warning")
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
26 |
val pure_alert_success: C = pc("pure-alert-success")
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
27 |
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
28 |
implicit def alert2cls(a: Alert): C = a.toCls |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
29 |
implicit def alert2mod(a: Alert): Modifier = a.toCls.apply() |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
30 |
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
31 |
sealed abstract class Alert(val secondary: C) {
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
32 |
def toCls: C = pure_alert & secondary |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
33 |
} |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
34 |
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
35 |
object Alert {
|
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
36 |
case object Error extends Alert(pure_alert_error) |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
37 |
case object Warning extends Alert(pure_alert_warning) |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
38 |
case object Success extends Alert(pure_alert_success) |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
39 |
} |
|
d1da6ba32afa
Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
40 |
} |