JSFiddle - React, Tailwind, and code Playground
by qunzorez
HTML
<div class="lpms3-box">
<div class="box type-a" id="box${i}" style="width: 150px; height: 50px;">
<div class="machine-icon" id="machine${i}">
<img src="https://cdn-icons-png.flaticon.com/512/1814/1814403.png" onerror="hideEl('machine${i}')" />
</div>
<div class="title-box stantion-name">${data.stantionName}</div>
<div class="desc-box">${data.status}</div>
</div>
</div>
<div class="lpms3-box">
<div class="box type-b" id="box${i}" style="width: 100px; height: 50px;">
<div class="title-box stantion-name">${data.stantionName}</div>
<div class="desc-box">${data.status}</div>
</div>
</div>
CSS
.box {
background-color: #ccc;
margin: 10px;
border-radius: 10px;
text-align: center;
font-size: 10px;
}
.machine-icon {
vertical-align: middle;
float: left;
width: 40px;
height: 40px;
background-color: #808080;
border-radius: 20px;
margin: 2px;
z-index: 1111112;
}
.machine-icon > img {
margin-top: 25%;
width: 20px;
height: 20px;
}
JavaScript
var resOptions = {
"type-a": {
minWidth: 100,
minHeight: 44,
maxWidth: 205,
maxHeight: 77
},
"type-b": {
minWidth: 40,
minHeight: 40,
maxWidth: 105,
maxHeight: 57
}
};
$('.lpms3-box').draggable()
$(".box").resizable({
resize: function(event, ui) {
var size = ui.size;
$(this).children().css('font-size', (size.width * size.height) / 580 + 'px');
$(this).css('font-size', (size.width * size.height) / 580 + 'px');
}
});
$.each(resOptions, function(k, v) {
console.log("Setting", k, "to", v);
$("." + k).resizable("option", v);
});