devvibes's picture
Haven Kitchen OS - Final Contest Submission ๐Ÿ†
5aeac76
"use strict";this.default_r_zfdvltmqh=this.default_r_zfdvltmqh||{};(function(_){var window=this;
try{
_.ai("af8uu");
var Ian=function(a,b){if(a&1){const c=_.p();_.J(0,"mat-option",11);_.R("onSelectionChange",function(d){_.q(c);const e=_.S();return _.u(e.onSelectionChange(d))});_.T(1);_.K()}a&2&&(a=b.$implicit,_.I("value",a.value),_.A(),_.U(" ",a.displayName," "))},Jan=function(a){a&1&&(_.J(0,"span",12),_.T(1),_.K());a&2&&(a=_.S(),_.A(),_.ch(a.disabledMsg))},Kan=function(a,b){a&1&&(_.J(0,"mat-option",19),_.T(1),_.K());a&2&&(a=b.$implicit,_.I("value",a.value),_.A(),_.U(" ",a.displayName," "))},Lan=function(a){a&1&&
_.M(0,"cfc-select-divider")},Man=function(a,b){a&1&&(_.yg(0),_.J(1,"mat-optgroup",17),_.F(2,Kan,2,2,"mat-option",18),_.K(),_.F(3,Lan,1,0,"cfc-select-divider",10),_.N());a&2&&(a=b.$implicit,b=b.last,_.A(),_.I("label",a.label),_.A(),_.I("ngForOf",a.options),_.A(),_.I("ngIf",!b))},Nan=function(a){a&1&&(_.yg(0),_.F(1,Man,4,3,"ng-container",16),_.N());a&2&&(a=_.S().$implicit,_.A(),_.I("ngForOf",a.optionGroups))},Oan=function(a,b){a&1&&(_.J(0,"mat-option",19),_.T(1),_.K());a&2&&(a=b.$implicit,_.I("value",
a.value),_.A(),_.U(" ",a.displayName," "))},Pan=function(a){a&1&&(_.yg(0),_.F(1,Oan,2,2,"mat-option",18),_.N());a&2&&(a=_.S().$implicit,_.A(),_.I("ngForOf",a.optionGroups[0].options))},Ran=function(a,b){if(a&1){const c=_.p();_.J(0,"mat-form-field",14)(1,"mat-label");_.T(2);_.K();_.J(3,"cfc-select",15);_.R("ngModelChange",function(d){const e=_.q(c).$implicit,f=_.S(2),g=f.filterValues[e.label].length,k=d.length;f.filterValues[e.label]=d;Qan(f);f.sendAnalytics("metricsFiltersChanged",{filter:e.label,
numAdded:String(k-g)});return _.u()});_.F(4,Nan,2,1,"ng-container",10)(5,Pan,2,1,"ng-container",10);_.K()()}a&2&&(a=b.$implicit,b=_.S(2),_.A(2),_.ch(a.displayName),_.A(),_.I("multiple",!0)("ngModel",b.filterValues[a.label])("hasOkCancelButtons",!0)("requireSelection",!0)("hasSelectAllNoneCheckbox",!0)("hasFilter",a.options.length>10),_.A(),_.I("ngIf",a.optionGroups.length>1),_.A(),_.I("ngIf",a.optionGroups.length==1))},San=function(a){a&1&&(_.yg(0),_.F(1,Ran,6,9,"mat-form-field",13),_.N());a&2&&(a=
_.S(),_.A(),_.I("ngForOf",a.filtersToShow))},Tan=function(a){a&1&&(_.J(0,"h3"),_.T(1),_.K());a&2&&(a=_.S(),_.A(),_.ch(a.tableTitle))},Uan=function(a){a&1&&(_.T(0),_.M(1,"cfc-help-button",7));a&2&&(a=_.S(2).$implicit,_.U(" ",a.title," "),_.A(),_.I("tooltip",a.tooltipMessage))},Van=function(a){a&1&&_.F(0,Uan,2,2,"ng-template",6)},Wan=function(a,b){a&1&&(_.J(0,"cfc-table-column",5),_.F(1,Van,1,0,null,0),_.K());a&2&&(a=b.$implicit,_.I("id",a.id)("header",a.title)("type",a.type),_.A(),_.I("ngIf",a.tooltipMessage))},
Xan=function(a,b){a&1&&_.M(0,"apis-graph-grid",8);if(a&2){a=b.ngIf;b=_.S().ngIf;const c=_.S();_.I("projectId",c.projectId)("groupId",c.groupId)("graphConfigs",a)("graphsToShow",b.graphs)("colaEnabled",!0)("showGrid",!1)}},Yan=function(a,b){a&1&&_.M(0,"apis-metrics-table",9);a&2&&(a=b.ngIf,b=_.S(2),_.I("projectId",b.projectId)("interval",a.interval)("commonFilters",a.commonFilters)("tableTitle",b.table.tableTitle)("firstColTitle",b.table.firstColTitle)("groupByLabel",b.table.groupByLabel)("legendSubstitutionMap",
b.table.legendSubstitutionMap)("metricsColumns",b.metricsColumns))},Zan=function(a,b){if(a&1){const c=_.p();_.yg(0);_.J(1,"h2",4);_.O(2,0);_.K();_.J(3,"apis-dashboard-controls",5);_.R("intervalChange",function(d){_.q(c);const e=_.S();return _.u(e.intervalChange.emit(d))})("filtersChange",function(d){_.q(c);const e=_.S();return _.u(e.filtersChange.emit(d))})("settingsChange",function(d){_.q(c);const e=_.S();return _.u(e.updateSettings(d))});_.K();_.J(4,"h2",4);_.O(5,1);_.K();_.F(6,Xan,1,6,"apis-graph-grid",
6);_.W(7,"async");_.J(8,"h2",4);_.O(9,2);_.K();_.F(10,Yan,1,8,"apis-metrics-table",7);_.W(11,"async");_.N()}a&2&&(a=b.ngIf,b=_.S(),_.A(3),_.I("selectInputs",b.selectInputs)("apiKeyLabels",b.apiKeyLabels)("settings",a)("disabledMsg",b.disabledMsg)("analyticsIdMap",b.analyticsIdMap),_.A(3),_.I("ngIf",_.X(7,7,b.graphConfigsObs)),_.A(4),_.I("ngIf",_.X(11,9,b.tableInputsObs)))},$an=function(a,b){return a.graphs.length===b.graphs.length&&a.graphs.every(c=>b.graphs.includes(c))},cbn=function(a){a&1&&_.M(0,
"apis-graph-item",22);a&2&&(a=_.S().ngIf,_.S(),_.I("legendSubstitutionMap",abn(a.credentialOptions,a.apiKeyLabels))("crossSeriesAggregationReducers",_.kh(3,bbn))("projectId",a.projectId))},dbn=function(a){a&1&&_.M(0,"apis-graph-item",23);a&2&&(a=_.S().ngIf,_.S(),_.I("legendSubstitutionMap",abn(a.credentialOptions,a.apiKeyLabels))("crossSeriesAggregationReducers",_.kh(3,bbn))("projectId",a.projectId))},fbn=function(a){a&1&&_.M(0,"apis-graph-item",24);a&2&&(a=_.S().ngIf,_.S(),_.I("legendSubstitutionMap",
abn(a.credentialOptions,a.apiKeyLabels))("crossSeriesAggregationReducers",_.kh(3,ebn))("projectId",a.projectId))},ibn=function(a,b){a&1&&(_.J(0,"apis-metrics-dashboard",3),_.M(1,"apis-dashboard-filter",4)(2,"apis-dashboard-filter",5)(3,"apis-dashboard-filter",6)(4,"apis-dashboard-filter",7)(5,"apis-graph-item",8)(6,"apis-graph-item",9),_.F(7,cbn,1,4,"apis-graph-item",10),_.M(8,"apis-graph-item",11),_.F(9,dbn,1,4,"apis-graph-item",12),_.M(10,"apis-graph-item",13)(11,"apis-graph-item",14)(12,"apis-graph-item",
15),_.F(13,fbn,1,4,"apis-graph-item",16),_.M(14,"apis-table-item",17)(15,"apis-table-column",18)(16,"apis-table-column",19)(17,"apis-table-column",20)(18,"apis-table-column",21),_.K());a&2&&(a=b.ngIf,b=_.S(),_.I("projectId",a.projectId)("groupId",a.groupId)("apiKeyLabels",a.apiKeyLabels)("settingsSubkey",a.settingsSubkey),_.A(),_.I("optionGroups",a.serviceOptions),_.A(),_.I("optionGroups",a.versionOptions),_.A(),_.I("optionGroups",a.credentialOptions),_.A(),_.I("optionGroups",a.methodOptions),_.A(),
_.I("showByDefault",!0)("crossSeriesAggregationReducers",_.kh(32,bbn))("projectId",a.projectId),_.A(),_.I("crossSeriesAggregationReducers",_.kh(33,bbn))("projectId",a.projectId),_.A(),_.I("ngIf",a.shouldShowCredentialsGraphs),_.A(),_.I("showByDefault",!0)("crossSeriesAggregationReducers",_.kh(34,bbn))("projectId",a.projectId),_.A(),_.I("ngIf",a.shouldShowCredentialsGraphs),_.A(),_.I("showByDefault",!0)("crossSeriesAggregationReducers",_.kh(35,gbn))("legendSubstitutionMap",_.kh(36,hbn))("projectId",
a.projectId),_.A(),_.I("crossSeriesAggregationReducers",_.kh(37,ebn))("projectId",a.projectId),_.A(),_.I("showByDefault",!0)("crossSeriesAggregationReducers",_.kh(38,ebn))("projectId",a.projectId),_.A(),_.I("ngIf",a.shouldShowCredentialsGraphs),_.A(2),_.I("aggregationReducer",b.Reducer.REDUCE_SUM),_.A(),_.I("aggregationReducer",b.Reducer.REDUCE_SUM),_.A(),_.I("aggregationReducer",b.Reducer.REDUCE_MEAN),_.A(),_.I("aggregationReducer",b.Reducer.REDUCE_PERCENTILE_99))},jbn=function(a,b){return a.projectsLocationsKeysApiClient.list(`projects/${b}/locations/global`,
{includeKeyString:!0}).pipe(_.z(c=>new Map(((c==null?void 0:c.keys)||[]).map(d=>[`apikey:${d.keyString}`,`apikey:${d.uid}`]))))},kbn={REDUCE_NONE:"REDUCE_NONE",REDUCE_MEAN:"REDUCE_MEAN",REDUCE_MIN:"REDUCE_MIN",REDUCE_MAX:"REDUCE_MAX",REDUCE_SUM:"REDUCE_SUM",REDUCE_STDDEV:"REDUCE_STDDEV",REDUCE_COUNT:"REDUCE_COUNT",REDUCE_COUNT_TRUE:"REDUCE_COUNT_TRUE",REDUCE_COUNT_FALSE:"REDUCE_COUNT_FALSE",REDUCE_FRACTION_TRUE:"REDUCE_FRACTION_TRUE",REDUCE_PERCENTILE_99:"REDUCE_PERCENTILE_99",REDUCE_PERCENTILE_95:"REDUCE_PERCENTILE_95",
REDUCE_PERCENTILE_50:"REDUCE_PERCENTILE_50",REDUCE_PERCENTILE_05:"REDUCE_PERCENTILE_05",REDUCE_FRACTION_LESS_THAN:"REDUCE_FRACTION_LESS_THAN",REDUCE_MAKE_DISTRIBUTION:"REDUCE_MAKE_DISTRIBUTION"},lbn=class{ngOnInit(){}get options(){return this.optionGroups.reduce((a,b)=>a.concat(b.options),[])}};lbn.\u0275fac=function(a){return new (a||lbn)};lbn.\u0275dir=_.tf({type:lbn,selectors:[["apis-dashboard-filter"]],inputs:{label:"label",displayName:"displayName",optionGroups:"optionGroups"},standalone:!1});
var Qan=function(a){a.filtersChange.emit(a.selectInputs.filters.map(b=>mbn(a,b)))},mbn=function(a,b){if(_.mi(_.$kf)){var c=b.label;const f=a.filterValues[c];if(f.length<Math.min(Math.max(20,b.options.length/2),b.options.length)||c==="service")return{label:c,valuesSelected:f,invertSelection:!1};a=b.options.map(g=>g.value).filter(g=>!f.includes(g));return{label:c,valuesSelected:a,invertSelection:!0}}c=b.label;const d=a.filterValues[c],e=nbn(a,c,d);if(e.length<Math.min(Math.max(20,b.options.length/2),
b.options.length)||c==="service")return{label:c,valuesSelected:e,invertSelection:!1};b=b.options.map(f=>f.value).filter(f=>!d.includes(f));a=nbn(a,c,b);return{label:c,valuesSelected:a,invertSelection:!0}},nbn=function(a,b,c){return b==="credential_id"?(b=c.filter(d=>d.startsWith("apikey:")).filter(d=>a.apiKeyLabels.has(d)).map(d=>a.apiKeyLabels.get(d)),[...c,...b]):c},obn=class{constructor(){this.analyticsService=_.n(_.Eo);this.initialSelectedIndex=8;this.analyticsIdMap=new Map;this.intervalChange=
new _.Ri;this.filtersChange=new _.Ri;this.settingsChange=new _.Ri}get graphs(){return this.settings.graphs}set graphs(a){this.settings=Object.assign({},this.settings,{graphs:a||[]});this.settingsChange.emit(this.settings)}triggerBuilder(a){a=a.length;return(new _.nk("{numGraphs, plural, =1 {# Graph}other {# Graphs}}")).format({numGraphs:a})}ngOnInit(){_.mi(_.$kf);this.filterValues=this.selectInputs.filters.reduce((a,b)=>Object.assign({},a,{[b.label]:b.options.map(c=>c.value)}),{});this.filtersToShow=
this.selectInputs.filters.filter(a=>a.options.length>1)}ngAfterViewInit(){Qan(this)}sendAnalytics(a,b){this.analyticsService.sendEvent({type:"api",name:a,metadata:b})}onSelectionChange(a){const b=a.source.value;a.isUserInput&&this.analyticsIdMap.get(b)?this.sendAnalytics("metricsGraphSelectionChanged",{graph:this.analyticsIdMap.get(b),selected:a.source.selected}):this.sendAnalytics("metricsGraphSelectionChanged",{graph:_.yan.get(b),selected:a.source.selected})}};
obn.\u0275fac=function(a){return new (a||obn)};
obn.\u0275cmp=_.B({type:obn,selectors:[["apis-dashboard-controls"]],inputs:{selectInputs:"selectInputs",apiKeyLabels:"apiKeyLabels",initialSelectedIndex:"initialSelectedIndex",analyticsIdMap:"analyticsIdMap",disabledMsg:"disabledMsg",settings:"settings"},outputs:{intervalChange:"intervalChange",filtersChange:"filtersChange",settingsChange:"settingsChange"},standalone:!1,decls:13,vars:8,consts:()=>[" Select Graphs "," Filters: ",[1,"cfc-flex-container"],["floatLabel","never",1,"cfc-width-small"],[3,
"ngModelChange","multiple","ngModel","triggerBuilder","hasOkCancelButtons"],[3,"value","onSelectionChange",4,"ngFor","ngForOf"],["rightAligned","true","cfcIntervalPickerUrlStateSync","duration",3,"valueChange","initialSelectedIndex"],[1,"cfc-inline-form-row"],["id","filters-section-label",1,"cfc-label-text","cfc-inline-form-control"],["class","cfc-color-disabled",4,"ngIf"],[4,"ngIf"],[3,"onSelectionChange","value"],[1,"cfc-color-disabled"],["class","cfc-inline-form-control","aria-labelledby","filters-section-label",
4,"ngFor","ngForOf"],["aria-labelledby","filters-section-label",1,"cfc-inline-form-control"],[3,"ngModelChange","multiple","ngModel","hasOkCancelButtons","requireSelection","hasSelectAllNoneCheckbox","hasFilter"],[4,"ngFor","ngForOf"],[3,"label"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(a,b){a&1&&(_.J(0,"section")(1,"div",2)(2,"mat-form-field",3)(3,"mat-label"),_.O(4,0),_.K(),_.J(5,"cfc-select",4),_.gh("ngModelChange",function(c){_.fh(b.graphs,c)||(b.graphs=c);return c}),_.R("ngModelChange",
function(){return b.sendAnalytics("metricsGraphsChanged")}),_.F(6,Ian,2,2,"mat-option",5),_.K()(),_.J(7,"cfc-interval-picker",6),_.R("valueChange",function(c){return b.intervalChange.emit(c)}),_.K()(),_.J(8,"div",7)(9,"span",8),_.O(10,1),_.K(),_.F(11,Jan,2,1,"span",9)(12,San,2,1,"ng-container",10),_.K()());a&2&&(_.A(5),_.I("multiple",!0),_.eh("ngModel",b.graphs),_.I("triggerBuilder",b.triggerBuilder)("hasOkCancelButtons",!0),_.A(),_.I("ngForOf",b.selectInputs.graphs),_.A(),_.I("initialSelectedIndex",
b.initialSelectedIndex),_.A(4),_.I("ngIf",b.disabledMsg),_.A(),_.I("ngIf",!b.disabledMsg))},dependencies:[_.sn,_.tn,_.Bs,_.Is,_.sO,_.van,_.Px,_.Qx,_.pu,_.nu,_.zy,_.xy,_.Dp,_.Xy,_.By,_.Hy],encapsulation:2,changeDetection:0});
var pbn=function(a){switch(a){case "request_count":return{perSeriesAligner:"ALIGN_RATE",unitOverride:"count/s"};case "request_latencies":return{perSeriesAligner:"ALIGN_SUM",unitOverride:"second"};default:return _.ob(a,"apiMetric had an unknown type")}},qbn=function(a){return a?[_.dan(a)]:[]},rbn=function(a,b){return{legendTemplates:a.map(c=>b[c]||c)}},sbn=function(a,b){const c=_.fan(a.projectId,a.apiMetric,b);if(a.crossSeriesAggregationReducers.length>1){if(a.groupByLabel||a.numeratorFilter)throw Error("Lw");
return a.crossSeriesAggregationReducers.map(d=>({timeSeriesFilter:Object.assign({},{filter:c,crossSeriesReducer:d},pbn(a.apiMetric),a.timeSeriesFilterOverrides),plotType:"LINE"}))}if(a.crossSeriesAggregationReducers.length===1)return b=Object.assign({},{filter:c,crossSeriesReducer:a.crossSeriesAggregationReducers[0],groupByFields:qbn(a.groupByLabel)},pbn(a.apiMetric),a.timeSeriesFilterOverrides),a.numeratorFilter?[{timeSeriesFilterRatio:{numeratorFilter:Object.assign({},b,{filter:`${b.filter} AND (${a.numeratorFilter.replace(/'/g,
'"')})`,unitOverride:void 0}),denominatorFilter:Object.assign({},b,{unitOverride:void 0})},plotType:"LINE"}]:[{timeSeriesFilter:b,plotType:"LINE"}];throw Error("Mw");},tbn=class{constructor(){this.crossSeriesAggregationReducers=[];this.legendSubstitutionMap={};this.timeSeriesFilterOverrides={};this.analyticsId=""}get id(){return this.identifier?_.oa(this.identifier).join(""):_.oa(this.title).join("")}ngOnInit(){}};tbn.\u0275fac=function(a){return new (a||tbn)};
tbn.\u0275dir=_.tf({type:tbn,selectors:[["apis-graph-item"]],inputs:{projectId:"projectId",title:"title",apiMetric:"apiMetric",showByDefault:"showByDefault",identifier:"identifier",numeratorFilter:"numeratorFilter",groupByLabel:"groupByLabel",crossSeriesAggregationReducers:"crossSeriesAggregationReducers",legendSubstitutionMap:"legendSubstitutionMap",timeSeriesFilterOverrides:"timeSeriesFilterOverrides",yAxisValueFormatter:"yAxisValueFormatter",ve:"ve",analyticsId:"analyticsId"},standalone:!1});
var ubn=()=>["rowLabel"],vbn=()=>({mode:"never"}),xbn=function(a){return _.nan(a.JSC$450925_metricsService,a.projectId,a.interval,a.groupByLabel,a.commonFilters,a.metricInputsById).pipe(_.z(b=>wbn(a,b)))},wbn=function(a,b){b=Object.values(ybn(b));return a.showEmptyRows?b:b.filter(c=>Object.keys(c.valuesByColId).length>0)},ybn=function(a){return a.reduce((b,c)=>{for(const d of Object.keys(c.byRowLabel))b[d]=b[d]||{rowID:d,valuesByColId:{}},b[d].valuesByColId[c.id]=c.byRowLabel[d];return b},{})},zbn=
class{constructor(){this.JSC$450925_metricsService=_.n(_.q$);this.legendSubstitutionMap={};this.showEmptyRows=!1;this.isLoading=!0;this.destroy=new _.Mf;this.metricRowsChange=new _.Mf;this.clientTableManager=_.n(_.JD).createTableManager();this.metricRowsChange.pipe(_.bg(this.destroy),_.E(()=>{this.isLoading=!0;return xbn(this)})).subscribe({next:a=>{this.tableMessage=void 0;this.isLoading=!1;this.clientTableManager.rows=a},error:()=>{this.tableMessage={kind:"component",status:"warning",component:_.xan};
this.isLoading=!1;this.clientTableManager.rows=[]}})}ngOnInit(){}ngAfterContentInit(){this.columnsConfig=[{id:"rowLabel",accessor:a=>this.legendSubstitutionMap[a.rowID]||a.rowID},...this.metricsColumns];this.metricInputsById=this.metricsColumns.reduce((a,b)=>Object.assign({},a,{[b.id]:b}),{});this.metricRowsChange.next()}ngOnChanges(){this.metricInputsById&&this.metricRowsChange.next()}ngOnDestroy(){this.destroy.next()}};zbn.\u0275fac=function(a){return new (a||zbn)};
zbn.\u0275cmp=_.B({type:zbn,selectors:[["apis-metrics-table"]],inputs:{projectId:"projectId",interval:"interval",commonFilters:"commonFilters",tableTitle:"tableTitle",firstColTitle:"firstColTitle",groupByLabel:"groupByLabel",legendSubstitutionMap:"legendSubstitutionMap",showEmptyRows:"showEmptyRows",metricsColumns:"metricsColumns"},standalone:!1,features:[_.bn],decls:6,vars:14,consts:()=>[[4,"ngIf"],[3,"isLoading"],["ariaLabel","Label for metrics table",3,"sortKeys","columnsConfig","fullBleedConfig",
"fillContainerWidth","tableManager","message","disableTableManagerMessages","pagination"],["id","rowLabel","type","string",3,"header"],[3,"id","header","type",4,"ngFor","ngForOf"],[3,"id","header","type"],["cfcTableTemplate","","type","header"],["ariaLabel","Help with metrics table",3,"tooltip"]],template:function(a,b){a&1&&(_.J(0,"section"),_.F(1,Tan,2,1,"h3",0),_.J(2,"cfc-loader",1)(3,"cfc-table",2),_.M(4,"cfc-table-column",3),_.F(5,Wan,2,4,"cfc-table-column",4),_.K()()());a&2&&(_.A(),_.I("ngIf",
b.tableTitle),_.A(),_.I("isLoading",b.isLoading),_.A(),_.I("sortKeys",_.kh(12,ubn))("columnsConfig",b.columnsConfig)("fullBleedConfig",_.kh(13,vbn))("fillContainerWidth",!0)("tableManager",b.clientTableManager)("message",b.tableMessage)("disableTableManagerMessages",!!b.tableMessage)("pagination",!0),_.A(),_.I("header",b.firstColTitle||b.groupByLabel),_.A(),_.I("ngForOf",b.metricsColumns))},dependencies:[_.sn,_.tn,_.Ly,_.kA,_.fE,_.VD,_.gE,_.iE],encapsulation:2,changeDetection:0});
var Abn=class{constructor(){this.legendSubstitutionMap={}}ngOnInit(){}};Abn.\u0275fac=function(a){return new (a||Abn)};Abn.\u0275dir=_.tf({type:Abn,selectors:[["apis-table-item"]],inputs:{tableTitle:"tableTitle",firstColTitle:"firstColTitle",groupByLabel:"groupByLabel",legendSubstitutionMap:"legendSubstitutionMap"},standalone:!1});
var Bbn=class{get id(){return _.oa(this.title).join("")}get type(){if(this.numeratorFilter)return"percentage";switch(this.apiMetric){case "request_count":return"integer";case "request_latencies":return"duration";default:return _.ob(this.apiMetric,"apiMetric had an unknown type")}}get multiplier(){switch(this.apiMetric){case "request_count":return 1;case "request_latencies":return 1E3;default:return _.ob(this.apiMetric,"apiMetric had an unknown type")}}ngOnInit(){}accessor(a){if(!(a=a.valuesByColId[this.id]*
this.multiplier))a:switch(a=this.apiMetric,a){case "request_count":a="0";break a;case "request_latencies":a="-";break a;default:a=_.ob(a,"apiMetric had an unknown type")}return a}};Bbn.\u0275fac=function(a){return new (a||Bbn)};Bbn.\u0275dir=_.tf({type:Bbn,selectors:[["apis-table-column"]],inputs:{title:"title",tooltipMessage:"tooltipMessage",apiMetric:"apiMetric",numeratorFilter:"numeratorFilter",aggregationReducer:"aggregationReducer"},standalone:!1});
var Cbn=function(a,b,c){return b?a.JSC$450941_basicTypesService.get({key:{setting:"CONSUMED_API_DASHBOARD",projectId:a.projectId,subkey:a.settingsSubkey}}).pipe(_.z(d=>d.value.protoVal),_.z(function(d){return Object.assign({},{graphs:[]},d)}),_.wf(()=>_.y(c)),_.Wf(1)):_.y(c)},Dbn=class{constructor(){this.JSC$450941_basicTypesService=_.n(_.fv);this.JSC$450941_chartGroupService=_.n(_.XK);this.analyticsService=_.n(_.Eo);this.intervalChange=new _.Ri;this.filtersChange=new _.Ri;this.analyticsIdMap=new Map}ngOnInit(){_.mi(_.$kf)}ngAfterContentInit(){this.selectInputs=
{graphs:this.graphItems.map(a=>({value:a.id,displayName:a.title})),filters:this.filters.toArray()};this.defaultSettings={graphs:this.graphItems.filter(a=>a.showByDefault||!1).map(a=>a.id)};this.graphItems.forEach(a=>{a.analyticsId&&this.analyticsIdMap.set(a.id,a.analyticsId)});this.currentSettingsObs=Cbn(this,this.settingsSubkey,this.defaultSettings).pipe(_.z(a=>{a.graphs=(a.graphs||[]).filter(b=>this.graphItems.some(c=>c.id===b));return a}),_.dg(a=>{this.analyticsService.sendEvent({type:"api",name:"metricsPageLoadSettings",
metadata:{graphIds:(a.graphs||[]).join(", "),graphNames:(a.graphs||[]).map(b=>_.yan.get(b)).join(", ")}})}));this.graphConfigsObs=this.filtersChange.pipe(_.z(a=>this.graphItems.reduce((b,c)=>{var d=Object,e=d.assign,f=c.id,g=Object,k=g.assign,m={title:c.title,xyChart:{dataSets:sbn(c,a),options:{mode:"COLOR"},xAxis:{scale:"LINEAR"}}};if(c.groupByLabel&&c.crossSeriesAggregationReducers.length>1)throw Error("Nw");var r=c.groupByLabel?{legendTemplates:["${displayStringForLabel()}"],resourceMetadataNamingFunctions:new _.Fan("displayStringForLabel",
c.groupByLabel,Object.assign({},{"":"Unspecified"},c.legendSubstitutionMap))}:rbn(c.crossSeriesAggregationReducers,c.legendSubstitutionMap);c=k.call(g,{},m,r,{yAxisValueFormatter:c.yAxisValueFormatter,ve:c.ve,analyticsId:c.analyticsId});return e.call(d,{},b,{[f]:c})},{})));this.tableInputsObs=_.Ge([this.intervalChange,this.filtersChange]).pipe(_.z(([a,b])=>({interval:a,commonFilters:b})));this.intervalChange.asObservable().subscribe(a=>{_.WK(this.JSC$450941_chartGroupService,this.groupId).setDomain({min:a.start,
max:a.end});a=a.end.getTime()-a.start.getTime();this.analyticsService.sendEvent({type:"api",name:"metricsPageIntervalChange",metadata:{interval:`${a/36E5}hrs`}})})}ngOnDestroy(){this.intervalChange.unsubscribe()}updateSettings(a){this.currentSettingsObs.pipe(_.Lf()).subscribe(b=>{$an(a,b)||(this.currentSettingsObs=_.y(a),($an(a,this.defaultSettings)?this.JSC$450941_basicTypesService.delete({setting:"CONSUMED_API_DASHBOARD",projectId:this.projectId,subkey:this.settingsSubkey}):this.JSC$450941_basicTypesService.update({key:{setting:"CONSUMED_API_DASHBOARD",
subkey:this.settingsSubkey,projectId:this.projectId},value:{protoVal:{"@type":"type.googleapis.com/google.internal.cloud.usersettings.settings.services.ConsumedApiDashboard",graphs:a.graphs}}}).pipe(_.Ef())).pipe(_.Lf()).subscribe())})}};Dbn.\u0275fac=function(a){return new (a||Dbn)};
Dbn.\u0275cmp=_.B({type:Dbn,selectors:[["apis-metrics-dashboard"]],contentQueries:function(a,b,c){a&1&&_.Qg(c,Abn,5)(c,tbn,4)(c,lbn,4)(c,Bbn,4);if(a&2){let d;_.Sg(d=_.Tg())&&(b.table=d.first);_.Sg(d=_.Tg())&&(b.graphItems=d);_.Sg(d=_.Tg())&&(b.filters=d);_.Sg(d=_.Tg())&&(b.metricsColumns=d)}},inputs:{projectId:"projectId",groupId:"groupId",apiKeyLabels:"apiKeyLabels",settingsSubkey:"settingsSubkey",disabledMsg:"disabledMsg"},standalone:!1,decls:2,vars:3,consts:()=>[" Settings "," Graphs "," Tables ",
[4,"ngIf"],[1,"screen-reader-only-content"],[3,"intervalChange","filtersChange","settingsChange","selectInputs","apiKeyLabels","settings","disabledMsg","analyticsIdMap"],["legendType","inline","pan-latency","full",3,"projectId","groupId","graphConfigs","graphsToShow","colaEnabled","showGrid",4,"ngIf"],["pan-latency","full",3,"projectId","interval","commonFilters","tableTitle","firstColTitle","groupByLabel","legendSubstitutionMap","metricsColumns",4,"ngIf"],["legendType","inline","pan-latency","full",
3,"projectId","groupId","graphConfigs","graphsToShow","colaEnabled","showGrid"],["pan-latency","full",3,"projectId","interval","commonFilters","tableTitle","firstColTitle","groupByLabel","legendSubstitutionMap","metricsColumns"]],template:function(a,b){a&1&&(_.F(0,Zan,12,11,"ng-container",3),_.W(1,"async"));a&2&&_.I("ngIf",_.X(1,1,b.currentSettingsObs))},dependencies:[_.tn,obn,_.Can,zbn,_.xn],encapsulation:2,changeDetection:0});
var Ebn=class extends _.Zkf{constructor(){super(_.n(_.ro));this.projectParamService=_.n(_.Sq);this.iamPermissionsService=_.n(_.ew);this.apiKeysV2Service=_.n(_.XS)}resolveWithPromise(){if(_.mi(_.$kf))return Promise.resolve(void 0);if(this.iamPermissionsService.can("apikeys.keys.list")){const a=_.Rq(this.projectParamService);return _.Ae(jbn(this.apiKeysV2Service,a).pipe(_.wf(()=>_.y(new Map))))}return Promise.resolve(new Map)}};Ebn.\u0275fac=function(a){return new (a||Ebn)};
Ebn.\u0275prov=_.l({token:Ebn,factory:Ebn.\u0275fac,providedIn:"root"});var Fbn=class extends _.Zkf{constructor(){super(_.n(_.ro));this.JSC$450951_serviceUsageService=_.n(_.Sw);this.serviceUsageV2Service=_.n(_.Pw);this.projectParamService=_.n(_.Sq);this.purviewService=_.n(_.yw);this.isTpc=_.dj();this.isHsaEnabled=_.mi(_.Iw)||_.mi(_.Qu)}resolveWithPromise(a,b){const c=_.DA(a);a=_.Rq(this.projectParamService);if(!this.isTpc&&!this.isHsaEnabled)return _.Ae(_.yOb(this.JSC$450951_serviceUsageService,a,c).pipe(_.Ff(1)));b=this.purviewService.getUpcomingProject(b).pipe(_.z(d=>
d));return _.Ae(b.pipe(_.E(d=>{const e=this.serviceUsageV2Service.getService(`projects/${d.projectNumber}`,c).pipe(_.Ff(1));d=this.serviceUsageV2Service.listServiceApis(`projects/${d.projectNumber}`,c).pipe(_.Ff(1));return _.Ne([e,d])}),_.z(([d,e])=>({service:d,apis:e})),_.Ff(1)))}};Fbn.\u0275fac=function(a){return new (a||Fbn)};Fbn.\u0275prov=_.l({token:Fbn,factory:Fbn.\u0275fac,providedIn:"root"});var bbn=()=>["REDUCE_SUM"],gbn=()=>["REDUCE_PERCENTILE_50","REDUCE_PERCENTILE_95","REDUCE_PERCENTILE_99"],hbn=()=>({REDUCE_PERCENTILE_50:"p50",REDUCE_PERCENTILE_95:"p95",REDUCE_PERCENTILE_99:"p99"}),ebn=()=>["REDUCE_PERCENTILE_50"],Gbn=["monitoring.timeSeries.list"],Lbn=function(a,b,c,d,e){if(_.dj()||_.mi(_.Iw)||_.mi(_.Qu)){const f=b.service,g=_.Jw(f.name);return{projectId:a,groupId:`Consumer-dashboard for ${g}`,serviceOptions:[{label:"",options:[{value:g,displayName:f.displayName||g}]}],versionOptions:Hbn(b.apis),
credentialOptions:c,methodOptions:Ibn(b.apis),settingsSubkey:g,apiKeyLabels:e,shouldShowCredentialsGraphs:d}}return{projectId:a,groupId:`Consumer-dashboard for ${b.name}`,serviceOptions:[{label:"",options:[{value:b.name,displayName:b.title}]}],versionOptions:Jbn(b),credentialOptions:c,methodOptions:Kbn(b),settingsSubkey:b.name,apiKeyLabels:e,shouldShowCredentialsGraphs:d}},Hbn=function(a){if(!a.length)return[];a=a.map(b=>b.version);return[{label:"",options:Array.from(new Set(a)).sort().map(b=>({value:b,
displayName:b}))}]},Ibn=function(a){return a.length?a.map(b=>({label:b.name,options:(b.operations||[]).map(c=>({value:`${b.name}.${c.name}`,displayName:c.name})).sort((c,d)=>c.displayName.localeCompare(d.displayName))})).filter(b=>b.options.length>0).sort((b,c)=>b.label.localeCompare(c.label)):[]},Jbn=function(a){if(!a.apis)return[];a=a.apis.map(b=>b.version);return[{label:"",options:Array.from(new Set(a)).sort().map(b=>({value:b,displayName:b}))}]},Kbn=function(a){return a.apis?a.apis.map(b=>({label:b.name,
options:(b.methods||[]).map(c=>({value:`${b.name}.${c.name}`,displayName:c.name})).sort((c,d)=>c.displayName.localeCompare(d.displayName))})).filter(b=>b.options.length>0).sort((b,c)=>b.label.localeCompare(c.label)):[]},abn=function(a,b){return _.mi(_.$kf)?a.reduce((c,d)=>c.concat(d.options),[]).reduce((c,d)=>Object.assign({},c,{[d.value]:d.displayName}),{}):a.reduce((c,d)=>c.concat(d.options),[]).reduce((c,d)=>{const e=b.get(d.value);return Object.assign({},c,{[d.value]:d.displayName},e?{[e]:d.displayName}:
{})},{})},Mbn=class{constructor(){this.iamPermissionsService=_.n(_.ew);this.isByoid=_.mi(_.pFa);this.Reducer=kbn;this.iamBannerPermissionsList=Gbn;var a=_.n(_.Sq),b=_.n(_.Ph);a=a.getCurrentProjectId().pipe(_.z(f=>f));const c=!!this.iamPermissionsService.can("apikeys.keys.list")&&(!!this.iamPermissionsService.can("clientauthconfig.clients.list")||!!this.iamPermissionsService.can("clientauthconfig.clients.listWithSecrets"))&&!!this.iamPermissionsService.can("iam.serviceAccounts.list"),d=_.US(b,"credentialOptions"),
e=_.US(b,"apiKeyLabels");b=_.US(b,"service");_.mi(_.$kf)?this.dashboardInputsObs=_.Ne([a.pipe(_.Ff(1)),b.pipe(_.Ff(1)),d.pipe(_.Ff(1))]).pipe(_.z(([f,g,k])=>Lbn(f,g,k,c))):this.dashboardInputsObs=_.Ne([a.pipe(_.Ff(1)),b.pipe(_.Ff(1)),d.pipe(_.Ff(1)),e.pipe(_.Ff(1))]).pipe(_.z(([f,g,k,m])=>Lbn(f,g,k,c,m)))}};Mbn.\u0275fac=function(a){return new (a||Mbn)};
Mbn.\u0275cmp=_.B({type:Mbn,selectors:[["ng-component"]],standalone:!1,decls:5,vars:5,consts:()=>[[3,"flexContent"],["messageType","warning",3,"iamPermissions"],[3,"projectId","groupId","apiKeyLabels","settingsSubkey",4,"ngIf"],[3,"projectId","groupId","apiKeyLabels","settingsSubkey"],["label","service","displayName","Services",3,"optionGroups"],["label","version","displayName","Versions",3,"optionGroups"],["label","credential_id","displayName","Credentials",3,"optionGroups"],["label","method","displayName",
"Methods",3,"optionGroups"],["title","Traffic by response code","apiMetric","request_count","groupByLabel","response_code",3,"showByDefault","crossSeriesAggregationReducers","projectId"],["title","Traffic by API method","apiMetric","request_count","groupByLabel","method",3,"crossSeriesAggregationReducers","projectId"],["title","Traffic by credential","apiMetric","request_count","groupByLabel","credential_id",3,"legendSubstitutionMap","crossSeriesAggregationReducers","projectId",4,"ngIf"],["title",
"Errors by API method","apiMetric","request_count","numeratorFilter","metric.labels.response_code_class=one_of('4xx', '5xx')","groupByLabel","method",3,"showByDefault","crossSeriesAggregationReducers","projectId"],["title","Errors by credential","apiMetric","request_count","numeratorFilter","metric.labels.response_code_class=one_of('4xx', '5xx')","groupByLabel","credential_id",3,"legendSubstitutionMap","crossSeriesAggregationReducers","projectId",4,"ngIf"],["title","Overall latency","apiMetric","request_latencies",
3,"showByDefault","crossSeriesAggregationReducers","legendSubstitutionMap","projectId"],["title","Latency by response code (median)","apiMetric","request_latencies","groupByLabel","response_code_class",3,"crossSeriesAggregationReducers","projectId"],["title","Latency by API method (median)","apiMetric","request_latencies","groupByLabel","method",3,"showByDefault","crossSeriesAggregationReducers","projectId"],["title","Latency by credential (median)","apiMetric","request_latencies","groupByLabel",
"credential_id",3,"legendSubstitutionMap","crossSeriesAggregationReducers","projectId",4,"ngIf"],"tableTitle Methods firstColTitle Method groupByLabel method".split(" "),["title","Requests","apiMetric","request_count",3,"aggregationReducer"],["title","Errors","apiMetric","request_count","numeratorFilter","metric.labels.response_code_class=one_of('4xx', '5xx')",3,"aggregationReducer"],["title","Avg latency","apiMetric","request_latencies",3,"aggregationReducer"],["title","99th percentile latency",
"tooltipMessage","99% of requests have a latency equal to or lower than this\n number","apiMetric","request_latencies",3,"aggregationReducer"],["title","Traffic by credential","apiMetric","request_count","groupByLabel","credential_id",3,"legendSubstitutionMap","crossSeriesAggregationReducers","projectId"],["title","Errors by credential","apiMetric","request_count","numeratorFilter","metric.labels.response_code_class=one_of('4xx', '5xx')","groupByLabel","credential_id",
3,"legendSubstitutionMap","crossSeriesAggregationReducers","projectId"],["title","Latency by credential (median)","apiMetric","request_latencies","groupByLabel","credential_id",3,"legendSubstitutionMap","crossSeriesAggregationReducers","projectId"]],template:function(a,b){a&1&&(_.J(0,"cfc-single-panel-layout")(1,"cfc-panel-body",0)(2,"iam-permissions-banner",1),_.F(3,ibn,19,39,"apis-metrics-dashboard",2),_.W(4,"async"),_.K()()());a&2&&(_.A(),_.I("flexContent",!0),_.A(),_.I("iamPermissions",b.iamBannerPermissionsList),
_.A(),_.I("ngIf",_.X(4,3,b.dashboardInputsObs)))},dependencies:[_.tn,Dbn,lbn,tbn,Abn,Bbn,_.FU,_.Ht,_.yq,_.xn],encapsulation:2,changeDetection:0});_.roc=class{};_.roc.\u0275fac=function(a){return new (a||_.roc)};_.roc.\u0275mod=_.sf({type:_.roc});
_.roc.\u0275inj=_.xd({imports:[_.lD,_.BL,_.zn,_.Han,_.wq,_.GU,_.Ut([{path:"",canActivate:[(a,b)=>_.n(_.Z9).canActivate(a,b)],component:Mbn,runGuardsAndResolvers:_.$6m,resolve:{credentialOptions:_.uw(_.aT),service:_.uw(Fbn),apiKeyLabels:_.uw(Ebn)},data:{iam:{get guardPermissionsMap(){return(new Map).set(0,[...(_.dj()||_.mi(_.Iw)||_.mi(_.Qu)?["serviceusage.services.get","serviceusage.services.listApis"]:["serviceusage.services.get"])])},permissionsMap:new Map([[0,"clientauthconfig.clients.list clientauthconfig.clients.listWithSecrets iam.serviceAccounts.list resourcemanager.projects.get apikeys.keys.list serviceusage.services.get serviceusage.services.get serviceusage.services.listApis".split(" ")]])}}}]),
_.It]});
_.bi();
}catch(e){_._DumpException(e)}
}).call(this,this.default_r_zfdvltmqh);
// Google Inc.