-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A welcome page #198
A welcome page #198
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
var $ = window.$ = require('jquery'); | ||
var jQuery = window.jQuery = $; | ||
var px = require('./modules/dashed.js'); | ||
|
||
require('../stylesheets/dashed.css'); | ||
require('../stylesheets/welcome.css'); | ||
|
||
require('bootstrap'); | ||
require('datatables'); | ||
require('d3'); | ||
|
||
require('../node_modules/cal-heatmap/cal-heatmap.css'); | ||
var CalHeatMap = require('cal-heatmap'); | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. multiple spaces shouldn't pass lint :P |
||
|
||
|
||
function modelViewTable(selector, modelEndpoint, ordering) { | ||
// Builds a dataTable from a flask appbuilder api endpoint | ||
$.getJSON(modelEndpoint + '/api/read', function (data) { | ||
var tableData = jQuery.map(data.result, function(el, i) { | ||
var row = $.map(data.list_columns, function(col, i) { | ||
return el[col]; | ||
}); | ||
return [row]; | ||
}); | ||
var cols = jQuery.map(data.list_columns, function(col, i) { | ||
return { "sTitle": data.label_columns[col] } | ||
}); | ||
$(selector).DataTable({ | ||
aaData: tableData, | ||
aoColumns: cols, | ||
bPaginate: false, | ||
order: ordering, | ||
searching: false | ||
}); | ||
$('[data-toggle="tooltip"]').tooltip({ container: 'body' }); | ||
}); | ||
} | ||
|
||
$(document).ready(function () { | ||
var cal = new CalHeatMap(); | ||
cal.init({ | ||
start: new Date().setFullYear(new Date().getFullYear() - 1), | ||
range: 13, | ||
data: '/dashed/activity_per_day', | ||
domain : "month", | ||
subDomain : "day", | ||
itemName: "action", | ||
tooltip: true | ||
}); | ||
modelViewTable('#dash_table', '/dashboardmodelviewasync'); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. just something to note: every time you give a DOM element an There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oh I didn't know that... will avoid id moving forward, a unique class works just as well |
||
modelViewTable('#slice_table', '/sliceasync'); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -68,6 +68,10 @@ form div { | |
} | ||
.navbar-brand a { | ||
color: white; | ||
text-decoration: none; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thank god! that was annoying me 👍 |
||
} | ||
.navbar-brand a:hover { | ||
color: white; | ||
} | ||
|
||
.header span { | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
.welcome .widget{ | ||
border-radius: 0; | ||
border: 1px solid #ccc; | ||
box-shadow: 2px 1px 5px -2px #aaa; | ||
background-color: #fff; | ||
} | ||
|
||
.welcome .widget .header { | ||
background-color: #f1f1f1; | ||
text-align: center; | ||
} | ||
|
||
.welcome .widget>div { | ||
padding: 3px; | ||
overflow: auto; | ||
max-height: 500px; | ||
} | ||
|
||
.table i { | ||
padding-top: 6px; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
"""log dt | ||
|
||
Revision ID: 1d2ddd543133 | ||
Revises: d2424a248d63 | ||
Create Date: 2016-03-25 14:35:44.642576 | ||
|
||
""" | ||
|
||
# revision identifiers, used by Alembic. | ||
revision = '1d2ddd543133' | ||
down_revision = 'd2424a248d63' | ||
|
||
from alembic import op | ||
import sqlalchemy as sa | ||
|
||
|
||
def upgrade(): | ||
op.add_column('logs', sa.Column('dt', sa.Date(), nullable=True)) | ||
|
||
|
||
def downgrade(): | ||
op.drop_column('logs', 'dt') |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
from copy import deepcopy, copy | ||
from collections import namedtuple | ||
from datetime import timedelta, datetime | ||
from datetime import timedelta, datetime, date | ||
import functools | ||
import json | ||
import logging | ||
|
@@ -15,12 +15,13 @@ | |
from flask.ext.appbuilder import Model | ||
from flask.ext.appbuilder.models.mixins import AuditMixin | ||
import pandas as pd | ||
import humanize | ||
from pydruid import client | ||
from pydruid.utils.filters import Dimension, Filter | ||
|
||
import sqlalchemy as sqla | ||
from sqlalchemy import ( | ||
Column, Integer, String, ForeignKey, Text, Boolean, DateTime, | ||
Column, Integer, String, ForeignKey, Text, Boolean, DateTime, Date, | ||
Table, create_engine, MetaData, desc, select, and_, func) | ||
from sqlalchemy.engine import reflection | ||
from sqlalchemy.orm import relationship | ||
|
@@ -68,6 +69,22 @@ def created_by_(self): | |
def changed_by_(self): | ||
return '{}'.format(self.changed_by or '') | ||
|
||
@property | ||
def modified(self): | ||
s = humanize.naturaltime(datetime.now() - self.changed_on) | ||
return "<nobr>{}</nobr>".format(s) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I removed these from the dashboard page, they are non-standard DOM elements and are not on the roadmap to be supported. maybe use something else? https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oh good to know. no-no-br! I fixed it with a css class :
|
||
|
||
@property | ||
def icons(self): | ||
return """ | ||
<a | ||
href="{self.datasource_edit_url}" | ||
data-toggle="tooltip" | ||
title="{self.datasource}"> | ||
<i class="fa fa-database"></i> | ||
</a> | ||
""".format(**locals()) | ||
|
||
|
||
class Url(Model, AuditMixinNullable): | ||
|
||
|
@@ -123,6 +140,13 @@ def datasource_link(self): | |
elif self.druid_datasource: | ||
return self.druid_datasource.link | ||
|
||
@property | ||
def datasource_edit_url(self): | ||
if self.table: | ||
return self.table.url | ||
elif self.druid_datasource: | ||
return self.druid_datasource.url | ||
|
||
@property | ||
@utils.memoized | ||
def viz(self): | ||
|
@@ -1057,6 +1081,7 @@ class Log(Model): | |
json = Column(Text) | ||
user = relationship('User', backref='logs', foreign_keys=[user_id]) | ||
dttm = Column(DateTime, default=func.now()) | ||
dt = Column(Date, default=date.today()) | ||
|
||
@classmethod | ||
def log_this(cls, f): | ||
|
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
{% extends "dashed/basic.html" %} | ||
|
||
{% block head_js %} | ||
{{ super() }} | ||
<script src="/static/assets/javascripts/dist/welcome.entry.js"></script> | ||
{% endblock %} | ||
|
||
{% block title %}Welcome!{% endblock %} | ||
|
||
{% block body %} | ||
<div class="container welcome"> | ||
<div class="header"> | ||
<h3><i class='fa fa-star'></i> Welcome!</h3> | ||
</div> | ||
<hr/> | ||
<div id="cal-heatmap"></div> | ||
<hr/> | ||
<div class="row"> | ||
<div class="col-md-6"> | ||
<div class="widget"> | ||
<div class="header"><h4><i class="fa fa-dashboard"></i> Dashboards</h4></div> | ||
<div> | ||
<table id="dash_table" class="table"></table> | ||
</div> | ||
</div> | ||
</div> | ||
<div class="col-md-6"> | ||
<div class="widget"> | ||
<div class="header"><h4><i class="fa fa-bar-chart"></i> Slices</h4></div> | ||
<div> | ||
<table id="slice_table" class="table"></table> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<hr/> | ||
{% endblock %} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this export a global
d3
var for the calendar? i.e., does it not need to bevar d3 = require('d3');
? or maybe it's not necessary if calendar has it's own d3 ref?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems to work after removing both dash.js (which I don't need) and d3... I'll keep it off then