Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sencha-reporting-portfolio
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
sencha-reporting-portfolio
Commits
2bd45962
Commit
2bd45962
authored
Sep 14, 2014
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Chart DnD: Creating and deleting sprite
parent
5641afe0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
11 deletions
+68
-11
sales-pipeline.adp
lib/sales-pipeline.adp
+68
-11
No files found.
lib/sales-pipeline.adp
View file @
2bd45962
...
...
@@ -18,28 +18,38 @@ Ext.require([
]);
function launchDiagram(){
// Store of all main projects and project specific fields
var projectMainStore = Ext.StoreManager.get('projectMainStore');
// Store of chart items with chart specific values x_axis, color, etc.
var chartStore = Ext.create('Ext.data.JsonStore', {
fields: ['x_axis', 'y_axis', 'color', 'diameter', 'caption'],
data: [
]
});
// Transform project values into chart values
projectMainStore.each(function (rec) {
console.log('Store.each: '+rec);
var color = "lightblue";
switch (rec.get('on_track_status_id') {
case '66':
color = "green";
break;
var on_track_status = rec.get('on_track_status_id'); // "66"=green, "67"=yellow, "68"=red, ""=undef
var presales_value = rec.get('presales_value'); // String with number
var presales_probability = rec.get('presales_probability'); // String with number
if ("" == presales_value) { presales_value = 0; }
if ("" == presales_probability) { presales_probability = 0; }
presales_value = parseFloat(presales_value); // Convert to float number
presales_probability = parseFloat(presales_probability);
var color = "white";
switch (on_track_status) {
case '66': color = "green"; break;
case '67': color = "orange"; break;
case '68': color = "red"; break;
}
chartStore.add({
x_axis: p
arseFloat(rec.get('presales_value'))
,
y_axis: p
arseFloat(rec.get('presales_probability'))
,
x_axis: p
resales_value
,
y_axis: p
resales_probability
,
color: color,
diameter:
3
0,
diameter:
1
0,
caption: rec.get('project_name')
});
});
...
...
@@ -47,8 +57,8 @@ function launchDiagram(){
function createHandler(fieldName) {
return function(sprite, record, attr, index, store) {
return Ext.apply(attr, {
radius:
20, //
record.get('diameter'),
fill: record.get('color')
// record.get('color')
radius: record.get('diameter'),
fill: record.get('color')
});
};
};
...
...
@@ -87,6 +97,53 @@ function launchDiagram(){
}]
});
var dndOrgSprite = null;
var dndSpriteShadow = null;
var dndStartXY = null;
var onSpriteMouseDown = function(sprite, event, eOpts) {
console.log("onSpriteMouseDown: "+event.getXY());
dndOrgSprite = sprite;
dndStartXY = event.getXY();
// Create a copy of the sprite without fill
var attrs = Ext.clone(sprite.attr);
delete attrs.fill;
attrs.type = sprite.type;
attrs.radius = 15;
attrs.stroke = 'blue';
attrs['stroke-opacity'] = 1.0;
dndSpriteShadow = sprite.surface.add(attrs).show(true);
};
var onSurfaceMouseMove = function(event, eOpts) {
if (dndOrgSprite == null) { return; }
console.log("onSurfaceMouseMove: "+event.getXY());
var xy = event.getXY();
dndSpriteShadow.setAttributes({
x: xy.x,
y: xy.y
}, true);
};
var onSurfaceMouseUp = function(event, eOpts) {
console.log("onSurfaceMouseUp: "+event.getXY());
this.remove(dndSpriteShadow, true);
dndSpriteShadow = null;
dndOrgSprite = null;
dndStart = null;
};
// Add drag-and-drop listeners to the sprites
var surface = chart.surface;
var items = surface.items.items;
for (var i = 0, ln = items.length; i < ln; i++) {
items[i].on("mousedown", onSpriteMouseDown, items[i]);
}
surface.on("mousemove", onSurfaceMouseMove, surface);
surface.on("mouseup", onSurfaceMouseUp, surface);
};
Ext.onReady(function() {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment