Skip to content

Commit

Permalink
add multiple instances global controls demo
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickkunka committed Mar 24, 2017
1 parent ee072f5 commit 8ac664a
Show file tree
Hide file tree
Showing 3 changed files with 238 additions and 0 deletions.
1 change: 1 addition & 0 deletions demos/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ <h2>Basic Functionality</h2>
<li><a href="./basic/">Basic MixItUp Functionality</a></li>
<li><a href="./attribute-selectors/">Querying via Attribute Selectors</a></li>
<li><a href="./loading-animation/">Loading Animation</a></li>
<li><a href="./multiple-instances-global-control-scoping/">Multiple Instances with Global Control Scoping</a></li>
<li><a href="./multiple-instances-local-control-scoping/">Multiple Instances with Local Control Scoping</a></li>
</ul>

Expand Down
53 changes: 53 additions & 0 deletions demos/multiple-instances-global-control-scoping/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">

<link href="../reset.css" rel="stylesheet"/>
<link href="./style.css" rel="stylesheet"/>

<title>MixItUp Demo - Multiple Mixers with Global Control Scoping</title>
</head>
<body>
<div class="controls">
<button type="button" class="control" data-filter="all">All</button>
<button type="button" class="control" data-filter=".green">Green</button>
<button type="button" class="control" data-filter=".blue">Blue</button>
<button type="button" class="control" data-filter=".pink">Pink</button>
<button type="button" class="control" data-filter="none">None</button>

<button type="button" class="control" data-sort="default:asc">Asc</button>
<button type="button" class="control" data-sort="default:desc">Desc</button>
</div>

<div class="container" data-ref="container-1">
<div class="mix green"></div>
<div class="mix blue"></div>
<div class="mix pink"></div>

<div class="gap"></div>
<div class="gap"></div>
<div class="gap"></div>
</div>

<div class="container" data-ref="container-2">
<div class="mix green"></div>
<div class="mix blue"></div>
<div class="mix pink"></div>

<div class="gap"></div>
<div class="gap"></div>
<div class="gap"></div>
</div>

<script src="../mixitup.min.js"></script>

<script>
var containerEl1 = document.querySelector('[data-ref="container-1"]');
var containerEl2 = document.querySelector('[data-ref="container-2"]');

var mixer1 = mixitup(containerEl1);
var mixer1 = mixitup(containerEl2);
</script>
</body>
</html>
184 changes: 184 additions & 0 deletions demos/multiple-instances-global-control-scoping/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
html,
body {
height: 100%;
background: #f2f2f2;
}

*,
*:before,
*:after {
box-sizing: border-box;
}

/* Controls
---------------------------------------------------------------------- */

.controls {
font-size: 0.1px;
margin-bottom: 1rem;
padding: 1rem;
}

.control {
position: relative;
display: inline-block;
width: 2.7rem;
height: 2.7rem;
background: #444;
cursor: pointer;
font-size: 0.1px;
color: white;
transition: background 150ms;
}

.control:hover {
background: #3f3f3f;
}

.control[data-filter]:after {
content: '';
position: absolute;
width: 10px;
height: 10px;
top: calc(50% - 6px);
left: calc(50% - 6px);
border: 2px solid currentColor;
border-radius: 2px;
background: currentColor;
transition: background-color 150ms, border-color 150ms;
}

.control[data-sort]:after {
content: '';
position: absolute;
width: 10px;
height: 10px;
border-top: 2px solid;
border-left: 2px solid;
top: calc(50% - 6px);
left: calc(50% - 6px);
transform: translateY(1px) rotate(45deg);
}

.control[data-sort*=":desc"]:after {
transform: translateY(-4px) rotate(-135deg);
}

.mixitup-control-active {
background: #393939;
}

.mixitup-control-active[data-filter]:after {
background: transparent;
}

.control:first-of-type {
border-radius: 3px 0 0 3px;
}

.control:last-of-type {
border-radius: 0 3px 3px 0;
}

.control[data-filter=".green"] {
color: #91e6c7;
}

.control[data-filter=".blue"] {
color: #5ecdde;
}

.control[data-filter=".pink"] {
color: #d595aa;
}

.control[data-filter="none"] {
color: #2f2f2f;
}

/* Container
---------------------------------------------------------------------- */

.container {
padding: 1rem;
text-align: justify;
font-size: 0.1px;
}

.targets:after {
content: '';
display: inline-block;
width: 100%;
}

/* Target Elements
---------------------------------------------------------------------- */

.mix,
.gap {
display: inline-block;
vertical-align: top;
}

.mix {
background: #fff;
border-top: .5rem solid currentColor;
border-radius: 2px;
margin-bottom: 1rem;
position: relative;
}

.mix:before {
content: '';
display: inline-block;
padding-top: 56.25%;
}

.mix.green {
color: #91e6c7;
}

.mix.pink {
color: #d595aa;
}

.mix.blue {
color: #5ecdde;
}

/* Grid Breakpoints
---------------------------------------------------------------------- */

/* 2 Columns */

.mix,
.gap {
width: calc(100%/2 - (((2 - 1) * 1rem) / 2));
}

/* 3 Columns */

@media screen and (min-width: 541px) {
.mix,
.gap {
width: calc(100%/3 - (((3 - 1) * 1rem) / 3));
}
}

/* 4 Columns */

@media screen and (min-width: 961px) {
.mix,
.gap {
width: calc(100%/4 - (((4 - 1) * 1rem) / 4));
}
}

/* 5 Columns */

@media screen and (min-width: 1281px) {
.mix,
.gap {
width: calc(100%/5 - (((5 - 1) * 1rem) / 5));
}
}

0 comments on commit 8ac664a

Please sign in to comment.