{removeSync:remove} = require 'remove'
-MODULE_LINK = 'node_modules/kraken'
+MODULE_LINK = 'node_modules/limn'
task \link 'Link package source to node_modules so the name resolves correctly' ->
# Browser-based require doens't support relative requires, but things
- # like `require 'kraken/utils'` rarely work in node without this hack.
+ # like `require 'limn/utils'` rarely work in node without this hack.
mkdirp 'node_modules'
if exists MODULE_LINK
remove MODULE_LINK
invoke \setup
coco <[ -bjc package.co ]>
- {sources} = require 'kraken/server/view-helpers'
+ {sources} = require 'limn/server/view-helpers'
browserify = require 'browserify'
Coco = require 'coco'
Jade = require 'jade'
invoke \bundle_vendor
task \bundle_app 'Build application bundle' ->
- {sources} = require 'kraken/server/view-helpers'
+ {sources} = require 'limn/server/view-helpers'
- app_bundle_path = 'var/js/kraken/app-bundle.js'
+ app_bundle_path = 'var/js/limn/app-bundle.js'
app_sources = sources("www/modules.yaml", 'development')
.filter -> not _.startsWith it, '/vendor'
- .map -> it.slice 1 .replace /js\/kraken/, 'lib'
+ .map -> it.slice 1 .replace /js\/limn/, 'lib'
mkdirp dirname app_bundle_path
bundle_js app_bundle_path, app_sources, {-minify}
say 'ok.\n'
task \bundle_vendor 'Build vendor bundle' ->
- {sources} = require 'kraken/server/view-helpers'
+ {sources} = require 'limn/server/view-helpers'
vendor_bundle_path = 'var/vendor/vendor-bundle.js'
vendor_sources = sources("www/modules.yaml", 'development')
task \source_list 'Print a list of the source file paths.' ->
invoke \setup
- {sources} = require 'kraken/server/view-helpers'
+ {sources} = require 'limn/server/view-helpers'
say do
sources("www/modules.yaml", 'development')
.map -> it.slice 1
-# Kraken UI: WMF Analytics Reportcard prototype
+# Limn — a GUI Visualization Toolkit
-Setup instructions to be cleaned up momentarily. (brb lunch)
### Setting Up
name : 'limn'
version : '0.1.0'
-description : 'A charting toolkit and dashboard.'
+description : 'A GUI Visualization Toolkit'
homepage : 'https://github.com/wikimedia/limn'
-keywords : <[ visualization graph d3 util server client browser ]>
+keywords : <[ visualization graph gui d3 ]>
author : 'David Schoonover <dsc@wikimedia.org> (http://less.ly)'
contributors : [
'Andrew Otto <otto@wikimedia.org>'
{
"name": "limn",
"version": "0.1.0",
- "description": "A charting toolkit and dashboard.",
+ "description": "A GUI Visualization Toolkit",
"homepage": "https://github.com/wikimedia/limn",
"keywords": [
"visualization",
"graph",
- "d3",
- "util",
- "server",
- "client",
- "browser"
+ "gui",
+ "d3"
],
"author": "David Schoonover <dsc@wikimedia.org> (http://less.ly)",
"contributors": [
Backbone = require 'backbone'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
/**
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ ReadyEmitter,
-} = require 'kraken/util/event'
+} = require 'limn/util/event'
Backbone = require 'backbone'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
Backbone = require 'backbone'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseBackboneMixin, mixinBase,
-} = require 'kraken/base/base-mixin'
+} = require 'limn/base/base-mixin'
Backbone = require 'backbone'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseBackboneMixin, mixinBase,
-} = require 'kraken/base/base-mixin'
+} = require 'limn/base/base-mixin'
{ BaseModel,
-} = require 'kraken/base/base-mixin'
+} = require 'limn/base/base-mixin'
{ DataBinding,
-} = require 'kraken/base/data-binding'
+} = require 'limn/base/data-binding'
EventEmitter::trigger = EventEmitter::emit
{ _, op
-} = require 'kraken/util'
+} = require 'limn/util'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel, BaseList,
-} = require 'kraken/base/base-model'
+} = require 'limn/base/base-model'
-Cascade = require 'kraken/util/cascade'
+Cascade = require 'limn/util/cascade'
Backbone = require 'backbone'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
class exports.DataBinding
-exports.Base = require 'kraken/base/base'
-mixins = require 'kraken/base/base-mixin'
-models = require 'kraken/base/base-model'
-views = require 'kraken/base/base-view'
-cache = require 'kraken/base/model-cache'
-cascading = require 'kraken/base/cascading-model'
-data_binding = require 'kraken/base/data-binding'
+exports.Base = require 'limn/base/base'
+mixins = require 'limn/base/base-mixin'
+models = require 'limn/base/base-model'
+views = require 'limn/base/base-view'
+cache = require 'limn/base/model-cache'
+cascading = require 'limn/base/cascading-model'
+data_binding = require 'limn/base/data-binding'
exports import mixins import models import views \
import cache import cascading import data_binding
_ = require 'underscore'
Seq = require 'seq'
-{ReadyEmitter} = require 'kraken/util/event'
+{ReadyEmitter} = require 'limn/util/event'
# TODO: Bubble events to decorated emitters
-models = require 'kraken/base/scaffold/scaffold-model'
-views = require 'kraken/base/scaffold/scaffold-view'
+models = require 'limn/base/scaffold/scaffold-model'
+views = require 'limn/base/scaffold/scaffold-view'
exports import models import views
-_ = require 'kraken/util/underscore'
-op = require 'kraken/util/op'
+_ = require 'limn/util/underscore'
+op = require 'limn/util/op'
{ BaseModel, BaseList,
-} = require 'kraken/base'
+} = require 'limn/base'
-_ = require 'kraken/util/underscore'
-op = require 'kraken/util/op'
+_ = require 'limn/util/underscore'
+op = require 'limn/util/op'
{ BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
{ Field, FieldList,
-} = require 'kraken/base/scaffold/scaffold-model'
+} = require 'limn/base/scaffold/scaffold-model'
FieldView = exports.FieldView = BaseView.extend do # {{{
Backbone = require 'backbone'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ ReadyEmitter,
-} = require 'kraken/util/event'
+} = require 'limn/util/event'
{ Parsers, ParserMixin,
-} = require 'kraken/util/parser'
+} = require 'limn/util/parser'
-chart_type = require 'kraken/chart/chart-type'
-chart_option = require 'kraken/chart/option'
-dygraphs = require 'kraken/chart/type/dygraphs'
-d3_chart = require 'kraken/chart/type/d3-chart'
-d3_elements = require 'kraken/chart/type/d3'
+chart_type = require 'limn/chart/chart-type'
+chart_option = require 'limn/chart/option'
+dygraphs = require 'limn/chart/type/dygraphs'
+d3_chart = require 'limn/chart/type/d3-chart'
+d3_elements = require 'limn/chart/type/d3'
exports import chart_type import chart_option \
import dygraphs import d3_chart import d3_elements
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ Parsers, ParserMixin, ParsingModel, ParsingView,
-} = require 'kraken/util/parser'
+} = require 'limn/util/parser'
{ BaseModel, BaseList,
-} = require 'kraken/base'
+} = require 'limn/base'
/**
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
{ ChartOption, ChartOptionList,
-} = require 'kraken/chart/option/chart-option-model'
+} = require 'limn/chart/option/chart-option-model'
DEBOUNCE_RENDER = exports.DEBOUNCE_RENDER = 100ms
ChartOptionView = exports.ChartOptionView = BaseView.extend do # {{{
tagName : 'section'
className : 'chart-option field'
- template : require 'kraken/template/chart/chart-option'
+ template : require 'limn/template/chart/chart-option'
type : 'string'
isCollapsed : true
__bind__ : <[ addField ]>
tagName : 'form'
className : 'chart-options scaffold'
- template : require 'kraken/template/chart/chart-scaffold'
+ template : require 'limn/template/chart/chart-scaffold'
collectionType : ChartOptionList
subviewType : ChartOptionView
-model = require 'kraken/chart/option/chart-option-model'
-view = require 'kraken/chart/option/chart-option-view'
+model = require 'limn/chart/option/chart-option-model'
+view = require 'limn/chart/option/chart-option-view'
exports import model import view
ColorBrewer = require 'colorbrewer'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ ChartType,
-} = require 'kraken/chart/chart-type'
+} = require 'limn/chart/chart-type'
{ D3ChartElement,
-} = require 'kraken/chart/type/d3/d3-chart-element'
+} = require 'limn/chart/type/d3/d3-chart-element'
root = do -> this
d3 = require 'd3'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ ChartType,
-} = require 'kraken/chart/chart-type'
+} = require 'limn/chart/chart-type'
root = do -> this
d3 = require 'd3'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ D3ChartElement
-} = require 'kraken/chart/type/d3/d3-chart-element'
+} = require 'limn/chart/type/d3/d3-chart-element'
-_fmt = require 'kraken/util/formatters'
+_fmt = require 'limn/util/formatters'
root = do -> this
ColorBrewer = require 'colorbrewer'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ ReadyEmitter,
-} = require 'kraken/util/event'
-# Base = require 'kraken/base/base'
+} = require 'limn/util/event'
+# Base = require 'limn/base/base'
root = do -> this
ColorBrewer = require 'colorbrewer'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ ChartType,
-} = require 'kraken/chart/chart-type'
+} = require 'limn/chart/chart-type'
ColorBrewer = require 'colorbrewer'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ D3ChartElement
-} = require 'kraken/chart/type/d3/d3-chart-element'
+} = require 'limn/chart/type/d3/d3-chart-element'
-_fmt = require 'kraken/util/formatters'
+_fmt = require 'limn/util/formatters'
root = do -> this
-d3chart = require 'kraken/chart/type/d3/d3-chart-element'
-line = require 'kraken/chart/type/d3/d3-line-element'
-bar = require 'kraken/chart/type/d3/d3-bar-element'
-# geo = require 'kraken/chart/type/d3/d3-geo-element'
+d3chart = require 'limn/chart/type/d3/d3-chart-element'
+line = require 'limn/chart/type/d3/d3-line-element'
+bar = require 'limn/chart/type/d3/d3-bar-element'
+# geo = require 'limn/chart/type/d3/d3-geo-element'
exports import line import bar import d3chart # import geo
-_ = require 'kraken/util/underscore'
+_ = require 'limn/util/underscore'
{ ChartType,
-} = require 'kraken/chart/chart-type'
+} = require 'limn/chart/chart-type'
class exports.DygraphsChartType extends ChartType
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel,
-} = require 'kraken/base'
+} = require 'limn/base'
{ Graph, GraphList,
-} = require 'kraken/graph/graph-model'
+} = require 'limn/graph/graph-model'
/**
Seq = require 'seq'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel, BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
{ Graph, GraphList, GraphDisplayView,
-} = require 'kraken/graph'
+} = require 'limn/graph'
{ Dashboard,
-} = require 'kraken/dashboard/dashboard-model'
+} = require 'limn/dashboard/dashboard-model'
/**
__bind__ : <[ addTab ]>
tagName : 'section'
className : 'dashboard'
- template : require 'kraken/template/dashboard/dashboard'
+ template : require 'limn/template/dashboard/dashboard'
events:
__bind__ : <[ ]>
className : 'tab-pane'
tag : 'div'
- template : require 'kraken/template/dashboard/dashboard-tab'
+ template : require 'limn/template/dashboard/dashboard-tab'
constructor: function DashboardTabView
-models = require 'kraken/dashboard/dashboard-model'
-views = require 'kraken/dashboard/dashboard-view'
+models = require 'limn/dashboard/dashboard-model'
+views = require 'limn/dashboard/dashboard-view'
exports import models import views
Seq = require 'seq'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseView, ViewList,
-} = require 'kraken/base'
+} = require 'limn/base'
{ DataSetView,
-} = require 'kraken/data/dataset-view'
+} = require 'limn/data/dataset-view'
{ MetricEditView,
-} = require 'kraken/data/metric-edit-view'
+} = require 'limn/data/metric-edit-view'
{ DataSource,
-} = require 'kraken/data/datasource-model'
+} = require 'limn/data/datasource-model'
/**
* @class DataSet selection and customization UI (root of the `data` tab).
__bind__ : <[ onMetricsChanged ]>
tagName : 'section'
className : 'data-ui'
- template : require 'kraken/template/data/data'
+ template : require 'limn/template/data/data'
datasources : null
ColorBrewer = require 'colorbrewer'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel, BaseList,
-} = require 'kraken/base'
+} = require 'limn/base'
{ Metric, MetricList,
-} = require 'kraken/data/metric-model'
+} = require 'limn/data/metric-model'
{ DataSource, DataSourceList,
-} = require 'kraken/data/datasource-model'
+} = require 'limn/data/datasource-model'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
/**
DataSetView = exports.DataSetView = BaseView.extend do # {{{
tagName : 'section'
className : 'dataset-ui dataset'
- template : require 'kraken/template/data/dataset'
+ template : require 'limn/template/data/dataset'
events:
'click .new-metric-button' : 'onNewMetric'
DataSetMetricView = exports.DataSetMetricView = BaseView.extend do # {{{
tagName : 'tr'
className : 'dataset-metric metric'
- template : require 'kraken/template/data/dataset-metric'
+ template : require 'limn/template/data/dataset-metric'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ TimeSeriesData, CSVData,
-} = require 'kraken/util/timeseries'
+} = require 'limn/util/timeseries'
{ BaseModel, BaseList, ModelCache,
-} = require 'kraken/base'
+} = require 'limn/base'
{ Metric, MetricList,
-} = require 'kraken/data/metric-model'
+} = require 'limn/data/metric-model'
/**
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel, BaseList, BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
/**
__bind__ : <[ ]>
tagName : 'section'
className : 'datasource-ui'
- template : require 'kraken/template/data/datasource-ui'
+ template : require 'limn/template/data/datasource-ui'
events :
'click .datasource-summary' : 'onHeaderClick'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel, BaseList, BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
/**
__bind__ : <[ ]>
tagName : 'section'
className : 'datasource'
- template : require 'kraken/template/data/datasource'
+ template : require 'limn/template/data/datasource'
-metric_model = require 'kraken/data/metric-model'
-metric_edit_view = require 'kraken/data/metric-edit-view'
-datasource_model = require 'kraken/data/datasource-model'
-datasource_view = require 'kraken/data/datasource-view'
-datasource_ui_view = require 'kraken/data/datasource-ui-view'
-dataset_model = require 'kraken/data/dataset-model'
-dataset_view = require 'kraken/data/dataset-view'
-data_view = require 'kraken/data/data-view'
+metric_model = require 'limn/data/metric-model'
+metric_edit_view = require 'limn/data/metric-edit-view'
+datasource_model = require 'limn/data/datasource-model'
+datasource_view = require 'limn/data/datasource-view'
+datasource_ui_view = require 'limn/data/datasource-ui-view'
+dataset_model = require 'limn/data/dataset-model'
+dataset_view = require 'limn/data/dataset-view'
+data_view = require 'limn/data/data-view'
exports import datasource_model import datasource_view import datasource_ui_view \
import dataset_model import dataset_view \
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseView,
-} = require 'kraken/base'
+} = require 'limn/base'
{ Metric,
-} = require 'kraken/data/metric-model'
+} = require 'limn/data/metric-model'
{ DataSourceUIView,
-} = require 'kraken/data/datasource-ui-view'
+} = require 'limn/data/datasource-ui-view'
__bind__ : <[ onChange ]>
tagName : 'section'
className : 'metric-edit-ui'
- template : require 'kraken/template/data/metric-edit'
+ template : require 'limn/template/data/metric-edit'
callOnReturnKeypress : 'onChange'
events:
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ BaseModel, BaseList,
-} = require 'kraken/base'
-ProjectColors = require 'kraken/data/project-colors'
+} = require 'limn/base'
+ProjectColors = require 'limn/data/project-colors'
DataSource = DataSourceList = null
### FIXME: LOLHACKS ###
setTimeout do
- -> { DataSource, DataSourceList, } := require 'kraken/data/datasource-model'
+ -> { DataSource, DataSourceList, } := require 'limn/data/datasource-model'
10
moment = require 'moment'
{ _, op,
-} = require 'kraken/util'
+} = require 'limn/util'
{ Graph,
-} = require 'kraken/graph/graph-model'
+} = require 'limn/graph/graph-model'
{ GraphView,
-} = require 'kraken/graph/graph-view'
+} = require 'limn/graph/graph-view'
root = do -> this
GraphDisplayView = exports.GraphDisplayView = GraphView.extend do # {{{
tagName : 'section'
className : 'graph graph-display'
- template : require 'kraken/template/graph/graph-display'
+ template : require 'limn/template/graph/graph-display'
events:
# Select the whole permalink URI text when it receives focus.