Add Angular-Vis 4.16.0
An initial commit, providing javascript and meta files.
This commit is contained in:
commit
4c09af496a
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
*.pyc
|
||||
*.sw?
|
||||
*.sqlite3
|
||||
.DS_STORE
|
||||
*.egg-info
|
||||
.venv
|
||||
.tox
|
||||
build
|
||||
dist
|
22
LICENSE
Normal file
22
LICENSE
Normal file
@ -0,0 +1,22 @@
|
||||
The MIT License
|
||||
|
||||
Copyright 2015-2017 Chris Jackson and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
6
MANIFEST.in
Normal file
6
MANIFEST.in
Normal file
@ -0,0 +1,6 @@
|
||||
include README.txt
|
||||
recursive-include xstatic *
|
||||
global-exclude *.pyc
|
||||
global-exclude *.pyo
|
||||
global-exclude *.orig
|
||||
global-exclude *.rej
|
13
README.txt
Normal file
13
README.txt
Normal file
@ -0,0 +1,13 @@
|
||||
XStatic-Angular-Vis
|
||||
--------------
|
||||
|
||||
Angular-Vis JavaScript library packaged for setuptools (easy_install) / pip.
|
||||
|
||||
This package is intended to be used by **any** project that needs these files.
|
||||
|
||||
It intentionally does **not** provide any extra code except some metadata
|
||||
**nor** has any extra requirements. You MAY use some minimal support code from
|
||||
the XStatic base package, if you like.
|
||||
|
||||
You can find more info about the xstatic packaging way in the package `XStatic`.
|
||||
|
20
setup.cfg
Normal file
20
setup.cfg
Normal file
@ -0,0 +1,20 @@
|
||||
[metadata]
|
||||
name = XStatic-Angular-Vis
|
||||
description = Angular-Vis 4.16.0 (XStatic packaging standard)
|
||||
description-file = README.rst
|
||||
maintainer = xinni.ge
|
||||
maintainer-email = xinni.ge@ntt.com
|
||||
home-page = https://github.com/visjs/angular-visjs
|
||||
keywords = angular_vis xstatic
|
||||
license = MIT
|
||||
zip_safe = False
|
||||
namespace_packages =
|
||||
xstatic
|
||||
xstatic.pkg
|
||||
|
||||
[files]
|
||||
packages =
|
||||
xstatic
|
||||
|
||||
[bdist_wheel]
|
||||
universal = True
|
25
setup.py
Normal file
25
setup.py
Normal file
@ -0,0 +1,25 @@
|
||||
from setuptools import setup, find_packages
|
||||
from xstatic.pkg import angular_vis as xs
|
||||
|
||||
# The README.txt file should be written in reST so that PyPI can use
|
||||
# it to generate your project's PyPI page.
|
||||
long_description = open('README.txt').read()
|
||||
|
||||
setup(
|
||||
name=xs.PACKAGE_NAME,
|
||||
version=xs.PACKAGE_VERSION,
|
||||
description=xs.DESCRIPTION,
|
||||
long_description=long_description,
|
||||
classifiers=xs.CLASSIFIERS,
|
||||
keywords=xs.KEYWORDS,
|
||||
maintainer=xs.MAINTAINER,
|
||||
maintainer_email=xs.MAINTAINER_EMAIL,
|
||||
license=xs.LICENSE,
|
||||
url=xs.HOMEPAGE,
|
||||
platforms=xs.PLATFORMS,
|
||||
packages=find_packages(),
|
||||
namespace_packages=['xstatic', 'xstatic.pkg'],
|
||||
include_package_data=True,
|
||||
zip_safe=False,
|
||||
install_requires=[],
|
||||
)
|
8
tox.ini
Normal file
8
tox.ini
Normal file
@ -0,0 +1,8 @@
|
||||
[tox]
|
||||
minversion = 1.6
|
||||
skipsdist = True
|
||||
envlist = py27,py33,py34
|
||||
|
||||
[testenv:venv]
|
||||
commands = {posargs}
|
||||
|
1
xstatic/__init__.py
Normal file
1
xstatic/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
__import__('pkg_resources').declare_namespace(__name__)
|
1
xstatic/pkg/__init__.py
Normal file
1
xstatic/pkg/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
__import__('pkg_resources').declare_namespace(__name__)
|
50
xstatic/pkg/angular_vis/__init__.py
Normal file
50
xstatic/pkg/angular_vis/__init__.py
Normal file
@ -0,0 +1,50 @@
|
||||
"""
|
||||
XStatic resource package
|
||||
|
||||
See package 'XStatic' for documentation and basic tools.
|
||||
"""
|
||||
|
||||
DISPLAY_NAME = 'Angular-Vis' # official name, upper/lowercase allowed, no spaces
|
||||
PACKAGE_NAME = 'XStatic-%s' % DISPLAY_NAME # name used for PyPi
|
||||
|
||||
NAME = __name__.split('.')[-1] # package name (e.g. 'foo' or 'foo_bar')
|
||||
# please use a all-lowercase valid python
|
||||
# package name
|
||||
|
||||
VERSION = '4.16.0' # version of the packaged files, please use the upstream
|
||||
# version number
|
||||
BUILD = '0' # our package build number, so we can release new builds
|
||||
# with fixes for xstatic stuff.
|
||||
PACKAGE_VERSION = VERSION + '.' + BUILD # version used for PyPi
|
||||
|
||||
DESCRIPTION = "%s %s (XStatic packaging standard)" % (DISPLAY_NAME, VERSION)
|
||||
|
||||
PLATFORMS = 'any'
|
||||
CLASSIFIERS = []
|
||||
KEYWORDS = '%s xstatic' % NAME
|
||||
|
||||
# XStatic-* package maintainer:
|
||||
MAINTAINER = 'xinni.ge'
|
||||
MAINTAINER_EMAIL = 'xinni.ge@ntt.com'
|
||||
|
||||
# this refers to the project homepage of the stuff we packaged:
|
||||
HOMEPAGE = 'https://github.com/visjs/angular-visjs'
|
||||
|
||||
# this refers to all files:
|
||||
LICENSE = 'MIT'
|
||||
|
||||
from os.path import join, dirname
|
||||
BASE_DIR = join(dirname(__file__), 'data')
|
||||
# linux package maintainers just can point to their file locations like this:
|
||||
#BASE_DIR = '/usr/share/javascript/js-yaml'
|
||||
|
||||
LOCATIONS = {
|
||||
# CDN locations (if no public CDN exists, use an empty dict)
|
||||
# if value is a string, it is a base location, just append relative
|
||||
# path/filename. if value is a dict, do another lookup using the
|
||||
# relative path/filename you want.
|
||||
# your relative path/filenames should usually be without version
|
||||
# information, because either the base dir/url is exactly for this
|
||||
# version or the mapping will care for accessing this version.
|
||||
}
|
||||
|
225
xstatic/pkg/angular_vis/data/angular-vis.js
vendored
Normal file
225
xstatic/pkg/angular_vis/data/angular-vis.js
vendored
Normal file
@ -0,0 +1,225 @@
|
||||
angular.module('ngVis', [])
|
||||
|
||||
.factory('VisDataSet', function () {
|
||||
'use strict';
|
||||
return function (data, options) {
|
||||
// Create the new dataSets
|
||||
return new vis.DataSet(data, options);
|
||||
};
|
||||
})
|
||||
|
||||
/**
|
||||
* TimeLine directive
|
||||
*/
|
||||
.directive('visTimeline', function () {
|
||||
'use strict';
|
||||
return {
|
||||
restrict: 'EA',
|
||||
transclude: false,
|
||||
scope: {
|
||||
data: '=',
|
||||
options: '=',
|
||||
events: '='
|
||||
},
|
||||
link: function (scope, element, attr) {
|
||||
var timelineEvents = [
|
||||
'rangechange',
|
||||
'rangechanged',
|
||||
'timechange',
|
||||
'timechanged',
|
||||
'select',
|
||||
'doubleClick',
|
||||
'click',
|
||||
'contextmenu'
|
||||
];
|
||||
|
||||
// Declare the timeline
|
||||
var timeline = null;
|
||||
|
||||
scope.$watch('data', function () {
|
||||
// Sanity check
|
||||
if (scope.data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we've actually changed the data set, then recreate the graph
|
||||
// We can always update the data by adding more data to the existing data set
|
||||
if (timeline != null) {
|
||||
timeline.destroy();
|
||||
}
|
||||
|
||||
// Create the timeline object
|
||||
timeline = new vis.Timeline(element[0], scope.data.items, scope.data.groups, scope.options);
|
||||
|
||||
// Attach an event handler if defined
|
||||
angular.forEach(scope.events, function (callback, event) {
|
||||
if (timelineEvents.indexOf(String(event)) >= 0) {
|
||||
timeline.on(event, callback);
|
||||
}
|
||||
});
|
||||
|
||||
// onLoad callback
|
||||
if (scope.events != null && scope.events.onload != null &&
|
||||
angular.isFunction(scope.events.onload)) {
|
||||
scope.events.onload(timeline);
|
||||
}
|
||||
});
|
||||
|
||||
scope.$watchCollection('options', function (options) {
|
||||
if (timeline == null) {
|
||||
return;
|
||||
}
|
||||
timeline.setOptions(options);
|
||||
});
|
||||
}
|
||||
};
|
||||
})
|
||||
|
||||
/**
|
||||
* Directive for network chart.
|
||||
*/
|
||||
.directive('visNetwork', function () {
|
||||
return {
|
||||
restrict: 'EA',
|
||||
transclude: false,
|
||||
scope: {
|
||||
data: '=',
|
||||
options: '=',
|
||||
events: '='
|
||||
},
|
||||
link: function (scope, element, attr) {
|
||||
var networkEvents = [
|
||||
'click',
|
||||
'doubleClick',
|
||||
'oncontext',
|
||||
'hold',
|
||||
'release',
|
||||
'selectNode',
|
||||
'selectEdge',
|
||||
'deselectNode',
|
||||
'deselectEdge',
|
||||
'dragStart',
|
||||
'dragging',
|
||||
'dragEnd',
|
||||
'hoverNode',
|
||||
'blurNode',
|
||||
'zoom',
|
||||
'showPopup',
|
||||
'hidePopup',
|
||||
'startStabilizing',
|
||||
'stabilizationProgress',
|
||||
'stabilizationIterationsDone',
|
||||
'stabilized',
|
||||
'resize',
|
||||
'initRedraw',
|
||||
'beforeDrawing',
|
||||
'afterDrawing',
|
||||
'animationFinished'
|
||||
|
||||
];
|
||||
|
||||
var network = null;
|
||||
|
||||
scope.$watch('data', function () {
|
||||
// Sanity check
|
||||
if (scope.data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we've actually changed the data set, then recreate the graph
|
||||
// We can always update the data by adding more data to the existing data set
|
||||
if (network != null) {
|
||||
network.destroy();
|
||||
}
|
||||
|
||||
// Create the graph2d object
|
||||
network = new vis.Network(element[0], scope.data, scope.options);
|
||||
|
||||
// Attach an event handler if defined
|
||||
angular.forEach(scope.events, function (callback, event) {
|
||||
if (networkEvents.indexOf(String(event)) >= 0) {
|
||||
network.on(event, callback);
|
||||
}
|
||||
});
|
||||
|
||||
// onLoad callback
|
||||
if (scope.events != null && scope.events.onload != null &&
|
||||
angular.isFunction(scope.events.onload)) {
|
||||
scope.events.onload(network);
|
||||
}
|
||||
});
|
||||
|
||||
scope.$watchCollection('options', function (options) {
|
||||
if (network == null) {
|
||||
return;
|
||||
}
|
||||
network.setOptions(options);
|
||||
});
|
||||
}
|
||||
};
|
||||
})
|
||||
|
||||
/**
|
||||
* Directive for graph2d.
|
||||
*/
|
||||
.directive('visGraph2d', function () {
|
||||
'use strict';
|
||||
return {
|
||||
restrict: 'EA',
|
||||
transclude: false,
|
||||
scope: {
|
||||
data: '=',
|
||||
options: '=',
|
||||
events: '='
|
||||
},
|
||||
link: function (scope, element, attr) {
|
||||
var graphEvents = [
|
||||
'rangechange',
|
||||
'rangechanged',
|
||||
'timechange',
|
||||
'timechanged',
|
||||
'finishedRedraw'
|
||||
];
|
||||
|
||||
// Create the chart
|
||||
var graph = null;
|
||||
|
||||
scope.$watch('data', function () {
|
||||
// Sanity check
|
||||
if (scope.data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we've actually changed the data set, then recreate the graph
|
||||
// We can always update the data by adding more data to the existing data set
|
||||
if (graph != null) {
|
||||
graph.destroy();
|
||||
}
|
||||
|
||||
// Create the graph2d object
|
||||
graph = new vis.Graph2d(element[0], scope.data.items, scope.data.groups, scope.options);
|
||||
|
||||
// Attach an event handler if defined
|
||||
angular.forEach(scope.events, function (callback, event) {
|
||||
if (graphEvents.indexOf(String(event)) >= 0) {
|
||||
graph.on(event, callback);
|
||||
}
|
||||
});
|
||||
|
||||
// onLoad callback
|
||||
if (scope.events != null && scope.events.onload != null &&
|
||||
angular.isFunction(scope.events.onload)) {
|
||||
scope.events.onload(graph);
|
||||
}
|
||||
});
|
||||
|
||||
scope.$watchCollection('options', function (options) {
|
||||
if (graph == null) {
|
||||
return;
|
||||
}
|
||||
graph.setOptions(options);
|
||||
});
|
||||
}
|
||||
};
|
||||
})
|
||||
;
|
Loading…
Reference in New Issue
Block a user