diff --git a/web_client/hvueComponentsLoadTemplateModals.go b/web_client/hvueComponentsLoadTemplateModals.go
deleted file mode 100644
index 4f05280..0000000
--- a/web_client/hvueComponentsLoadTemplateModals.go
+++ /dev/null
@@ -1,74 +0,0 @@
-package main
-
-import (
- "github.com/gopherjs/gopherjs/js"
- "github.com/mame82/hvue"
-)
-
-
-type modalLoadBashScriptData struct {
- *js.Object
- IsVisible bool `js:"isVisible"`
-}
-
-func InitCompsLoadModals() {
- hvue.NewComponent(
- "modalLoadBashScript",
- hvue.Template(templateLoadBashScript),
- hvue.DataFunc(func(vm *hvue.VM) interface{} {
- data := &modalLoadBashScriptData{Object:O()}
- data.IsVisible = false
-
- return data
- }),
- hvue.PropObj(
- "show",
- hvue.Types(hvue.PBoolean),
- ),
- hvue.Method("setVisible",
- func(vm *hvue.VM, visible bool) {
- data := &modalLoadBashScriptData{Object:vm.Data}
- data.IsVisible = visible
- },
- ),
- hvue.Mounted(func(vm *hvue.VM) {
- data := &modalLoadBashScriptData{Object:vm.Data}
- data.IsVisible = vm.Get("show").Bool()
- // ToDo: update BashScriptList via vuex store action
- return
- }),
- )
-}
-
-const templateLoadBashScript = `
-
-
-
-
- Load WiFi settings
-
-
-
-
-
-
-
-
-
- {{ tname }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`
diff --git a/web_client/hvueComponentsTriggerActions.go b/web_client/hvueComponentsTriggerActions.go
index 9377f4d..229d9a9 100644
--- a/web_client/hvueComponentsTriggerActions.go
+++ b/web_client/hvueComponentsTriggerActions.go
@@ -442,9 +442,11 @@ func InitComponentsTriggerActions() {
*js.Object
ShowSelectHIDScriptModal bool `js:"ShowSelectHIDScriptModal"`
ShowSelectBashScriptModal bool `js:"ShowSelectBashScriptModal"`
+ ShowSelectTemplateModal bool `js:"ShowSelectTemplateModal"`
}{Object: O()}
data.ShowSelectHIDScriptModal = false
data.ShowSelectBashScriptModal = false
+ data.ShowSelectTemplateModal = false
return &data
}),
hvue.Method("updateStoredHIDScriptsList",
@@ -455,6 +457,64 @@ func InitComponentsTriggerActions() {
func(vm *hvue.VM) {
vm.Store.Call("dispatch", VUEX_ACTION_UPDATE_STORED_BASH_SCRIPTS_LIST)
}),
+ hvue.Computed(
+ "typedTemplateList",
+ func(vm *hvue.VM) interface{} {
+ // template type: ta.ActionData.Type
+ ta:=&jsTriggerAction{Object: vm.Get("ta")}
+ if !ta.IsActionDeploySettingsTemplate() {
+ return []string{}
+ }
+ aData := &jsActionDeploySettingsTemplate{Object: ta.ActionData}
+ switch aData.Type {
+ case TemplateTypeFullSettings:
+ //ToDo: Implement
+ case TemplateTypeBluetooth:
+ //ToDo: Implement
+ case TemplateTypeUSB:
+ //return USB list
+ return vm.Store.Get("state").Get("StoredUSBSettingsList")
+ case TemplateTypeTriggerActions:
+ //return TriggerAction list
+ return vm.Store.Get("state").Get("StoredTriggerActionSetsList")
+ case TemplateTypeWifi:
+ //return WiFi settings list
+ return vm.Store.Get("state").Get("StoredWifiSettingsList")
+ case TemplateTypeNetwork:
+ //return ethernet interface settings list
+ return vm.Store.Get("state").Get("StoredEthernetInterfaceSettingsList")
+ }
+ return []string{} //empty list
+ }),
+ hvue.Method(
+ "actionTemplateTypeUpdate",
+ func(vm *hvue.VM) interface{} {
+ // template type: ta.ActionData.Type
+ ta:=&jsTriggerAction{Object: vm.Get("ta")}
+ if !ta.IsActionDeploySettingsTemplate() {
+ return []string{}
+ }
+ aData := &jsActionDeploySettingsTemplate{Object: ta.ActionData}
+ switch aData.Type {
+ case TemplateTypeFullSettings:
+ //ToDo: Implement
+ case TemplateTypeBluetooth:
+ //ToDo: Implement
+ case TemplateTypeUSB:
+ //update USB list
+ vm.Store.Call("dispatch", VUEX_ACTION_UPDATE_STORED_USB_SETTINGS_LIST)
+ case TemplateTypeTriggerActions:
+ //update TriggerAction list
+ vm.Store.Call("dispatch", VUEX_ACTION_UPDATE_STORED_TRIGGER_ACTION_SETS_LIST)
+ case TemplateTypeWifi:
+ //update WiFi settings template list
+ vm.Store.Call("dispatch", VUEX_ACTION_UPDATE_STORED_WIFI_SETTINGS_LIST)
+ case TemplateTypeNetwork:
+ //update ethernet interface settings template list
+ vm.Store.Call("dispatch", VUEX_ACTION_UPDATE_STORED_ETHERNET_INTERFACE_SETTINGS_LIST)
+ }
+ return []string{} //empty list
+ }),
hvue.Computed("actiontypes", func(vm *hvue.VM) interface{} {
return generateSelectOptionsAction()
}),
@@ -747,17 +807,18 @@ const templateAction = `
Type
Name of the stored settings template to load
-
+
+
Template name
Name of the stored settings template to load
-
+
diff --git a/web_client/main.go b/web_client/main.go
index dd08952..4c83ac3 100644
--- a/web_client/main.go
+++ b/web_client/main.go
@@ -80,7 +80,6 @@ func main() {
InitComponentsNetwork()
InitComponentsWiFi()
InitComponentsTriggerActions()
- InitCompsLoadModals()
vm := hvue.NewVM(
hvue.El("#app"),
/*