summaryrefslogtreecommitdiffstats
path: root/catalog-ui/app/third-party/PunchOutRegistry.js
diff options
context:
space:
mode:
authorMichael Lando <ml636r@att.com>2017-06-09 03:19:04 +0300
committerMichael Lando <ml636r@att.com>2017-06-09 03:19:04 +0300
commited64b5edff15e702493df21aa3230b81593e6133 (patch)
treea4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/app/third-party/PunchOutRegistry.js
parent280f8015d06af1f41a3ef12e8300801c7a5e0d54 (diff)
[SDC-29] catalog 1707 rebase commit.
Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1 Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-ui/app/third-party/PunchOutRegistry.js')
-rw-r--r--catalog-ui/app/third-party/PunchOutRegistry.js98
1 files changed, 0 insertions, 98 deletions
diff --git a/catalog-ui/app/third-party/PunchOutRegistry.js b/catalog-ui/app/third-party/PunchOutRegistry.js
deleted file mode 100644
index bc93453dc1..0000000000
--- a/catalog-ui/app/third-party/PunchOutRegistry.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-(function(window) {
- "use strict";
-
- if (window.PunchOutRegistry) {
- return;
- }
-
- var queuedFactoryRequests = new Map();
- var factoryPromises = new Map();
- var instancePromises = new Map();
-
- function registerFactory(name, factory) {
- if (factoryPromises.has(name) && !queuedFactoryRequests.has(name)) {
- console.error("PunchOut \"" + name + "\" has been already registered");
- return;
- }
- if (queuedFactoryRequests.has(name)) {
- var factoryRequest = queuedFactoryRequests.get(name);
- factoryRequest(factory);
- queuedFactoryRequests.delete(name);
- } else {
- factoryPromises.set(name, Promise.resolve(factory));
- }
- }
-
- function getFactoryPromise(name) {
- var factoryPromise = factoryPromises.get(name);
- if (!factoryPromise) {
- factoryPromise = new Promise(function (resolveFactory) {
- queuedFactoryRequests.set(name, resolveFactory);
- });
- factoryPromises.set(name, factoryPromise);
- }
- return factoryPromise;
- }
-
- function getInstancePromise(name, element) {
- var factoryPromise;
- var instancePromise = instancePromises.get(element);
- if (!instancePromise) {
- instancePromise = getFactoryPromise(name).then(function(factory) {
- return factory();
- });
- instancePromises.set(element, instancePromise);
- }
- return instancePromise;
- }
-
- function renderPunchOut(params, element) {
- var name = params.name;
- var options = params.options || {};
- var onEvent = params.onEvent || function () {};
-
- getInstancePromise(name, element).then(function (punchOut) {
- punchOut.render({options: options, onEvent: onEvent}, element);
- });
- }
-
- function unmountPunchOut(element) {
- if (!instancePromises.has(element)) {
- console.error("There is no PunchOut in element", element);
- return;
- }
- instancePromises.get(element).then(function(punchOut) {
- punchOut.unmount(element);
- });
- instancePromises.delete(element);
- }
-
- var PunchOutRegistry = Object.freeze({
- register: registerFactory,
- render: renderPunchOut,
- unmount: unmountPunchOut
- });
-
- window.PunchOutRegistry = PunchOutRegistry;
-
-})(this);