const merge = require('merge-stream');
const dir = require('node-dir');
const appState = {};
+
// PHP Functions File Libraries index file
var functionsFileReader = require('readline').createInterface({
input: require('fs').createReadStream('dev/modules.php')
}
function updateModule(appState){
let allMods = getModules();
- let newMods = getModuleByName(appState.name);
allMods[appState.modType].forEach(function(mod, index){
if(mod.name === appState.name){
allMods[appState.modType][index] = appState;
console.log(item)
});
}
-function buildList(){
- getModuleTypes(getModules()).forEach(function(modType){
- $(`<h2 id="${modType}-title">${modType} </h2>`).appendTo( $("#module-list-container"));
- $(`<ul class="module-list" id="${modType}-modules" />`).insertAfter( $(`#${modType}-title`));
- getModulesByType(modType).forEach(function(mod){
- $('<li>', {
- text : mod.name,
- class : `module-item module-active`,
- id : `${mod.name}-module`,
- "data-type" : modType
- }).appendTo( $(`#${modType}-modules`) );
- })
+function generateListItems(modType){
+ $(`<h2 id="${modType}-title">${modType} </h2>`).appendTo( $("#module-list-container"));
+ $(`<ul class="module-list" id="${modType}-modules" />`).insertAfter( $(`#${modType}-title`));
+ getModulesByType(modType).forEach(function(mod){
+ $('<li>', {
+ text : mod.name,
+ class : `module-item module-active-${mod.active}`,
+ id : `${mod.name}-module`,
+ "data-type" : modType
+ }).appendTo( $(`#${modType}-modules`) );
})
}
-function scanDev(){
- ['dev/core', 'dev/custom'].forEach(function(dirPath) {
- let modType = dirPath.stringFromToken('after', "/");
- let fullPath = path.join(__dirname, `../${dirPath}`);
- let mods = [];
- fs.readdir(fullPath, function(err, item) {
- item.forEach(function(modName){
- let reference = `${fullPath}/${modName}`.stringFromToken('after',"dev/", false, true);
- mods.push({
- name: modName,
- modType: modType,
- active: true,
- path: `${fullPath}/${modName}`,
- sass: `${reference}/${modName}`,
- functions: `${reference}/functions/${modName}.php`,
- reference:reference
+function buildList(modType){
+ if(modType){
+ generateListItems(modType)
+ }else{
+ getModuleTypes(getModules()).forEach(function(modType){
+ generateListItems(modType);
+ })
+ }
+}
+function scanDevDir(){
+ if(getModules() === null){
+ ['dev/core', 'dev/custom'].forEach(function(dirPath) {
+ let modType = dirPath.stringFromToken('after', "/");
+ let fullPath = path.join(__dirname, `../${dirPath}`);
+ let mods = [];
+ fs.readdir(fullPath, function(err, item) {
+ item.forEach(function(modName){
+ let reference = `${fullPath}/${modName}`.stringFromToken('after',"dev/", false, true);
+ mods.push({
+ name: modName,
+ modType: modType,
+ active: true,
+ path: `${fullPath}/${modName}`,
+ sass: `${reference}/${modName}`,
+ functions: `${reference}/functions/${modName}.php`,
+ reference:reference
+ });
});
+ storeModules(setModules(modType,mods));
+ console.log(modType)
+ buildList(modType);
});
- storeModules(setModules(modType,mods));
- });
- })
+ })
+ }else{
+ buildList()
+ }
}
$(document).on("click", '.module-item', function(){
_ = $(this);
let modName = _.attr('id').stringFromToken('before', '-', true);
let modType = _.data('type');
let thisModule = getModuleByName(modName);
- if( _.hasClass('module-active') ){
- _.removeClass('module-active');
+ if( _.hasClass('module-active-true') ){
+ _.removeClass('module-active-true');
+ _.addClass("module-active-false");
thisModule.active = false;
}else{
- _.addClass("module-active");
+ _.addClass("module-active-true");
+ _.removeClass("module-active-false");
thisModule.active = true;
}
-
updateModule(thisModule)
});
-scanDev();
-buildList();
\ No newline at end of file
+scanDevDir();
\ No newline at end of file