compileTemplate(dashboardTemplate, errorReporter) { return { ...dashboardTemplate, title: dashboardTemplate.title || inlection.titleize(dashboardTemplate.name), items: (dashboardTemplate.items || []).map(item => this.compileItem(item, errorReporter)) }; }
numberMeasures(tableDefinition) { return tableDefinition.filter( column => !column.name.startsWith('_') && (this.columnType(column) === 'number') && this.fromMeasureDictionary(column) ).map(column => ({ name: column.name, types: ['sum', 'avg', 'min', 'max'], title: inflection.titleize(column.name) })); }
memberTitle(m) { return inflection.titleize(inflection.underscore(this.memberName(m))) !== m.title ? m.title : undefined; }
stepSegmentSelect(funnelDefinition, step) { return `SELECT ${this.stepUserIdColumnName(step)} user_id, ${this.stepUserIdColumnName(funnelDefinition.steps[0])} first_step_user_id, t, '${inflection.titleize(step.name)}' step FROM joined_events`; }
dimensions(tableDefinition) { return this.dimensionColumns(tableDefinition).map(column => { const res = { name: column.name, types: [column.columnType || this.columnType(column)], title: inflection.titleize(column.name) }; if (column.columnType !== 'time') { res.isPrimaryKey = column.attributes && column.attributes.indexOf('primaryKey') !== -1 || column.name.toLowerCase() === 'id'; } return res; }); }
titleize(name) { return inflection.titleize(inflection.underscore(name)); }
static getLabel (key) { return this.labels[key] || inflection.titleize(key).replace(/(^\s+|\s+$)/, '') }
for (let key in fields) { const field = fields[key] ret[0].push(field.label || inflection.titleize(key))