diff --git a/app/assets/javascripts/ui_models/application.ts b/app/assets/javascripts/ui_models/application.ts index 0b58a43da..f636b416f 100644 --- a/app/assets/javascripts/ui_models/application.ts +++ b/app/assets/javascripts/ui_models/application.ts @@ -8,7 +8,6 @@ import { SNAlertService, platformFromString, Challenge, - ChallengeOrchestrator, ProtectedAction } from 'snjs'; import angular from 'angular'; @@ -160,14 +159,13 @@ export class WebApplication extends SNApplication { angular.element(document.body).append(el); } - promptForChallenge(challenge: Challenge, orchestrator: ChallengeOrchestrator) { + promptForChallenge(challenge: Challenge) { const scope: any = this.scope!.$new(true); scope.challenge = challenge; - scope.orchestrator = orchestrator; scope.application = this; const el = this.$compile!( "" + + "class='sk-modal' application='application' challenge='challenge'>" + "" )(scope); angular.element(document.body).append(el); diff --git a/app/assets/javascripts/views/challenge_modal/challenge_modal.ts b/app/assets/javascripts/views/challenge_modal/challenge_modal.ts index 80a1d2cff..608f07030 100644 --- a/app/assets/javascripts/views/challenge_modal/challenge_modal.ts +++ b/app/assets/javascripts/views/challenge_modal/challenge_modal.ts @@ -5,7 +5,6 @@ import { ChallengeValue, removeFromArray, Challenge, - ChallengeOrchestrator } from 'snjs'; import { PureViewCtrl } from '@Views/abstract/pure_view_ctrl'; import { WebDirective } from '@/types'; @@ -14,11 +13,6 @@ type InputValue = { value: string invalid: boolean } -type ChallengeModalScope = { - application: WebApplication - challenge: Challenge - orchestrator: ChallengeOrchestrator -} type Values = Record @@ -28,12 +22,11 @@ type ChallengeModalState = { processing: boolean } -class ChallengeModalCtrl extends PureViewCtrl implements ChallengeModalScope { +class ChallengeModalCtrl extends PureViewCtrl { private $element: JQLite private processingTypes: ChallengeType[] = [] application!: WebApplication challenge!: Challenge - orchestrator!: ChallengeOrchestrator /* @ngInject */ constructor( @@ -63,26 +56,26 @@ class ChallengeModalCtrl extends PureViewCtrl implements ChallengeModalScope { values: values, processing: false }); - this.orchestrator.setCallbacks( - (value) => { + this.application.setChallengeCallbacks({ + challenge: this.challenge, + onValidValue: (value) => { this.getState().values[value.type]!.invalid = false; removeFromArray(this.processingTypes, value.type); this.reloadProcessingStatus(); }, - (value) => { + onInvalidValue: (value) => { this.getState().values[value.type]!.invalid = true; removeFromArray(this.processingTypes, value.type); this.reloadProcessingStatus(); }, - () => { + onComplete: () => { this.dismiss(); }, - ); + }); } deinit() { (this.application as any) = undefined; - (this.orchestrator as any) = undefined; (this.challenge as any) = undefined; super.deinit(); } @@ -141,7 +134,11 @@ class ChallengeModalCtrl extends PureViewCtrl implements ChallengeModalScope { values.push(value); } this.processingTypes = values.map((v) => v.type); - this.orchestrator.submitValues(values); + if (values.length > 0) { + this.application.submitValuesForChallenge(this.challenge, values); + } else { + this.setState({ processing: false }); + } } dismiss() { @@ -162,7 +159,6 @@ export class ChallengeModal extends WebDirective { this.bindToController = true; this.scope = { challenge: '=', - orchestrator: '=', application: '=' }; } diff --git a/package-lock.json b/package-lock.json index 4f2129240..78bd18f7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9792,19 +9792,8 @@ "from": "github:standardnotes/sncrypto#7e76ab9977f85039d9399b935aecfe495a951edb" }, "snjs": { - "version": "github:standardnotes/snjs#0c306de70c5afffe16096424c6c3326eaa1dd4fd", - "from": "github:standardnotes/snjs#0c306de70c5afffe16096424c6c3326eaa1dd4fd", - "dev": true, - "requires": { - "sncrypto": "github:standardnotes/sncrypto#6625bbcc141161eb866475d9786238001f3c514d" - }, - "dependencies": { - "sncrypto": { - "version": "github:standardnotes/sncrypto#6625bbcc141161eb866475d9786238001f3c514d", - "from": "github:standardnotes/sncrypto#6625bbcc141161eb866475d9786238001f3c514d", - "dev": true - } - } + "version": "github:standardnotes/snjs#1c43ab79fb548962837c1061d6ec3bc2a8af2b4f", + "from": "github:standardnotes/snjs#1c43ab79fb548962837c1061d6ec3bc2a8af2b4f" }, "sockjs": { "version": "0.3.19", diff --git a/package.json b/package.json index 98665beca..9fbb3eb95 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,6 @@ "sass-loader": "^8.0.2", "serve-static": "^1.14.1", "sn-stylekit": "2.0.22", - "snjs": "github:standardnotes/snjs#0c306de70c5afffe16096424c6c3326eaa1dd4fd", "ts-loader": "^6.2.2", "typescript": "^3.8.3", "typescript-eslint": "0.0.1-alpha.0", @@ -67,6 +66,7 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "sncrypto": "github:standardnotes/sncrypto#7e76ab9977f85039d9399b935aecfe495a951edb" + "sncrypto": "github:standardnotes/sncrypto#7e76ab9977f85039d9399b935aecfe495a951edb", + "snjs": "github:standardnotes/snjs#1c43ab79fb548962837c1061d6ec3bc2a8af2b4f" } }