Merge lp:~bac/launchpad/bug-561586 into lp:launchpad

Proposed by Brad Crittenden
Status: Merged
Approved by: Edwin Grubbs
Approved revision: no longer in the source branch.
Merged at revision: 10830
Proposed branch: lp:~bac/launchpad/bug-561586
Merge into: lp:launchpad
Diff against target: 371 lines (+53/-51)
17 files modified
lib/lp/code/javascript/tests/test_productseries-setbranch.html (+1/-1)
lib/lp/registry/browser/__init__.py (+5/-4)
lib/lp/registry/browser/tests/productrelease-views.txt (+1/-1)
lib/lp/registry/browser/tests/productseries-views.txt (+3/-3)
lib/lp/registry/javascript/milestoneoverlay.js (+4/-4)
lib/lp/registry/javascript/milestonetable.js (+4/-5)
lib/lp/registry/javascript/team.js (+2/-2)
lib/lp/registry/javascript/tests/test_milestone_table.html (+6/-6)
lib/lp/registry/javascript/tests/test_milestone_table.js (+4/-4)
lib/lp/registry/javascript/tests/timeline-iframe.html (+4/-4)
lib/lp/registry/javascript/tests/timeline.js (+6/-6)
lib/lp/registry/javascript/timeline.js (+2/-2)
lib/lp/registry/templates/object-timeline-graph.pt (+2/-2)
lib/lp/registry/templates/productrelease-add-from-series.pt (+2/-2)
lib/lp/registry/templates/team-portlet-membership.pt (+2/-2)
lib/lp/registry/windmill/tests/test_yuitests.py (+1/-1)
utilities/lp-deps.py (+4/-2)
To merge this branch: bzr merge lp:~bac/launchpad/bug-561586
Reviewer Review Type Date Requested Status
Edwin Grubbs (community) Approve
Review via email: mp+24355@code.launchpad.net

Commit message

Move registry javascript to lp/registry/javascript.

Description of the change

= Summary =

Move registry javascript to (surprise!) lp/registry/javascript.

== Proposed fix ==

Make the move and then fix up all of the paths.

== Pre-implementation notes ==

None.

== Implementation details ==

As above.

== Tests ==

bin/test -vvm lp.registry -t test_yuitests

== Demo and Q/A ==

Check out milestone and timelines and ensure the JS isn't broken.

= Launchpad lint =

Hmmm, I'm certainly not responsible for any of these lint issues but
will have a look at the ones that seem reasonable.

Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.

Linting changed files:
  lib/lp/registry/javascript/tests/timeline.js
  utilities/lp-deps.py
  lib/lp/registry/javascript/tests/test_milestone_table.html
  lib/lp/registry/windmill/tests/test_yuitests.py
  lib/lp/registry/javascript/tests/timeline-iframe.html
  lib/lp/registry/javascript/tests/test_milestone_table.js

== JSLint notices ==
No handlers could be found for logger "bzr"
jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/canonical/launchpad/icing/PlotKit_Packed.js':
Line 16 character 11: Parens are not needed here.
if(typeof (MochiKit.Base)=="undefined"||typeof
(MochiKit.DOM)=="undefined"||typeof
(MochiKit.Color)=="undefined"||typeof (MochiKit.Format)=="undefined"){

Line 16 character 48: Parens are not needed here.
if(typeof (MochiKit.Base)=="undefined"||typeof
(MochiKit.DOM)=="undefined"||typeof
(MochiKit.Color)=="undefined"||typeof (MochiKit.Format)=="undefined"){

Line 16 character 84: Parens are not needed here.
if(typeof (MochiKit.Base)=="undefined"||typeof
(MochiKit.DOM)=="undefined"||typeof
(MochiKit.Color)=="undefined"||typeof (MochiKit.Format)=="undefined"){

Line 16 character 122: Parens are not needed here.
if(typeof (MochiKit.Base)=="undefined"||typeof
(MochiKit.DOM)=="undefined"||typeof
(MochiKit.Color)=="undefined"||typeof (MochiKit.Format)=="undefined"){

Line 41 character 11: Parens are not needed here.
if(typeof (PlotKit.Base)=="undefined"){

Line 54 character 16: Parens are not needed here.
return (typeof (Object.extend)=="function");

Line 66 character 12: Use the array literal notation [].
var _8=new Array();

Line 79 character 12: Use the array literal notation [].
return new Array();

Line 81 character 13: Use the array literal notation [].
var _11=new Array();

Line 85 character 25: Use '!==' to compare with '0'.
if(m.compare(_10[i],_12)!=0){

Line 110 character 13: Use the array literal notation [].
var _26=new Array();

Line 167 character 11: Parens are not needed here.
if(typeof (lst[x])=="function"){

Line 166 character 1: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
for(var x in lst){

Line 181 character 11: Parens are not needed here.
if(typeof (lst[x])=="function"){

Line 180 character 1: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
for(var x in lst){

Line 195 character 11: Parens are not needed here.
if(typeof (lst[x])=="function"){

Line 194 character 1: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
for(var x in lst){

Line 249 character 11: Parens are not needed here.
if(typeof (PlotKit.Base)=="undefined"){

Line 253 character 7: 'e' is already defined.
catch(e){

Line 256 character 11: Parens are not needed here.
if(typeof (PlotKit.Layout)=="undefined"){

Line 290 character 15: Use the array literal notation [].
this.bars=new Array();

Line 291 character 17: Use the array literal notation [].
this.points=new Array();

Line 292 character 17: Use the array literal notation [].
this.slices=new Array();

Line 293 character 17: Use the array literal notation [].
this.xticks=new Array();

Line 294 character 17: Use the array literal notation [].
this.yticks=new Array();

Line 295 character 19: Use the array literal notation [].
this.datasets=new Array();

Line 321 character 13: Use the array literal notation [].
var _57=new Array();

Line 322 character 13: Use the array literal notation [].
var _58=new Array();

Line 371 character 28: Use '===' to compare with 'null'.
if(this.hitTestCache.x2maxy==null){

Line 378 character 10: 'i' is already defined.
for(var i=1;i<_63.length;i++){

Line 385 character 8: Use '!==' to compare with 'null'.
if((_64!=null)){

Line 403 character 10: 'i' is already defined.
for(var i=0;i<this.slices.length;i++){

Line 457 character 15: Use '===' to compare with '0'.
if(this.xrange==0){

Line 463 character 15: Use '===' to compare with '0'.
if(this.yrange==0){

Line 512 character 15: Use the array literal notation [].
this.bars=new Array();

Line 513 character 6: 'i' is already defined.
var i=0;

Line 514 character 1: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
for(var _95 in this.datasets){

Line 554 character 15: Use the array literal notation [].
this.bars=new Array();

Line 555 character 6: 'i' is already defined.
var i=0;

Line 556 character 1: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
for(var _107 in this.datasets){

Line 580 character 17: Use the array literal notation [].
this.points=new Array();

Line 589 character 2: Be careful when making functions within a loop.
Consider putting the function in a closure.
});

Line 582 character 1: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
for(var _113 in this.datasets){

Line 613 character 17: Use the array literal notation [].
this.slices=new Array();

Line 620 character 14: Use '!==' to compare with '0'.
if(_122[i][1]!=0){

Line 629 character 17: Use the array literal notation [].
this.xticks=new Array();

Line 646 character 17: Use the array literal notation [].
this.xticks=new Array();

Line 666 character 17: Use the array literal notation [].
this.yticks=new Array();

Line 680 character 17: Use the array literal notation [].
this.yticks=new Array();

Line 718 character 17: Use the array literal notation [].
this.xticks=new Array();

Line 718 character 17: Too many errors. (32% scanned).

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/Base.js':
Line 21 character 15: Parens are not needed here.
    if (typeof(MochiKit.Base) == 'undefined' ||

Line 22 character 15: Parens are not needed here.
        typeof(MochiKit.DOM) == 'undefined' ||

Line 23 character 15: Parens are not needed here.
        typeof(MochiKit.Color) == 'undefined' ||

Line 24 character 15: Parens are not needed here.
        typeof(MochiKit.Format) == 'undefined')

Line 30 character 62: Missing semicolon.
    throw "PlotKit depends on MochiKit.{Base,Color,DOM,Format}"

Line 68 character 2: Missing semicolon.
}

Line 74 character 11: Parens are not needed here.
if (typeof(PlotKit.Base) == 'undefined') {

Line 87 character 2: Missing semicolon.
}

Line 93 character 23: Parens are not needed here.
        return (typeof(Object.extend) == 'function');

Line 98 character 2: Missing semicolon.
}

Line 111 character 30: Use the array literal notation [].
        var biggerList = new Array();

Line 128 character 66: Line breaking error ')'.
        if (!m.isArrayLike(sortedList) || (sortedList.length < 1))

Line 129 character 13: Expected '{' and instead saw 'return'.
            return new Array();

Line 129 character 24: Use the array literal notation [].
            return new Array();

Line 131 character 24: Use the array literal notation [].
        var uniq = new Array();

Line 135 character 52: Use '!==' to compare with '0'.
            if (m.compare(sortedList[i], lastElem) != 0) {

Line 145 character 27: Line breaking error 'Color'.
        var mc = MochiKit.Color

Line 145 character 32: Missing semicolon.
        var mc = MochiKit.Color

Line 149 character 46: Missing semicolon.
            return mc.Color[name + "Color"]()

Line 180 character 29: Use the array literal notation [].
        var fractions = new Array();

Line 181 character 29: Line breaking error ')'.
        if (isNil(increment))

Line 182 character 13: Expected '{' and instead saw 'increment'.
            increment = 0.1;

Line 183 character 27: Line breaking error ')'.
        if (isNil(toLevel))

Line 184 character 13: Expected '{' and instead saw 'toLevel'.
            toLevel = 0.4;

Line 185 character 29: Line breaking error ')'.
        if (isNil(fromLevel))

Line 186 character 13: Expected '{' and instead saw 'fromLevel'.
            fromLevel = -0.2;

Line 214 character 36: Line breaking error 'offsetLeft'.
                    curleft += obj.offsetLeft

Line 214 character 46: Missing semicolon.
                    curleft += obj.offsetLeft

Line 218 character 23: Line breaking error ')'.
        else if (obj.x)

Line 219 character 13: Expected '{' and instead saw 'curleft'.
            curleft += obj.x;

Line 227 character 30: Line breaking error 'offsetTop'.
               curtop += obj.offsetTop

Line 227 character 39: Missing semicolon.
               curtop += obj.offsetTop

Line 231 character 22: Line breaking error ')'.
       else if (obj.y)

Line 232 character 12: Expected '{' and instead saw 'curtop'.
           curtop += obj.y;

Line 249 character 23: Parens are not needed here.
            if (typeof(lst[x]) == 'function') continue;

Line 249 character 47: Expected '{' and instead saw 'continue'.
            if (typeof(lst[x]) == 'function') continue;

Line 248 character 9: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
        for (var x in lst) {

Line 263 character 24: Parens are not needed here.
             if (typeof(lst[x]) == 'function') continue;

Line 263 character 48: Expected '{' and instead saw 'continue'.
             if (typeof(lst[x]) == 'function') continue;

Line 262 character 10: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
         for (var x in lst) {

Line 277 character 24: Parens are not needed here.
             if (typeof(lst[x]) == 'function') continue;

Line 277 character 48: Expected '{' and instead saw 'continue'.
             if (typeof(lst[x]) == 'function') continue;

Line 276 character 10: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
         for (var x in lst) {

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/Canvas.js':
Line 26 character 16: Parens are not needed here.
    if ((typeof(PlotKit.Base) == 'undefined') ||

Line 27 character 16: Parens are not needed here.
        (typeof(PlotKit.Layout) == 'undefined'))

Line 33 character 95: Missing semicolon.
    throw "PlotKit.Layout depends on MochiKit.{Base,Color,DOM,Format}
and PlotKit.{Base,Layout}"

Line 41 character 11: Parens are not needed here.
if (typeof(PlotKit.CanvasRenderer) == 'undefined') {

Line 54 character 2: Missing semicolon.
}

Line 57 character 30: Line breaking error ')'.
    if (arguments.length > 0)

Line 58 character 9: Expected '{' and instead saw 'this'.
        this.__init__(element, layout, options);

Line 110 character 28: Line breaking error ')'.
    if (isNil(this.element))

Line 111 character 9: Expected '{' and instead saw 'throw'.
        throw "CanvasRenderer() - passed canvas is not found";

Line 113 character 24: Parens are not needed here.
    if (!this.isIE && !(PlotKit.CanvasRenderer.isSupported(this.element)))

Line 113 character 74: Line breaking error ')'.
    if (!this.isIE && !(PlotKit.CanvasRenderer.isSupported(this.element)))

Line 114 character 9: Expected '{' and instead saw 'throw'.
        throw "CanvasRenderer() - Canvas is not supported.";

Line 116 character 82: Line breaking error ')'.
    if (isNil(this.container) || (this.container.nodeName.toLowerCase()
!= "div"))

Line 117 character 9: Expected '{' and instead saw 'throw'.
        throw "CanvasRenderer() - <canvas> needs to be enclosed in <div>";

Line 120 character 24: Use the array literal notation [].
    this.xlabels = new Array();

Line 121 character 24: Use the array literal notation [].
    this.ylabels = new Array();

Line 168 character 36: Line breaking error ')'.
    if (this.options.drawBackground)

Line 169 character 9: Expected '{' and instead saw 'this'.
        this._renderBackground();

Line 197 character 37: Line breaking error ')'.
        if (this.options.strokeColor)

Line 198 character 13: Expected '{' and instead saw 'context'.
            context.strokeStyle = this.options.strokeColor.toRGBString();

Line 199 character 51: Line breaking error ')'.
        else if (this.options.strokeColorTransform)

Line 200 character 13: Expected '{' and instead saw 'context'.
            context.strokeStyle =
color[this.options.strokeColorTransform]().toRGBString();

Line 204 character 36: Line breaking error ')'.
            if (obj.name == setName)

Line 205 character 17: Expected '{' and instead saw 'plotFunc'.
                plotFunc(context, obj);

Line 206 character 10: Be careful when making functions within a loop.
Consider putting the function in a closure.
        };

Line 221 character 31: Line breaking error ')'.
        if ((w < 1) || (h < 1))

Line 222 character 13: Expected '{' and instead saw 'return'.
            return;

Line 223 character 36: Line breaking error ')'.
        if (this.options.shouldFill)

Line 224 character 13: Expected '{' and instead saw 'context'.
            context.fillRect(x, y, w, h);

Line 225 character 38: Line breaking error ')'.
        if (this.options.shouldStroke)

Line 226 character 13: Expected '{' and instead saw 'context'.
            context.strokeRect(x, y, w, h);

Line 248 character 37: Line breaking error ')'.
        if (this.options.strokeColor)

Line 249 character 13: Expected '{' and instead saw 'context'.
            context.strokeStyle = this.options.strokeColor.toRGBString();

Line 250 character 51: Line breaking error ')'.
        else if (this.options.strokeColorTransform)

Line 251 character 13: Expected '{' and instead saw 'context'.
            context.strokeStyle = color[strokeX]().toRGBString();

Line 260 character 42: Line breaking error ')'.
                if (point.name == setName)

Line 261 character 21: Expected '{' and instead saw 'ctx_'.
                    ctx_.lineTo(this.area.w * point.x + this.area.x,

Line 269 character 10: Be careful when making functions within a loop.
Consider putting the function in a closure.
        };

Line 295 character 19: Missing radix parameter.
        centerx = parseInt(centerx);

Line 296 character 19: Missing radix parameter.
        centery = parseInt(centery);

Line 297 character 18: Missing radix parameter.
        radius = parseInt(radius);

Line 318 character 10: Be careful when making functions within a loop.
Consider putting the function in a closure.
        };

Line 329 character 45: Line breaking error ')'.
                if (this.options.strokeColor)

Line 330 character 21: Expected '{' and instead saw 'context'.
                    context.strokeStyle =
this.options.strokeColor.toRGBString();

Line 331 character 59: Line breaking error ')'.
                else if (this.options.strokeColorTransform)

Line 332 character 21: Expected '{' and instead saw 'context'.
                    context.strokeStyle =
color[this.options.strokeColorTransform]().toRGBString();

Line 342 character 2: Missing semicolon.
}

Line 350 character 59: Line breaking error ')'.
    if (!this.options.drawXAxis && !this.options.drawYAxis)

Line 351 character 9: Expected '{' and instead saw 'return'.
        return;

Line 374 character 49: Expected '{' and instead saw 'return'.
                if (typeof(tick) == "function") return;

Line 374 character 49: Too many errors. (54% scanned).

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/EasyPlot.js':
Line 16 character 15: Parens are not needed here.
    if (typeof(PlotKit.CanvasRenderer) == 'undefined')

Line 18 character 15: Missing semicolon.
        throw ""

Line 29 character 11: Parens are not needed here.
if (typeof(PlotKit.EasyPlot) == 'undefined') {

Line 42 character 2: Missing semicolon.
}

Line 51 character 18: Missing radix parameter.
    this.width = parseInt(divElem.getAttribute('width'));

Line 52 character 19: Missing radix parameter.
    this.height = parseInt(divElem.getAttribute('height'));

Line 67 character 23: Parens are not needed here.
            if (typeof(datasources[i]) == "string") {

Line 101 character 29: Use '===' to compare with '0'.
    if ((this.deferredCount == 0) &&
(PlotKit.Base.keys(this.layout.datasets).length > 0)) {

Line 112 character 21: Use the array literal notation [].
    var table = new Array();

Line 124 character 29: Use '===' to compare with '0'.
    if ((this.deferredCount == 0) &&
(PlotKit.Base.keys(this.layout.datasets).length > 0)) {

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/Layout.js':
Line 18 character 15: Parens are not needed here.
    if (typeof(PlotKit.Base) == 'undefined')

Line 20 character 15: Missing semicolon.
        throw ""

Line 24 character 86: Missing semicolon.
    throw "PlotKit.Layout depends on MochiKit.{Base,Color,DOM,Format}
and PlotKit.Base"

Line 31 character 11: Parens are not needed here.
if (typeof(PlotKit.Layout) == 'undefined') {

Line 44 character 2: Missing semicolon.
}

Line 98 character 21: Use the array literal notation [].
    this.bars = new Array(); // array of bars to plot for bar charts

Line 99 character 23: Use the array literal notation [].
    this.points = new Array(); // array of points to plot for line plots

Line 100 character 23: Use the array literal notation [].
    this.slices = new Array(); // array of slices to draw for pie charts

Line 102 character 23: Use the array literal notation [].
    this.xticks = new Array();

Line 103 character 23: Use the array literal notation [].
    this.yticks = new Array();

Line 106 character 25: Use the array literal notation [].
    this.datasets = new Array();

Line 133 character 20: Line breaking error ')'.
 if (isNil(xcol))

Line 134 character 9: Expected '{' and instead saw 'xcol'.
  xcol = 0;

Line 135 character 20: Line breaking error ')'.
 if (isNil(ycol))

Line 136 character 9: Expected '{' and instead saw 'ycol'.
  ycol = 1;

Line 137 character 20: Line breaking error ')'.
 if (isNil(lcol))

Line 138 character 9: Expected '{' and instead saw 'lcol'.
     lcol = -1;

Line 141 character 20: Use the array literal notation [].
    var data = new Array();

Line 142 character 22: Use the array literal notation [].
    var labels = new Array();

Line 201 character 52: Line breaking error ')'.
            if ((x >= bar.x) && (x <= bar.x + bar.w)

Line 202 character 56: Line breaking error ')'.
                && (y >= bar.y) && (y - bar.y <= bar.h))

Line 203 character 17: Expected '{' and instead saw 'return'.
                return bar;

Line 208 character 38: Use '===' to compare with 'null'.
        if (this.hitTestCache.x2maxy == null) {

Line 218 character 20: 'i' is already defined.
        for (var i = 1; i < xvalues.length; i++) {

Line 226 character 22: Use '!==' to compare with 'null'.
        if ((xbefore != null)) {

Line 248 character 42: Line breaking error ')'.
        if (dist > this.options.pieRadius)

Line 249 character 13: Expected '{' and instead saw 'return'.
            return null;

Line 254 character 20: 'i' is already defined.
        for (var i = 0; i < this.slices.length; i++) {

Line 256 character 68: Line breaking error ')'.
            if (slice.startAngle < angle && slice.endAngle >= angle)

Line 257 character 17: Expected '{' and instead saw 'return'.
                return slice;

Line 291 character 39: Line breaking error ')'.
        if (this.options.xOriginIsZero)

Line 292 character 13: Expected '{' and instead saw 'this'.
            this.minxval = 0;

Line 294 character 13: Expected '{' and instead saw 'this'.
            this.minxval = listMin(map(parseFloat, map(itemgetter(0),
all)));

Line 305 character 39: Line breaking error ')'.
        if (this.options.yOriginIsZero)

Line 306 character 13: Expected '{' and instead saw 'this'.
            this.minyval = 0;

Line 308 character 13: Expected '{' and instead saw 'this'.
            this.minyval = listMin(map(parseFloat, map(itemgetter(1),
all)));

Line 324 character 21: Use '===' to compare with '0'.
    if (this.xrange == 0)

Line 324 character 25: Line breaking error ')'.
    if (this.xrange == 0)

Line 325 character 9: Expected '{' and instead saw 'this'.
        this.xscale = 1.0;

Line 327 character 9: Expected '{' and instead saw 'this'.
        this.xscale = 1/this.xrange;

Line 330 character 21: Use '===' to compare with '0'.
    if (this.yrange == 0)

Line 330 character 25: Line breaking error ')'.
    if (this.yrange == 0)

Line 331 character 9: Expected '{' and instead saw 'this'.
        this.yscale = 1.0;

Line 333 character 9: Expected '{' and instead saw 'this'.
        this.yscale = 1/this.yrange;

Line 392 character 21: Use the array literal notation [].
    this.bars = new Array();

Line 393 character 11: 'i' is already defined.
    var i = 0;

Line 396 character 47: Expected '{' and instead saw 'continue'.
        if (PlotKit.Base.isFuncLike(dataset)) continue;

Line 394 character 5: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
    for (var setName in this.datasets) {

Line 455 character 21: Use the array literal notation [].
    this.bars = new Array();

Line 456 character 11: 'i' is already defined.
    var i = 0;

Line 456 character 11: Too many errors. (59% scanned).

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/PlotKit.js':
Line 18 character 11: Parens are not needed here.
if (typeof(PlotKit.PlotKit) == 'undefined') {

Line 68 character 13: The body of a for in should be wrapped in an if
statement to filter unwanted properties from the prototype.
            for (k in m.EXPORT_TAGS) {

Line 87 character 15: Parens are not needed here.
    if (typeof(PlotKit.__compat__) == 'undefined') {

Line 118 character 20: 'i' is already defined.
        for (var i = 0; i < modules.length; i++) {

Line 147 character 17: document.write can be a form of eval.
                document.write('<script src="' + uri +

Line 150 character 10: Unnecessary semicolon.
        };

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/SVG.js':
Line 24 character 15: Parens are not needed here.
    if (typeof(PlotKit.Layout) == 'undefined')

Line 30 character 81: Missing semicolon.
    throw "PlotKit depends on MochiKit.{Base,Color,DOM,Format} and
PlotKit.Layout"

Line 39 character 29: Line breaking error ')'.
    if (arguments.length > 0)

Line 40 character 9: Expected '{' and instead saw 'this'.
        this.__init__(element, layout, options);

Line 52 character 2: Missing semicolon.
}

Line 88 character 19: Missing radix parameter.
    this.height = parseInt(this.element.getAttribute("height"));

Line 89 character 18: Missing radix parameter.
    this.width = parseInt(this.element.getAttribute("width"));

Line 104 character 28: Line breaking error ')'.
    if (isNil(this.element))

Line 105 character 9: Expected '{' and instead saw 'throw'.
        throw "SVGRenderer() - passed SVG object is not found";

Line 107 character 80: Line breaking error ')'.
    if (isNil(this.container) || this.container.nodeName.toLowerCase()
!= "div")

Line 108 character 9: Expected '{' and instead saw 'throw'.
        throw "SVGRenderer() - No DIV's around the SVG.";

Line 111 character 24: Use the array literal notation [].
    this.xlabels = new Array();

Line 112 character 24: Use the array literal notation [].
    this.ylabels = new Array();

Line 132 character 36: Line breaking error ')'.
    if (this.options.drawBackground)

Line 133 character 9: Expected '{' and instead saw 'this'.
        this._renderBackground();

Line 158 character 25: Use the array literal notation [].
        var attrs = new Array();

Line 161 character 36: Line breaking error ')'.
        if (this.options.shouldFill)

Line 162 character 13: Expected '{' and instead saw 'attrs'.
            attrs["fill"] = color.toRGBString();

Line 162 character 19: ['fill'] is better written in dot notation.
            attrs["fill"] = color.toRGBString();

Line 164 character 13: Expected '{' and instead saw 'attrs'.
            attrs["fill"] = "none";

Line 164 character 19: ['fill'] is better written in dot notation.
            attrs["fill"] = "none";

Line 168 character 41: Line breaking error ')'.
            if (this.options.strokeColor)

Line 169 character 17: Expected '{' and instead saw 'attrs'.
                attrs["stroke"] = this.options.strokeColor.toRGBString();

Line 169 character 23: ['stroke'] is better written in dot notation.
                attrs["stroke"] = this.options.strokeColor.toRGBString();

Line 170 character 55: Line breaking error ')'.
            else if (this.options.strokeColorTransform)

Line 171 character 17: Expected '{' and instead saw 'attrs'.
                attrs["stroke"] =
color[this.options.strokeColorTransform]().toRGBString();

Line 171 character 23: ['stroke'] is better written in dot notation.
                attrs["stroke"] =
color[this.options.strokeColorTransform]().toRGBString();

Line 172 character 19: ['strokeWidth'] is better written in dot notation.
            attrs["strokeWidth"] = this.options.strokeWidth;

Line 175 character 22: Line breaking error ')'.
        if (startFunc)

Line 176 character 13: Expected '{' and instead saw 'startFunc'.
            startFunc(attrs);

Line 179 character 36: Line breaking error ')'.
            if (obj.name == setName)

Line 180 character 17: Expected '{' and instead saw 'plotFunc'.
                plotFunc(attrs, obj);

Line 181 character 10: Be careful when making functions within a loop.
Consider putting the function in a closure.
        };

Line 184 character 20: Line breaking error ')'.
        if (endFunc)

Line 185 character 13: Expected '{' and instead saw 'endFunc'.
            endFunc(attrs);

Line 212 character 35: Parens are not needed here.
        this._tempPointsBuffer += (this.area.x) + "," +
(this.area.y+this.area.h) + " ";

Line 217 character 15: ['points'] is better written in dot notation.
        attrs["points"] = this._tempPointsBuffer;

Line 245 character 36: Line breaking error ')'.
        if (this.options.shouldFill)

Line 246 character 13: Expected '{' and instead saw 'attrs'.
            attrs["fill"] = color.toRGBString();

Line 246 character 19: ['fill'] is better written in dot notation.
            attrs["fill"] = color.toRGBString();

Line 248 character 13: Expected '{' and instead saw 'attrs'.
            attrs["fill"] = "none";

Line 248 character 19: ['fill'] is better written in dot notation.
            attrs["fill"] = "none";

Line 252 character 41: Line breaking error ')'.
            if (this.options.strokeColor)

Line 253 character 17: Expected '{' and instead saw 'attrs'.
                attrs["stroke"] = this.options.strokeColor.toRGBString();

Line 253 character 23: ['stroke'] is better written in dot notation.
                attrs["stroke"] = this.options.strokeColor.toRGBString();

Line 254 character 55: Line breaking error ')'.
            else if (this.options.strokeColorTransform)

Line 255 character 17: Expected '{' and instead saw 'attrs'.
                attrs["stroke"] =
color[this.options.strokeColorTransform]().toRGBString();

Line 255 character 23: ['stroke'] is better written in dot notation.
                attrs["stroke"] =
color[this.options.strokeColorTransform]().toRGBString();

Line 256 character 19: ['style'] is better written in dot notation.
            attrs["style"] = "stroke-width: " + this.options.strokeWidth;

Line 264 character 19: 'attrs' is already defined.
        var attrs = new Array();

Line 264 character 19: Too many errors. (37% scanned).

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/SweetCanvas.js':
Line 18 character 15: Parens are not needed here.
    if (typeof(PlotKit.CanvasRenderer) == 'undefined')

Line 24 character 95: Missing semicolon.
    throw "SweetCanvas depends on MochiKit.{Base,Color,DOM,Format} and
PlotKit.{Layout, Canvas}"

Line 28 character 11: Parens are not needed here.
if (typeof(PlotKit.SweetCanvasRenderer) == 'undefined') {

Line 89 character 36: Line breaking error ')'.
            if (name == setNames[i])

Line 90 character 17: Expected '{' and instead saw 'return'.
                return colorScheme[i%colorCount];

Line 101 character 31: Line breaking error ')'.
        if ((w < 1) || (h < 1))

Line 102 character 13: Expected '{' and instead saw 'return'.
            return;

Line 160 character 38: Line breaking error ')'.
            if (point.name == setName)

Line 161 character 17: Expected '{' and instead saw 'ctx_'.
                ctx_.lineTo(this.area.w * point.x + this.area.x,

Line 169 character 10: Be careful when making functions within a loop.
Consider putting the function in a closure.
        };

Line 218 character 19: Missing radix parameter.
        centerx = parseInt(centerx);

Line 219 character 19: Missing radix parameter.
        centery = parseInt(centery);

Line 220 character 18: Missing radix parameter.
        radius = parseInt(radius);

Line 257 character 10: Be careful when making functions within a loop.
Consider putting the function in a closure.
        };

Line 325 character 25: Missing semicolon.
PlotKit.SweetCanvas = {}

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/SweetSVG.js':
Line 19 character 15: Parens are not needed here.
    if (typeof(PlotKit.SVGRenderer) == 'undefined')

Line 25 character 89: Missing semicolon.
    throw "SweetSVG depends on MochiKit.{Base,Color,DOM,Format} and
PlotKit.{Layout, SVG}"

Line 29 character 11: Parens are not needed here.
if (typeof(PlotKit.SweetSVGRenderer) == 'undefined') {

Line 106 character 31: Line breaking error ')'.
        if ((w < 1) || (h < 1))

Line 107 character 13: Expected '{' and instead saw 'return'.
            return;

Line 110 character 15: ['style'] is better written in dot notation.
        attrs["style"] = strokeStyle;

Line 131 character 35: Parens are not needed here.
        this._tempPointsBuffer += (this.area.x) + "," +
(this.area.y+this.area.h) + " ";

Line 136 character 15: ['points'] is better written in dot notation.
        attrs["points"] = this._tempPointsBuffer;

Line 138 character 15: ['stroke'] is better written in dot notation.
        attrs["stroke"] = "none";

Line 139 character 15: ['transform'] is better written in dot notation.
        attrs["transform"] = "translate(-2, -1)";

Line 140 character 15: ['style'] is better written in dot notation.
        attrs["style"] = shadowStyle;

Line 144 character 15: ['transform'] is better written in dot notation.
        attrs["transform"] = "";

Line 145 character 15: ['style'] is better written in dot notation.
        attrs["style"] = strokeStyle;

Line 225 character 22: Missing semicolon.
PlotKit.SweetSVG = {}

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/PlotKit/excanvas.js':
Line 49 character 29: ['g_vml_'] is better written in dot notation.
        if (!doc.namespaces["g_vml_"]) {

Line 106 character 29: Missing semicolon.
        return this.context_ = new CanvasRenderingContext2D_(this);

Line 106 character 30: Expected an identifier and instead saw '='.
        return this.context_ = new CanvasRenderingContext2D_(this);

Line 106 character 30: Stopping, unable to continue. (14% scanned).

jslint: Lint found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/contrib/slimmer/tests/moo.ajax.js':
Line 21 character 50: Expected '{' and instead saw 'this'.
   if (this.transport.overrideMimeType)
this.transport.setRequestHeader('Connection', 'close');

Line 28 character 32: Line breaking error ')'.
   if (this.onComplete)

Line 29 character 17: Expected '{' and instead saw 'setTimeout'.
    setTimeout(function(){this.onComplete(this.transport);}.bind(this), 10);

Line 30 character 28: Line breaking error ')'.
   if (this.update)

Line 31 character 17: Expected '{' and instead saw 'setTimeout'.
    setTimeout(function(){this.update.innerHTML =
this.transport.responseText;}.bind(this), 10);

Line 37 character 35: Expected '{' and instead saw 'return'.
  if (window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP');

Line 38 character 41: Expected '{' and instead saw 'return'.
  else if (window.XMLHttpRequest) return new XMLHttpRequest();

Line 39 character 14: Expected '{' and instead saw 'return'.
  else return false;

jslint: No problem found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/lp/registry/javascript/tests/test_milestone_table.js'.

jslint: No problem found in
'/home/bac/launchpad/lp-branches/bug-561586/lib/lp/registry/javascript/tests/timeline.js'.

jslint: 13 files to lint.

== Pyflakes notices ==

utilities/lp-deps.py
    15: 'sys' imported but unused

== Pylint notices ==

utilities/lp-deps.py
    15: [W0611] Unused import sys

To post a comment you must log in.
Revision history for this message
Brad Crittenden (bac) wrote :

Edwin based on your suggestion on IRC I have also updated the registry javascript to be 'lp.registry'. I also fixed one lint issue and a problem with the code test not looking for lp.js in the right place.

Incremental at http://pastebin.ubuntu.com/424191/

Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

Hi Brad,

Thanks for making the tedious changes so I won't get stuck doing it.

merge-approved

-Edwin

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/lp/code/javascript/tests/test_productseries-setbranch.html'
--- lib/lp/code/javascript/tests/test_productseries-setbranch.html 2010-04-05 18:58:07 +0000
+++ lib/lp/code/javascript/tests/test_productseries-setbranch.html 2010-05-06 18:27:28 +0000
@@ -11,7 +11,7 @@
11 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssfonts/fonts.css"/>11 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssfonts/fonts.css"/>
12 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssbase/base.css"/>12 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssbase/base.css"/>
13 <link rel="stylesheet" href="../../../../canonical/launchpad/javascript/test.css" />13 <link rel="stylesheet" href="../../../../canonical/launchpad/javascript/test.css" />
14 <script type="text/javascript" src="../../../../canonical/launchpad/lp/lp.js"></script>14 <script type="text/javascript" src="../../../../canonical/launchpad/javascript/lp/lp.js"></script>
1515
16 <!-- The module under test -->16 <!-- The module under test -->
17 <script type="text/javascript" src="../productseries-setbranch.js"></script>17 <script type="text/javascript" src="../productseries-setbranch.js"></script>
1818
=== modified file 'lib/lp/registry/browser/__init__.py'
--- lib/lp/registry/browser/__init__.py 2010-02-09 05:13:05 +0000
+++ lib/lp/registry/browser/__init__.py 2010-05-06 18:27:28 +0000
@@ -101,7 +101,8 @@
101 }101 }
102 return """102 return """
103 YUI().use(103 YUI().use(
104 'node', 'registry.milestoneoverlay', 'registry.milestonetable',104 'node', 'lp.registry.milestoneoverlay',
105 'lp.registry.milestonetable',
105 function (Y) {106 function (Y) {
106107
107 var series_uri = '%(series_api_uri)s';108 var series_uri = '%(series_api_uri)s';
@@ -116,15 +117,15 @@
116 var config = {117 var config = {
117 milestone_form_uri: milestone_form_uri,118 milestone_form_uri: milestone_form_uri,
118 series_uri: series_uri,119 series_uri: series_uri,
119 next_step: Y.registry.milestonetable.get_milestone_row,120 next_step: Y.lp.registry.milestonetable.get_milestone_row,
120 activate_node: create_milestone_link121 activate_node: create_milestone_link
121 };122 };
122 Y.registry.milestoneoverlay.attach_widget(config);123 Y.lp.registry.milestoneoverlay.attach_widget(config);
123 var table_config = {124 var table_config = {
124 milestone_row_uri_template: milestone_row_uri,125 milestone_row_uri_template: milestone_row_uri,
125 milestone_rows_id: milestone_rows_id126 milestone_rows_id: milestone_rows_id
126 }127 }
127 Y.registry.milestonetable.setup(table_config);128 Y.lp.registry.milestonetable.setup(table_config);
128 });129 });
129 });130 });
130 """ % uris131 """ % uris
131132
=== modified file 'lib/lp/registry/browser/tests/productrelease-views.txt'
--- lib/lp/registry/browser/tests/productrelease-views.txt 2010-02-09 05:13:05 +0000
+++ lib/lp/registry/browser/tests/productrelease-views.txt 2010-05-06 18:27:28 +0000
@@ -124,7 +124,7 @@
124 >>> script = find_tag_by_id(view.render(), 'milestone-script')124 >>> script = find_tag_by_id(view.render(), 'milestone-script')
125 >>> print script125 >>> print script
126 <script id="milestone-script" type="text/javascript">126 <script id="milestone-script" type="text/javascript">
127 LPS.use(... 'registry.milestoneoverlay'...127 LPS.use(... 'lp.registry.milestoneoverlay'...
128 var milestone_form_uri = '.../app/simple/+addmilestone/++form++';128 var milestone_form_uri = '.../app/simple/+addmilestone/++form++';
129 var series_uri = '/app/simple';129 var series_uri = '/app/simple';
130 ...130 ...
131131
=== modified file 'lib/lp/registry/browser/tests/productseries-views.txt'
--- lib/lp/registry/browser/tests/productseries-views.txt 2010-05-03 18:28:16 +0000
+++ lib/lp/registry/browser/tests/productseries-views.txt 2010-05-06 18:27:28 +0000
@@ -80,7 +80,7 @@
80 >>> script = find_tag_by_id(view.render(), 'milestone-script')80 >>> script = find_tag_by_id(view.render(), 'milestone-script')
81 >>> print script81 >>> print script
82 <script id="milestone-script" type="text/javascript">82 <script id="milestone-script" type="text/javascript">
83 YUI().use(... 'registry.milestoneoverlay', 'registry.milestonetable'...83 YUI().use(... 'lp.registry.milestoneoverlay', 'lp.registry.milestonetable'...
84 var series_uri = '/app/simple';84 var series_uri = '/app/simple';
85 var milestone_form_uri = '.../app/simple/+addmilestone/++form++';85 var milestone_form_uri = '.../app/simple/+addmilestone/++form++';
86 var milestone_row_uri =86 var milestone_row_uri =
@@ -90,8 +90,8 @@
90 var create_milestone_link = Y.get(90 var create_milestone_link = Y.get(
91 '.menu-link-create_milestone');91 '.menu-link-create_milestone');
92 create_milestone_link.addClass('js-action');...92 create_milestone_link.addClass('js-action');...
93 Y.registry.milestoneoverlay.attach_widget(config);...93 Y.lp.registry.milestoneoverlay.attach_widget(config);...
94 Y.registry.milestonetable.setup(table_config);...94 Y.lp.registry.milestonetable.setup(table_config);...
9595
96If the Create milestone link is not enabled, the script is not present.96If the Create milestone link is not enabled, the script is not present.
9797
9898
=== renamed directory 'lib/canonical/launchpad/javascript/registry' => 'lib/lp/registry/javascript'
=== modified file 'lib/lp/registry/javascript/milestoneoverlay.js'
--- lib/canonical/launchpad/javascript/registry/milestoneoverlay.js 2010-02-09 05:13:05 +0000
+++ lib/lp/registry/javascript/milestoneoverlay.js 2010-05-06 18:27:28 +0000
@@ -3,12 +3,12 @@
3 *3 *
4 * A milestone form overlay that can create a milestone within any page.4 * A milestone form overlay that can create a milestone within any page.
5 *5 *
6 * @module Y.registry.milestoneoverlay6 * @module Y.lp.registry.milestoneoverlay
7 * @requires dom, node, io-base, lazr.anim, lazr.formoverlay7 * @requires dom, node, io-base, lazr.anim, lazr.formoverlay
8 */8 */
9YUI.add('registry.milestoneoverlay', function(Y) {9YUI.add('lp.registry.milestoneoverlay', function(Y) {
10 Y.log('loading registry.milestoneoverlay');10 Y.log('loading lp.registry.milestoneoverlay');
11 var module = Y.namespace('registry.milestoneoverlay');11 var module = Y.namespace('lp.registry.milestoneoverlay');
1212
13 var milestone_form;13 var milestone_form;
14 var milestone_form_uri;14 var milestone_form_uri;
1515
=== modified file 'lib/lp/registry/javascript/milestonetable.js'
--- lib/canonical/launchpad/javascript/registry/milestonetable.js 2010-02-12 16:29:55 +0000
+++ lib/lp/registry/javascript/milestonetable.js 2010-05-06 18:27:28 +0000
@@ -3,12 +3,12 @@
3 *3 *
4 * Dynamically add milestones to an HTML table.4 * Dynamically add milestones to an HTML table.
5 *5 *
6 * @module Y.registry.milestonetable6 * @module Y.lp.registry.milestonetable
7 * @requires node, io-base, substitute, lazr.anim7 * @requires node, io-base, substitute, lazr.anim
8 */8 */
9YUI.add('registry.milestonetable', function(Y) {9YUI.add('lp.registry.milestonetable', function(Y) {
10 Y.log('loading registry.milestonetable');10 Y.log('loading lp.registry.milestonetable');
11 var module = Y.namespace('registry.milestonetable');11 var module = Y.namespace('lp.registry.milestonetable');
1212
13 // get_milestone_row() needs these when it is called. Other methods13 // get_milestone_row() needs these when it is called. Other methods
14 // should get this information passed as an argument.14 // should get this information passed as an argument.
@@ -119,4 +119,3 @@
119}, "0.1", {"requires": [119}, "0.1", {"requires": [
120 "node", "io-base", "substitute", "lazr.anim"120 "node", "io-base", "substitute", "lazr.anim"
121 ]});121 ]});
122
123122
=== modified file 'lib/lp/registry/javascript/team.js'
--- lib/canonical/launchpad/javascript/registry/team.js 2010-01-29 10:52:58 +0000
+++ lib/lp/registry/javascript/team.js 2010-05-06 18:27:28 +0000
@@ -5,9 +5,9 @@
5 * @module lp.subscriber5 * @module lp.subscriber
6 */6 */
77
8YUI.add('registry.team', function(Y) {8YUI.add('lp.registry.team', function(Y) {
99
10var module = Y.namespace('registry.team');10var module = Y.namespace('lp.registry.team');
1111
12/*12/*
13 * Initialize click handler for the add member link13 * Initialize click handler for the add member link
1414
=== modified file 'lib/lp/registry/javascript/tests/test_milestone_table.html'
--- lib/canonical/launchpad/javascript/registry/tests/test_milestone_table.html 2010-03-30 18:54:42 +0000
+++ lib/lp/registry/javascript/tests/test_milestone_table.html 2010-05-06 18:27:28 +0000
@@ -4,12 +4,12 @@
4 <title>Launchpad milestonetable</title>4 <title>Launchpad milestonetable</title>
55
6 <!-- YUI 3.0 Setup -->6 <!-- YUI 3.0 Setup -->
7 <script type="text/javascript" src="../../../icing/yui/yui/yui.js"></script>7 <script type="text/javascript" src="../../../../canonical/launchpad/icing/yui/yui/yui.js"></script>
8 <script type="text/javascript" src="../../../icing/lazr/build/lazr.js"></script>8 <script type="text/javascript" src="../../../../canonical/launchpad/icing/lazr/build/lazr.js"></script>
9 <link rel="stylesheet" href="../../../icing/yui/cssreset/reset.css"/>9 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssreset/reset.css"/>
10 <link rel="stylesheet" href="../../../icing/yui/cssfonts/fonts.css"/>10 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssfonts/fonts.css"/>
11 <link rel="stylesheet" href="../../../icing/yui/cssbase/base.css"/>11 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssbase/base.css"/>
12 <link rel="stylesheet" href="../../test.css" />12 <link rel="stylesheet" href="../../../canonical/launchpad/javascript/test.css" />
1313
14 <!-- The module under test -->14 <!-- The module under test -->
15 <script type="text/javascript" src="../milestonetable.js"></script>15 <script type="text/javascript" src="../milestonetable.js"></script>
1616
=== modified file 'lib/lp/registry/javascript/tests/test_milestone_table.js'
--- lib/canonical/launchpad/javascript/registry/tests/test_milestone_table.js 2010-03-30 18:57:05 +0000
+++ lib/lp/registry/javascript/tests/test_milestone_table.js 2010-05-06 18:27:28 +0000
@@ -1,11 +1,11 @@
1/* Copyright (c) 2009, Canonical Ltd. All rights reserved. */1/* Copyright (c) 2009-2010, Canonical Ltd. All rights reserved. */
22
3YUI({3YUI({
4 base: '../../../icing/yui/',4 base: '../../../../canonical/launchpad/icing/yui/',
5 filter: 'raw', combine: false5 filter: 'raw', combine: false
6 }).use('test', 'console', 'registry.milestonetable', function(Y) {6 }).use('test', 'console', 'lp.registry.milestonetable', function(Y) {
77
8 var milestonetable = Y.registry.milestonetable;8 var milestonetable = Y.lp.registry.milestonetable;
9 var suite = new Y.Test.Suite("milestonetable Tests");9 var suite = new Y.Test.Suite("milestonetable Tests");
1010
11 suite.add(new Y.Test.Case({11 suite.add(new Y.Test.Case({
1212
=== modified file 'lib/lp/registry/javascript/tests/timeline-iframe.html'
--- lib/canonical/launchpad/javascript/registry/tests/timeline-iframe.html 2010-02-11 20:10:01 +0000
+++ lib/lp/registry/javascript/tests/timeline-iframe.html 2010-05-06 18:27:28 +0000
@@ -4,10 +4,10 @@
4 <title>Launchpad TimelineGraph Widget</title>4 <title>Launchpad TimelineGraph Widget</title>
55
6 <!-- YUI 3.0 Setup -->6 <!-- YUI 3.0 Setup -->
7 <script type="text/javascript" src="../../../icing/yui/yui/yui.js"></script>7 <script type="text/javascript" src="../../../../canonical/launchpad/icing/yui/yui/yui.js"></script>
8 <link rel="stylesheet" href="../../../icing/yui/cssreset/reset.css"/>8 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssreset/reset.css"/>
9 <link rel="stylesheet" href="../../../icing/yui/cssfonts/fonts.css"/>9 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssfonts/fonts.css"/>
10 <link rel="stylesheet" href="../../../icing/yui/cssbase/base.css"/>10 <link rel="stylesheet" href="../../../../canonical/launchpad/icing/yui/cssbase/base.css"/>
1111
12 <!-- The module under test -->12 <!-- The module under test -->
13 <script type="text/javascript" src="../timeline.js"></script>13 <script type="text/javascript" src="../timeline.js"></script>
1414
=== modified file 'lib/lp/registry/javascript/tests/timeline.js'
--- lib/canonical/launchpad/javascript/registry/tests/timeline.js 2010-03-31 15:40:42 +0000
+++ lib/lp/registry/javascript/tests/timeline.js 2010-05-06 18:27:28 +0000
@@ -1,10 +1,10 @@
1/* Copyright (c) 2009, Canonical Ltd. All rights reserved. */1/* Copyright (c) 2009, Canonical Ltd. All rights reserved. */
22
3YUI({3YUI({
4 base: '../../../icing/yui/',4 base: '../../../../canonical/launchpad/icing/yui/',
5 filter: 'raw',5 filter: 'raw',
6 combine: false6 combine: false
7 }).use('test', 'console', 'registry.timeline', function(Y) {7 }).use('test', 'console', 'lp.registry.timeline', function(Y) {
88
9var Assert = Y.Assert; // For easy access to isTrue(), etc.9var Assert = Y.Assert; // For easy access to isTrue(), etc.
1010
@@ -85,7 +85,7 @@
85 name: 'minimal-config',85 name: 'minimal-config',
8686
87 setUp: function() {87 setUp: function() {
88 this.timeline_graph = new Y.registry.timeline.TimelineGraph(88 this.timeline_graph = new Y.lp.registry.timeline.TimelineGraph(
89 MINIMAL_CONFIG);89 MINIMAL_CONFIG);
90 this.timeline_graph.render();90 this.timeline_graph.render();
91 this.content_box = this.timeline_graph.get('contentBox');91 this.content_box = this.timeline_graph.get('contentBox');
@@ -99,7 +99,7 @@
9999
100 test_canvas_creation: function() {100 test_canvas_creation: function() {
101 Assert.isInstanceOf(101 Assert.isInstanceOf(
102 Y.registry.timeline.TimelineGraph,102 Y.lp.registry.timeline.TimelineGraph,
103 this.timeline_graph,103 this.timeline_graph,
104 "TimelineGraph was not created.");104 "TimelineGraph was not created.");
105105
@@ -150,7 +150,7 @@
150 name: 'resizing-config',150 name: 'resizing-config',
151151
152 setUp: function() {152 setUp: function() {
153 this.timeline_graph = new Y.registry.timeline.TimelineGraph(153 this.timeline_graph = new Y.lp.registry.timeline.TimelineGraph(
154 RESIZING_CONFIG);154 RESIZING_CONFIG);
155 this.timeline_graph.render();155 this.timeline_graph.render();
156 this.content_box = this.timeline_graph.get('contentBox');156 this.content_box = this.timeline_graph.get('contentBox');
@@ -217,7 +217,7 @@
217 name: 'medium-config',217 name: 'medium-config',
218218
219 setUp: function() {219 setUp: function() {
220 this.timeline_graph = new Y.registry.timeline.TimelineGraph(220 this.timeline_graph = new Y.lp.registry.timeline.TimelineGraph(
221 MEDIUM_CONFIG);221 MEDIUM_CONFIG);
222 this.timeline_graph.render();222 this.timeline_graph.render();
223 this.content_box = this.timeline_graph.get('contentBox');223 this.content_box = this.timeline_graph.get('contentBox');
224224
=== modified file 'lib/lp/registry/javascript/timeline.js'
--- lib/canonical/launchpad/javascript/registry/timeline.js 2009-11-23 19:29:02 +0000
+++ lib/lp/registry/javascript/timeline.js 2010-05-06 18:27:28 +0000
@@ -6,9 +6,9 @@
6 * @module timeline6 * @module timeline
7 */7 */
88
9YUI.add('registry.timeline', function(Y) {9YUI.add('lp.registry.timeline', function(Y) {
1010
11var module = Y.namespace('registry.timeline');11var module = Y.namespace('lp.registry.timeline');
1212
13var TIMELINE_GRAPH = 'timelinegraph';13var TIMELINE_GRAPH = 'timelinegraph';
14var OBSOLETE_SERIES_STATUS = 'Obsolete';14var OBSOLETE_SERIES_STATUS = 'Obsolete';
1515
=== modified file 'lib/lp/registry/templates/object-timeline-graph.pt'
--- lib/lp/registry/templates/object-timeline-graph.pt 2010-02-11 19:49:45 +0000
+++ lib/lp/registry/templates/object-timeline-graph.pt 2010-05-06 18:27:28 +0000
@@ -34,7 +34,7 @@
34 include_inactive = false;34 include_inactive = false;
35 }35 }
3636
37 LPS.use('registry.timeline', 'node', 'lp.dragscroll', function(Y) {37 LPS.use('lp.registry.timeline', 'node', 'lp.dragscroll', function(Y) {
38 Y.on('domready', function(e) {38 Y.on('domready', function(e) {
39 if (Y.UA.ie) {39 if (Y.UA.ie) {
40 return;40 return;
@@ -59,7 +59,7 @@
59 if (resize_frame !== '') {59 if (resize_frame !== '') {
60 config.resize_frame = resize_frame;60 config.resize_frame = resize_frame;
61 }61 }
62 var graph = new Y.registry.timeline.TimelineGraph(config);62 var graph = new Y.lp.registry.timeline.TimelineGraph(config);
63 graph.render();63 graph.render();
64 Y.one('#spinner').setStyle('display', 'none');64 Y.one('#spinner').setStyle('display', 'none');
65 // Scroll to the most recent milestones or65 // Scroll to the most recent milestones or
6666
=== modified file 'lib/lp/registry/templates/productrelease-add-from-series.pt'
--- lib/lp/registry/templates/productrelease-add-from-series.pt 2010-02-09 05:13:05 +0000
+++ lib/lp/registry/templates/productrelease-add-from-series.pt 2010-05-06 18:27:28 +0000
@@ -14,7 +14,7 @@
14 <tal:script14 <tal:script
15 replace="structure15 replace="structure
16 string:&lt;script id='milestone-script' type='text/javascript'&gt;" />16 string:&lt;script id='milestone-script' type='text/javascript'&gt;" />
17 LPS.use('node', 'registry.milestoneoverlay', function (Y) {17 LPS.use('node', 'lp.registry.milestoneoverlay', function (Y) {
1818
19 // This is a value for the SELECT OPTION which is passed with19 // This is a value for the SELECT OPTION which is passed with
20 // the SELECT's "change" event. It includes some symbols that are not20 // the SELECT's "change" event. It includes some symbols that are not
@@ -57,7 +57,7 @@
57 activate_node: create_milestone_link57 activate_node: create_milestone_link
58 };58 };
59 if (!Y.UA.ie) {59 if (!Y.UA.ie) {
60 Y.registry.milestoneoverlay.attach_widget(config);60 Y.lp.registry.milestoneoverlay.attach_widget(config);
61 }61 }
62 });62 });
63 });63 });
6464
=== modified file 'lib/lp/registry/templates/team-portlet-membership.pt'
--- lib/lp/registry/templates/team-portlet-membership.pt 2010-04-22 17:18:29 +0000
+++ lib/lp/registry/templates/team-portlet-membership.pt 2010-05-06 18:27:28 +0000
@@ -105,10 +105,10 @@
105 tal:condition="link/enabled">105 tal:condition="link/enabled">
106 <script type="text/javascript"106 <script type="text/javascript"
107 tal:content="string:107 tal:content="string:
108 YUI().use('registry.team', function(Y) {108 YUI().use('lp.registry.team', function(Y) {
109 Y.on('load',109 Y.on('load',
110 function(e) {110 function(e) {
111 Y.registry.team.setup_add_member_handler();111 Y.lp.registry.team.setup_add_member_handler();
112 },112 },
113 window);113 window);
114 });114 });
115115
=== modified file 'lib/lp/registry/windmill/tests/test_yuitests.py'
--- lib/lp/registry/windmill/tests/test_yuitests.py 2010-03-30 21:49:22 +0000
+++ lib/lp/registry/windmill/tests/test_yuitests.py 2010-05-06 18:27:28 +0000
@@ -17,5 +17,5 @@
1717
1818
19def test_suite():19def test_suite():
20 app_testing_path = 'canonical/launchpad/javascript/registry/tests'20 app_testing_path = 'lp/registry/javascript/tests'
21 return build_yui_unittest_suite(app_testing_path, RegistryYUIUnitTestCase)21 return build_yui_unittest_suite(app_testing_path, RegistryYUIUnitTestCase)
2222
=== modified file 'utilities/lp-deps.py'
--- utilities/lp-deps.py 2010-04-01 18:16:05 +0000
+++ utilities/lp-deps.py 2010-05-06 18:27:28 +0000
@@ -12,14 +12,16 @@
12__metaclass__ = type12__metaclass__ = type
1313
14import os14import os
15import sys15
1616
17TOP = os.path.abspath(17TOP = os.path.abspath(
18 os.path.join(os.path.dirname(__file__), '..'))18 os.path.join(os.path.dirname(__file__), '..'))
19# JS_DIRSET is a tuple of the dir where the code exists, and the name of the19# JS_DIRSET is a tuple of the dir where the code exists, and the name of the
20# symlink it should be linked as in the icing build directory.20# symlink it should be linked as in the icing build directory.
21JS_DIRSET = [21JS_DIRSET = [
22 (os.path.join('lib', 'lp', 'code', 'javascript'), 'code'),]22 (os.path.join('lib', 'lp', 'code', 'javascript'), 'code'),
23 (os.path.join('lib', 'lp', 'registry', 'javascript'), 'registry'),
24 ]
23ICING_ROOT = os.path.join(TOP, 'lib', 'canonical', 'launchpad', 'icing')25ICING_ROOT = os.path.join(TOP, 'lib', 'canonical', 'launchpad', 'icing')
24ICING_BUILD = os.path.join(ICING_ROOT, 'build')26ICING_BUILD = os.path.join(ICING_ROOT, 'build')
2527