)]}'
{"src/js/components/plan/ListPlans.js":[{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  }"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  render() {"},{"line_number":61,"context_line":"    let plans \u003d this.props.plans.sortBy(plan \u003d\u003e plan.name).toArray();"},{"line_number":62,"context_line":"    let cards \u003d plans.map(plan \u003d\u003e this.renderCard(plan));"},{"line_number":63,"context_line":"    return ("},{"line_number":64,"context_line":"      \u003cdiv\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_15dc0b44","line":61,"range":{"start_line":61,"start_character":16,"end_line":61,"end_character":58},"updated":"2017-06-16 14:56:50.000000000","message":"Can we make this sorting by default in selector?","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  }"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  render() {"},{"line_number":61,"context_line":"    let plans \u003d this.props.plans.sortBy(plan \u003d\u003e plan.name).toArray();"},{"line_number":62,"context_line":"    let cards \u003d plans.map(plan \u003d\u003e this.renderCard(plan));"},{"line_number":63,"context_line":"    return ("},{"line_number":64,"context_line":"      \u003cdiv\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_11b2d049","line":61,"range":{"start_line":61,"start_character":16,"end_line":61,"end_character":58},"in_reply_to":"7f231b9d_15dc0b44","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  }"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  render() {"},{"line_number":61,"context_line":"    let plans \u003d this.props.plans.sortBy(plan \u003d\u003e plan.name).toArray();"},{"line_number":62,"context_line":"    let cards \u003d plans.map(plan \u003d\u003e this.renderCard(plan));"},{"line_number":63,"context_line":"    return ("},{"line_number":64,"context_line":"      \u003cdiv\u003e"},{"line_number":65,"context_line":"        \u003cPageHeader\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_75157fe4","line":62,"range":{"start_line":61,"start_character":4,"end_line":62,"end_character":57},"updated":"2017-06-16 14:56:50.000000000","message":"wouldn\u0027t it be better to turn this into renderCards function rather than splitting it into this assignment and renderCard function?","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  }"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  render() {"},{"line_number":61,"context_line":"    let plans \u003d this.props.plans.sortBy(plan \u003d\u003e plan.name).toArray();"},{"line_number":62,"context_line":"    let cards \u003d plans.map(plan \u003d\u003e this.renderCard(plan));"},{"line_number":63,"context_line":"    return ("},{"line_number":64,"context_line":"      \u003cdiv\u003e"},{"line_number":65,"context_line":"        \u003cPageHeader\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_d17b3889","line":62,"range":{"start_line":61,"start_character":4,"end_line":62,"end_character":57},"in_reply_to":"7f231b9d_75157fe4","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \u003cFormattedMessage {...messages.plans} /\u003e"},{"line_number":67,"context_line":"        \u003c/PageHeader\u003e"},{"line_number":68,"context_line":"        \u003cdiv className\u003d\"panel panel-default\"\u003e"},{"line_number":69,"context_line":"          \u003cdiv className\u003d\"panel-body\"\u003e"},{"line_number":70,"context_line":"            \u003cdiv className\u003d\"row-cards-pf\"\u003e"},{"line_number":71,"context_line":"              \u003cCreatePlanCard /\u003e"},{"line_number":72,"context_line":"              {cards}"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_5563a3b2","line":69,"range":{"start_line":69,"start_character":10,"end_line":69,"end_character":38},"updated":"2017-06-16 14:56:50.000000000","message":"changing this to\n\u003cdiv className\u003d\"cards-pf\"\u003e\ndoes correct padding while retaining the border of the panel","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \u003cFormattedMessage {...messages.plans} /\u003e"},{"line_number":67,"context_line":"        \u003c/PageHeader\u003e"},{"line_number":68,"context_line":"        \u003cdiv className\u003d\"panel panel-default\"\u003e"},{"line_number":69,"context_line":"          \u003cdiv className\u003d\"panel-body\"\u003e"},{"line_number":70,"context_line":"            \u003cdiv className\u003d\"row-cards-pf\"\u003e"},{"line_number":71,"context_line":"              \u003cCreatePlanCard /\u003e"},{"line_number":72,"context_line":"              {cards}"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_115d3014","line":69,"range":{"start_line":69,"start_character":10,"end_line":69,"end_character":38},"in_reply_to":"7f231b9d_5563a3b2","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \u003c/PageHeader\u003e"},{"line_number":68,"context_line":"        \u003cdiv className\u003d\"panel panel-default\"\u003e"},{"line_number":69,"context_line":"          \u003cdiv className\u003d\"panel-body\"\u003e"},{"line_number":70,"context_line":"            \u003cdiv className\u003d\"row-cards-pf\"\u003e"},{"line_number":71,"context_line":"              \u003cCreatePlanCard /\u003e"},{"line_number":72,"context_line":"              {cards}"},{"line_number":73,"context_line":"            \u003c/div\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_3566e7c2","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":40},"updated":"2017-06-16 14:56:50.000000000","message":"row row-cards-pf","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \u003c/PageHeader\u003e"},{"line_number":68,"context_line":"        \u003cdiv className\u003d\"panel panel-default\"\u003e"},{"line_number":69,"context_line":"          \u003cdiv className\u003d\"panel-body\"\u003e"},{"line_number":70,"context_line":"            \u003cdiv className\u003d\"row-cards-pf\"\u003e"},{"line_number":71,"context_line":"              \u003cCreatePlanCard /\u003e"},{"line_number":72,"context_line":"              {cards}"},{"line_number":73,"context_line":"            \u003c/div\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_f19d14bc","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":40},"in_reply_to":"7f231b9d_3566e7c2","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"function mapStateToProps(state) {"},{"line_number":94,"context_line":"  return {"},{"line_number":95,"context_line":"    currentPlanName: state.currentPlan.currentPlanName,"},{"line_number":96,"context_line":"    plans: state.plans.get(\u0027all\u0027),"},{"line_number":97,"context_line":"    stacks: state.stacks.get(\u0027stacks\u0027)"},{"line_number":98,"context_line":"  };"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_15aacb83","line":95,"range":{"start_line":95,"start_character":21,"end_line":95,"end_character":54},"updated":"2017-06-16 14:56:50.000000000","message":"There is currentPlanNameSelector, could you please update it here?","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":93,"context_line":"function mapStateToProps(state) {"},{"line_number":94,"context_line":"  return {"},{"line_number":95,"context_line":"    currentPlanName: state.currentPlan.currentPlanName,"},{"line_number":96,"context_line":"    plans: state.plans.get(\u0027all\u0027),"},{"line_number":97,"context_line":"    stacks: state.stacks.get(\u0027stacks\u0027)"},{"line_number":98,"context_line":"  };"},{"line_number":99,"context_line":"}"},{"line_number":100,"context_line":""}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_95c81b74","line":97,"range":{"start_line":96,"start_character":3,"end_line":97,"end_character":38},"updated":"2017-06-16 14:56:50.000000000","message":"There are selectors for these now, please add getPlans selector which adds sorting by name","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"a870fc8cf407612a4b8bdc942bf01dc080433cbf","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            \u003c/div\u003e"},{"line_number":77,"context_line":"          \u003c/div\u003e"},{"line_number":78,"context_line":"        \u003c/div\u003e"},{"line_number":79,"context_line":"        {this.props.children}"},{"line_number":80,"context_line":"      \u003c/div\u003e"},{"line_number":81,"context_line":"    );"},{"line_number":82,"context_line":"  }"}],"source_content_type":"text/javascript","patch_set":10,"id":"7f231b9d_66200c9c","line":79,"updated":"2017-06-19 11:32:03.000000000","message":"this line is no more needed since the router v4 update","commit_id":"587d249c2faac2963116429cc72a18f7187bbe05"}],"src/js/components/plan/Plans.js":[{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":26,"context_line":"export default class Plans extends React.Component {"},{"line_number":27,"context_line":"  render() {"},{"line_number":28,"context_line":"    return ("},{"line_number":29,"context_line":"      \u003cdiv className\u003d\"row plans-list\"\u003e"},{"line_number":30,"context_line":"        \u003cdiv className\u003d\"col-sm-12\"\u003e"},{"line_number":31,"context_line":"          \u003cListPlans /\u003e"},{"line_number":32,"context_line":"          \u003cRoute path\u003d\"/plans/new\" component\u003d{NewPlan} /\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_75d45fe9","line":29,"updated":"2017-06-16 14:56:50.000000000","message":"not necessary IMHO","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":26,"context_line":"export default class Plans extends React.Component {"},{"line_number":27,"context_line":"  render() {"},{"line_number":28,"context_line":"    return ("},{"line_number":29,"context_line":"      \u003cdiv className\u003d\"row plans-list\"\u003e"},{"line_number":30,"context_line":"        \u003cdiv className\u003d\"col-sm-12\"\u003e"},{"line_number":31,"context_line":"          \u003cListPlans /\u003e"},{"line_number":32,"context_line":"          \u003cRoute path\u003d\"/plans/new\" component\u003d{NewPlan} /\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_719a24b9","line":29,"in_reply_to":"7f231b9d_75d45fe9","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"}],"src/js/components/plan/cards/CreatePlanCard.js":[{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \u003cdiv className\u003d\"card-pf\"\u003e"},{"line_number":31,"context_line":"      \u003cdiv className\u003d\"card-pf-body\"\u003e"},{"line_number":32,"context_line":"        \u003cspan className\u003d\"pficon pficon-add-circle-o icon-with-padding\" /\u003e"},{"line_number":33,"context_line":"        \u003cLink to\u003d\"/plans/new?tab\u003dnewPlan\" id\u003d\"ListPlans__newPlanLink\"\u003e"},{"line_number":34,"context_line":"          \u003cFormattedMessage {...messages.createNewPlan} /\u003e"},{"line_number":35,"context_line":"        \u003c/Link\u003e"},{"line_number":36,"context_line":"      \u003c/div\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_ae7bc425","line":33,"updated":"2017-06-16 14:56:50.000000000","message":"this link should now go just to /plans/new","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \u003cdiv className\u003d\"card-pf\"\u003e"},{"line_number":31,"context_line":"      \u003cdiv className\u003d\"card-pf-body\"\u003e"},{"line_number":32,"context_line":"        \u003cspan className\u003d\"pficon pficon-add-circle-o icon-with-padding\" /\u003e"},{"line_number":33,"context_line":"        \u003cLink to\u003d\"/plans/new?tab\u003dnewPlan\" id\u003d\"ListPlans__newPlanLink\"\u003e"},{"line_number":34,"context_line":"          \u003cFormattedMessage {...messages.createNewPlan} /\u003e"},{"line_number":35,"context_line":"        \u003c/Link\u003e"},{"line_number":36,"context_line":"      \u003c/div\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_b1cafc9d","line":33,"in_reply_to":"7f231b9d_ae7bc425","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"}],"src/js/components/plan/cards/PlanCard.js":[{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"c4456f0ab601dd8f6b8e176df906383bb86ed670","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            {this.renderPlanName()}"},{"line_number":79,"context_line":"            {this.getActiveIcon()}"},{"line_number":80,"context_line":"            \u003cdiv className\u003d\"pull-right\"\u003e"},{"line_number":81,"context_line":"              \u003cDropdown onSelect\u003d{this.handleOnSelect.bind(this)}"},{"line_number":82,"context_line":"                        id\u003d{`card-actions-${this.props.plan.name}`}\u003e"},{"line_number":83,"context_line":"                \u003cDropdown.Toggle\u003e"},{"line_number":84,"context_line":"                  \u003cspan className\u003d\"pficon pficon-edit\"/\u003e"}],"source_content_type":"text/javascript","patch_set":3,"id":"3f044301_118b451f","line":81,"updated":"2017-05-09 14:36:01.000000000","message":"you can use DropdownKebab component here, to make it match the wireframes","commit_id":"ace1df1feb2a1f1c7a09bebe728dde6c02519480"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"c54be9516fa82f9c637dc64ddd8ef4e75cf07617","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            {this.renderPlanName()}"},{"line_number":79,"context_line":"            {this.getActiveIcon()}"},{"line_number":80,"context_line":"            \u003cdiv className\u003d\"pull-right\"\u003e"},{"line_number":81,"context_line":"              \u003cDropdown onSelect\u003d{this.handleOnSelect.bind(this)}"},{"line_number":82,"context_line":"                        id\u003d{`card-actions-${this.props.plan.name}`}\u003e"},{"line_number":83,"context_line":"                \u003cDropdown.Toggle\u003e"},{"line_number":84,"context_line":"                  \u003cspan className\u003d\"pficon pficon-edit\"/\u003e"}],"source_content_type":"text/javascript","patch_set":3,"id":"3f044301_d4994b6e","line":81,"in_reply_to":"3f044301_118b451f","updated":"2017-05-09 15:19:55.000000000","message":"Done","commit_id":"ace1df1feb2a1f1c7a09bebe728dde6c02519480"},{"author":{"_account_id":17888,"name":"Florian Fuchs","email":"f@florianfuchs.com","username":"flfuchs"},"change_message_id":"7cfa3f52d7c3e802dbacc0f5c795f71a53019281","unresolved":false,"context_lines":[{"line_number":77,"context_line":"          \u003ch2 className\u003d\"card-pf-title\"\u003e"},{"line_number":78,"context_line":"            {this.renderPlanName()}"},{"line_number":79,"context_line":"            {this.getActiveIcon()}"},{"line_number":80,"context_line":"            \u003cdiv className\u003d\"pull-right\"\u003e"},{"line_number":81,"context_line":"              \u003cDropdownKebab"},{"line_number":82,"context_line":"                onSelect\u003d{this.handleOnSelect.bind(this)}"},{"line_number":83,"context_line":"                id\u003d{`card-actions-${this.props.plan.name}`}"}],"source_content_type":"text/javascript","patch_set":5,"id":"1f013ff3_7f006b35","line":80,"updated":"2017-05-15 14:00:45.000000000","message":"The active and kebap icons both break below the plan name in an odd way when the view port is a little narrower. Would it make sense to make their position fixed somewhere within the card, now that we have all this space?","commit_id":"ad4e2da2bb064a12ab72c04dd92fcbef80fe323e"},{"author":{"_account_id":17888,"name":"Florian Fuchs","email":"f@florianfuchs.com","username":"flfuchs"},"change_message_id":"7cfa3f52d7c3e802dbacc0f5c795f71a53019281","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                \u003cspan className\u003d\"card-pf-utilization-card-details-line-1\"\u003e"},{"line_number":101,"context_line":"                  {/* TODO(hpokorny):"},{"line_number":102,"context_line":"                      fetchPlans() doesn\u0027t provide description yet */}"},{"line_number":103,"context_line":"                  Plan description"},{"line_number":104,"context_line":"                \u003c/span\u003e"},{"line_number":105,"context_line":"              \u003c/span\u003e"},{"line_number":106,"context_line":"            \u003c/div\u003e"}],"source_content_type":"text/javascript","patch_set":5,"id":"1f013ff3_1f3727b3","line":103,"updated":"2017-05-15 14:00:45.000000000","message":"Maybe we should rather show nothing instead of this placeholder text as long as we don\u0027t have a real description.","commit_id":"ad4e2da2bb064a12ab72c04dd92fcbef80fe323e"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    const { history } \u003d this.props;"},{"line_number":152,"context_line":"    switch (eventKey) {"},{"line_number":153,"context_line":"      case \u0027edit\u0027: {"},{"line_number":154,"context_line":"        history.push(`/plans/${this.props.plan.name}/edit?tab\u003deditPlan`);"},{"line_number":155,"context_line":"        break;"},{"line_number":156,"context_line":"      }"},{"line_number":157,"context_line":"      case \u0027export\u0027: {"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_692b6682","line":154,"updated":"2017-06-16 14:56:50.000000000","message":"In case you don\u0027t use MenuItemLink, then we should use history prop from react router here which is passed via props (if a component is rendered via Route) or it is accessible via withRouter HOC\n\nhttps://reacttraining.com/react-router/web/api/Route/Route-props","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    const { history } \u003d this.props;"},{"line_number":152,"context_line":"    switch (eventKey) {"},{"line_number":153,"context_line":"      case \u0027edit\u0027: {"},{"line_number":154,"context_line":"        history.push(`/plans/${this.props.plan.name}/edit?tab\u003deditPlan`);"},{"line_number":155,"context_line":"        break;"},{"line_number":156,"context_line":"      }"},{"line_number":157,"context_line":"      case \u0027export\u0027: {"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_319dcc65","line":154,"in_reply_to":"7f231b9d_692b6682","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                onSelect\u003d{this.handleOnSelect.bind(this)}"},{"line_number":178,"context_line":"                id\u003d{`card-actions-${this.props.plan.name}`}"},{"line_number":179,"context_line":"              \u003e"},{"line_number":180,"context_line":"                \u003cMenuItem eventKey\u003d\"edit\"\u003e"},{"line_number":181,"context_line":"                  \u003cFormattedMessage {...messages.edit} /\u003e"},{"line_number":182,"context_line":"                \u003c/MenuItem\u003e"},{"line_number":183,"context_line":"                \u003cMenuItem eventKey\u003d\"export\"\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_2921ee9f","line":180,"updated":"2017-06-16 14:56:50.000000000","message":"I\u0027ve created MenuItemLink component here https://review.openstack.org/#/c/472264/3/src/js/components/ui/dropdown/MenuItemLink.js for linking from dropdown items. Using it would simplify the code quite a bit.","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                onSelect\u003d{this.handleOnSelect.bind(this)}"},{"line_number":178,"context_line":"                id\u003d{`card-actions-${this.props.plan.name}`}"},{"line_number":179,"context_line":"              \u003e"},{"line_number":180,"context_line":"                \u003cMenuItem eventKey\u003d\"edit\"\u003e"},{"line_number":181,"context_line":"                  \u003cFormattedMessage {...messages.edit} /\u003e"},{"line_number":182,"context_line":"                \u003c/MenuItem\u003e"},{"line_number":183,"context_line":"                \u003cMenuItem eventKey\u003d\"export\"\u003e"}],"source_content_type":"text/javascript","patch_set":9,"id":"7f231b9d_51928858","line":180,"in_reply_to":"7f231b9d_2921ee9f","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"a870fc8cf407612a4b8bdc942bf01dc080433cbf","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      case stackStates.CREATE_IN_PROGRESS:"},{"line_number":90,"context_line":"      case stackStates.UPDATE_IN_PROGRESS:"},{"line_number":91,"context_line":"      case stackStates.DELETE_IN_PROGRESS:"},{"line_number":92,"context_line":"        return \u003cspan className\u003d\"pficon pficon-spinner\" /\u003e;"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"      case stackStates.CREATE_COMPLETE:"},{"line_number":95,"context_line":"      case stackStates.UPDATE_COMPLETE:"}],"source_content_type":"text/javascript","patch_set":10,"id":"7f231b9d_0695d886","line":92,"updated":"2017-06-19 11:32:03.000000000","message":"It is possible to use Loader component in this case to achieve actually spinning spinner.","commit_id":"587d249c2faac2963116429cc72a18f7187bbe05"},{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"a870fc8cf407612a4b8bdc942bf01dc080433cbf","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            {this.renderPlanName()}"},{"line_number":157,"context_line":"            \u0026nbsp;"},{"line_number":158,"context_line":"            {this.getActiveIcon()}"},{"line_number":159,"context_line":"            \u003cdiv className\u003d\"pull-right\"\u003e"},{"line_number":160,"context_line":"              \u003cDropdownKebab id\u003d{`card-actions-${planName}`}\u003e"},{"line_number":161,"context_line":"                \u003cMenuItemLink to\u003d{`/plans/${planName}/edit`}\u003e"},{"line_number":162,"context_line":"                  \u003cFormattedMessage {...messages.edit} /\u003e"},{"line_number":163,"context_line":"                \u003c/MenuItemLink\u003e"}],"source_content_type":"text/javascript","patch_set":10,"id":"7f231b9d_063ef8b6","line":160,"range":{"start_line":159,"start_character":12,"end_line":160,"end_character":61},"updated":"2017-06-19 11:32:03.000000000","message":"\u003cDropdownKebab id\u003d{`card-actions-${planName}`} pullRight\u003e\n\nthis will make the kebab dropdown align to the right of the card","commit_id":"587d249c2faac2963116429cc72a18f7187bbe05"}],"src/less/components/Plans.less":[{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"1de282c442cd7d71ab1592a41e4e83f725caaf27","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    border: none;"},{"line_number":142,"context_line":"  }"},{"line_number":143,"context_line":"}"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":".plans-list .panel-body {"},{"line_number":146,"context_line":"  background: #f5f5f5;"},{"line_number":147,"context_line":"}"}],"source_content_type":"text/x-less","patch_set":9,"id":"7f231b9d_f5b3cfe7","line":147,"range":{"start_line":144,"start_character":0,"end_line":147,"end_character":1},"updated":"2017-06-16 14:56:50.000000000","message":"not needed if you use cards-pf class, see comments in ListPlans.js","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    border: none;"},{"line_number":142,"context_line":"  }"},{"line_number":143,"context_line":"}"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":".plans-list .panel-body {"},{"line_number":146,"context_line":"  background: #f5f5f5;"},{"line_number":147,"context_line":"}"}],"source_content_type":"text/x-less","patch_set":9,"id":"7f231b9d_f1ebd40f","line":147,"range":{"start_line":144,"start_character":0,"end_line":147,"end_character":1},"in_reply_to":"7f231b9d_f5b3cfe7","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"}],"src/less/utils/patternflyOverrides.less":[{"author":{"_account_id":7509,"name":"Jiri Tomasek","email":"jtomasek@redhat.com","username":"jtomasek"},"change_message_id":"b2e6f00214be208e8f279392247fb0094cf29807","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"// Add this to a \"pf\" or \"fa\" icon span to give it some breathing room"},{"line_number":171,"context_line":".icon-with-padding {"},{"line_number":172,"context_line":"  padding: 0 5px;"},{"line_number":173,"context_line":"}"}],"source_content_type":"text/x-less","patch_set":9,"id":"7f231b9d_493d4a8d","line":172,"updated":"2017-06-16 14:59:29.000000000","message":"Since icons are text, I\u0027d personally prefer if spacing was achieved by using spaces or \u0026nbsp;","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"},{"author":{"_account_id":20970,"name":"Honza Pokorny","email":"honza@redhat.com","username":"hpokorny"},"change_message_id":"7daface1f20f38ef44462456259a21952124b724","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"// Add this to a \"pf\" or \"fa\" icon span to give it some breathing room"},{"line_number":171,"context_line":".icon-with-padding {"},{"line_number":172,"context_line":"  padding: 0 5px;"},{"line_number":173,"context_line":"}"}],"source_content_type":"text/x-less","patch_set":9,"id":"7f231b9d_31538ce4","line":172,"in_reply_to":"7f231b9d_493d4a8d","updated":"2017-06-16 22:51:22.000000000","message":"Done","commit_id":"f0fdf037ee226bcd860f8f28f4d62312d0592af7"}]}
