/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ /** * @fileoverview view enhancement library for gadgets. */ gadgets.views = gadgets.views || {}; (function() { var resultCallbackMap = {}, rcbnum = 0; gadgets.util.registerOnLoadHandler(function() { gadgets.rpc.register('gadgets.views.deliverResult', function(rcbnum, result) { var resultCallback; if (resultCallback = resultCallbackMap[rcbnum]) { delete resultCallbackMap[rcbnum]; resultCallback(result); } }); }); gadgets.views.registerCallback_ = function(cb) { resultCallbackMap[rcbnum] = cb; return rcbnum++; }; /** * Sets the return value for the current window. This method should only be * called inside those secondary view types defined in gadgets.views.ViewType. * For example, DIALOG or MODALDIALOG * * @param {object} * returnValue: Return value for this window. */ gadgets.views.setReturnValue = function(returnValue) { gadgets.rpc.call('..', 'gadgets.views.setReturnValue', null, returnValue ); }; })();