class="grid-stack"
์์๊ฐ shadow-dom์ด์๋ ์น ๊ตฌ์ฑ ์์ ์ธ ๊ฒฝ์ฐ ๋ฒ์ 2.0.0 ์ด์์์ ์๋์ ์ค์งํ์ต๋๋ค!์ด์ ์๋ grid-stack 1.2.0 ๋ฒ์ ์ ์ฌ์ฉํ์ผ๋ฉฐ ์ต์์ ์์ (class = "grid-stack)๊ฐ ์น ๊ตฌ์ฑ ์์์ด๊ณ shadow-dom์ด์๋ ์น ๊ตฌ์ฑ ์์ ๋ด๋ถ์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. 2.0.0 ๋ฒ์ ์ผ๋ก ์ฎ๊ธธ ๋๊น์ง ์๋ฒฝํ๊ฒ! ์ต์ ๋ฒ์ ์ธ 2.1.0๋ ํ์ธํ์ง๋ง ๊ทธ ๋ฒ์ ์์๋ ์๋ํ์ง ์์ต๋๋ค!
<vi-dashboard id="dashboardEl" class="grid-stack">
<vi-panel loc-x="0" loc-y="0" width="3" height="3" class="grid-stack-item">
<div class="grid-stack-item-content></div>
</vi-panel>
<vi-panel loc-x="3" loc-y="0" width="3" height="3" class="grid-stack-item>
<div class="grid-stack-item-content></div>
</vi-panel>
</vi-dashboard>
์์ ๋งํฌ ์ ์ด ๋ณด์ด๋ฉด vi-panel๊ณผ vi-dashboard๋ ๋ชจ๋ ์น ๊ตฌ์ฑ ์์์ ๋๋ค! ์น ๊ตฌ์ฑ ์์ ์ธ vi-panel์ด ์ ๋๋ก ์๋ํฉ๋๋ค! ๊ทธ๋ฌ๋ vi-dashboard๊ฐ ์น ๊ตฌ์ฑ ์์ ์ธ ๊ฒฝ์ฐ ์ ๋๋ก ๋ ๋๋ง๋์ง ์์ต๋๋ค! ์ฝ์์ ์ค๋ฅ๊ฐ ์์ต๋๋ค!
์ผ๋ฐ ๊ทธ๋ฆฌ๋ ์คํ ๋ฐ๋ชจ๋ก ์ ๋๋ก ๋ ๋๋ง๋์ด์ผํฉ๋๋ค!
๋ชจ๋ ๊ฒ์ด ํ ๊ณณ์ ์์ฌ ์์ต๋๋ค! ๋์ด์ ๋๊ธฐ ๋ฐ ํฌ๊ธฐ ์กฐ์ ๋ ์๋ํ์ง ์์ต๋๋ค!
๋์๊ฒ CSS ๋ฌธ์ ์ฒ๋ผ ๋ณด์ด๊ณ id๊ฐ ๋์ ์ผ๋ก ์์ฑ ํ ๋ฌธ์ ๋ฅผ ํํฉ๋๋ค ... GridStack.init({styleInHead: true},...)
์๋ํ๊ณ ๊ทธ๊ฒ์ด ์ํฉ์ ๋ฐ๊พธ๋ ์ง ํ์ธ ํ์ต๋๊น? (๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ๋ถ๋ชจ์ ๊ทธ๋ฆฌ๋ ๋ฐ๋ก ์์ CSS๋ฅผ ๋ฃ์ต๋๋ค.
๊ทธ๋ ์ง ์๋ค๋ฉด _updateStyles()
๋ก ๋ค์ด๊ฐ์ CSS ํ์ผ์ ์์ฑ ํ ์ ์๋์ง ๊ทธ๋ฆฌ๊ณ ์ด๋๋ก ๊ฐ๋์ง ํ์ธํฉ๋๋ค.
๋ํ ์ฌํ ๊ฐ๋ฅํ ์ผ์ด์ค๋ฅผ ๊ฒ์ํ์ง ์์์ต๋๋ค. ์์ zip ํ๋ก์ ํธ๊ฐ ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋๋ฒ๊ทธ ํ ์ ์์ต๋๋ค.
๋ฌธ์ ์ฌํ : https://codepen.io/bhutiyakishan1/pen/bGeKvgM
๋ฒ์ ์ 2.0.0 ์ด์์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋ฒ๊ทธ๊ฐ ๋ณด์
๋๋ค! ์ง๊ธ์ 1.2.0์ผ๋ก ์ ์ํ์ต๋๋ค!
๋ํ ๋๋ GridStack.init({styleInHead: true}
์๋ํ์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค!
ํด๋ฆฌ๋จธ ํ๋ก์ ํธ์์๋์ด ๋ฌธ์ ๋ฅผ๋ณด๊ณ ์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ๋ณด์ฌ์ฃผ๋ v3 ์์ :
<html>
<head>
<!-- Polyfills only needed for Firefox and Edge. -->
<script src="https://unpkg.com/@webcomponents/webcomponentsjs@latest/webcomponents-loader.js"></script>
<link rel="stylesheet" href="demo.css"/>
<script src="../dist/gridstack-h5.js"></script>
</head>
<body>
<script type="module">
import {LitElement, html, css} from 'https://unpkg.com/lit-element/lit-element.js?module';
class MyElement extends LitElement {
static get properties() { return {} }
render() {
return html`<style>:host {display: block;} </style><slot></slot>`;
}
}
customElements.define('my-element', MyElement);
</script>
<div class="grid-stack"></div>
<script type="text/javascript">
let items = [
{x:0, y:0, w:2, content: '0'},
{x:0, y:1, content: '1'}
];
let grid = GridStack.init();
grid.load(items);
</script>
</body>
</html>
@ bhutiyakishan1 ์ด ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค ... ๋ถ๋ช ํ ๊ทธ๋ฆฌ๋์ ํฌ๊ธฐ๊ฐ 0์ด๊ณ ํ์ํ CSS๋ฅผ๋ก๋ / ์์ฑํ์ง ๋ชปํ์ต๋๋ค. ์ง๊ธ์ด ์์ ์ ์ํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
let grid = GridStack.init({disableOneColumnMode: true, cellHeight: 70});
์ฐธ๊ณ : ์ฝ๋์์ ์ด๊ฒ์ด ์ํํ๋ ์์ ๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ดํดํ์ง ๋ชปํฉ๋๋ค (์ธ๋ผ์ธ ๋ธ๋ก์ผ๋ก ๋ณ๊ฒฝํด๋ ํฌ๊ธฐ๊ฐ์๋ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค).
render() { return html`<style>:host {display: block;} </style><slot></slot>`; }
3.1.2์์ ์์ ๋จ (3.1.1์ ์๋ชป๋ ๋๋ฒ๊ทธ ๊ธฐํธ ์)
๊ฐ์ฌํฉ๋๋ค ! ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
3.1.2์์ ์์ ๋จ (3.1.1์ ์๋ชป๋ ๋๋ฒ๊ทธ ๊ธฐํธ ์)