1+ /* eslint-disable import/no-extraneous-dependencies */
12/* eslint-disable @typescript-eslint/no-unused-vars */
23/* eslint-disable no-plusplus */
34/* eslint-disable no-loop-func */
@@ -6,15 +7,16 @@ import { LitElement, html, css } from 'lit';
67import { state , query } from 'lit/decorators.js' ;
78import { until } from 'lit/directives/until.js' ;
89
9- import { newEditEvent } from '@openscd/ open-scd-core ' ;
10+ import { ScopedElementsMixin } from '@open-wc/scoped-elements/lit-element.js ' ;
1011
11- import type { Select } from '@material/mwc-select' ;
12- import type { TreeGrid , TreeSelection } from '@openscd/oscd-tree-grid' ;
12+ import { newEditEvent } from '@openenergytools/open-scd-core' ;
1313
14- import '@material/mwc-fab' ;
15- import '@material/mwc-select' ;
16- import '@material/mwc-list/mwc-list-item.js' ;
17- import '@openscd/oscd-tree-grid' ;
14+ import { TreeGrid , TreeSelection } from '@openenergytools/tree-grid' ;
15+
16+ import { MdFab } from '@scopedelement/material-web/fab/MdFab.js' ;
17+ import { MdIcon } from '@scopedelement/material-web/icon/MdIcon.js' ;
18+ import { MdFilledSelect } from '@scopedelement/material-web/select/MdFilledSelect.js' ;
19+ import { MdSelectOption } from '@scopedelement/material-web/select/MdSelectOption.js' ;
1820
1921import { generateTemplates } from './generate-templates.js' ;
2022
@@ -61,15 +63,24 @@ function getDTTReference(parent: Element, tag: Tag) {
6163 return nextSibling ?? null ;
6264}
6365
64- export default class TemplateGenerator extends LitElement {
66+ export default class TemplateGenerator extends ScopedElementsMixin ( LitElement ) {
67+ static scopedElements = {
68+ 'tree-grid' : TreeGrid ,
69+ 'md-filled-select' : MdFilledSelect ,
70+ 'md-select-option' : MdSelectOption ,
71+ 'md-fab' : MdFab ,
72+ 'md-icon' : MdIcon ,
73+ } ;
74+
6575 @state ( )
6676 doc ?: XMLDocument ;
6777
68- @query ( 'oscd- tree-grid' )
78+ @query ( 'tree-grid' )
6979 treeUI ! : TreeGrid ;
7080
7181 @state ( )
7282 get selection ( ) : TreeSelection {
83+ if ( ! this . treeUI ) return { } ;
7384 return this . treeUI . selection ;
7485 }
7586
@@ -79,15 +90,16 @@ export default class TemplateGenerator extends LitElement {
7990
8091 @state ( )
8192 get filter ( ) : string {
93+ if ( ! this . treeUI ) return '' ;
8294 return this . treeUI . filter ?? '' ;
8395 }
8496
8597 set filter ( filter : string ) {
8698 this . treeUI . filter = filter ;
8799 }
88100
89- @query ( 'mwc -select' )
90- lNodeTypeUI ?: Select ;
101+ @query ( 'md-filled -select' )
102+ lNodeTypeUI ?: MdFilledSelect ;
91103
92104 @state ( )
93105 get lNodeType ( ) : string {
@@ -129,9 +141,13 @@ export default class TemplateGenerator extends LitElement {
129141
130142 if ( templates . ownerDocument !== this . doc ) {
131143 this . dispatchEvent (
132- newEditEvent ( { parent : this . doc . documentElement , node : templates } )
144+ newEditEvent ( {
145+ parent : this . doc . documentElement ,
146+ node : templates ,
147+ reference : null ,
148+ } )
133149 ) ;
134- this . dispatchEvent ( newCreateEvent ( this . doc . documentElement , templates ) ) ;
150+ // this.dispatchEvent(newCreateEvent(this.doc.documentElement, templates));
135151 }
136152
137153 // delete this.treeUI.selection['']; // workaround for UI bug
@@ -148,7 +164,7 @@ export default class TemplateGenerator extends LitElement {
148164 this . dispatchEvent (
149165 newEditEvent ( { parent : templates , node : element , reference } )
150166 ) ;
151- this . dispatchEvent ( newCreateEvent ( templates , element , reference ) ) ;
167+ // this.dispatchEvent(newCreateEvent(templates, element, reference));
152168 }
153169 } ) ;
154170
@@ -165,40 +181,62 @@ export default class TemplateGenerator extends LitElement {
165181 }
166182
167183 render ( ) {
168- return html `<div>
169- <mwc - select @selected = ${ ( ) => this . reset ( ) } >
184+ return html `<div class = "container" >
185+ <md - filled - select @input = ${ ( ) => this . reset ( ) } >
170186 ${ Object . keys ( tree ) . map (
171187 lNodeType =>
172- html `<mwc - l is t - item value= ${ lNodeType }
173- > ${ lNodeType } </ mwc - l is t - item
188+ html `<md - select - option value= ${ lNodeType }
189+ > ${ lNodeType } </ md - select - option
174190 > `
175191 ) }
176- </ mwc - select>
177- <oscd - tree- grid> </ oscd - tree- grid>
192+ </ md - filled - select>
193+ <tree- grid> </ tree- grid>
178194 </ div>
179195 ${ this . doc
180- ? html `<mwc- fab
181- extended
182- icon= "${ this . addedLNode ? 'done' : 'add' } "
196+ ? html `<md- fab
183197 label= "${ this . addedLNode || 'Add Type' } "
184- ?showIconAtEnd= ${ this . addedLNode }
185198 @click = ${ ( ) => this . saveTemplates ( ) }
186- > </ mwc- fab> `
199+ >
200+ <md- icon slot= "icon" > ${ this . addedLNode ? 'done' : 'add' } </ md- icon>
201+ </ md- fab> `
187202 : html `` } `;
188203 }
189204
190205 static styles = css `
191- div {
206+ * {
207+ --md-sys-color-primary : var (--oscd-primary );
208+ --md-sys-color-secondary : var (--oscd-secondary );
209+ --md-sys-typescale-body-large-font : var (--oscd-theme-text-font );
210+ --md-outlined-text-field-input-text-color : var (--oscd-base01 );
211+
212+ --md-sys-color-surface : var (--oscd-base3 );
213+ --md-sys-color-on-surface : var (--oscd-base00 );
214+ --md-sys-color-on-primary : var (--oscd-base2 );
215+ --md-sys-color-on-surface-variant : var (--oscd-base00 );
216+ --md-menu-container-color : var (--oscd-base3 );
217+ font-family : var (--oscd-theme-text-font );
218+ --md-sys-color-surface-container-highest : var (--oscd-base2 );
219+ --md-list-item-activated-background : rgb (
220+ from var (--oscd-primary ) r g b / 0.38
221+ );
222+ --md-menu-item-selected-container-color : rgb (
223+ from var (--oscd-primary ) r g b / 0.38
224+ );
225+ --md-list-container-color : var (--oscd-base2 );
226+ --md-fab-container-color : var (--oscd-secondary );
227+ }
228+
229+ .container {
192230 margin : 12px ;
193231 }
194232
195- mwc -fab {
233+ md -fab {
196234 position : fixed;
197235 bottom : 32px ;
198236 right : 32px ;
199237 }
200238
201- mwc -select {
239+ md-filled -select {
202240 position : absolute;
203241 left : 300px ;
204242 }
0 commit comments