@@ -2,6 +2,7 @@ import { html } from 'lit-element';
2
2
import { get , translate } from 'lit-translate' ;
3
3
4
4
import {
5
+ cloneElement ,
5
6
Create ,
6
7
createElement ,
7
8
EditorAction ,
@@ -47,7 +48,6 @@ function updateDoAction(element: Element): WizardActor {
47
48
? getValue ( inputs . find ( i => i . label === 'transient' ) ! )
48
49
: null ;
49
50
50
- const actions : EditorAction [ ] = [ ] ;
51
51
if (
52
52
name === element . getAttribute ( 'name' ) &&
53
53
desc === element . getAttribute ( 'desc' ) &&
@@ -58,21 +58,15 @@ function updateDoAction(element: Element): WizardActor {
58
58
return [ ] ;
59
59
}
60
60
61
- const newElement = < Element > element . cloneNode ( false ) ;
62
- newElement . setAttribute ( 'name' , name ) ;
63
- if ( desc === null ) newElement . removeAttribute ( 'desc' ) ;
64
- else newElement . setAttribute ( 'desc' , desc ) ;
65
- newElement . setAttribute ( 'type' , type ) ;
66
- if ( accessControl === null ) newElement . removeAttribute ( 'accessControl' ) ;
67
- else newElement . setAttribute ( 'accessControl' , accessControl ) ;
68
- if ( transient === null ) newElement . removeAttribute ( 'transient' ) ;
69
- else newElement . setAttribute ( 'transient' , transient ) ;
70
- actions . push ( {
71
- old : { element } ,
72
- new : { element : newElement } ,
61
+ const newElement = cloneElement ( element , {
62
+ name,
63
+ desc,
64
+ type,
65
+ accessControl,
66
+ transient,
73
67
} ) ;
74
68
75
- return actions ;
69
+ return [ { old : { element } , new : { element : newElement } } ] ;
76
70
} ;
77
71
}
78
72
@@ -547,11 +541,7 @@ function updateLNodeTypeAction(element: Element): WizardActor {
547
541
)
548
542
return [ ] ;
549
543
550
- const newElement = < Element > element . cloneNode ( false ) ;
551
- newElement . setAttribute ( 'id' , id ) ;
552
- if ( desc === null ) newElement . removeAttribute ( 'desc' ) ;
553
- else newElement . setAttribute ( 'desc' , desc ) ;
554
- newElement . setAttribute ( 'lnClass' , lnClass ) ;
544
+ const newElement = cloneElement ( element , { id, desc, lnClass } ) ;
555
545
556
546
return [ { old : { element } , new : { element : newElement } } ] ;
557
547
} ;
0 commit comments