surveysparrow-ionic-plugin 2.0.2-beta.4 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular-ui/esm2022/spotchecks/SpotCheckComponent.mjs +5 -3
- package/dist/angular-ui/fesm2022/angular-ui.mjs +4 -2
- package/dist/angular-ui/fesm2022/angular-ui.mjs.map +1 -1
- package/dist/angular-ui/spotchecks/SpotCheckComponent.d.ts +2 -1
- package/dist/esm/angular-ui/lib/spotchecks/SpotCheckComponent.d.ts +2 -1
- package/dist/esm/angular-ui/lib/spotchecks/SpotCheckComponent.js +4 -2
- package/dist/esm/angular-ui/lib/spotchecks/SpotCheckComponent.js.map +1 -1
- package/dist/plugin.cjs.js +4 -2
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +4 -2
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
- package/src/angular-ui/lib/spotchecks/SpotCheckComponent.ts +6 -5
|
@@ -258,6 +258,8 @@ let CloseButtonComponent = class CloseButtonComponent {
|
|
|
258
258
|
this.stateService = getSpotcheckStateService();
|
|
259
259
|
this.state = this.stateService.getState();
|
|
260
260
|
this.updateComponentState();
|
|
261
|
+
}
|
|
262
|
+
ngOnInit() {
|
|
261
263
|
this.stateSubscription = this.stateService.state$.subscribe((newState) => {
|
|
262
264
|
this.ngZone.run(() => {
|
|
263
265
|
this.state = newState;
|
|
@@ -359,6 +361,8 @@ let SpotCheckComponent = class SpotCheckComponent {
|
|
|
359
361
|
this.spotcheckStateService = getSpotcheckStateService();
|
|
360
362
|
this.state = this.spotcheckStateService.getState();
|
|
361
363
|
this.updateComponentStyles();
|
|
364
|
+
}
|
|
365
|
+
ngOnInit() {
|
|
362
366
|
this.stateSubscription = this.spotcheckStateService.state$.subscribe((newState) => {
|
|
363
367
|
this.ngZone.run(() => {
|
|
364
368
|
this.state = newState;
|
|
@@ -367,8 +371,6 @@ let SpotCheckComponent = class SpotCheckComponent {
|
|
|
367
371
|
this.cdr.detectChanges();
|
|
368
372
|
});
|
|
369
373
|
});
|
|
370
|
-
}
|
|
371
|
-
ngOnInit() {
|
|
372
374
|
this.initializeComponent();
|
|
373
375
|
}
|
|
374
376
|
ngOnDestroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpotCheckComponent.js","sourceRoot":"","sources":["../../../../../src/angular-ui/lib/spotchecks/SpotCheckComponent.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAEL,SAAS,EACT,KAAK,EAEL,SAAS,EACT,UAAU,EAEV,YAAY,EACZ,MAAM,EACN,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5I,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAoBnB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAQ3B,YACU,SAAuB,EACvB,MAAc,EACd,GAAsB;QAFtB,cAAS,GAAT,SAAS,CAAc;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAmB;QAVvB,QAAG,GAAW,EAAE,CAAC;QACjB,gBAAW,GAAuB,SAAS,CAAC;QAC5C,eAAU,GAAY,KAAK,CAAC;QAErC,YAAO,GAA2B,IAAI,CAAC;IAOnC,CAAC;IACL,QAAQ;QACN,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,eAAe;QACb,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAE7C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,QAAQ,CAAC;gBACpB,iBAAiB,EAAE,UAAU;gBAC7B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,QAAQ,CAAC;gBACpB,cAAc,EAAE,UAAU;gBAC1B,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACzC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,0BAA0B,CAAC,MAAyB;QAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,CAAC,aAAoB,CAAC;gBAEjD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC/B,YAAY,CAAC,YAAY,GAAG;wBAC1B,SAAS,EAAE,cAAc,CAAC;wBAC1B,yBAAyB,EAAE,cAAc,CAAC;qBAC3C,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1B,YAAY,CAAC,OAAO,GAAG;wBACrB,gBAAgB,EAAE,cAAc,CAAC;qBAClC,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzB,YAAY,CAAC,MAAM,GAAG;wBACpB,eAAe,EAAE;4BACf,cAAc,EAAE;gCACd,WAAW,EAAE,cAAc,CAAC;6BAC7B;4BACD,aAAa,EAAE;gCACb,WAAW,EAAE,cAAc,CAAC;6BAC7B;4BACD,oBAAoB,EAAE;gCACpB,WAAW,EAAE,cAAc,CAAC;6BAC7B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;oBACvC,YAAY,CAAC,oBAAoB,GAAG;wBAClC,WAAW,EAAE,cAAc,CAAC;qBAC7B,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAGD,SAAS,CAAC,KAAmB;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACnB,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;YAChD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YACvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,cAAc;oBACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,CAAC;oBACD,MAAM;gBAER,KAAK,cAAc;oBACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,YAAY,CAAC,QAAQ,CAAC;4BACpB,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;yBACxC,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBACrC,YAAY,CAAC,QAAQ,CAAC;4BACpB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;yBAChD,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBAER,KAAK,iBAAiB;oBACpB,gCAAgC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC3C,yBAAyB,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACnE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,mBAAmB;oBACtB,yBAAyB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC1E,MAAM;gBAGR,KAAK,kBAAkB;oBACrB,YAAY,CAAC,QAAQ,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5D,MAAM;gBAER,KAAK,eAAe;oBAClB,YAAY,CAAC,QAAQ,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,MAAM;gBAER;oBACE,MAAM;YACV,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhJU;IAAR,KAAK,EAAE;;6CAAkB;AACjB;IAAR,KAAK,EAAE;;qDAA6C;AAC5C;IAAR,KAAK,EAAE;;oDAA6B;AAGb;IAAvB,SAAS,CAAC,WAAW,CAAC;8BAAU,UAAU;gDAAoB;AA0F/D;IADC,YAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;;qCAC1B,YAAY;;iDAgD5B;AAhJU,gBAAgB;IAlB5B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE;;;;;;;;;;;;GAYT;QACD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,YAAY,CAAC;KACxB,CAAC;qCAUqB,YAAY;QACf,MAAM;QACT,iBAAiB;GAXrB,gBAAgB,CAiJ5B;;AAwBM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACI,SAAI,GAAW,EAAE,CAAC;QAClB,WAAM,GAAW,SAAS,CAAC;QAC3B,gBAAW,GAAW,GAAG,CAAC;IACrC,CAAC;CAAA,CAAA;AAHU;IAAR,KAAK,EAAE;;+CAAmB;AAClB;IAAR,KAAK,EAAE;;iDAA4B;AAC3B;IAAR,KAAK,EAAE;;sDAA2B;AAHxB,iBAAiB;IAtB7B,SAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE;;;;;;;;;;;;;;;;GAgBT;QACD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,YAAY,CAAC;KACxB,CAAC;GACW,iBAAiB,CAI7B;;AAeM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAa/B,YACU,MAAc,EACd,GAAsB;QADtB,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAmB;QAdvB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,GAAG,CAAC;QAMnC,cAAS,GAAY,KAAK,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;QAC5B,WAAM,GAAW,OAAO,CAAC;QACjB,cAAS,GAAY,KAAK,CAAC;QA2CnC,YAAO,GAAG,KAAK,IAAI,EAAE;YACnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,cAAc,EAAE,CAAC;YACvB,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QA/CA,IAAI,CAAC,YAAY,GAAG,wBAAwB,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CACzD,CAAC,QAAwB,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,oBAAoB;;QAC1B,IAAI,CAAC,SAAS;YACZ,IAAI,CAAC,KAAK,CAAC,oBAAoB;gBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACrE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB;wBAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB;4BAC5B,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC;4BACvC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;gCACxB,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,UAAU,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,0CAAG,WAAW,CAAC,KAAI,OAAO,CAAC;QAChG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;CAaF,CAAA;AAhEU;IAAR,KAAK,EAAE;;kDAAmB;AAClB;IAAR,KAAK,EAAE;;yDAA2B;AAFxB,oBAAoB;IAbhC,SAAS,CAAC;QACT,QAAQ,EAAE,wBAAwB;QAClC,QAAQ,EAAE;;;;;;;GAOT;QACD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;KAC3C,CAAC;qCAekB,MAAM;QACT,iBAAiB;GAfrB,oBAAoB,CAiEhC;;AAUM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAO7B,YACU,MAAc,EACd,GAAsB;QADtB,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAmB;QALhC,oBAAe,GAAQ,EAAE,CAAC;QAC1B,cAAS,GAAW,EAAE,CAAC;QAoCvB,wBAAmB,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBAE3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,WAAW,UAAU,kCAAkC,WAAW,OAAO,CAC1E,CAAC;gBAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE3B,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClE,IAAI,aAAa,GAAG,KAAK,CAAC;oBAC1B,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;;wBACjD,IACE,SAAS,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY;4BAC1C,YAAY,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,0CAAE,UAAU,CAAC,EAC3C,CAAC;4BACD,UAAU,GAAG,IAAI,CAAC;wBACpB,CAAC;6BAAM,CAAC;4BACN,aAAa,GAAG,IAAI,CAAC;wBACvB,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,MAAM,aAAa,GAAG,aAAa;wBACjC,CAAC,CAAC,WAAW,UAAU,uBAAuB;wBAC9C,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,UAAU,GAAG,UAAU;wBAC3B,CAAC,CAAC,WAAW,UAAU,oBAAoB;wBAC3C,CAAC,CAAC,EAAE,CAAC;oBAEP,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;wBAClC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;wBAC3C,UAAU,EAAE,aAAa;wBACzB,OAAO,EAAE,UAAU;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC,CAAC;QAxEA,IAAI,CAAC,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QACnD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAClE,CAAC,QAAwB,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,iEAAiE,CAAC;gBAC3G,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;CA6CF,CAAA;AApFY,kBAAkB;IAP9B,SAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,WAAW,EAAE,2BAA2B;QACxC,SAAS,EAAE,CAAC,0BAA0B,CAAC;QACvC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;KAChE,CAAC;qCASkB,MAAM;QACT,iBAAiB;GATrB,kBAAkB,CAoF9B","sourcesContent":["import {\n OnInit,\n Component,\n Input,\n OnDestroy,\n ViewChild,\n ElementRef,\n AfterViewInit,\n HostListener,\n NgZone,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { closeSpotCheck, closeSpotCheckAndHandleSurveyEnd, getSpotcheckComponentCssStyles, handleSurveyEnd, ischatSurvey } from './helpers';\nimport { SpotcheckState } from './types';\nimport { getSpotcheckStateService } from './helpers';\nimport { SpotcheckStateService } from './SpotcheckStateService';\nimport { getSpotCheckEventListener } from './SpotCheckEventListener';\nimport axios from 'axios';\n\n@Component({\n selector: 'WebViewComponent',\n template: `\n <div style=\"overflow: hidden; height: 100%; border-radius: {{isMiniCard ? 12 : 0}}px; padding-left: {{isMiniCard ? 12 : 0}}px; padding-right: {{isMiniCard ? 12 : 0}}px; box-sizing: border-box;\">\n <iframe\n allow=\"camera; microphone; geolocation; display-capture; autoplay; clipboard-read; clipboard-write; fullscreen\"\n allowfullscreen\n #iframeRef\n [src]=\"safeUrl\"\n style=\"width: 100%; height: 100%; display: block; border-radius: {{isMiniCard ? 12 : 0}}px;\"\n frameborder=\"0\"\n >\n </iframe>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class WebViewComponent implements OnInit, AfterViewInit {\n @Input() url: string = '';\n @Input() webviewType: 'classic' | 'chat' = 'classic';\n @Input() isMiniCard: boolean = false;\n\n safeUrl: SafeResourceUrl | null = null;\n @ViewChild('iframeRef') iframe!: ElementRef<HTMLIFrameElement>;\n\n constructor(\n private sanitizer: DomSanitizer,\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef,\n ) { }\n ngOnInit() {\n if (this.url) {\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.url);\n }\n }\n\n ngAfterViewInit() {\n const stateService = getSpotcheckStateService();\n const webViewRef = this.iframe.nativeElement;\n\n if (this.webviewType === 'classic') {\n stateService.setState({\n classicWebViewRef: webViewRef,\n isClassicLoading: false,\n });\n } else {\n stateService.setState({\n chatWebViewRef: webViewRef,\n isChatLoading: false,\n });\n }\n this.setupIframeLoadListener();\n }\n\n private setupIframeLoadListener() {\n const iframe = this.iframe.nativeElement;\n iframe.addEventListener('load', () => {\n this.ngZone.run(() => {\n this.injectNativeBridgeAdapters(iframe);\n const stateService = getSpotcheckStateService();\n if (this.webviewType === 'classic') {\n stateService.setState({ isClassicLoading: false });\n } else {\n stateService.setState({ isChatLoading: false });\n }\n });\n });\n }\n\n private injectNativeBridgeAdapters(iframe: HTMLIFrameElement) {\n if (iframe && iframe.contentWindow) {\n try {\n const iframeWindow = iframe.contentWindow as any;\n\n if (!iframeWindow.SsAndroidSdk) {\n iframeWindow.SsAndroidSdk = {\n shareData: function () { },\n sendPartialSubmissionData: function () { }\n };\n }\n\n if (!iframeWindow.Android) {\n iframeWindow.Android = {\n onMessageReceive: function () { }\n };\n }\n\n if (!iframeWindow.webkit) {\n iframeWindow.webkit = {\n messageHandlers: {\n surveyResponse: {\n postMessage: function () { }\n },\n spotCheckData: {\n postMessage: function () { }\n },\n flutterSpotCheckData: {\n postMessage: function () { }\n }\n }\n };\n }\n\n if (!iframeWindow.flutterSpotCheckData) {\n iframeWindow.flutterSpotCheckData = {\n postMessage: function () { }\n };\n }\n } catch (error) { }\n }\n }\n\n @HostListener('window:message', ['$event'])\n onMessage(event: MessageEvent) {\n this.ngZone.run(() => {\n const stateService = getSpotcheckStateService();\n const { data } = event;\n switch (data.type) {\n case 'slideInFrame':\n if (data.mounted) {\n stateService.setState({ isMounted: true });\n }\n break;\n\n case 'resizeWindow':\n if (data.size) {\n stateService.setState({\n currentQuestionHeight: data.size.height,\n });\n } else if (data.isCloseButtonEnabled) {\n stateService.setState({\n isCloseButtonEnabled: data.isCloseButtonEnabled,\n });\n }\n break;\n\n case 'surveyCompleted':\n closeSpotCheckAndHandleSurveyEnd().then(() => {\n getSpotCheckEventListener().emit('surveyCompleted', data.response);\n this.cdr.detectChanges();\n });\n break;\n\n case 'surveyLoadStarted':\n getSpotCheckEventListener().emit('surveyLoadStarted', data.surveyDetails);\n break;\n\n\n case 'classicLoadEvent':\n stateService.setState({ isClassicLoadEventReceived: true });\n break;\n\n case 'chatLoadEvent':\n stateService.setState({ isChatLoadEventReceived: true });\n break;\n\n default:\n break;\n }\n this.cdr.detectChanges();\n });\n }\n}\n\n@Component({\n selector: 'close-svg',\n template: `\n <svg\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"https://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.6665 10.667L21.3332 21.3337M21.3332 10.667L10.6665 21.3337\"\n [attr.stroke]=\"stroke\"\n [attr.stroke-width]=\"strokeWidth\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class CloseSVGComponent {\n @Input() size: number = 32;\n @Input() stroke: string = '#919191';\n @Input() strokeWidth: number = 1.5;\n}\n\n@Component({\n selector: 'spotcheck-close-button',\n template: `\n <div style=\"position: absolute; top: -36px; right: 16px; z-index: 100001; cursor: pointer; background-color: white; border-radius: 50px;\" (click)=\"onClick()\" *ngIf=\"isVisible && isMiniCard\">\n <close-svg [size]=\"size\" [stroke]=\"stroke\" [strokeWidth]=\"strokeWidth\" style=\"display: flex; align-items: center; justify-content: center;\"/>\n </div>\n <div style=\"position: absolute; top: 16px; right: 16px; z-index: 100001; cursor: pointer;\" (click)=\"onClick()\" *ngIf=\"isVisible && !isMiniCard\">\n <close-svg [size]=\"size\" [stroke]=\"stroke\" [strokeWidth]=\"strokeWidth\"/>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, CloseSVGComponent],\n})\nexport class CloseButtonComponent implements OnDestroy {\n @Input() size: number = 30;\n @Input() strokeWidth: number = 1.2;\n\n state: SpotcheckState;\n private stateService: SpotcheckStateService;\n private stateSubscription!: Subscription;\n\n isVisible: boolean = false;\n isMiniCard: boolean = false;\n stroke: string = 'black';\n private isClosing: boolean = false;\n\n constructor(\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef,\n ) {\n this.stateService = getSpotcheckStateService();\n this.state = this.stateService.getState();\n this.updateComponentState();\n\n this.stateSubscription = this.stateService.state$.subscribe(\n (newState: SpotcheckState) => {\n this.ngZone.run(() => {\n this.state = newState;\n this.updateComponentState();\n this.cdr.detectChanges();\n });\n }\n );\n }\n\n ngOnDestroy(): void {\n if (this.stateSubscription) {\n this.stateSubscription.unsubscribe();\n }\n }\n\n private updateComponentState(): void {\n this.isVisible =\n this.state.isCloseButtonEnabled &&\n ((this.state.currentQuestionHeight > 0 && !this.state.isFullScreenMode) ||\n (this.state.isFullScreenMode &&\n ((!this.state.isClassicLoading &&\n this.state.spotCheckType === 'classic') ||\n (!this.state.isChatLoading &&\n this.state.spotCheckType === 'chat'))));\n this.isMiniCard = this.state.spotChecksMode === 'miniCard';\n this.stroke = this.isMiniCard ? 'black' : this.state.closeButtonStyle?.['ctaButton'] || 'black';\n if (this.isVisible) {\n this.isClosing = false;\n }\n }\n\n onClick = async () => {\n if (this.isClosing) {\n return;\n }\n this.isClosing = true;\n await closeSpotCheck();\n handleSurveyEnd();\n this.ngZone.run(() => {\n this.cdr.detectChanges();\n });\n };\n}\n\n\n@Component({\n selector: 'SpotCheckComponent',\n templateUrl: './SpotCheckComponent.html',\n styleUrls: ['./SpotCheckComponent.css'],\n standalone: true,\n imports: [CommonModule, WebViewComponent, CloseButtonComponent],\n})\nexport class SpotCheckComponent implements OnInit, OnDestroy {\n state: SpotcheckState;\n private spotcheckStateService: SpotcheckStateService;\n private stateSubscription: Subscription;\n componentStyles: any = {};\n avatarUrl: string = '';\n\n constructor(\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef,\n ) {\n this.spotcheckStateService = getSpotcheckStateService();\n this.state = this.spotcheckStateService.getState();\n this.updateComponentStyles();\n\n this.stateSubscription = this.spotcheckStateService.state$.subscribe(\n (newState: SpotcheckState) => {\n this.ngZone.run(() => {\n this.state = newState;\n this.updateComponentStyles();\n this.avatarUrl = this.state.avatarUrl || \"https://static.surveysparrow.com/application/images/profile.png\";\n this.cdr.detectChanges();\n });\n }\n );\n }\n\n ngOnInit(): void {\n this.initializeComponent();\n }\n\n ngOnDestroy(): void {\n if (this.stateSubscription) {\n this.stateSubscription.unsubscribe();\n }\n }\n\n private updateComponentStyles(): void {\n this.componentStyles = getSpotcheckComponentCssStyles(this.state);\n }\n\n initializeComponent = async () => {\n try {\n const domainName = this.state.domainName;\n const targetToken = this.state.targetToken;\n\n const response = await axios.get<any>(\n `https://${domainName}/api/internal/spotcheck/widget/${targetToken}/init`\n );\n\n const data = response.data;\n\n if (data.filteredSpotChecks && data.filteredSpotChecks.length > 0) {\n let classicIframe = false;\n let chatIframe = false;\n\n data.filteredSpotChecks.forEach((spotcheck: any) => {\n if (\n spotcheck.appearance.mode === 'fullScreen' &&\n ischatSurvey(spotcheck?.survey?.surveyType)\n ) {\n chatIframe = true;\n } else {\n classicIframe = true;\n }\n });\n\n const newClassicUrl = classicIframe\n ? `https://${domainName}/eui-template/classic`\n : '';\n const newChatUrl = chatIframe\n ? `https://${domainName}/eui-template/chat`\n : '';\n\n this.spotcheckStateService.setState({\n filteredSpotChecks: data.filteredSpotChecks,\n classicUrl: newClassicUrl,\n chatUrl: newChatUrl,\n });\n }\n } catch (error) {\n console.log('Error initializing widget:', JSON.stringify(error));\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SpotCheckComponent.js","sourceRoot":"","sources":["../../../../../src/angular-ui/lib/spotchecks/SpotCheckComponent.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n OnInit,\n Component,\n Input,\n OnDestroy,\n ViewChild,\n ElementRef,\n AfterViewInit,\n HostListener,\n NgZone,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { closeSpotCheck, closeSpotCheckAndHandleSurveyEnd, getSpotcheckComponentCssStyles, handleSurveyEnd, ischatSurvey } from './helpers';\nimport { SpotcheckState } from './types';\nimport { getSpotcheckStateService } from './helpers';\nimport { SpotcheckStateService } from './SpotcheckStateService';\nimport { getSpotCheckEventListener } from './SpotCheckEventListener';\nimport axios from 'axios';\n\n@Component({\n selector: 'WebViewComponent',\n template: `\n <div style=\"overflow: hidden; height: 100%; border-radius: {{isMiniCard ? 12 : 0}}px; padding-left: {{isMiniCard ? 12 : 0}}px; padding-right: {{isMiniCard ? 12 : 0}}px; box-sizing: border-box;\">\n <iframe\n allow=\"camera; microphone; geolocation; display-capture; autoplay; clipboard-read; clipboard-write; fullscreen\"\n allowfullscreen\n #iframeRef\n [src]=\"safeUrl\"\n style=\"width: 100%; height: 100%; display: block; border-radius: {{isMiniCard ? 12 : 0}}px;\"\n frameborder=\"0\"\n >\n </iframe>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class WebViewComponent implements OnInit, AfterViewInit {\n @Input() url: string = '';\n @Input() webviewType: 'classic' | 'chat' = 'classic';\n @Input() isMiniCard: boolean = false;\n\n safeUrl: SafeResourceUrl | null = null;\n @ViewChild('iframeRef') iframe!: ElementRef<HTMLIFrameElement>;\n\n constructor(\n private sanitizer: DomSanitizer,\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef,\n ) { }\n ngOnInit() {\n if (this.url) {\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.url);\n }\n }\n\n ngAfterViewInit() {\n const stateService = getSpotcheckStateService();\n const webViewRef = this.iframe.nativeElement;\n\n if (this.webviewType === 'classic') {\n stateService.setState({\n classicWebViewRef: webViewRef,\n isClassicLoading: false,\n });\n } else {\n stateService.setState({\n chatWebViewRef: webViewRef,\n isChatLoading: false,\n });\n }\n this.setupIframeLoadListener();\n }\n\n private setupIframeLoadListener() {\n const iframe = this.iframe.nativeElement;\n iframe.addEventListener('load', () => {\n this.ngZone.run(() => {\n this.injectNativeBridgeAdapters(iframe);\n const stateService = getSpotcheckStateService();\n if (this.webviewType === 'classic') {\n stateService.setState({ isClassicLoading: false });\n } else {\n stateService.setState({ isChatLoading: false });\n }\n });\n });\n }\n\n private injectNativeBridgeAdapters(iframe: HTMLIFrameElement) {\n if (iframe && iframe.contentWindow) {\n try {\n const iframeWindow = iframe.contentWindow as any;\n\n if (!iframeWindow.SsAndroidSdk) {\n iframeWindow.SsAndroidSdk = {\n shareData: function () { },\n sendPartialSubmissionData: function () { }\n };\n }\n\n if (!iframeWindow.Android) {\n iframeWindow.Android = {\n onMessageReceive: function () { }\n };\n }\n\n if (!iframeWindow.webkit) {\n iframeWindow.webkit = {\n messageHandlers: {\n surveyResponse: {\n postMessage: function () { }\n },\n spotCheckData: {\n postMessage: function () { }\n },\n flutterSpotCheckData: {\n postMessage: function () { }\n }\n }\n };\n }\n\n if (!iframeWindow.flutterSpotCheckData) {\n iframeWindow.flutterSpotCheckData = {\n postMessage: function () { }\n };\n }\n } catch (error) { }\n }\n }\n\n @HostListener('window:message', ['$event'])\n onMessage(event: MessageEvent) {\n this.ngZone.run(() => {\n const stateService = getSpotcheckStateService();\n const { data } = event;\n switch (data.type) {\n case 'slideInFrame':\n if (data.mounted) {\n stateService.setState({ isMounted: true });\n }\n break;\n\n case 'resizeWindow':\n if (data.size) {\n stateService.setState({\n currentQuestionHeight: data.size.height,\n });\n } else if (data.isCloseButtonEnabled) {\n stateService.setState({\n isCloseButtonEnabled: data.isCloseButtonEnabled,\n });\n }\n break;\n\n case 'surveyCompleted':\n closeSpotCheckAndHandleSurveyEnd().then(() => {\n getSpotCheckEventListener().emit('surveyCompleted', data.response);\n this.cdr.detectChanges();\n });\n break;\n\n case 'surveyLoadStarted':\n getSpotCheckEventListener().emit('surveyLoadStarted', data.surveyDetails);\n break;\n\n\n case 'classicLoadEvent':\n stateService.setState({ isClassicLoadEventReceived: true });\n break;\n\n case 'chatLoadEvent':\n stateService.setState({ isChatLoadEventReceived: true });\n break;\n\n default:\n break;\n }\n this.cdr.detectChanges();\n });\n }\n}\n\n@Component({\n selector: 'close-svg',\n template: `\n <svg\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"https://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.6665 10.667L21.3332 21.3337M21.3332 10.667L10.6665 21.3337\"\n [attr.stroke]=\"stroke\"\n [attr.stroke-width]=\"strokeWidth\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class CloseSVGComponent {\n @Input() size: number = 32;\n @Input() stroke: string = '#919191';\n @Input() strokeWidth: number = 1.5;\n}\n\n@Component({\n selector: 'spotcheck-close-button',\n template: `\n <div style=\"position: absolute; top: -36px; right: 16px; z-index: 100001; cursor: pointer; background-color: white; border-radius: 50px;\" (click)=\"onClick()\" *ngIf=\"isVisible && isMiniCard\">\n <close-svg [size]=\"size\" [stroke]=\"stroke\" [strokeWidth]=\"strokeWidth\" style=\"display: flex; align-items: center; justify-content: center;\"/>\n </div>\n <div style=\"position: absolute; top: 16px; right: 16px; z-index: 100001; cursor: pointer;\" (click)=\"onClick()\" *ngIf=\"isVisible && !isMiniCard\">\n <close-svg [size]=\"size\" [stroke]=\"stroke\" [strokeWidth]=\"strokeWidth\"/>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, CloseSVGComponent],\n})\nexport class CloseButtonComponent implements OnInit, OnDestroy {\n @Input() size: number = 30;\n @Input() strokeWidth: number = 1.2;\n\n state: SpotcheckState;\n private stateService: SpotcheckStateService;\n private stateSubscription!: Subscription;\n\n isVisible: boolean = false;\n isMiniCard: boolean = false;\n stroke: string = 'black';\n private isClosing: boolean = false;\n\n constructor(\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef,\n ) {\n this.stateService = getSpotcheckStateService();\n this.state = this.stateService.getState();\n this.updateComponentState();\n }\n\n ngOnInit(): void {\n this.stateSubscription = this.stateService.state$.subscribe(\n (newState: SpotcheckState) => {\n this.ngZone.run(() => {\n this.state = newState;\n this.updateComponentState();\n this.cdr.detectChanges();\n });\n }\n );\n }\n\n ngOnDestroy(): void {\n if (this.stateSubscription) {\n this.stateSubscription.unsubscribe();\n }\n }\n\n private updateComponentState(): void {\n this.isVisible =\n this.state.isCloseButtonEnabled &&\n ((this.state.currentQuestionHeight > 0 && !this.state.isFullScreenMode) ||\n (this.state.isFullScreenMode &&\n ((!this.state.isClassicLoading &&\n this.state.spotCheckType === 'classic') ||\n (!this.state.isChatLoading &&\n this.state.spotCheckType === 'chat'))));\n this.isMiniCard = this.state.spotChecksMode === 'miniCard';\n this.stroke = this.isMiniCard ? 'black' : this.state.closeButtonStyle?.['ctaButton'] || 'black';\n if (this.isVisible) {\n this.isClosing = false;\n }\n }\n\n onClick = async () => {\n if (this.isClosing) {\n return;\n }\n this.isClosing = true;\n await closeSpotCheck();\n handleSurveyEnd();\n this.ngZone.run(() => {\n this.cdr.detectChanges();\n });\n };\n}\n\n\n@Component({\n selector: 'SpotCheckComponent',\n templateUrl: './SpotCheckComponent.html',\n styleUrls: ['./SpotCheckComponent.css'],\n standalone: true,\n imports: [CommonModule, WebViewComponent, CloseButtonComponent],\n})\nexport class SpotCheckComponent implements OnInit, OnDestroy {\n state: SpotcheckState;\n private spotcheckStateService: SpotcheckStateService;\n private stateSubscription!: Subscription;\n componentStyles: any = {};\n avatarUrl: string = '';\n\n constructor(\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef,\n ) {\n this.spotcheckStateService = getSpotcheckStateService();\n this.state = this.spotcheckStateService.getState();\n this.updateComponentStyles();\n }\n\n ngOnInit(): void {\n this.stateSubscription = this.spotcheckStateService.state$.subscribe(\n (newState: SpotcheckState) => {\n this.ngZone.run(() => {\n this.state = newState;\n this.updateComponentStyles();\n this.avatarUrl = this.state.avatarUrl || \"https://static.surveysparrow.com/application/images/profile.png\";\n this.cdr.detectChanges();\n });\n }\n );\n this.initializeComponent();\n }\n\n ngOnDestroy(): void {\n if (this.stateSubscription) {\n this.stateSubscription.unsubscribe();\n }\n }\n\n private updateComponentStyles(): void {\n this.componentStyles = getSpotcheckComponentCssStyles(this.state);\n }\n\n initializeComponent = async () => {\n try {\n const domainName = this.state.domainName;\n const targetToken = this.state.targetToken;\n\n const response = await axios.get<any>(\n `https://${domainName}/api/internal/spotcheck/widget/${targetToken}/init`\n );\n\n const data = response.data;\n\n if (data.filteredSpotChecks && data.filteredSpotChecks.length > 0) {\n let classicIframe = false;\n let chatIframe = false;\n\n data.filteredSpotChecks.forEach((spotcheck: any) => {\n if (\n spotcheck.appearance.mode === 'fullScreen' &&\n ischatSurvey(spotcheck?.survey?.surveyType)\n ) {\n chatIframe = true;\n } else {\n classicIframe = true;\n }\n });\n\n const newClassicUrl = classicIframe\n ? `https://${domainName}/eui-template/classic`\n : '';\n const newChatUrl = chatIframe\n ? `https://${domainName}/eui-template/chat`\n : '';\n\n this.spotcheckStateService.setState({\n filteredSpotChecks: data.filteredSpotChecks,\n classicUrl: newClassicUrl,\n chatUrl: newChatUrl,\n });\n }\n } catch (error) {\n console.log('Error initializing widget:', JSON.stringify(error));\n }\n };\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -51711,6 +51711,8 @@ let CloseButtonComponent = class CloseButtonComponent {
|
|
|
51711
51711
|
this.stateService = getSpotcheckStateService();
|
|
51712
51712
|
this.state = this.stateService.getState();
|
|
51713
51713
|
this.updateComponentState();
|
|
51714
|
+
}
|
|
51715
|
+
ngOnInit() {
|
|
51714
51716
|
this.stateSubscription = this.stateService.state$.subscribe((newState) => {
|
|
51715
51717
|
this.ngZone.run(() => {
|
|
51716
51718
|
this.state = newState;
|
|
@@ -51811,6 +51813,8 @@ let SpotCheckComponent = class SpotCheckComponent {
|
|
|
51811
51813
|
this.spotcheckStateService = getSpotcheckStateService();
|
|
51812
51814
|
this.state = this.spotcheckStateService.getState();
|
|
51813
51815
|
this.updateComponentStyles();
|
|
51816
|
+
}
|
|
51817
|
+
ngOnInit() {
|
|
51814
51818
|
this.stateSubscription = this.spotcheckStateService.state$.subscribe((newState) => {
|
|
51815
51819
|
this.ngZone.run(() => {
|
|
51816
51820
|
this.state = newState;
|
|
@@ -51819,8 +51823,6 @@ let SpotCheckComponent = class SpotCheckComponent {
|
|
|
51819
51823
|
this.cdr.detectChanges();
|
|
51820
51824
|
});
|
|
51821
51825
|
});
|
|
51822
|
-
}
|
|
51823
|
-
ngOnInit() {
|
|
51824
51826
|
this.initializeComponent();
|
|
51825
51827
|
}
|
|
51826
51828
|
ngOnDestroy() {
|