|
512 | 512 | xtype: 'rallygrid', |
513 | 513 | model: 'User Story', |
514 | 514 | headerCls: 'leftright-header-text', |
515 | | - columnCfgs: ['FormattedID', 'Name', 'Feature', 'Plan Estimate', 'Iteration', 'Release', 'Project', 'Owner'], |
| 515 | + columnCfgs: ['FormattedID', 'Name', config.lowestLevelPi, 'Plan Estimate', 'Iteration', 'Release', 'Project', 'Owner'], |
516 | 516 | pagingToolbarCfg: { |
517 | 517 | pageSizes: [5, 10, 15] |
518 | 518 | }, |
|
594 | 594 | // |
595 | 595 | var store = Ext.create('Rally.data.wsapi.Store', { |
596 | 596 | model: 'UserStory', |
597 | | - fetch: ['FormattedID', 'Name', 'Feature', 'Release', 'Iteration', 'Project', 'Owner'], |
| 597 | + fetch: ['FormattedID', 'Name', this._getLowestLevelPIFieldName(), 'Release', 'Iteration', 'Project', 'Owner'], |
598 | 598 | filters: filters, |
599 | 599 | autoLoad: true, |
600 | 600 | pageSize: 5 |
|
608 | 608 | //filters: filters, |
609 | 609 | store: store, |
610 | 610 | title: 'User Stories Assigned to Later Releases or Iteration', |
611 | | - width: 800 |
| 611 | + width: 800, |
| 612 | + lowestLevelPi: this._getLowestLevelPIFieldName() |
612 | 613 | }).show(); |
613 | 614 | }, |
614 | 615 |
|
| 616 | + _getLowestLevelPIFieldName: function() { |
| 617 | + return this.lowestLevelPi.split('/')[1]; |
| 618 | + }, |
| 619 | + |
615 | 620 | _filterPopover: function(record) { |
616 | 621 | return [ |
617 | 622 | { |
618 | | - property: 'Feature.Release.Name', |
| 623 | + property: this._getLowestLevelPIFieldName() + '.Release.Name', |
619 | 624 | operator: '=', |
620 | 625 | value: record.Release.Name |
621 | 626 | }, |
|
1011 | 1016 | width: undefined, |
1012 | 1017 | displayTitle: 'Pie', |
1013 | 1018 | config: { |
1014 | | - context: null |
| 1019 | + context: null, |
| 1020 | + lowestLevelPi: 'portfolioitem/feature' |
1015 | 1021 | }, |
1016 | 1022 |
|
1017 | 1023 | initComponent: function() { |
|
1060 | 1066 | this._childChartData = []; |
1061 | 1067 |
|
1062 | 1068 | this.store = Ext.create('Rally.data.wsapi.artifact.Store', { |
1063 | | - models: ['PortfolioItem/Feature'], |
| 1069 | + models: [this.lowestLevelPi], |
1064 | 1070 | fetch: ['UserStories', 'PreliminaryEstimate', 'Value', 'FormattedID', 'State[Ordinal;Name]', 'LeafStoryCount', 'Name', |
1065 | 1071 | 'PlannedEndDate', 'PlannedStartDate', 'ActualStartDate', 'ActualEndDate', 'PercentDoneByStoryPlanEstimate', 'PercentDoneByStoryCount'], |
1066 | 1072 | filters: [this.context.getTimeboxScope().getQueryFilter()], |
|
1078 | 1084 | _loadChildCollections: function() { |
1079 | 1085 | var records = this.store.getRange(); |
1080 | 1086 | var promises = []; |
| 1087 | + var piField = this.lowestLevelPi.split('/')[1]; |
1081 | 1088 | _.each(records, function(record) { |
1082 | 1089 | if (record.get('UserStories') && record.get('UserStories').Count) { |
1083 | 1090 | var store = Ext.create('Rally.data.wsapi.Store', { |
1084 | 1091 | model: 'UserStory', |
1085 | | - fetch: ['FormattedID', 'Name', 'ScheduleState', 'Blocked', 'BlockedReason', 'Feature'], |
| 1092 | + fetch: ['FormattedID', 'Name', 'ScheduleState', 'Blocked', 'BlockedReason', piField], |
1086 | 1093 | filters: [{ |
1087 | | - property: 'Feature', |
| 1094 | + property: piField, |
1088 | 1095 | value: record.get('_ref') |
1089 | 1096 | }, { |
1090 | 1097 | property: 'DirectChildrenCount', |
|
1654 | 1661 | alias:'widget.statsbanneriterationprogressdialog', |
1655 | 1662 | requires: [ |
1656 | 1663 | 'Rally.apps.releasetracking.statsbanner.IterationProgressDialogChartToggle', |
1657 | | - //'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.BurndownChart', |
1658 | | - //'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.CumulativeFlowChart', |
1659 | 1664 | 'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.PieChart', |
1660 | 1665 | 'Rally.ui.carousel.Carousel' |
1661 | 1666 | ], |
|
1668 | 1673 | height: 650, |
1669 | 1674 | closable: true, |
1670 | 1675 | store: null, |
1671 | | - context: null |
| 1676 | + context: null, |
| 1677 | + lowestLevelPi: 'portfolioitem/feature' |
1672 | 1678 | }, |
1673 | 1679 | layout: { |
1674 | 1680 | type: 'vbox', |
|
1686 | 1692 | var chartHeight = 570; |
1687 | 1693 |
|
1688 | 1694 | this.callParent(arguments); |
1689 | | - //this.toggle = this.add({ |
1690 | | - //xtype: 'iterationprogressdialogcharttoggle', |
1691 | | - //startingIndex: this.startingIndex, |
1692 | | - //listeners: { |
1693 | | - //toggle: this._toggleButtonClick, |
1694 | | - //scope: this |
1695 | | - //} |
1696 | | - //}); |
| 1695 | + |
1697 | 1696 | this.carousel = this.add({ |
1698 | 1697 | xtype: 'rallycarousel', |
1699 | 1698 | showDots: false, |
|
1703 | 1702 | xtype: 'statsbannerpiechart', |
1704 | 1703 | width: chartWidth, |
1705 | 1704 | height: chartHeight, |
1706 | | - context: this.context |
| 1705 | + context: this.context, |
| 1706 | + lowestLevelPi: this.lowestLevelPi |
1707 | 1707 | } |
1708 | | - //{ |
1709 | | - //xtype: 'statsbannerburndownchart', |
1710 | | - //width: chartWidth, |
1711 | | - //height: chartHeight, |
1712 | | - //context: this.context, |
1713 | | - //store: this.store |
1714 | | - //}, |
1715 | | - //{ |
1716 | | - //xtype: 'statsbannercumulativeflowchart', |
1717 | | - //width: chartWidth, |
1718 | | - //height: chartHeight, |
1719 | | - //context: this.context, |
1720 | | - //store: this.store |
1721 | | - //} |
1722 | 1708 | ], |
1723 | 1709 | startingIndex: this.startingIndex, |
1724 | 1710 | listeners: { |
|
1767 | 1753 | alias:'widget.statsbanneriterationprogress', |
1768 | 1754 | requires: [ |
1769 | 1755 | 'Rally.ui.carousel.Carousel', |
1770 | | - //'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.BurndownChart', |
1771 | | - //'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.CumulativeFlowChart', |
1772 | 1756 | 'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.MinimalPieChart', |
1773 | 1757 | 'Rally.apps.releasetracking.statsbanner.iterationprogresscharts.PieChart', |
1774 | 1758 | 'Rally.apps.releasetracking.statsbanner.IterationProgressDialog', |
|
1777 | 1761 |
|
1778 | 1762 | config: { |
1779 | 1763 | context: null, |
1780 | | - store: null |
| 1764 | + store: null, |
| 1765 | + lowestLevelPi: 'portfolioitem/feature' |
1781 | 1766 | }, |
1782 | 1767 |
|
1783 | 1768 | currentChartDisplayed: 0, |
|
1823 | 1808 | context: this.context, |
1824 | 1809 | store: this.store |
1825 | 1810 | } |
1826 | | - //{ |
1827 | | - //xtype: 'statsbannerburndownchart', |
1828 | | - //width: 150, |
1829 | | - //height: 63, |
1830 | | - //minimalMode: true, |
1831 | | - //clickHandler: boundClickHandler, |
1832 | | - //context: this.context, |
1833 | | - //store: this.store |
1834 | | - //}, |
1835 | | - //{ |
1836 | | - //xtype: 'statsbannercumulativeflowchart', |
1837 | | - //width: 150, |
1838 | | - //height: 63, |
1839 | | - //minimalMode: true, |
1840 | | - //clickHandler: boundClickHandler, |
1841 | | - //context: this.context, |
1842 | | - //store: this.store |
1843 | | - //} |
1844 | 1811 | ]; |
1845 | 1812 |
|
1846 | 1813 | _.each(this.carouselItems, function(carouselItem) { |
|
1874 | 1841 | Ext.create('Rally.apps.releasetracking.statsbanner.IterationProgressDialog', { |
1875 | 1842 | startingIndex: currentIndex, |
1876 | 1843 | store: this.store, |
1877 | | - context: this.context |
| 1844 | + context: this.context, |
| 1845 | + lowestLevelPi: this.lowestLevelPi |
1878 | 1846 | }); |
1879 | 1847 | }, |
1880 | 1848 |
|
|
2060 | 2028 |
|
2061 | 2029 | config: { |
2062 | 2030 | context: null, |
2063 | | - expanded: true |
| 2031 | + expanded: true, |
| 2032 | + lowestLevelPi: 'portfolioitem/feature' |
2064 | 2033 | }, |
2065 | 2034 |
|
2066 | 2035 | items: [ |
2067 | | - {xtype: 'statsbannerplannedvelocity', unitLabel: 'feature points'}, |
| 2036 | + {xtype: 'statsbannerplannedvelocity', unitLabel: 'points'}, |
2068 | 2037 | {xtype: 'statsbannertimeboxend'}, |
2069 | 2038 | {xtype: 'statsbannerestimatedstories'}, |
2070 | 2039 | {xtype: 'statsbanneraccepted', byCount: false}, |
|
2100 | 2069 |
|
2101 | 2070 | //var tbs = this.context.getTimeboxScope(); |
2102 | 2071 | this.store = Ext.create('Rally.data.wsapi.artifact.Store', { |
2103 | | - models: ['PortfolioItem/Feature'], |
| 2072 | + models: [this.lowestLevelPi], |
2104 | 2073 | fetch: [ |
2105 | 2074 | 'Name', |
2106 | 2075 | 'PercentDoneByStoryCount', 'PercentDoneByStoryPlanEstimate', |
|
2165 | 2134 | flex: 1, |
2166 | 2135 | context: this.context, |
2167 | 2136 | store: this.store, |
| 2137 | + lowestLevelPi: this.lowestLevelPi, |
2168 | 2138 | listeners: { |
2169 | 2139 | ready: this._onReady, |
2170 | 2140 | scope: this |
|
2346 | 2316 | itemId: 'statsBanner', |
2347 | 2317 | context: this.getContext(), |
2348 | 2318 | margin: '0 0 5px 0', |
| 2319 | + lowestLevelPi: this.piTypes[0], |
2349 | 2320 | listeners: { |
2350 | 2321 | resize: this._resizeGridBoardToFillSpace, |
2351 | 2322 | scope: this |
|
2507 | 2478 | xtype: 'rallytreegrid', |
2508 | 2479 | store: gridStore, |
2509 | 2480 | columnCfgs: this._getGridColumns(), |
2510 | | - model: 'UserStory', |
2511 | 2481 | showSummary: true, |
2512 | 2482 | summaryColumns: this._getSummaryColumnConfig(), |
2513 | 2483 | plugins: [], |
|
2552 | 2522 | }, |
2553 | 2523 |
|
2554 | 2524 | _getGridColumns: function (columns) { |
2555 | | - var result = ['FormattedID', 'Name', 'PercentDoneByStoryPlanEstimate', 'PreliminaryEstimate', 'ScheduleState', 'PlanEstimate', 'Blocked', 'Iteration', 'Owner', 'Discussion']; |
| 2525 | + var result = ['FormattedID', 'Name', 'State', 'PercentDoneByStoryPlanEstimate', 'PreliminaryEstimate', 'ScheduleState', 'PlanEstimate', 'Blocked', 'Iteration', 'Owner', 'Discussion']; |
2556 | 2526 |
|
2557 | 2527 | if (columns) { |
2558 | 2528 | result = columns; |
|
2600 | 2570 | Rally.launchApp('Rally.apps.releasetracking.ReleaseTrackingApp', { |
2601 | 2571 | name:"Release Tracking Board", |
2602 | 2572 | parentRepos:"", |
2603 | | - version:"1.0.2" |
| 2573 | + version:"1.0.3" |
2604 | 2574 | }); |
2605 | 2575 |
|
2606 | 2576 | }); |
|
0 commit comments