PageSourceSearch

https://www.flobowling.com/6442.6216ca937616d832.js

js flobowling.com collected 2026-10-02 19:52:28 UTC 14,275 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkflosports_webapp=self.webpackChunkflosports_webapp||[]).push([[6442],{76442:(D,g,r)=>{r.r(g),r.d(g,{FeatureFlagsTestModule:()=>$});var d=r(36895),p=r(26520),u=r(95698),i=r(36514),e=r(94650),s=r(40435),f=r(5201),v=r(32797),F=r(57042);function S(t,a){1&t&&(e.\u0275\u0275elementStart(0,"span",18),e.\u0275\u0275text(1,"Ready"),e.\u0275\u0275elementEnd())}function E(t,a){1&t&&(e.\u0275\u0275elementStart(0,"span",19),e.\u0275\u0275text(1,"Initializing..."),e.\u0275\u0275elementEnd())}function x(t,a){1&t&&(e.\u0275\u0275elementStart(0,"span",20),e.\u0275\u0275text(1,"Fetching flags..."),e.\u0275\u0275elementEnd())}function h(t,a){1&t&&(e.\u0275\u0275elementStart(0,"span",21),e.\u0275\u0275text(1,"Idle"),e.\u0275\u0275elementEnd())}function T(t,a){1&t&&(e.\u0275\u0275elementStart(0,"div")(1,"div",22),e.\u0275\u0275text(2," \u2713 This content is visible because the 'test-feature' flag is enabled "),e.\u0275\u0275elementEnd()())}function b(t,a){1&t&&(e.\u0275\u0275elementStart(0,"div")(1,"div",23),e.\u0275\u0275text(2," This is shown when flag is enabled "),e.\u0275\u0275elementEnd()())}function y(t,a){1&t&&(e.\u0275\u0275elementStart(0,"div",24),e.\u0275\u0275text(1," \u2717 This content is visible because the 'test-feature' flag is disabled "),e.\u0275\u0275elementEnd())}function C(t,a){if(1&t&&(e.\u0275\u0275elementStart(0,"div")(1,"p"),e.\u0275\u0275text(2,"String flag value exposed via directive: "),e.\u0275\u0275elementStart(3,"code"),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd()()()),2&t){const l=a.$implicit;e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(l)}}function I(t,a){1&t&&(e.\u0275\u0275elementStart(0,"span",25),e.\u0275\u0275text(1,"Sent!"),e.\u0275\u0275elementEnd())}const k=[{path:"",component:(()=>{class t{constructor(l,n,o,c,m){this.featureFlagService=l,this.authService=n,this.platformService=o,this.cookieService=c,this.router=m,this.conversionTracked=!1}ngOnInit(){this.platformService.isServer||(this.deviceId=this.cookieService.get("x-flo-device-id"),this.authService.isEmployee$.pipe((0,u.q)(1)).subscribe(l=>{l?(this.initialized$=this.featureFlagService.initialized$,this.loading$=this.featureFlagService.loading$,this.testBooleanFlag$=this.featureFlagService.isEnabled(i.c.TEST_FEATURE,!1),this.testStringFlag$=this.featureFlagService.getString(i.c.TEST_STRING_FLAG,"default value"),this.testNumberFlag$=this.featureFlagService.getNumber(i.c.TEST_NUMBER_FLAG,42),this.testConfigFlag$=this.featureFlagService.getConfig(i.c.TEST_CONFIG_FLAG,{}),this.floCollegeVerticalFlag$=this.featureFlagService.isEnabled(i.c.TEST_FLOCOLLEGE_VERTICAL,!1),this.floTrackVerticalFlag$=this.featureFlagService.isEnabled(i.c.TEST_FLOTRACK_VERTICAL,!1),this.deviceRollout$=this.featureFlagService.isEnabled(i.c.TEST_DEVICE_ROLLOUT,!1)):this.router.navigate(["/"])}))}trackConversion(){this.featureFlagService.track("device-rollout-test-conversion"),this.conversionTracked=!0}}return t.\u0275fac=function(l){return new(l||t)(e.\u0275\u0275directiveInject(s.Qt),e.\u0275\u0275directiveInject(f.e),e.\u0275\u0275directiveInject(v.m),e.\u0275\u0275directiveInject(F.N),e.\u0275\u0275directiveInject(p.Router))},t.\u0275cmp=e.\u0275\u0275defineComponent({type:t,selectors:[["flo-feature-flags-test"]],decls:188,vars:41,consts:[[1,"container","mt-5"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"alert","alert-info","mb-4"],[1,"mb-4"],["class","badge bg-success",4,"ngIf","ngIfElse"],["notReady",""],["class","badge bg-info",4,"ngIf","ngIfElse"],["notLoading",""],[4,"floFeatureFlag","floFeatureFlagDefault"],[4,"floFeatureFlag","floFeatureFlagDefault","floFeatureFlagElse"],["notEnabled",""],[1,"text-muted","small"],[1,"table","table-striped"],[1,"m-0"],[1,"btn","btn-primary","btn-sm","mt-2",3,"disabled","click"],["class","badge bg-success ms-2",4,"ngIf"],[1,"badge","bg-success"],[1,"badge","bg-warning","text-dark"],[1,"badge","bg-info"],[1,"badge","bg-secondary"],[1,"alert","alert-success"],[1,"alert","alert-info"],[1,"alert","alert-danger"],[1,"badge","bg-success","ms-2"]],template:function(l,n){if(1&l&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"h2"),e.\u0275\u0275text(4,"Feature Flags Test Component"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",3)(6,"div",4)(7,"h4"),e.\u0275\u0275text(8,"Testing Instructions:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"ol")(10,"li"),e.\u0275\u0275text(11,"L
1aunchDarkly SDK key is configured in environment files (non-prod key already set)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"li"),e.\u0275\u0275text(13,"Create test flags in LaunchDarkly dashboard: "),e.\u0275\u0275elementStart(14,"ul")(15,"li")(16,"code"),e.\u0275\u0275text(17,"test-feature"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(18," (boolean)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"li")(20,"code"),e.\u0275\u0275text(21,"test-string-flag"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(22," (string)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(23,"li")(24,"code"),e.\u0275\u0275text(25,"test-number-flag"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(26," (number)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(27,"li")(28,"code"),e.\u0275\u0275text(29,"test-config-flag"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(30," (JSON object)"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(31,"li"),e.\u0275\u0275text(32,"Toggle flags in LaunchDarkly dashboard and watch values update in real-time"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(33,"li"),e.\u0275\u0275text(34,"Open browser console to see debug logs (debug mode enabled for non-prod)"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(35,"div",5)(36,"h3"),e.\u0275\u0275text(37,"LaunchDarkly Status"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(38,"p")(39,"strong"),e.\u0275\u0275text(40,"SDK Ready:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(41,S,2,0,"span",6),e.\u0275\u0275pipe(42,"async"),e.\u0275\u0275template(43,E,2,0,"ng-template",null,7,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(45,"p")(46,"strong"),e.\u0275\u0275text(47,"Loading:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(48,x,2,0,"span",8),e.\u0275\u0275pipe(49,"async"),e.\u0275\u0275template(50,h,2,0,"ng-template",null,9,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(52,"div",5)(53,"h3"),e.\u0275\u0275text(54,"Directive Test - Conditional Rendering"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(55,T,3,0,"div",10),e.\u0275\u0275template(56,b,3,0,"div",11),e.\u0275\u0275template(57,y,2,0,"ng-template",null,12,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(59,"div",5)(60,"h3"),e.\u0275\u0275text(61,"Directive Test - Value Exposure"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(62,"p",13),e.\u0275\u0275text(63,"Non-boolean flags always render and expose their value via template context:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(64,C,5,1,"div",10),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(65,"div",5)(66,"h3"),e.\u0275\u0275text(67,"Observable Flag Values (Auto-updating)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(68,"table",14)(69,"thead")(70,"tr")(71,"th"),e.\u0275\u0275text(72,"Flag Key"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(73,"th"),e.\u0275\u0275text(74,"Type"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(75,"th"),e.\u0275\u0275text(76,"Current Value"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(77,"tbody")(78,"tr")(79,"td")(80,"code"),e.\u0275\u0275text(81,"test-feature"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(82,"td"),e.\u0275\u0275text(83,"Boolean"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(84,"td")(85,"code"),e.\u0275\u0275text(86),e.\u0275\u0275pipe(87,"async"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(88,"tr")(89,"td")(90,"code"),e.\u0275\u0275text(91,"test-string-flag"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(92,"td"),e.\u0275\u0275text(93,"String"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(94,"td")(95,"code"),e.\u0275\u0275text(96),e.\u0275\u0275pipe(97,"async"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(98,"tr")(99,"td")(100,"code"),e.\u0275\u0275text(101,"test-number-flag"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(102,"td"),e.\u0275\u0275text(103,"Number"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(104,"td")(105,"code"),e.\u0275\u0275text(106),e.\u0275\u0275pipe(107,"async"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(108,"tr")(109,"td")(110,"code"),e.\u0275\u0275text(111,"test-config-flag"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(112,"td"),e.\u0275\u0275text(113,"JSON Config"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(114,"td")(115,"pre",15),e.\u0275\u0275text(116),e.\u0275\u0275pipe(117,"json"),e.\u0275\u0275pipe(118,"async"),e.\u0275\u0275elementEnd()()()()()(),e.\u0275\u0275elementStart(119,"div",5)(120,"h3"),e.\u0275\u0275text(121,"Vertical Targeting"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(122,"p",13),e.\u0275\u0275text(123,"Flags targeted to specific verticals via L
1aunchDarkly segment rules:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(124,"table",14)(125,"thead")(126,"tr")(127,"th"),e.\u0275\u0275text(128,"Flag Key"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(129,"th"),e.\u0275\u0275text(130,"Segment"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(131,"th"),e.\u0275\u0275text(132,"Current Value"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(133,"tbody")(134,"tr")(135,"td")(136,"code"),e.\u0275\u0275text(137,"test-flocollege-vertical"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(138,"td"),e.\u0275\u0275text(139,"FloCollege Site ID"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(140,"td")(141,"code"),e.\u0275\u0275text(142),e.\u0275\u0275pipe(143,"async"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(144,"tr")(145,"td")(146,"code"),e.\u0275\u0275text(147,"test-flotrack-vertical"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(148,"td"),e.\u0275\u0275text(149,"FloTrack Site ID"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(150,"td")(151,"code"),e.\u0275\u0275text(152),e.\u0275\u0275pipe(153,"async"),e.\u0275\u0275elementEnd()()()()()(),e.\u0275\u0275elementStart(154,"div",5)(155,"h3"),e.\u0275\u0275text(156,"Device Context"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(157,"p",13),e.\u0275\u0275text(158," Flags targeted by the "),e.\u0275\u0275elementStart(159,"code"),e.\u0275\u0275text(160,"device"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(161," context kind \u2014 stable per physical device across logins. Open in incognito to generate a new device ID and potentially land in a different rollout bucket. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(162,"table",14)(163,"thead")(164,"tr")(165,"th"),e.\u0275\u0275text(166,"Key"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(167,"th"),e.\u0275\u0275text(168,"Value"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(169,"tbody")(170,"tr")(171,"td")(172,"code"),e.\u0275\u0275text(173,"x-flo-device-id"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(174,"td")(175,"code"),e.\u0275\u0275text(176),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(177,"tr")(178,"td")(179,"code"),e.\u0275\u0275text(180,"test-device-rollout"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(181,"td")(182,"code"),e.\u0275\u0275text(183),e.\u0275\u0275pipe(184,"async"),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(185,"button",16),e.\u0275\u0275listener("click",function(){return n.trackConversion()}),e.\u0275\u0275text(186," Track Conversion "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(187,I,2,0,"span",17),e.\u0275\u0275elementEnd()()()()),2&l){const o=e.\u0275\u0275reference(44),c=e.\u0275\u0275reference(51),m=e.\u0275\u0275reference(58);e.\u0275\u0275advance(41),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(42,21,n.initialized$))("ngIfElse",o),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(49,23,n.loading$))("ngIfElse",c),e.\u0275\u0275advance(7),e.\u0275\u0275property("floFeatureFlag","test-feature")("floFeatureFlagDefault",!1),e.\u0275\u0275advance(1),e.\u0275\u0275property("floFeatureFlag","test-feature")("floFeatureFlagDefault",!1)("floFeatureFlagElse",m),e.\u0275\u0275advance(8),e.\u0275\u0275property("floFeatureFlag","test-string-flag")("floFeatureFlagDefault","default value"),e.\u0275\u0275advance(22),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(87,25,n.testBooleanFlag$)),e.\u0275\u0275advance(10),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(97,27,n.testStringFlag$)),e.\u0275\u0275advance(10),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(107,29,n.testNumberFlag$)),e.\u0275\u0275advance(10),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(117,31,e.\u0275\u0275pipeBind1(118,33,n.testConfigFlag$))),e.\u0275\u0275advance(26),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(143,35,n.floCollegeVerticalFlag$)),e.\u0275\u0275advance(10),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(153,37,n.floTrackVerticalFlag$)),e.\u0275\u0275advance(24),e.\u0275\u0275textInterpolate(n.deviceId||"(not set)"),e.\u0275\u0275advance(7),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(184,39,n.deviceRollout$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",n.conversionTracked),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",n.conversionTracked)}},dependencies:[d.O5,s._U,d.Ov,d.Ts],styles:[".card[_ngcontent-%COMP%]{max-width:800px;margin:0 auto}.card-header[_ngcontent-%COMP%]{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}code[_ngcontent-%COMP%]{background-color:#f4f4f4;padding:2px 6px;border-radius:3px}"]}),t})()}];let $=(()=>{class t{}return t.\u0275fac=function(l){return new(l||t)},t.\u0275mod=e.\u0275\u0275defineNgModule({type:t}),t.\u0275inj=e.\u0275\u0275defineInjector({imports:[d.ez,s.VV,p.RouterModule.forChild(k)]}),t})()}}]);

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.