From ca957f17034624805a6326e3fe32cce43f957963 Mon Sep 17 00:00:00 2001
From: Matt Mo <matt@montoyatech.com>
Date: Tue, 9 Nov 2021 21:11:41 -0800
Subject: [PATCH] Style template now uses all available callbacks.

---
 ignite-template.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/ignite-template.js b/ignite-template.js
index 317aefd..ad5c22c 100644
--- a/ignite-template.js
+++ b/ignite-template.js
@@ -747,8 +747,14 @@ class IgniteTemplate {
         }
 
         if (value instanceof IgniteProperty) {
-            this._callbacks.push(value.attachOnChange((oldValue, newValue) => this.onStyleChanged(name, (converter ? converter(newValue) : newValue))));
-            this._styles[name] = { name: name, value: (converter ? converter(value.value) : value.value), priority: priority };
+            this._callbacks.push(value.attachOnChange((oldValue, newValue) => this.onStyleChanged(name, converter ? converter(newValue) : newValue)));
+            this._callbacks.push(value.attachOnPush((list, items) => this.onStyleChanged(name, converter ? converter(list) : null)));
+            this._callbacks.push(value.attachOnUnshift((list, items) => this.onStyleChanged(name, converter ? converter(list) : null)));
+            this._callbacks.push(value.attachOnPop((list) => this.onStyleChanged(name, converter ? converter(list) : null)));
+            this._callbacks.push(value.attachOnShift((list) => this.onStyleChanged(name, converter ? converter(list) : null)));
+            this._callbacks.push(value.attachOnSplice((list, start, deleteCount, items) => this.onStyleChanged(name, converter ? converter(list) : null)));
+
+            this._styles[name] = { name: name, value: converter ? converter(value.value) : value.value, priority: priority };
         } else if (Array.isArray(value) && value.length > 0 && value[0] instanceof IgniteProperty) {
             //There must be a converter for this to work correctly
             if (!converter) {