diff options
author | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
commit | ed64b5edff15e702493df21aa3230b81593e6133 (patch) | |
tree | a4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/app/third-party/PunchOutRegistry.js | |
parent | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (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.js | 98 |
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); |