@ -1,5 +1,5 @@
import { Configurator , FileUtils } from './fileutils'
import { loadTemplate Single} from "./templates"
import { loadTemplate , loadTemplate Single} from "./templates"
const shell = require ( 'electron' ) . shell ;
@ -40,17 +40,42 @@ export function buildFileCard(filePath: string, elem: Element, append: boolean =
export function buildWebCardsFromConfig ( configName : string ) {
let elementConfig = Configurator . loadAppConfig ( configName ) ;
let $ = require ( 'jquery' )
let keys = Object . keys ( elementConfig ) ;
let containers = Object . keys ( elementConfig ) ;
for ( let i = 0 , l = containers . length ; i < l ; i ++ ) {
let containerName = containers [ i ] ;
let containerObject = elementConfig [ containerName ] ;
let containerElem = $ ( ` # ${ containerName } ` ) ;
let containerCategories = Object . keys ( containerObject ) ;
for ( let j = 0 , m = containerCategories . length ; j < m ; j ++ ) {
let categoryName = containerCategories [ j ] ;
console . log ( containerObject ) ;
let contentList = containerObject [ categoryName ] ; //should be array of objects to render
let categoryClean = categoryName . replace ( / /ig , "-" )
let categoryObject = { "category" : categoryName , "category-clean" : categoryClean } ;
let categoryWrapperRaw = loadTemplate ( "card-category.mustache" , categoryObject , ( x ) = > {
} ) ;
let categoryWrapper = $ ( categoryWrapperRaw ) ;
containerElem . append ( categoryWrapper ) ;
let view = $ ( ` # ${ categoryClean } -container ` ) ;
let collapseButton = $ ( ` # ${ categoryClean } -collapser ` ) ;
for ( let i = 0 , l = keys . length ; i < l ; i ++ ) {
let key = keys [ i ] ;
let contentList = elementConfig [ key ] ;
let element = $ ( ` # ${ key } ` ) ;
collapseButton . on ( "click" , ( ) = > {
let collapsable = $ ( ` # ${ categoryClean } -container ` ) ;
if ( "none" === collapsable . css ( 'display' ) ) {
collapsable . css ( "display" , "" ) ;
} else {
collapsable . css ( "display" , "none" ) ;
}
} ) ;
for ( let j = 0 , m = contentList . length ; j < m ; j ++ ) {
let content = contentList [ j ] ;
buildWebCard ( element , content , true , $ ) ;
buildWebCard ( view , content , true , $ ) ;
}
}
}