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"
});