Vova Tkach 6 years ago
parent
commit
cec95cfa3a

+ 10 - 1
engine/backend/modules/module_empty.go

@@ -1,6 +1,7 @@
 package modules
 
 import (
+	others "golang-fave/engine/wrapper/resources/others"
 	utils "golang-fave/engine/wrapper/utils"
 )
 
@@ -20,13 +21,21 @@ func (this *Module) Module_empty_name() string {
 	return "Empty module"
 }
 
+func (this *Module) Module_empty_icon() string {
+	return others.File_assets_sys_svg_gear
+}
+
 func (this *Module) Module_empty_order() int {
 	return 999
 }
 
 func (this *Module) Module_empty_submenu() []utils.ModuleSubMenu {
 	result := make([]utils.ModuleSubMenu, 0)
-	result = append(result, utils.ModuleSubMenu{Alias: "default", Name: "Sub-menu item"})
+	result = append(result, utils.ModuleSubMenu{
+		Alias: "default",
+		Name:  "Sub-menu item",
+		Icon:  others.File_assets_sys_svg_list,
+	})
 	return result
 }
 

+ 15 - 2
engine/backend/modules/module_index.go

@@ -1,6 +1,7 @@
 package modules
 
 import (
+	others "golang-fave/engine/wrapper/resources/others"
 	utils "golang-fave/engine/wrapper/utils"
 )
 
@@ -20,14 +21,26 @@ func (this *Module) Module_index_name() string {
 	return "Pages"
 }
 
+func (this *Module) Module_index_icon() string {
+	return others.File_assets_sys_svg_page
+}
+
 func (this *Module) Module_index_order() int {
 	return 1
 }
 
 func (this *Module) Module_index_submenu() []utils.ModuleSubMenu {
 	result := make([]utils.ModuleSubMenu, 0)
-	result = append(result, utils.ModuleSubMenu{Alias: "default", Name: "List of pages"})
-	result = append(result, utils.ModuleSubMenu{Alias: "modify", Name: "Add new page"})
+	result = append(result, utils.ModuleSubMenu{
+		Alias: "default",
+		Name:  "List of pages",
+		Icon:  others.File_assets_sys_svg_list,
+	})
+	result = append(result, utils.ModuleSubMenu{
+		Alias: "modify",
+		Name:  "Add new page",
+		Icon:  others.File_assets_sys_svg_plus,
+	})
 	return result
 }
 

+ 10 - 1
engine/backend/modules/module_settings.go

@@ -1,6 +1,7 @@
 package modules
 
 import (
+	others "golang-fave/engine/wrapper/resources/others"
 	utils "golang-fave/engine/wrapper/utils"
 )
 
@@ -20,13 +21,21 @@ func (this *Module) Module_settings_name() string {
 	return "Settings"
 }
 
+func (this *Module) Module_settings_icon() string {
+	return others.File_assets_sys_svg_gear
+}
+
 func (this *Module) Module_settings_order() int {
 	return 0
 }
 
 func (this *Module) Module_settings_submenu() []utils.ModuleSubMenu {
 	result := make([]utils.ModuleSubMenu, 0)
-	result = append(result, utils.ModuleSubMenu{Alias: "default", Name: "Settings"})
+	result = append(result, utils.ModuleSubMenu{
+		Alias: "default",
+		Name:  "Settings",
+		Icon:  others.File_assets_sys_svg_list,
+	})
 	return result
 }
 

+ 15 - 2
engine/backend/modules/module_users.go

@@ -1,6 +1,7 @@
 package modules
 
 import (
+	others "golang-fave/engine/wrapper/resources/others"
 	utils "golang-fave/engine/wrapper/utils"
 )
 
@@ -20,14 +21,26 @@ func (this *Module) Module_users_name() string {
 	return "Users"
 }
 
+func (this *Module) Module_users_icon() string {
+	return others.File_assets_sys_svg_gear
+}
+
 func (this *Module) Module_users_order() int {
 	return 0
 }
 
 func (this *Module) Module_users_submenu() []utils.ModuleSubMenu {
 	result := make([]utils.ModuleSubMenu, 0)
-	result = append(result, utils.ModuleSubMenu{Alias: "default", Name: "List of users"})
-	result = append(result, utils.ModuleSubMenu{Alias: "modify", Name: "Add new user"})
+	result = append(result, utils.ModuleSubMenu{
+		Alias: "default",
+		Name:  "List of users",
+		Icon:  others.File_assets_sys_svg_list,
+	})
+	result = append(result, utils.ModuleSubMenu{
+		Alias: "modify",
+		Name:  "Add new user",
+		Icon:  others.File_assets_sys_svg_plus,
+	})
 	return result
 }
 

+ 13 - 2
engine/backend/modules/modules.go

@@ -18,6 +18,7 @@ type ModuleItem struct {
 	Alias   string
 	Display bool
 	Name    string
+	Icon    string
 	Order   int
 }
 
@@ -50,6 +51,15 @@ func (this *Module) module_get_name(name string) string {
 	return ""
 }
 
+func (this *Module) module_get_icon(name string) string {
+	mname := "Module_" + name + "_icon"
+	if _, ok := reflect.TypeOf(this).MethodByName(mname); ok {
+		result := reflect.ValueOf(this).MethodByName(mname).Call([]reflect.Value{})
+		return result[0].String()
+	}
+	return ""
+}
+
 func (this *Module) module_get_order(name string) int {
 	mname := "Module_" + name + "_order"
 	if _, ok := reflect.TypeOf(this).MethodByName(mname); ok {
@@ -70,7 +80,7 @@ func (this *Module) module_get_submenu(name string) string {
 			if name == this.mmod && value.Alias == this.smod {
 				class = " active"
 			}
-			result_html += `<li class="nav-item` + class + `"><a class="nav-link" href="/cp/` + name + `/` + value.Alias + `/">` + value.Name + `</a></li>`
+			result_html += `<li class="nav-item` + class + `"><a class="nav-link" href="/cp/` + name + `/` + value.Alias + `/">` + value.Icon + value.Name + `</a></li>`
 		}
 		if result_html != "" {
 			result_html = `<ul class="nav flex-column">` + result_html + `</ul>`
@@ -91,6 +101,7 @@ func (this *Module) module_get_list_of_modules() *[]ModuleItem {
 					alias,
 					this.module_get_display(alias),
 					this.module_get_name(alias),
+					this.module_get_icon(alias),
 					this.module_get_order(alias),
 				})
 			}
@@ -155,7 +166,7 @@ func (this *Module) GetSidebarLeft() string {
 				class = " active"
 				submenu = this.module_get_submenu(value.Alias)
 			}
-			sidebar += `<li class="nav-item` + class + `"><a class="nav-link" href="/cp/` + value.Alias + `/">` + value.Name + `</a>` + submenu + `</li>`
+			sidebar += `<li class="nav-item` + class + `"><a class="nav-link" href="/cp/` + value.Alias + `/">` + value.Icon + value.Name + `</a>` + submenu + `</li>`
 		}
 	}
 	sidebar += `</ul>`

+ 6 - 0
engine/wrapper/resources/others/assets.sys.svg.icons.go

@@ -0,0 +1,6 @@
+package others
+
+var File_assets_sys_svg_page = `<svg viewBox="0 0 16 16" width="16" height="16" class="sicon" version="1.1"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"></path></svg>`
+var File_assets_sys_svg_list = `<svg viewBox="0 0 16 16" width="16" height="16" class="sicon" version="1.1"><path fill-rule="evenodd" d="M2 13c0 .59 0 1-.59 1H.59C0 14 0 13.59 0 13c0-.59 0-1 .59-1h.81c.59 0 .59.41.59 1H2zm2.59-9h6.81c.59 0 .59-.41.59-1 0-.59 0-1-.59-1H4.59C4 2 4 2.41 4 3c0 .59 0 1 .59 1zM1.41 7H.59C0 7 0 7.41 0 8c0 .59 0 1 .59 1h.81c.59 0 .59-.41.59-1 0-.59 0-1-.59-1h.01zm0-5H.59C0 2 0 2.41 0 3c0 .59 0 1 .59 1h.81c.59 0 .59-.41.59-1 0-.59 0-1-.59-1h.01zm10 5H4.59C4 7 4 7.41 4 8c0 .59 0 1 .59 1h6.81c.59 0 .59-.41.59-1 0-.59 0-1-.59-1h.01zm0 5H4.59C4 12 4 12.41 4 13c0 .59 0 1 .59 1h6.81c.59 0 .59-.41.59-1 0-.59 0-1-.59-1h.01z"></path></svg>`
+var File_assets_sys_svg_plus = `<svg viewBox="0 0 16 16" width="16" height="16" class="sicon" version="1.1"><path fill-rule="evenodd" d="M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"></path></svg>`
+var File_assets_sys_svg_gear = `<svg viewBox="0 0 16 16" width="16" height="16" class="sicon" version="1.1"><path fill-rule="evenodd" d="M14 8.77v-1.6l-1.94-.64-.45-1.09.88-1.84-1.13-1.13-1.81.91-1.09-.45-.69-1.92h-1.6l-.63 1.94-1.11.45-1.84-.88-1.13 1.13.91 1.81-.45 1.09L0 7.23v1.59l1.94.64.45 1.09-.88 1.84 1.13 1.13 1.81-.91 1.09.45.69 1.92h1.59l.63-1.94 1.11-.45 1.84.88 1.13-1.13-.92-1.81.47-1.09L14 8.75v.02zM7 11c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"></path></svg>`

+ 5 - 0
engine/wrapper/resources/styles/assets.cp.styles.css

@@ -205,4 +205,9 @@ body.cp .wrap .sidebar.sidebar-left ul.nav ul.nav li.nav-item.active {
 
 body.cp .wrap .sidebar.sidebar-left ul.nav ul.nav li.nav-item.active a {
 	color: #417cb9;
+}
+
+body.cp .wrap .sidebar.sidebar-left ul.nav li.nav-item svg.sicon {
+	fill: currentColor;
+	margin-right: 5px;
 }

File diff suppressed because it is too large
+ 0 - 0
engine/wrapper/resources/styles/assets.cp.styles.css.go


+ 1 - 0
engine/wrapper/utils/struct_msubmenu.go

@@ -3,4 +3,5 @@ package utils
 type ModuleSubMenu struct {
 	Alias string
 	Name  string
+	Icon  string
 }

Some files were not shown because too many files changed in this diff