Path: blob/main/projects/HexGL/libs/Editor_files/ModuleList.js
4627 views
var pgli = pgli || {};1pgli.ui = pgli.ui || {};23pgli.ui.ModuleList = gamecore.Base.extend('ModuleList',4{ // static5tplModuleItem: "<li data-path='$path'>$name</li>",6tplModuleList: "<ul data-path='$path'>$list</ul>"7},8{ // instance910project: null,11container: null,1213init: function(domContainer)14{15this.container = $('#'+domContainer);16this.container.on("click", "li", {object: this}, this.onModuleClick);17},1819bindProject: function(project)20{21this.project = project;22},2324draw: function()25{26var static = pgli.ui.ModuleList;27var modules = "";28var module = null;29if(!this.project.isEmpty()) for(var i = 0, len = this.project.getModulesCount(); i < len; ++i)30{31key = this.project.getModuleKey(i);32module = this.project.getModule(key);33modules += static.tplModuleItem.replace("$path", key).replace("$name", key);34}35this.container.html(static.tplModuleList.replace("$list", modules));36},3738onModuleClick: function(event)39{40event.data.object.project.rememberActiveFile();41event.data.object.project.getAppInstance().showInEditor($(this).attr("data-path"));42event.data.object.container.find('li').removeClass('active');43$(this).addClass('active');44}4546});4748