      1 /*
      2  *  Copyright (C) 2008-2009 WaveMaker Software, Inc.
      3  *
      4  *  This file is part of the WaveMaker Client Runtime.
      5  *
      6  *  Licensed under the Apache License, Version 2.0 (the "License");
      7  *  you may not use this file except in compliance with the License.
      8  *  You may obtain a copy of the License at
      9  *
     10  *      http://www.apache.org/licenses/LICENSE-2.0
     11  *
     12  *  Unless required by applicable law or agreed to in writing, software
     13  *  distributed under the License is distributed on an "AS IS" BASIS,
     14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15  *  See the License for the specific language governing permissions and
     16  *  limitations under the License.
     17  */
     18 dojo.provide("wm.base.components.NavigationCall");
     19 dojo.require("wm.base.components.ServiceCall");
     20 dojo.require("wm.base.components.NavigationService");
     21
     22 /**
     23 	Encapsulates a {@link wm.NavigationService} configuration with a trigger to invoke the configured service.
     24 	@see wm.ServiceCall#update
     25 	@name wm.NavigationCall
     26 	@class
     27 	@extends wm.Component
     28 	@extends wm.ServiceCall
     29 */
     30 dojo.declare("wm.NavigationCall", [wm.Component, wm.ServiceCall], {
     31 	/** @lends wm.Variable.prototype */
     32 	service: "navigationService",
     33 	operation: "gotoLayer",
     34 	// page navigation can lead to destruction, so abort processing
     35 	processResult: function(inResult) {
     36 		if (!this.owner)
     37 			return;
     38 		return this.inherited(arguments);
     39 	},
     40 	processError: function(inError) {
     41 		if (!this.owner)
     42 			return;
     43 		return this.inherited(arguments);
     44 	}
     45 });
     46
     47 wm.Object.extendSchema(wm.NavigationCall,{
     48 	autoUpdate: {ignore: 1},
     49 	startUpdate: {ignore: 1},
     50 	service: {ignore: 1, writeonly: 1},
     51 	operation: { group: "common", order: 24},
     52 	updateNow: { ignore: 1},
     53 	queue: { group: "operation", order: 20},
     54 	clearInput: { group: "operation", order: 30},
     55 	input: { ignore: 1 , writeonly: 1, componentonly: 1, categoryParent: "Properties", categoryProps: {component: "input", bindToComponent: true, inspector: "Navigation"}}
     56 });
     57
     58 // design only...
     59 /**#@+ @design */
     60 wm.NavigationCall.extend({
     61 });
     62 /**#@- @design */
     63
     64 wm.NavigationCall.description = "Navigation service call.";
     65