diff options
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); |