Example #1
0
// all local url should added viewMount and staticRoot
function create (settings) {
  var BH          = require('bootstrap-helper');  
  var currentDate = new Date();
  var config      = yi.merge(settings, yi.clone(Config));
  
  if ( ! config.viewMount && config.mount ) { config.viewMount = config.mount; }

  config.currentDate  = [currentDate.getFullYear(), currentDate.getMonth() + 1, currentDate.getDate()];

  if ( ! config.javascripts.base ) {
    config.javascripts.base = path.join(config.viewMount, config.staticRoot, '/javascripts/jsoncan-dashboard.js');
  }

  if ( ! config.stylesheets.base ) {
    config.stylesheets.base = path.join(config.viewMount, config.staticRoot, '/stylesheets/base.css');  
  }
  
  if ( ! config.mainToolbars ) {
    config.mainToolbars     = [ config.viewMount + '|i:th|' + config.title ];  
  }

  config.mainToolbars = BH.anchors.render(config.mainToolbars); 

  // prepare for logo
  if (yi.isNotEmpty(config.logo)) {
    config.logo = BH.anchors.render(config.logo);
  }

  if (yi.isNotEmpty(config.rightToolbars)) {
    config.rightToolbars = BH.anchors.render(config.rightToolbars);
  }

  if (yi.isNotEmpty(config.footbars)) {
    config.footbars = BH.anchors.render(config.footbars);
  }

  // console.log(config);

  return config;
}
Example #2
0
  this.forEachField(function (name, field) {
    var value = record[name];

    if (field.inputType == 'file' && yi.isNotEmpty(value)) {
      files.push(path.join(field.path, value));

      if (field.thumbs) {
        self.allThumbs(name, value).forEach(function (thumb) {
          files.push(thumb.file);
        });
      }

    }

  }, changedFields);
Example #3
0
function create (settings) {
  var currentDate = new Date();
  var config = yi.merge(settings, yi.clone(Config));
  var urlRoot;

  if (! config.viewMount && config.mount ) { config.viewMount = config.mount; }
  
  config.dashboardsConfig.viewMount = path.join(config.viewMount, config.dashboardsConfig.mount);

  urlRoot = path.join(config.viewMount, config.staticRoot);
  config.currentDate  = [currentDate.getFullYear(), currentDate.getMonth() + 1, currentDate.getDate()];

  
  // prepare for logo
  if (yi.isNotEmpty(config.logo)) {
    config.logo = anchors.render(config.logo);
  }

  // prepare for nav links, render toolbars
  if (yi.isNotEmpty(config.mainToolbars)) {
    config.mainToolbars = anchors.render(config.mainToolbars); 
  }

  if (yi.isNotEmpty(config.rightToolbars)) {
    config.rightToolbars = anchors.render(config.rightToolbars);
  }

  if (yi.isNotEmpty(config.footbars)) {
    config.footbars = anchors.render(config.footbars);
  }

  if ( ! config.stylesheets.base ) {
    config.stylesheets.base = path.join(urlRoot, '/stylesheets/base.css');  
  }
  
  if ( ! config.loginImage ) {
    config.loginImage = path.join(urlRoot, '/images/login.png');  
  }
  
  if ( ! config.redirectMap.login.root ) {
    config.redirectMap.login.root = config.dashboardsConfig.viewMount;
  }

  if ( ! config.redirectMap.memberOnly) {
    config.redirectMap.memberOnly = path.join(config.viewMount, '/login');
    
  }

  if ( ! config.redirectMap.logout ) {
    config.redirectMap.logout = path.join(config.viewMount, '/login');
  }

  if (config.hasDashboards) {
    if ( ! config.dashboardsConfig.mainToolbars) {
      config.dashboardsConfig.mainToolbars = [
        config.dashboardsConfig.viewMount + '|i:th|' + config.dashboardsConfig.title,
        path.join(config.dashboardsConfig.viewMount, '/members/add') + '|i:+|' + config.text.member
      ];
    }

    if ( ! config.dashboardsConfig.rightToolbars) {
      config.dashboardsConfig.rightToolbars = [
        config.viewMount + '/logout|i:off|' + config.text.logout
      ];
    }

    // keep cookie, session settings same
    config.dashboardsConfig.cookieSecret = config.cookieSecret;
    config.dashboardsConfig.session = yi.clone(config.session);

  }

  // init event
  config.event = new Event();

  if (config.onSuccess) {
    config.event.on('success', config.onSuccess);
  }

  if (config.onFailed) {
    config.event.on('failed', config.onFailed); 
  }

  // logout trigger
  if (config.onExit) {
    config.event.on('exit', config.onExit);  
  }

  return config;
}
Example #4
0
 this.forEachField(callback, function (name, field) {
   return yi.isNotEmpty(field.session) && typeof field.session === 'function';
 });