|
75 | 75 | return Utils.sortBy(nodes, function(n) { return (n.x + n.y * column); }); |
76 | 76 | }, |
77 | 77 |
|
78 | | - createStylesheet: function(id) { |
79 | | - var style = document.createElement('style'); |
80 | | - style.setAttribute('type', 'text/css'); |
81 | | - style.setAttribute('data-gs-style-id', id); |
82 | | - if (style.styleSheet) { |
83 | | - style.styleSheet.cssText = ''; |
84 | | - } else { |
85 | | - style.appendChild(document.createTextNode('')); |
86 | | - } |
87 | | - document.getElementsByTagName('head')[0].appendChild(style); |
88 | | - return style.sheet; |
89 | | - }, |
| 78 | + createStylesheet: function(id, parent) { |
| 79 | + var style = document.createElement('style'); |
| 80 | + style.setAttribute('type', 'text/css'); |
| 81 | + style.setAttribute('data-gs-style-id', id); |
| 82 | + if (style.styleSheet) { |
| 83 | + style.styleSheet.cssText = ''; |
| 84 | + } else { |
| 85 | + style.appendChild(document.createTextNode('')); |
| 86 | + } |
| 87 | + if (!parent) { parent = document.getElementsByTagName('head')[0]; } // default to head |
| 88 | + parent.insertBefore(style, parent.firstChild); |
| 89 | + return style.sheet; |
| 90 | + }, |
90 | 91 |
|
91 | | - removeStylesheet: function(id) { |
92 | | - $('STYLE[data-gs-style-id=' + id + ']').remove(); |
93 | | - }, |
| 92 | + removeStylesheet: function(id) { |
| 93 | + $('STYLE[data-gs-style-id=' + id + ']').remove(); |
| 94 | + }, |
94 | 95 |
|
95 | 96 | insertCSSRule: function(sheet, selector, rules, index) { |
96 | 97 | if (typeof sheet.insertRule === 'function') { |
|
1068 | 1069 | Utils.removeStylesheet(this._stylesId); |
1069 | 1070 | } |
1070 | 1071 | this._stylesId = 'gridstack-style-' + (Math.random() * 100000).toFixed(); |
1071 | | - this._styles = Utils.createStylesheet(this._stylesId); |
| 1072 | + // insert style to parent (instead of 'head') to support WebComponent |
| 1073 | + this._styles = Utils.createStylesheet(this._stylesId, this.container.get(0).parentNode); |
1072 | 1074 | if (this._styles !== null) { |
1073 | 1075 | this._styles._max = 0; |
1074 | 1076 | } |
|
0 commit comments