@@ -48,7 +48,7 @@ window.customCards.push({
48
48
type : "kobold-alarm-clock-card" ,
49
49
name : "Kobold" ,
50
50
description : "A multi-alarm clock for Home Assistant" ,
51
- preview : true ,
51
+ // preview: true, // will need styling to accommodate narrow spaces
52
52
documentationURL : "https://codeberg.org/entekadesign/kobold-alarm-clock-card#readme" ,
53
53
} ) ;
54
54
@@ -903,15 +903,16 @@ class KoboldAlarmClockCard extends LitElement {
903
903
let tabNo = parseInt ( event . target . id . slice ( 4 ) ) ;
904
904
window . setMyEditMode ( ) ;
905
905
906
+ this . _clockQ . style . display = 'none' ;
906
907
// Helpers.getLovelace().style.display = 'none';
907
908
// Helpers.getLovelace().style.filter = 'blur(10px)';
908
909
// dialogBackground styles
909
- if ( Helpers . getLovelace ( ) ) {
910
- const dialogBackgroundStyle = 'hui-root { display: none ; }' ;
910
+ if ( Helpers . getLovelace ( ) . shadowRoot ) {
911
+ const dialogBackgroundStyle = 'hui-view, div.header { opacity: 0; transition: opacity 250ms ; }' ;
911
912
const myStyle = document . createElement ( 'style' ) ;
912
913
myStyle . innerHTML = dialogBackgroundStyle ;
913
- Helpers . getLovelace ( ) . appendChild ( myStyle ) ;
914
- // console.log('*** lovelace style: ', Helpers.getLovelace() );
914
+ // console.log('*** lovelace style: ', Helpers.getLovelace().shadowRoot.querySelector('div') );
915
+ Helpers . getLovelace ( ) . shadowRoot . querySelector ( 'div' ) . appendChild ( myStyle ) ;
915
916
}
916
917
917
918
let rounds = 0 ;
@@ -934,6 +935,7 @@ class KoboldAlarmClockCard extends LitElement {
934
935
this . _koboldEditor = undefined ;
935
936
}
936
937
}
938
+ this . _clockQ . style . display = 'flex' ;
937
939
}
938
940
// end of kobold-alarm-clock-card
939
941
}
@@ -975,7 +977,41 @@ class KoboldCardEditor extends LitElement {
975
977
{
976
978
name : "alarm_actions" ,
977
979
label : "Alarm Actions" ,
978
- selector : { object : { } } ,
980
+ selector : {
981
+ object : {
982
+ // label_field: "name",
983
+ // description_field: "percentage",
984
+ // multiple: true,
985
+ // fields: [
986
+ // {
987
+ // name: {
988
+ // label: "Name",
989
+ // selector: { text: {} },
990
+ // }
991
+ // },
992
+ // {
993
+ // percentage: {
994
+ // label: "Percentage",
995
+ // selector: { number: { unit_of_measurement: "%" } },
996
+ // },
997
+ // },
998
+ // ],
999
+ label_field : "name" ,
1000
+ description_field : "percentage" ,
1001
+ multiple : true ,
1002
+ fields : {
1003
+ name : {
1004
+ label : "Name" ,
1005
+ selector : { text : { } }
1006
+ } ,
1007
+ percentage : {
1008
+ label : "Percentage" ,
1009
+ // selector: { number: { unit_of_measurement: "%" } }
1010
+ selector : { text : { } }
1011
+ }
1012
+ }
1013
+ }
1014
+ }
979
1015
} ,
980
1016
{
981
1017
name : "debug" ,
@@ -1164,9 +1200,13 @@ class KoboldCardEditor extends LitElement {
1164
1200
button . addEventListener ( 'click' , ( event ) => {
1165
1201
// Helpers.getLovelace().style.display = 'inline';
1166
1202
// Helpers.getLovelace().style.filter = 'none';
1167
- if ( Helpers . getLovelace ( ) ) {
1168
- const dialogBackgroundStyle = 'hui-root { display: block; }' ;
1169
- Helpers . getLovelace ( ) . querySelector ( 'style' ) . remove ( ) ;
1203
+ if ( Helpers . getLovelace ( ) . shadowRoot ) {
1204
+ // const myStyle = Helpers.getLovelace().shadowRoot.querySelector('div.edit-mode style');
1205
+ // console.log('*** myStyle: ', myStyle);
1206
+ // const dialogBackgroundStyle = 'hui-view, div.header { opacity: 1; }';
1207
+ // myStyle.innerHTML = dialogBackgroundStyle;
1208
+ // console.log('*** div: ', Helpers.getLovelace().shadowRoot.querySelector('div > style'));
1209
+ Helpers . getLovelace ( ) . shadowRoot . querySelector ( 'div > style' ) . remove ( ) ;
1170
1210
}
1171
1211
1172
1212
if ( index === 1 ) {
@@ -1216,12 +1256,22 @@ class KoboldCardEditor extends LitElement {
1216
1256
if ( ! this . _config ) return ;
1217
1257
const configChanges = Helpers . deepCompareObj ( this . _oldConfig , event . detail . value ) ;
1218
1258
if ( ! configChanges ) return ;
1259
+ // console.log('*** valueChanged(); configChanges: ', configChanges);
1260
+ // console.log('*** valueChanged(); oldConfig: ', this._oldConfig);
1261
+ // console.log('*** valueChanged(); event value: ', event.detail.value);
1219
1262
this . _config = Helpers . deepMerge ( Helpers . defaultConfig , event . detail . value ) ;
1220
1263
this . _config . last_updated = dayjs ( ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
1264
+ // console.log('*** valueChanged(); new config: ', this._config);
1221
1265
const momentTomorrow = dayjs ( ) . add ( 1 , 'day' ) ;
1222
1266
const dayTomorrow = momentTomorrow . format ( 'dd' ) . toLowerCase ( ) ;
1267
+
1223
1268
Object . keys ( configChanges ) . forEach (
1224
1269
( item ) => {
1270
+ // console.log('*** item: ', item);
1271
+ if ( ! event . detail . value [ item ] ) {
1272
+ event . detail . value [ item ] = this . _config [ item ] ; //this._oldConfig[item];
1273
+ // console.log('*** undefined item: ' + item + '; new value: ' + JSON.stringify(this._oldConfig[item]));
1274
+ }
1225
1275
// update nextAlarm
1226
1276
if ( item === dayTomorrow || item === 'alarms_enabled' || item === 'next_alarm' ) {
1227
1277
// console.log('*** changed item: ', item);
@@ -1387,7 +1437,6 @@ class KoboldCardEditor extends LitElement {
1387
1437
</ div>
1388
1438
</ div>
1389
1439
</ div>
1390
-
1391
1440
</ div> ` ;
1392
1441
}
1393
1442
0 commit comments