[CORD-1780] XosConfirm implementation
Change-Id: I053c6ece6a5bd41014bdbb45d8fbf15f99a5b7ca
diff --git a/src/app/core/confirm/confirm.ts b/src/app/core/confirm/confirm.ts
new file mode 100644
index 0000000..92ca239
--- /dev/null
+++ b/src/app/core/confirm/confirm.ts
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import './confirm.scss';
+
+export interface IXosConfirmConfig {
+ header?: string;
+ text?: string;
+ actions: IXosConfirmConfigAction[];
+}
+
+export interface IXosConfirmConfigAction {
+ label?: string;
+ cb: Function;
+ icon?: string;
+ class?: string;
+}
+
+class ConfirmCtrl {
+
+ static $inject = ['XosConfirm'];
+
+ public resolve;
+ public config: IXosConfirmConfig;
+
+ constructor(
+ private XosConfirm: any
+ ) {
+
+ }
+
+ public $onInit() {
+ this.config = this.resolve.config;
+ }
+
+ public close(cb: Function) {
+ this.XosConfirm.close(cb);
+ }
+
+ public dismiss() {
+ this.XosConfirm.dismiss();
+ }
+
+}
+
+export const xosConfirm: angular.IComponentOptions = {
+ template: require('./confirm.html'),
+ controllerAs: 'vm',
+ controller: ConfirmCtrl,
+ bindings: {
+ resolve: '<',
+ close: '&',
+ dismiss: '&'
+ }
+};