1webpackJsonp([0],[,,function(e,t,a){"use strict";var s=a(0);a(1),s.tag2("service-row",'<div class="project-table-row row"> <div class="project-table-code-name col-xs-4"> <a href="{coreServiceDetailsURL()}"> <div class="row"> <div class="col-md-2"> <span class="project-table-mascot-icon" riot-style="background-image: url({mascotImage()});"></span> </div> <div class="col-md-10"> {code_name} </div> </div> </a> </div> <div class="project-table-description col-xs-8"> <div class="row"> <div class="col-md-12"> <a href="{coreServiceDetailsURL()}">{name}</a> </div> </div> </div> </div>',"","",function(e){this.base_url=e.base_url,this.release_id=e.release_id,this.api=e.api;var t=this;this.on("mount",function(){$(".capability-cat-button").click(function(e){$(".collapse").collapse("hide")})}),this.coreServiceDetailsURL=function(){return t.base_url+"releases/"+t.release_id+"/components/"+t.slug}.bind(this),this.mascotImage=function(){return"/software/images/mascots/"+t.slug.replace(/ /g,"_")+".png"}.bind(this),this.getCatColor=function(e){switch(e){case"starts-from":return"rgba(255,0,0,0.6)";case"technology":return"rgba(0,128,0,0.6)";case"components":return"rgba(32,178,170,0.6)";case"upgrades":return"rgba(0,0,0,0.6)";case"features":return"rgba(148,0,211,0.6)"}}.bind(this),this.selectCapability=function(e){let a=e.item.tag;e.preventDefault(),window.location.hash=a,t.api.trigger("filter-capability",a)}.bind(this)})},function(e,t,a){"use strict";var s=a(0);a(8),a(9),a(2),a(1),s.tag2("service-group",'<div class="row"> <div class="col-sm-12 all-projects-wrapper"> <h3><t entity="Software.SERVICES_SECTION_TITLE" text="{category.Label}"></t></h3> <p><t entity="Software.SERVICES_SECTION_DESCRIPTION" text="{category.Description}"></t></p> <p></p> </div> </div> <component-capabilities-ddl api="{api}" show="{category.ID == 36}"></component-capabilities-ddl> <div class="row" id="{âcat_â + category.ID}" show="{Object.keys(subcategories).length > 0}"> <div class="col-md-12"> <div class="row" each="{subcatId, subcategory in subcategories}"> <div class="col-sm-12"> <p class="service-section-title"> <strong> <t entity="Software.SERVICES_SECTION_TITLE" text="{subcategory.category.Label}"></t> </strong> </p> </div> <div class="col-sm-12" show="{opts.tiles}"> <service-box each="{subcategory.components}"></service-box> </div> <div class="col-sm-12" show="{!opts.tiles}"> <service-row api="{api}" each="{subcategory.components}" base_url="{base_url}" release_id="{release_id}"></service-row> </div> </div> </div> </div> <div show="{Object.keys(subcategories).length == 0}"> No Components for this search </div>',"","",function(e){this.base_url=this.parent.base_url,this.release_id=this.parent.release_id,this.filter_tag=null,this.api=e.api,this.category=e.category,this.subcategories=e.subcategories;var t=this;this.on("update",function(){t.category=this.opts.category,t.subcategories=this.opts.subcategories})})},function(e,t,a){e.exports=a(5)},function(e,t,a){(function(e){try{(function(){"use strict";a(7),a(10),a(11),a(12),a(13),a(14);var t=function(e){return e&&e.__esModule?e:{default:e}}(a(15));e.mount("project-services",{api:t.default}),e.mount("project-services-with-nav",{api:t.default}),e.mount("openstack-releases-ddl",{api:t.default}),e.mount("openstack-components-free-search",{api:t.default}),e.mount("openstack-components-filters",{api:t.default}),e.mount("openstack-category-nav",{api:t.default})}).call(this)}finally{0}}).call(t,a(0))},,function(e,t,a){"use strict";var s=a(0);a(3),s.tag2("project-services",'<div> <service-group api="{api}" category="{category}" subcategories="{groups}" tiles="{false}"></service-group> </div>',"","",function(e){this.release_id=e.release_id,this.base_url=e.base_url,this.api=e.api,this.filter_tag=null,this.groups=e.groups,this.category=e.category;var t=this;this.on("update",function(){if(t.groups=JSON.parse(JSON.stringify(this.opts.groups)),t.filter_tag)for(var e in t.groups){let a=t.groups[e].components.filter(e=>e.capability_tags.includes(t.filter_tag));0==a.length?delete t.groups[e]:t.groups[e].components=a}}),e.api.on("filter-capability",function(e){t.filter_tag=e,t.update(
1)})})},function(e,t,a){"use strict";var s=a(0);s.tag2("component-capabilities-ddl",'<div class="row component-capability-filter"> <div class="col-md-6 form-group form-inline"> <label> Filter by Capability: </label> <select class="form-control form-control-sm" onchange="{selectCapability}" value="{filter_tag}"> <option value="">None</option> <optgroup each="{cap in capabilities}" label="{cap.name}"> <option each="{tag in cap.tags}">{tag.name}</option> </optgroup> </select> </div> </div>',"","",function(t){this.ctrl=s.observable(),this.api=t.api,this.filter_tag="";var a=this;this.on("mount",function(){$(document).ready(function(){a.handleDeepLink()})}),this.selectCapability=function(e){e.preventDefault(),a.clickCapability(e.target.value)}.bind(this),this.clickCapability=function(e){window.location.hash=e,a.api.trigger("filter-capability",e)}.bind(this),this.handleDeepLink=function(){var e=window.location.hash.replace("#","");$.isEmptyObject(e)||a.clickCapability(e)}.bind(this),a.api.on("filter-capability",function(e){a.filter_tag=e,a.update()}),e.exports=this.ctrl})},function(e,t,a){"use strict";var s=a(0);a(1),s.tag2("service-box",'<div class="col-md-4 col-sm-6"> <div class="core-services-single-full"> <div class="core-top"> <a href="{coreServiceDetailsURL()}"> <div class="core-title" riot-style="background-image: url({mascotImage()});"> {code_name} </div> </a> <div class="core-service"> <a href="{coreServiceDetailsURL()}">{name}</a> </div> </div> </div> </div>',"","",function(e){var t=this;this.coreServiceDetailsURL=function(){return t.parent.base_url+"releases/"+t.parent.release_id+"/components/"+t.slug}.bind(this),this.mascotImage=function(){return"/software/images/mascots/"+t.slug.replace(/ /g,"_")+".png"}.bind(this)})},function(e,t,a){"use strict";var s=a(0);a(3),s.tag2("project-services-with-nav",'<div if="{Object.keys(groups).length > 0}"> <service-group api="{api}" category="{activeCat.category}" subcategories="{activeCat.subcategories}" tiles="{false}"></service-group> </div> <div if="{Object.keys(groups).length == 0}"> No Components for this search </div>',"","",function(e){this.release_id=e.release_id,this.base_url=e.base_url,this.groups=e.groups,this.api=e.api,this.activeCat=this.groups[Object.keys(this.groups)[0]];var t=this;e.api.on("loaded-components-by-release",function(e){t.groups=e,t.update()}),e.api.on("change-category",function(e){t.activeCat=t.groups[e],t.update()})})},function(e,t,a){"use strict";a(0).tag2("openstack-releases-ddl",'<div class="col-sm-3 col-xs-6 all-projects-select"> <select id="openstack_releases" class="form-control" onchange="{releaseChanged}"> <option each="{releases}" value="{id}">{name}</option> </select> <i class="fa fa-sort"></i> </div>',"","",function(e){this.releases=e.releases,this.api=e.api,this.release_id=null;var t=this;this.releaseChanged=function(e){t.release_id=e.target.value;var a=$("#all-projects-adoption").slider("getValue"),s=$("#all-projects-maturity").slider("getValue"),i=$("#all-projects-age").slider("getValue"),l=$("#all-projects-search").val();t.api.load_components_by_release(t.release_id,l,a,s,i)}.bind(this),this.on("mount",function(){t.release_id=$("#openstack_releases").val()}),this.getCurrentRelease=function(){return t.release_id}.bind(this)})},function(e,t,a){"use strict";a(0).tag2("openstack-components-free-search",'<div class="col-sm-4 col-xs-6 all-projects-search-wrapper"> <input type="search" placeholder="{ss.i18n._t(\'Software.ENTER_KEYWORD\',\'Enter a keyword\')}" id="all-projects-search" onkeyup="{doFreeTextSearch}"> <i class="fa fa-search"></i> </div>',"","",function(e){this.api=e.api,this.last_ajax_request=null;var t=this;this.doFreeTextSearch=function(e){var a=e.target.value,s=$("#openstack_releases").val(),i=$("#all-projects-adoption").slider("getValue"),l=$("#all-projects-maturity").slider("getValue"),r=$("#all-projects-age").slider("getValue");null!=t.last_ajax_request&&t.last_ajax_request.abort(),t.last_ajax_request=t.api.load_components_by_release(s,a,i,l,r)}.bind(this)})},function(e,t,a){"use strict";var s=a(0);a(1),s.tag2("openstack-components-filters",'<div id="all-projects-filter-wrapper"> <div class="row"> <div class="col-md-2 col-sm-3 col-xs-10 single-filter-wrapper first"> <div class="filter-stats-label"> <t entity="Software.ADOPTION_OF_AT_LEAST" text="<strong>ADOPTION</strong> of at least"></t> <span id="adoptionSliderVal">0</span>% </div>
1 <input id="all-projects-adoption" data-slider-id="adoptionSlider" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="0"> </div> <div class="col-md-2 col-sm-3 col-xs-10 single-filter-wrapper"> <div class="filter-stats-label"> <t entity="Software.MATURITY_OF_AT_LEAST" text="<strong>MATURITY</strong> of at least"></t> <span id="maturitySliderVal">0</span> <t entity="Software.MATUIRY_OF" text="of"></t> {this.max_maturity_points} </div> <input id="all-projects-maturity" data-slider-id="maturitySlider" type="text" data-slider-min="0" data-slider-max="{this.max_maturity_points}" data-slider-step="1" data-slider-value="0"> </div> <div class="col-md-2 col-sm-3 col-xs-10 single-filter-wrapper"> <div class="filter-stats-label"> <t entity="Software.AGE_OF_AT_LEAST" text="<strong>AGE</strong> of at least"></t> <span id="ageSliderVal">0</span> <t entity="Software.YEARS" text="years"></t> </div> <input id="all-projects-age" data-slider-id="ageSlider" type="text" data-slider-min="0" data-slider-max="10" data-slider-step="1" data-slider-value="0"> </div> </div> </div>',"","",function(e){this.api=e.api,this.last_ajax_request=null,this.max_maturity_points=e.max_maturity_points;var t=this;this.on("mount",function(){$("#all-projects-adoption").slider({ticks:[0,100],ticks_positions:[0,100],ticks_labels:["0","100"],ticks_snap_bounds:1}),$("#all-projects-adoption").on("slideStop",function(e){$("#adoptionSliderVal").text(e.value);var a=$("#all-projects-adoption").slider("getValue"),s=$("#all-projects-maturity").slider("getValue"),i=$("#all-projects-age").slider("getValue"),l=$("#all-projects-search").val(),r=$("#openstack_releases").val();null!=t.last_ajax_request&&t.last_ajax_request.abort(),t.last_ajax_request=t.api.load_components_by_release(r,l,a,s,i)}),$("#all-projects-maturity").slider({ticks:[0,3,t.max_maturity_points],ticks_labels:["0","3",t.max_maturity_points],ticks_snap_bounds:0}),$("#all-projects-maturity").on("slideStop",function(e){$("#maturitySliderVal").text(e.value);var a=$("#all-projects-adoption").slider("getValue"),s=$("#all-projects-maturity").slider("getValue"),i=$("#all-projects-age").slider("getValue"),l=$("#all-projects-search").val(),r=$("#openstack_releases").val();null!=t.last_ajax_request&&t.last_ajax_request.abort(),t.last_ajax_request=t.api.load_components_by_release(r,l,a,s,i)}),$("#all-projects-age").slider({ticks:[0,10],ticks_labels:["0","10"],ticks_snap_bounds:0}),$("#all-projects-age").on("slideStop",function(e){$("#ageSliderVal").text(e.value);var a=$("#all-projects-adoption").slider("getValue"),s=$("#all-projects-maturity").slider("getValue"),i=$("#all-projects-age").slider("getValue"),l=$("#all-projects-search").val(),r=$("#openstack_releases").val();null!=t.last_ajax_request&&t.last_ajax_request.abort(),t.last_ajax_request=t.api.load_components_by_release(r,l,a,s,i)})})})},function(e,t,a){"use strict";var s=a(0);s.tag2("openstack-category-nav",'<div class="container"> <div class="outer-project-subnav"> <div class="category-slider"> <ul class="category-subnav"> <li class="category-item" each="{categories}"> <a id="{\'category_\' + ID}" data-slug="{Slug}" href="#" data-id="{ID}" onclick="{selectedCategory}">{Name}</a> </li> </ul> </div> </div> <div class="software-category-dropdown"> <div class="dropdown"> <button aria-expanded="true" aria-haspopup="true" data-toggle="dropdown" id="dropdownMenu1" type="button" class="dropdown-toggle category-dropdown-button"> Select a Category <i class="fa fa-caret-down"></i> </button> <ul class="dropdown-menu"> <li class="category-item" each="{categories}"> <a id="{\'category_\' + ID}" data-slug="{Slug}" href="#" data-id="{ID}" onclick="{selectedCategory}">{Label}</a> </li> </ul> </div> </div> </div>',"","",function(t){this.categories=Object.keys(t.groups).map(e=>t.groups[e].category),this.ctrl=s.observable(),this.api=t.api,this.default=this.categories[0].ID;var a=this;this.on("mount",function(){$(document).ready(function(){a.handleDeepLink()})}),this.selectedCategory=function(e){a.clickCategory(e.item.ID)}.bind(this),this.clickCategory=function(e){var t=$("#category_"+e).data("slug");$(".category-item").removeClass("active"),$("#category_"+e).parent().addClass("active"),window.location.hash=t,a.api.trigger("change-category",t)}.bind(this),this.handleDeepLink=function(){var e=window.location.hash.replace("#","");$.isEmptyObject(e)?null!==a.default&&a.clickCategory(a.default):$('*[data-slug="'+e+'"]').length&&a.clickCategory($('*[data-slug="'+e+'"]').data("id"))}.bind(this),t.api.on("loaded-components-by-release",function(e){a.categories=Object.keys(e).map(t=>e[t].category),a.update(),a.categories.length&&a.clickCategory(a.categories[0].ID)}),e.exports=this.ctrl})},function(e,t,a){(function(e){try{(function(){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});var a=e.observable();a.load_components_by_release=function(e,t,s,i,l,r,o){var c="api/v1/software/"+"releases/@RELEASE_ID/components".replace("@RELEASE_ID",e)+"?",n="";return null!==t&&""!==t&&void 0!==t&&(""!==n&&(n+="&"),n+="term="+t),null!==s&&""!==s&&void 0!==s&&(""!==n&&(n+="&"),n+="adoption="+s),null!==i&&""!==i&&void 0!==i&&(""!==n&&(n+="&"),n+="maturity="+i),null!==l&&""!==l&&void 0!==l&&(""!==n&&(n+="&"),n+="age="+l),null!==r&&""!==r&&void 0!==r&&(""!==n&&(n+="&"),n+="sort="+r+":"+o),$.get(c+n,function(e){a.trigger("loaded-components-by-release",e)})},t.default=a}).call(this)}finally{0}}).call(t,a(0))}],[4]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.