JSFiddle - React, Tailwind, and code Playground
Duplicated item
by Hugo Carneiro
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
<div class="screens screens-manageable">
<ul>
<li class="screen-item screen" data-id="990">
<div class="screen-name">
<div class="screen-reorder-handle"> <i class="fa fa-ellipsis-v"></i><i class="fa fa-ellipsis-v"></i> </div> Build Slider
<aside>
<ul>
<li class="screen-setting"> <i class="fa fa-cog"></i> </li>
</ul>
</aside>
</div>
</li>
<li class="screen-item screen active" data-id="991">
<div class="screen-name">
<div class="screen-reorder-handle"> <i class="fa fa-ellipsis-v"></i><i class="fa fa-ellipsis-v"></i> </div> asdd
<aside>
<ul>
<li class="screen-setting"> <i class="fa fa-cog"></i> </li>
</ul>
</aside>
</div>
</li>
<li class="screen-item screen" data-id="988">
<div class="screen-name">
<div class="screen-reorder-handle"> <i class="fa fa-ellipsis-v"></i><i class="fa fa-ellipsis-v"></i> </div> Slider
<aside>
<ul>
<li class="screen-setting"> <i class="fa fa-cog"></i> </li>
</ul>
</aside>
</div>
</li>
</ul>
</div>
CSS
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);
html,
body {
font-family: "Open Sans", "Helvetica Neue", Arial, Helvetica, sans-serif;
-webkit-font-smoothing: antialiased;
padding: 15px;
}
.screens {
position: absolute;
top: 0;
left: 0;
width: 100%;
bottom: 0;
overflow: auto;
background-color: #f2f6f7;
color: #14505e;
font-weight: 200;
}
.screens>ul {
margin-bottom: 0;
padding-left: 0;
}
.screens>ul .screen {
background-color: #fff;
margin-bottom: .5rem;
height: 3.5rem;
}
.screens>ul .screen-name {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.screens>ul .screen-name {
height: 3.5rem;
line-height: 3.5rem;
padding: 0 1.5rem;
cursor: pointer;
position: relative;
}
.screens.screens-manageable>ul .screen-name {
padding: 0 1.5rem 0 2.4rem;
}
.screens>ul .screen-name .screen-reorder-handle {
display: block;
width: 2.4rem;
float: left;
margin-right: 6px;
margin-left: -2.4rem;
text-align: center;
cursor: move;
border-right: 1px solid #efefef;
opacity: .7;
}
.screens>ul .screen-name aside {
display: block;
position: absolute;
left: 100%;
top: 0;
width: 100%;
}
.screens>ul .screen-name .screen-reorder-handle .fa-ellipsis-v {
font-size: .8em;
}
.screens>ul .screen-name .screen-reorder-handle .fa-ellipsis-v+.fa-ellipsis-v {
margin-left: 1px;
}
.screens>ul .screen-name aside ul {
padding: 0;
list-style: none;
}
.screens>ul .screen-name aside ul li {
float: left;
text-align: center;
opacity: .7;
}
.screens>ul .screen-name aside ul li.screen-setting {
width: 3.2rem;
}
.screens>ul .screen.active {
font-weight: 600;
background-color: #dadee0;
}
.screens>ul .screen:hover {
background-color: #dadee0;
}
.screens>ul .screen-name aside ul li:hover {
opacity: 1;
}
.screens>ul .screen:hover aside {
-webkit-transform:...
JavaScript
$('.screens').on('click', '.screen-setting', function() {
var $copyOfItem = $(this).parents('.screen-item').clone();
$copyOfItem.removeClass('active').addClass('animated');
console.log($copyOfItem);
$copyOfItem.insertAfter( $(this).parents('.screen-item') );
$copyOfItem.addClass('fadeInDown'); // other possible animations "bounce" - "zoomIn"
});